-
Notifications
You must be signed in to change notification settings - Fork 6
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
Make it possible to disable rewriting log4j.properties #220
Conversation
Previously, the prefixLog4j task output was inserted directly after the main war, and before any amps/jars. However, since these applyAmp/applySM/applyDE tasks operate on the stripped copy of the main jar (which includes log4j.properties), these would overwrite the changes made to log4j.properties by prefixLog4j
99abc25
to
c8656df
Compare
c8656df
to
3bf3462
Compare
SonarCloud Quality Gate failed. |
@@ -24,7 +25,10 @@ | |||
|
|||
protected AbstractWarEnrichmentTask() { | |||
outputWar.set(inputWar.flatMap(_x -> getProject().getLayout().getBuildDirectory() | |||
.file("xenit-gradle-plugins/" + getName() + "/" + getName() + ".war"))); | |||
.file("xenit-gradle-plugins/" + getName() + "/" + getName() + ".war")) | |||
.map(outputFile -> isEnabled() ? outputFile |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SInce I'm unfamiliar with the SDK, I am probably missing something, but won't this change result in always throwing when on version < 6.2, while the intention is to only warn when you want to disable the task?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What we do here is setting the outputWar
property to null
when this task is disabled.
This signals to the tasks that consume the output war (so createDockerFile
& alfrescoWar
) that there is no file to add.
We do not want to warn when disabling the task on < 6.2, we want to actively fail the build with a clear error message.
Returning null
from a map()
results in a vague exception in Gradle versions before 6.2. The x ? y : z
operator is equivalent to if(x) { return y; } else { return z; }
, the non-matching side will not be evaluated at all.
On the other hand, keeping the output file when the task is disabled will result in an exception from the tasks that consume the output war, because the promised output file does not actually exists (not generated, because the task is not run).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the thorough explanation.
@@ -24,7 +25,10 @@ | |||
|
|||
protected AbstractWarEnrichmentTask() { | |||
outputWar.set(inputWar.flatMap(_x -> getProject().getLayout().getBuildDirectory() | |||
.file("xenit-gradle-plugins/" + getName() + "/" + getName() + ".war"))); | |||
.file("xenit-gradle-plugins/" + getName() + "/" + getName() + ".war")) | |||
.map(outputFile -> isEnabled() ? outputFile |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the thorough explanation.
Fix #201