[MCOMPILER-205] Add a boolean to generate missing package-info classes by default#88
Conversation
| if ( path.startsWith( root ) ) | ||
| { | ||
| String rel = path.substring( root.length() ); | ||
| Set<File> files = sourceMapping.getTargetFiles( getOutputDirectory(), rel ); |
|
This change in MCOMPILER has started to cause problems in various tooling that scans JARs for bytecode scanning reasons. Those users on limited JVMs (android, java 8 compact builds, embedded systems, etc) are also being impacted by this being true. |
|
+1 it is also true on plain JVM and EE containers where it has side effects (even if some can be silently recovered) so agree default should change to be backward compatible in next release. |
This is a bold statement IMHO. For everyone using ArchUnit and counting on |
https://issues.apache.org/jira/browse/MCOMPILER-205
This PR provides an option (turned on by default) to generate class files for missing
package-infoclasses. This happens when thepackage-info.javasource file only contains a javadoc and no annotations on the package.This can be turned on some JDK using
-Xpkginfo:always, but that may not work on all JDKs.This option is turned on by default because the generated class files are valid, so they should not cause any problem, and the current behavior means that incremental compilation is broken, which is a really annoying problem and the root cause is quite difficult to analyse.