Comments (7)
FWIW, I am willing to create a pull request.
from tycho.
Then go ahaed I don't see any reason not to merge it if all tests still pass :-)
The problem could really be the module-info.class as the manifest is generated using BND and this uses the highest classversion by default.
from tycho.
Just to make sure: are you certain it's not profitable for your use-case to just fully use Java 11 ? Java 8 compatibility is now an extra cost, so fully getting rid of it could be beneficial for you.
If you want to build a PR for that, please make sure there is some test explicitly covering the Java 8 compatibility story, otherwise, versions may be moved again to Java 11 again later without notice.
from tycho.
Just to make sure: are you certain it's not profitable for your use-case to just fully use Java 11 ? Java 8 compatibility is now an extra cost, so fully getting rid of it could be beneficial for you.
We build a plug-in using Tycho that has to support older Eclipse versions as well (well, really old ones like Luna). In particular, we have to support Eclipse versions which do not even launch on Java 11. Hence, we would like to test against such older versions (easily done using an appropriate eclipse-target-definition
) on old JREs (using toolchains).
Of course, as soon as JUnit drops Java 8 support, we will have to move on with our tests, at least for the toolchain part, but that hasn’t happened yet. 🤞
The problem could really be the module-info.class as the manifest is generated using BND and this uses the highest classversion by default.
I use the <enforceBytecodeVersion>
enforcer rule in my pull request. It will notify you as soon as one of the upstream dependencies rebundled as part of the Surefire Booter or JUnit/TestNG Runner contains bytecode from a more recent Java version (module-info.class
and multi-version JAR files’ META-INF/version/**.class
excluded). You can then update the execution environment requirement accordingly.
If you want to build a PR for that, please make sure there is some test explicitly covering the Java 8 compatibility story, otherwise, versions may be moved again to Java 11 again later without notice.
Is this enough of a test case? I must admit the whole tycho-its
project is a bit convoluted; in particular, I couldn’t find an integration test using a toolchain which I could use for inspiration.
from tycho.
Is this enough of a test case?
It's more up to you to consider. I know most of us won't care if this is back to Java 11, so it's all about how much this check makes you feel safe ;)
from tycho.
It's more up to you to consider. I know most of us won't care if this is back to Java 11, so it's all about how much this check makes you feel safe ;)
Alright. I added a comment to the bnd.bnd
files about this (bf97f0b). That should prevent someone from accidentally switching back to Java 11.
And if JUnit ever decides to switch to a newer bytecode version, the maven-enforcer-plugin
will warn us that we will need to update the declared execution-environment requirement.
So from my point of view, pull request #71 is good to go.
from tycho.
PR merged, thanks @sewe
from tycho.
Related Issues (20)
- Confusing warning or wrong use of system JDK in the compiler plugin?
- set-version fails to update MANIFEST.MF if CI-firendly versions are in use
- Improve output for missing requirements on dependencies
- Building fails because of `Inconsistent reactor project` HOT 2
- Broken links in the Eclipse/Github wiki HOT 1
- Unconsidered linked .classpath files and test source folders HOT 1
- [tycho-version-plugin] Since 4.0.5 non-matching version of child modules are forcefully overwritten HOT 3
- forceContextQualifier has been broken since Tycho 4.0.5 HOT 1
- sort order of root nodes in dependency-tree is unstable HOT 1
- Linked .classpath files: linked classpath entries paths not resolve against project base directory
- Parsing custom variables in linked project resources HOT 2
- [DS] Validation of transitive generated 'osgi.extender=osgi.component' requirement fails HOT 11
- support reuseFork option in tycho-surefire-plugin
- Unable to build eclipse application repository or site with patch features HOT 3
- The application packaged by Tycho can't start on MacOS 14.4 HOT 1
- Missing p2 dependencies in maven dependency:tree output HOT 1
- Goal `publish-features-and-bundles` inherits metadata available in reactor HOT 3
- Not possible to remove qualifier for release build from bundles/features and product when using CI friendly versions HOT 1
- Strange error with Tycho 4.0.8 HOT 4
- [sbom] BOM is calculated multiple times for the same unit HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tycho.