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-499] Display recompilation causes #129

Closed

Conversation

ledoyen
Copy link
Contributor

@ledoyen ledoyen commented May 30, 2022

Following this checklist to help us incorporate your
contribution quickly and easily:

  • Make sure there is a JIRA issue filed
    for the change (usually before you start working on it). Trivial changes like typos do not
    require a JIRA issue. Your pull request should address just this issue, without
    pulling in other changes.
  • Each commit in the pull request should have a meaningful subject line and body.
  • Format the pull request title like [MCOMPILER-XXX] - Fixes bug in ApproximateQuantiles,
    where you replace MCOMPILER-XXX with the appropriate JIRA issue. Best practice
    is to use the JIRA issue title in the pull request title and in the first line of the
    commit message.
  • Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
  • Run mvn clean verify to make sure basic checks pass. A more thorough check will
    be performed on your pull request automatically.
  • You have run the integration tests successfully (mvn -Prun-its clean verify).

If your pull request is about ~20 lines of code you don't need to sign an
Individual Contributor License Agreement if you are unsure
please ask on the developers list.

To make clear that you license your contribution under
the Apache License Version 2.0, January 2004
you have to acknowledge this by using the following check-box.

// TODO

@olamy
Copy link
Member

olamy commented May 30, 2022

sounds like a good idea!
But I wonder if it could be better to have this not displayed per default (as it can be very verbose)
maybe a flag such maven.compiler.showRecompilationCause?

@ledoyen
Copy link
Contributor Author

ledoyen commented May 30, 2022

Notice that it is a draft, as I did not take the time to open a Jira ticket, clean the code and write tests.
However, I used the custom version on a big multi-module project to troubleshoot unwanted re-compilation and it works as intended.

That being said, to answer your concern, I introduced the flag maven.compiler.showCompilationChanges (defaulted to false) to avoid the verbose display when unwanted, and to keep the current behavior by default.

@olamy
Copy link
Member

olamy commented May 30, 2022

@ledoyen thanks! and sorry for the gh actions failure but oh we do not pay for support and don't know what is the issue :)

@olamy olamy changed the title Display recompilation causes [MCOMPILER-499] Display recompilation causes Jul 21, 2022
@olamy
Copy link
Member

olamy commented Jul 21, 2022

Copy link
Member

@olamy olamy left a comment

Choose a reason for hiding this comment

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

not sure if you want to have a look at my proposed changes or move forward with this PR.
otherwise I will do it.
thanks

@@ -1515,7 +1541,14 @@ private boolean isSourceChanged( CompilerConfiguration compilerConfiguration, Co
{
for ( File f : staleSources )
{
getLog().debug( "Stale source detected: " + f.getAbsolutePath() );
if ( showCompilationChanges )
Copy link
Member

Choose a reason for hiding this comment

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

we cannot see it in this GH ui diff but we go in this path only if ( getLog().isDebugEnabled() ) this must be changed to something such
if ( !staleSources.isEmpty() && (getLog().isDebugEnabled() || showCompilationChanges))
I guess the idea is to display those files when using -Dmaven.compiler.showCompilationChanges=true but without using full debug with -X

}
}

String[] inputFileNames = new String[ inputFiles.size() ];
Copy link
Member

@olamy olamy Jul 22, 2022

Choose a reason for hiding this comment

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

Suggested change
String[] inputFileNames = new String[ inputFiles.size() ];
String[] inputFileNames = inputFiles.stream().map(File::getAbsolutePath).toArray(String[]::new);

Copy link
Member

Choose a reason for hiding this comment

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

simply replace the block with a single line. yup even Maven can use modern syntax 😜

olamy added a commit that referenced this pull request Jul 27, 2022
Signed-off-by: Olivier Lamy <olamy@apache.org>
@olamy
Copy link
Member

olamy commented Jul 28, 2022

changes done in another PR #143

@olamy olamy closed this Jul 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants