-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use the Java 9 API to parse module descriptors #5
Comments
MRJars are kind of terrible to maintain and test. It should be possible to implement it while keeping source+target on 7 and just put it under |
Let's pick this up. This should make it possible to use EA versions of Java without having to wait for ASM. We've already been hit by Java 10 and 11... |
@plamentotev what about this? My IDE doesn't like it, but Maven does. Just need to ensure to use at least Java9 when releasing. |
@rfscholte I have to admit that is just now that I realized what you meant with "MRJars are kind of terrible to maintain and test". I tried importing the project both in Eclipse and IntelliJ IDEA. IDEA does not recognize the Java 9 version of the class but otherwise seems to work fine with the rest of the project. Eclipse didn't recognized the project as Java project at all - I guess this is your IDE. As for the testing - unfortunately both IDEA and the Surefire plugin are testing only the classes inside |
Good find! Added e219cfd to ensure that the Java 9 code is tested. So it seems that a MultiRelease jar can only be tested as jar, not as exploded classes in the output directory, You must test this during the integration-test phase. This is quite inconvenient when working with IDEs. Eclipse does recognize it as a Java project on my system, though |
Sorry, my bad - I meant to say "If the BinaryModuleInfoParserTest is executed in the integration-test phase by Failsafe...", not "...by Surefire...". Failsafe uses the Jar file created during the
There are some test failures though. |
I wanted to reuse the configuration of surefire during integration-test and even noticed differences between the 2 runs. But the result was indeed misleading, failsafe is the preferred solution. Now it is looking much better. |
@rfscholte I agree with you. I was concerned about the tests but now looks good to me. |
Also I wonder if we can use the enforcer plugin to ensure that at least JDK 9 is used during a release(to avoid releasing without the Java 9 classes by mistake). |
That idea crossed my mind as well. There are only a few that will release this library and they all know about it, so we should be good. But just in case: let's add a release-profile, just to be sure. |
Extend plexus-release profile with Java 9 check
@plamentotev do you think it is ready to merge? |
Yes, looks great.
…On Wed, May 23, 2018, 20:25 Robert Scholte ***@***.***> wrote:
@plamentotev <https://github.com/plamentotev> do you think it is ready to
merge?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#5 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AMLobXD2P9rON9LYdYOZ_6JM32XCkpCQks5t1ZuSgaJpZM4RxKZS>
.
|
Hi,
What do you think about the idea to make Plexus Java multi-release JAR so on Java 9+ it uses the APIs provided by Java SE. For example now if you compile module A on Java 10 and use Maven to compile B that depends on A, it will fail because ASM is not compatible with the new class format introduced with Java 10.
The text was updated successfully, but these errors were encountered: