Skip to content
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

[MCOMPILER-205] Add a boolean to generate missing package-info classes by default #88

Merged
merged 2 commits into from Feb 7, 2022

Conversation

gnodet
Copy link
Contributor

@gnodet gnodet commented Feb 4, 2022

https://issues.apache.org/jira/browse/MCOMPILER-205

This PR provides an option (turned on by default) to generate class files for missing package-info classes. This happens when the package-info.java source 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.

if ( path.startsWith( root ) )
{
String rel = path.substring( root.length() );
Set<File> files = sourceMapping.getTargetFiles( getOutputDirectory(), rel );
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#95

@joakime
Copy link

joakime commented Apr 7, 2022

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.

@rmannibucau
Copy link

+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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants