You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "wilx (via GitHub)" <gi...@apache.org> on 2026/07/30 23:45:42 UTC
[PR] [#742] Use project name in generated Apache NOTICE [maven-shade-plugin]
wilx opened a new pull request, #830:
URL: https://github.com/apache/maven-shade-plugin/pull/830
## Summary
Use the Maven project name as the default project name in notices generated by
`ApacheNoticeResourceTransformer`.
The transformer previously initialized `projectName` to an empty string and the
mojo never supplied the injected `MavenProject`. Consequently, configuring the
transformer without an explicit `<projectName>` produced a blank generated
NOTICE header even when the POM had a nonblank `<name>`.
`ShadeMojo` now supplies `MavenProject#getName()` when the transformer project
name is unset and the Maven project name is neither null nor blank. Explicit
transformer configuration remains authoritative, and a missing or blank Maven
project name preserves the previous empty behavior.
The change includes unit coverage for the fallback rules, a failing-first
integration test for the generated NOTICE, and documentation of the default.
Fixes #742.
## Validation
- `mvn -Prun-its clean verify`: 74 unit tests and 84 integration projects
passed; two projects were skipped by their JRE-version conditions.
- JDK 21 `mvn test`: 74 tests passed.
- Maven 4 built the isolated regression project with the branch plugin and
generated the expected NOTICE header.
- `mvn site` passed.
Following this checklist to help us incorporate your
contribution quickly and easily:
- [x] Make sure there is a [JIRA issue](https://issues.apache.org/jira/browse/MSHADE) 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.
This change is tracked by GitHub issue #742; no separate JIRA issue was opened.
- [x] Each commit in the pull request should have a meaningful subject line and body.
- [x] Format the pull request title like `[MSHADE-XXX] - Fixes bug in ApproximateQuantiles`,
where you replace `MSHADE-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.
The title uses `#742`, the repository's GitHub tracking issue.
- [x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
- [x] Run `mvn clean verify` to make sure basic checks pass. A more thorough check will
be performed on your pull request automatically.
- [x] 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](https://www.apache.org/licenses/icla.pdf) 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](http://www.apache.org/licenses/LICENSE-2.0)
you have to acknowledge this by using the following check-box.
- [x] I hereby declare this contribution to be licenced under the [Apache License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0)
- [ ] In any other case, please file an [Apache Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Use project name in generated Apache NOTICE [maven-shade-plugin]
Posted by "elharo (via GitHub)" <gi...@apache.org>.
elharo commented on code in PR #830:
URL: https://github.com/apache/maven-shade-plugin/pull/830#discussion_r3848203360
##########
src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java:
##########
@@ -971,6 +972,9 @@ private List<ResourceTransformer> getResourceTransformers() throws MojoExecution
throw new MojoExecutionException(
"Failed to create shaded artifact: parameter transformers contains null (double-check XML attribute)");
}
+ if (transformer instanceof ApacheNoticeResourceTransformer) {
Review Comment:
might be necessary, but it would be cleaner if we could figure out some way to do this that doesn't require instanceof and casting.
##########
src/main/java/org/apache/maven/plugins/shade/resource/ApacheNoticeResourceTransformer.java:
##########
@@ -79,6 +79,19 @@ public class ApacheNoticeResourceTransformer extends AbstractCompatibilityTransf
private static final String NOTICE_MD_PATH = "META-INF/NOTICE.md";
+ /**
+ * Uses the Maven project name when no project name was configured explicitly.
+ *
+ * @param projectName the Maven project name
+ */
+ public void setProjectNameIfUnset(String projectName) {
Review Comment:
why "if unset"? why not just set project name?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Use project name in generated Apache NOTICE [maven-shade-plugin]
Posted by "wilx (via GitHub)" <gi...@apache.org>.
wilx commented on code in PR #830:
URL: https://github.com/apache/maven-shade-plugin/pull/830#discussion_r3864914979
##########
src/main/java/org/apache/maven/plugins/shade/resource/ApacheNoticeResourceTransformer.java:
##########
@@ -79,6 +79,19 @@ public class ApacheNoticeResourceTransformer extends AbstractCompatibilityTransf
private static final String NOTICE_MD_PATH = "META-INF/NOTICE.md";
+ /**
+ * Uses the Maven project name when no project name was configured explicitly.
+ *
+ * @param projectName the Maven project name
+ */
+ public void setProjectNameIfUnset(String projectName) {
Review Comment:
The current name is descriptive. It does not need a different name.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Use project name in generated Apache NOTICE [maven-shade-plugin]
Posted by "slachiewicz (via GitHub)" <gi...@apache.org>.
slachiewicz merged PR #830:
URL: https://github.com/apache/maven-shade-plugin/pull/830
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Use project name in generated Apache NOTICE [maven-shade-plugin]
Posted by "elharo (via GitHub)" <gi...@apache.org>.
elharo commented on code in PR #830:
URL: https://github.com/apache/maven-shade-plugin/pull/830#discussion_r3856808303
##########
src/main/java/org/apache/maven/plugins/shade/resource/ApacheNoticeResourceTransformer.java:
##########
@@ -79,6 +79,19 @@ public class ApacheNoticeResourceTransformer extends AbstractCompatibilityTransf
private static final String NOTICE_MD_PATH = "META-INF/NOTICE.md";
+ /**
+ * Uses the Maven project name when no project name was configured explicitly.
+ *
+ * @param projectName the Maven project name
+ */
+ public void setProjectNameIfUnset(String projectName) {
Review Comment:
This still makes me queasy. My gut is that if someone calls this method, the project name should be set.
Even if we keep the behavior as it, we need a better name. setDefaultProjectName? setFallbackProjectName? maybe something else.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Use project name in generated Apache NOTICE [maven-shade-plugin]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #830:
URL: https://github.com/apache/maven-shade-plugin/pull/830#issuecomment-6455286988
@slachiewicz Please assign appropriate label to PR according to the type of change.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Use project name in generated Apache NOTICE [maven-shade-plugin]
Posted by "wilx (via GitHub)" <gi...@apache.org>.
wilx commented on code in PR #830:
URL: https://github.com/apache/maven-shade-plugin/pull/830#discussion_r3855517770
##########
src/main/java/org/apache/maven/plugins/shade/resource/ApacheNoticeResourceTransformer.java:
##########
@@ -79,6 +79,19 @@ public class ApacheNoticeResourceTransformer extends AbstractCompatibilityTransf
private static final String NOTICE_MD_PATH = "META-INF/NOTICE.md";
+ /**
+ * Uses the Maven project name when no project name was configured explicitly.
+ *
+ * @param projectName the Maven project name
+ */
+ public void setProjectNameIfUnset(String projectName) {
Review Comment:
Because the field can be set via XML in the POM file, too. That takes precedence. If it is however not set via XML in POM, it will be set here. Thus if unset.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Use project name in generated Apache NOTICE [maven-shade-plugin]
Posted by "wilx (via GitHub)" <gi...@apache.org>.
wilx commented on PR #830:
URL: https://github.com/apache/maven-shade-plugin/pull/830#issuecomment-5232569198
Rebased.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org