Skip to content

Conversation

@kriegaex
Copy link

@kriegaex kriegaex commented Dec 15, 2020

This is the simplest initial version of Java 9+ modules support by allowing to specify dependencies as Java modules if they are needed for compilation.

This PR was inspired by StackOverflow question https://stackoverflow.com/q/65286736/1082681.

For now there is no integration test yet, I just verified that it works manually and added simple copy, paste & modify style unit tests.

Currently, this snapshot builds against AspectJ 1.9.7 snapshot, until
the new version is released and available on Maven Central.

The compiler settings for compliance level, source and target now are
all checked against the same list of valid version numbers stored in
AjcHelper.ACCEPTED_COMPLIANCE_LEVEL_VALUES. Currently, valid values are:
  1.3, 1.4, 1.5, 5, 5.0, 1.6, 6, 6.0, 1.7, 7, 7.0, 1.8, 8, 8.0,
  1.9, 9, 9.0, 10, 10.0, 11, 11.0, 12, 12.0, 13, 13.0, 14, 14.0,
  15, 15.0, 16, 16.0

Furthermore, the previously unsupported compiler feature
'--enable-preview' can be set via:
  <enablePreview>true</enablePreview>

TODO: Create tickets for at least Eclipse IDE and IntelliJ IDEA to
recognise this switch and import it as a compiler and possibly runtime
setting. As for AJDT, maybe we have to implement it ourselves, but
actually I found no references to the Maven module there, so I guess the
import is implemented somewhere else.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant