Eclipse Platform starts using more and more new Java constructs (up to Java 8 for now) like try-with-resources, foreach and etc.
Bundles have their minimal versions bumped whenever BREE has been bumped so one can have clear indicator of this change.
This new features bring dependency on new classes like AutoClosable ( Java 1.7) , Iterable (Java 1.5) and probably others.
If your bundles have BREE lower than the Platform bundle they depend on and you have JVM of that level configured in Eclipse errors like "The type java.lang.Iterable
cannot be resolved. It is indirectly referenced from required .class files" could be shown.
This is source level only issue if you try to build your old bundle against latest platform. People just using their prebuilt bundles won't face anything like this.
Possible fixes for this issue are:
* move your bundle to newer BREE (highest BREE of deps)
* build against proper target platform containing the oldest versions of your deps you support
I don't believe many people will face such issues but let's get this out for the sake of having it written somewhere.
Red Hat Eclipse Team