Re: maven-plugin-plugin:descriptor generates lots of warnings
On Wed, 4 Oct 2023 at 22:13, Slawomir Jaranowski wrote: > > pon., 2 paź 2023 o 14:13 sebb napisał(a): > > > Extract from Apache Commons Build Plugin build: > > > > [INFO] --- maven-plugin-plugin:3.8.2:descriptor (default-descriptor) @ > > commons-build-plugin --- > > [INFO] Using 'iso-8859-1' encoding to read mojo source files. > > [INFO] java-annotations mojo extractor found 0 mojo descriptor. > > [INFO] java-javadoc mojo extractor found 0 mojo descriptor. > > [WARNING] Scripting support for mojos is deprecated and is planned to > > be removed in Maven 4. > > [WARNING] Found 10 scripted mojos. > > [INFO] ant mojo extractor found 10 mojo descriptors. > > [WARNING] > > [WARNING] Deprecated extractor ant extracted 10 descriptors. Upgrade > > your Mojo definitions. > > [WARNING] > > [INFO] bsh mojo extractor found 0 mojo descriptor. > > line 1 column 1 - Warning: missing declaration > > line 1 column 1 - Warning: plain text isn't allowed in elements > > line 1 column 47 - Warning: inserting missing 'title' element > > line 1 column 1 - Warning: missing declaration > > line 1 column 1 - Warning: plain text isn't allowed in elements > > line 1 column 47 - Warning: inserting missing 'title' element > > line 1 column 1 - Warning: missing declaration > > ... repeated many times ... > > > > This is produced by Tidy parser used in maven-plugin-tools-generators [1]. > It is used to clean up code from JavaDocs ... but in Ant Mojo can be used > in the wrong way. > So it looks like a bug in maven-plugin-tools > > By the way do you think to use standard goals to generate content, like you > have a goal: commons-build:mail-page [2] which create: [3] and in project > you also also have a standard report: [4] > We can start discussion how to improve standard goals to meet your > requirements. That would be best addressed on dev@commons please. > > > > > How can I find out which files need to be fixed? > > I tried using -X, but that does not provide any obvious clues. > > > > Sebb > > > > - > > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org > > For additional commands, e-mail: users-h...@maven.apache.org > > > > > [1] > https://github.com/apache/maven-plugin-tools/blob/maven-plugin-tools-3.9.0/maven-plugin-tools-generators/src/main/java/org/apache/maven/tools/plugin/generator/GeneratorUtils.java#L255 > [2] https://commons.apache.org/proper/commons-build-plugin/mail-page.html > [3] https://commons.apache.org/proper/commons-lang/mail-lists.html > [4] https://commons.apache.org/proper/commons-lang/mailing-lists.html > > -- > Sławomir Jaranowski - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Re: Why does one of our archetypes work, and the other gets "The defined artifact is not an archetype"
reading the mini guide https://maven.apache.org/guides/mini/guide-creating-archetypes.html I see that it mixes the archetype = the jar that is stored to the repository and the archetype project = the Maven project that will create the archetype jar please look at the schema in the plugin page: https://maven.apache.org/archetype/maven-archetype-plugin/ It shows the full lifecycle: - from an eventual sample project - to an archetype project - to the built archetype - an finally to the project generated from the archetype and it lists the goals of the maven-artifact-plugin to go from one step to the next one The mini guide only covers writing the archetype project by hand, and building it to get the archetype jar I hope this will help understanding the wider logic, before digging into eventual bugs or not clear messages when something gets wrong Regards, Hervé On 2023/10/05 23:15:50 Herve Boutemy wrote: > documentation probably also needs love: > you found the mini-guide, but not the plugin reference documentation that > explains much more: > https://maven.apache.org/archetype/maven-archetype-plugin/index.html > > I'm not sure mini guide was updated as it should > > Regards, > > Hervé > > On 2023/10/05 20:38:20 David Karr wrote: > > I support and maintain a platform used by a couple hundred > > SpringBoot/JAX-RS/Maven/K8S services. When new services are created, a > > Maven archetype is used to create the service skeleton. This has worked > > fine for quite a while. > > > > We're now working on a variation using SpringMVC instead of JAX-RS, and > > eventually making that the default. > > > > One of my team members took the existing Jersey/JAX-RS archetype project, > > made a copy, and then changed a bunch of things for SpringMVC instead of > > JAX-RS. We installed that archetype in our local maven repo for initial > > testing, using "mvn install". > > > > We run a command line like the following: > > > > mvn archetype:generate -DgroupId=com.org.idp -DartifactId=MyApplication > > -Dpackage=com.org.idp -DarchetypeGroupId=com.org.idse > > -DarchetypeArtifactId=idse-springmvc-archetype > > -DarchetypeVersion=2.0.0-SNAPSHOT > > > > The "archetypeVersion" property value corresponds to the version attribute > > in the pom.xml of the archetype. > > > > This produces the following output: > > > > [INFO] Generating project in Batch mode > > [WARNING] Archetype not found in any catalog. Falling back to central > > repository. > > [WARNING] Add a repository with id 'archetype' in your settings.xml if > > archetype's repository is elsewhere. > > Downloading from nexus: > > https://repocentral.it.att.com:8443/nexus/content/groups/att-public-group/com/att/idse/idse-springmvc-archetype/2.0.0-SNAPSHOT/maven-metadata.xml > > [INFO] > > > > [INFO] BUILD FAILURE > > [INFO] > > > > [INFO] Total time: 52.232 s > > [INFO] Finished at: 2023-10-04T13:33:46-07:00 > > [INFO] > > > > [ERROR] Failed to execute goal > > org.apache.maven.plugins:maven-archetype-plugin:3.2.1:generate > > (default-cli) on project standalone-pom: The defined artifact is not an > > archetype -> [Help 1] > > [ERROR] > > [ERROR] To see the full stack trace of the errors, re-run Maven with the -e > > switch. > > [ERROR] Re-run Maven using the -X switch to enable full debug logging. > > [ERROR] > > [ERROR] For more information about the errors and possible solutions, > > please read the following articles: > > [ERROR] [Help 1] > > http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException > > > > > > This doesn't tell me WHY it thinks this is not an archetype. > > > > I find some confusing docs about creating and installing archetypes. > > > > I found this page: > > https://maven.apache.org/guides/mini/guide-creating-archetypes.html . > > This example is curious, as the pom.xml for the archetype references the > > "archetype-packaging" extension, but the text says nothing about this. In > > fact, it clearly says "All you need to specify is a groupId, artifactId and > > version". Neither our working archetype or the new one references that > > extension. > > > > I also found this issue: https://issues.apache.org/jira/browse/ARCHETYPE-529 > > . No one ever responded to this, so perhaps the reporter is way off. I see > > that this mentions the "create-from-project" goal. This is not mentioned in > > the previous doc page. > > > > What else can I look at to debug this problem? > > > > - > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org > For additional commands, e-mail: users-h...@maven.apache.org > > - To
Re: Why does one of our archetypes work, and the other gets "The defined artifact is not an archetype"
documentation probably also needs love: you found the mini-guide, but not the plugin reference documentation that explains much more: https://maven.apache.org/archetype/maven-archetype-plugin/index.html I'm not sure mini guide was updated as it should Regards, Hervé On 2023/10/05 20:38:20 David Karr wrote: > I support and maintain a platform used by a couple hundred > SpringBoot/JAX-RS/Maven/K8S services. When new services are created, a > Maven archetype is used to create the service skeleton. This has worked > fine for quite a while. > > We're now working on a variation using SpringMVC instead of JAX-RS, and > eventually making that the default. > > One of my team members took the existing Jersey/JAX-RS archetype project, > made a copy, and then changed a bunch of things for SpringMVC instead of > JAX-RS. We installed that archetype in our local maven repo for initial > testing, using "mvn install". > > We run a command line like the following: > > mvn archetype:generate -DgroupId=com.org.idp -DartifactId=MyApplication > -Dpackage=com.org.idp -DarchetypeGroupId=com.org.idse > -DarchetypeArtifactId=idse-springmvc-archetype > -DarchetypeVersion=2.0.0-SNAPSHOT > > The "archetypeVersion" property value corresponds to the version attribute > in the pom.xml of the archetype. > > This produces the following output: > > [INFO] Generating project in Batch mode > [WARNING] Archetype not found in any catalog. Falling back to central > repository. > [WARNING] Add a repository with id 'archetype' in your settings.xml if > archetype's repository is elsewhere. > Downloading from nexus: > https://repocentral.it.att.com:8443/nexus/content/groups/att-public-group/com/att/idse/idse-springmvc-archetype/2.0.0-SNAPSHOT/maven-metadata.xml > [INFO] > > [INFO] BUILD FAILURE > [INFO] > > [INFO] Total time: 52.232 s > [INFO] Finished at: 2023-10-04T13:33:46-07:00 > [INFO] > > [ERROR] Failed to execute goal > org.apache.maven.plugins:maven-archetype-plugin:3.2.1:generate > (default-cli) on project standalone-pom: The defined artifact is not an > archetype -> [Help 1] > [ERROR] > [ERROR] To see the full stack trace of the errors, re-run Maven with the -e > switch. > [ERROR] Re-run Maven using the -X switch to enable full debug logging. > [ERROR] > [ERROR] For more information about the errors and possible solutions, > please read the following articles: > [ERROR] [Help 1] > http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException > > > This doesn't tell me WHY it thinks this is not an archetype. > > I find some confusing docs about creating and installing archetypes. > > I found this page: > https://maven.apache.org/guides/mini/guide-creating-archetypes.html . > This example is curious, as the pom.xml for the archetype references the > "archetype-packaging" extension, but the text says nothing about this. In > fact, it clearly says "All you need to specify is a groupId, artifactId and > version". Neither our working archetype or the new one references that > extension. > > I also found this issue: https://issues.apache.org/jira/browse/ARCHETYPE-529 > . No one ever responded to this, so perhaps the reporter is way off. I see > that this mentions the "create-from-project" goal. This is not mentioned in > the previous doc page. > > What else can I look at to debug this problem? > - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Re: Why does one of our archetypes work, and the other gets "The defined artifact is not an archetype"
Howdy, Sadly, archetype is in pretty bad shape. I have a PR as WIP (dropped it a while ago) https://github.com/apache/maven-archetype/pull/148 but will pick it up. In short, few responses, but I think these may be better off on the related issue... Historically, archetype (plugin but the project whole, as in https://github.com/apache/maven-archetype ) underwent several iterations, each improving it in some way, and trying to retain back (and back-back, later about this) compatibility, that resulted in a bit of a mess. Currently, we have "maven archetype", "old maven archetype" and "older maven archetype" (no kidding), see here: https://github.com/apache/maven-archetype/blob/master/archetype-common/src/main/java/org/apache/maven/archetype/common/Constants.java#L33 https://github.com/apache/maven-archetype/blob/master/archetype-common/src/main/java/org/apache/maven/archetype/common/Constants.java#L81 https://github.com/apache/maven-archetype/blob/master/archetype-common/src/main/java/org/apache/maven/archetype/common/Constants.java#L83 And all of these kinda affect how archetype behaves (and what Maven Archetype Plugin expects and does). Regarding the related JIRA issue, I _think_ (assume) the problem is that user mixes "old" (2.4) archetype plugin to consume archetypes, while creates them with "new" (3.x) archetype plugin, that produces new ones (it only supports consumption of old ones). Hence, for "old" plugins the "new" archetypes are not recognized. For start, I'd recommend to align (ideally to latest) all your plugins from beginning (producing archetypes) to end (consuming archetypes). HTH Tamas On Thu, Oct 5, 2023 at 10:38 PM David Karr wrote: > I support and maintain a platform used by a couple hundred > SpringBoot/JAX-RS/Maven/K8S services. When new services are created, a > Maven archetype is used to create the service skeleton. This has worked > fine for quite a while. > > We're now working on a variation using SpringMVC instead of JAX-RS, and > eventually making that the default. > > One of my team members took the existing Jersey/JAX-RS archetype project, > made a copy, and then changed a bunch of things for SpringMVC instead of > JAX-RS. We installed that archetype in our local maven repo for initial > testing, using "mvn install". > > We run a command line like the following: > > mvn archetype:generate -DgroupId=com.org.idp -DartifactId=MyApplication > -Dpackage=com.org.idp -DarchetypeGroupId=com.org.idse > -DarchetypeArtifactId=idse-springmvc-archetype > -DarchetypeVersion=2.0.0-SNAPSHOT > > The "archetypeVersion" property value corresponds to the version attribute > in the pom.xml of the archetype. > > This produces the following output: > > [INFO] Generating project in Batch mode > [WARNING] Archetype not found in any catalog. Falling back to central > repository. > [WARNING] Add a repository with id 'archetype' in your settings.xml if > archetype's repository is elsewhere. > Downloading from nexus: > > https://repocentral.it.att.com:8443/nexus/content/groups/att-public-group/com/att/idse/idse-springmvc-archetype/2.0.0-SNAPSHOT/maven-metadata.xml > [INFO] > > [INFO] BUILD FAILURE > [INFO] > > [INFO] Total time: 52.232 s > [INFO] Finished at: 2023-10-04T13:33:46-07:00 > [INFO] > > [ERROR] Failed to execute goal > org.apache.maven.plugins:maven-archetype-plugin:3.2.1:generate > (default-cli) on project standalone-pom: The defined artifact is not an > archetype -> [Help 1] > [ERROR] > [ERROR] To see the full stack trace of the errors, re-run Maven with the -e > switch. > [ERROR] Re-run Maven using the -X switch to enable full debug logging. > [ERROR] > [ERROR] For more information about the errors and possible solutions, > please read the following articles: > [ERROR] [Help 1] > http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException > > > This doesn't tell me WHY it thinks this is not an archetype. > > I find some confusing docs about creating and installing archetypes. > > I found this page: > https://maven.apache.org/guides/mini/guide-creating-archetypes.html . > This example is curious, as the pom.xml for the archetype references the > "archetype-packaging" extension, but the text says nothing about this. In > fact, it clearly says "All you need to specify is a groupId, artifactId and > version". Neither our working archetype or the new one references that > extension. > > I also found this issue: > https://issues.apache.org/jira/browse/ARCHETYPE-529 > . No one ever responded to this, so perhaps the reporter is way off. I see > that this mentions the "create-from-project" goal. This is not mentioned in > the previous doc page. > > What else can I look at to debug this problem? >
Why does one of our archetypes work, and the other gets "The defined artifact is not an archetype"
I support and maintain a platform used by a couple hundred SpringBoot/JAX-RS/Maven/K8S services. When new services are created, a Maven archetype is used to create the service skeleton. This has worked fine for quite a while. We're now working on a variation using SpringMVC instead of JAX-RS, and eventually making that the default. One of my team members took the existing Jersey/JAX-RS archetype project, made a copy, and then changed a bunch of things for SpringMVC instead of JAX-RS. We installed that archetype in our local maven repo for initial testing, using "mvn install". We run a command line like the following: mvn archetype:generate -DgroupId=com.org.idp -DartifactId=MyApplication -Dpackage=com.org.idp -DarchetypeGroupId=com.org.idse -DarchetypeArtifactId=idse-springmvc-archetype -DarchetypeVersion=2.0.0-SNAPSHOT The "archetypeVersion" property value corresponds to the version attribute in the pom.xml of the archetype. This produces the following output: [INFO] Generating project in Batch mode [WARNING] Archetype not found in any catalog. Falling back to central repository. [WARNING] Add a repository with id 'archetype' in your settings.xml if archetype's repository is elsewhere. Downloading from nexus: https://repocentral.it.att.com:8443/nexus/content/groups/att-public-group/com/att/idse/idse-springmvc-archetype/2.0.0-SNAPSHOT/maven-metadata.xml [INFO] [INFO] BUILD FAILURE [INFO] [INFO] Total time: 52.232 s [INFO] Finished at: 2023-10-04T13:33:46-07:00 [INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:3.2.1:generate (default-cli) on project standalone-pom: The defined artifact is not an archetype -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException This doesn't tell me WHY it thinks this is not an archetype. I find some confusing docs about creating and installing archetypes. I found this page: https://maven.apache.org/guides/mini/guide-creating-archetypes.html . This example is curious, as the pom.xml for the archetype references the "archetype-packaging" extension, but the text says nothing about this. In fact, it clearly says "All you need to specify is a groupId, artifactId and version". Neither our working archetype or the new one references that extension. I also found this issue: https://issues.apache.org/jira/browse/ARCHETYPE-529 . No one ever responded to this, so perhaps the reporter is way off. I see that this mentions the "create-from-project" goal. This is not mentioned in the previous doc page. What else can I look at to debug this problem?
[ANN] Apache Maven Doxia Sitetools 2.0.0-M12 released
The Apache Maven team is pleased to announce the release of the Apache Maven Doxia Sitetools, version 2.0.0-M12 https://maven.apache.org/doxia/doxia-sitetools/ Release Notes - Maven Doxia Sitetools - Version 2.0.0-M12 ** Improvement * [DOXIASITETOOLS-253] - Clarify "border", "width" and "height" for Banner and LinkItem ** Wish * [DOXIASITETOOLS-174] - rename site.xml root tag from "project" to "site" ** Task * [DOXIASITETOOLS-254] - Clarify inconsistencies in Doxia site model * [DOXIASITETOOLS-311] - Rework and simplify the site model ** Dependency upgrade * [DOXIASITETOOLS-312] - Upgrade to Parent 40 Enjoy, -The Apache Maven team - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
[ANN] Apache Maven Reporting Impl 4.0.0-M10 released
The Apache Maven team is pleased to announce the release of the Maven Reporting Impl version 4.0.0-M10. https://maven.apache.org/shared/maven-reporting-impl/ Release Notes - Maven Shared Components - Version maven-reporting-impl-4.0.0-M10 ** Improvement * [MSHARED-1295] - Have ${project.build.outputTimestamp} injected as @Parameter ** Dependency upgrade * [MSHARED-1308] - Upgrade to Parent 40 * [MSHARED-1309] - Upgrade to Doxia Sitetools 2.0.0-M12 Enjoy, -The Apache Maven team - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Re: NPE in AbstractMavenReport.execute, because 'this.siteTool' is null
On 2023/10/05 06:46:02 Hervé Boutemy wrote: > improvement proposed: review appreciated > https://github.com/apache/maven-reporting-impl/pull/24 Will try to look at the issue here and the proposed PR in the next couple of days... - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Re: NPE in AbstractMavenReport.execute, because 'this.siteTool' is null
improvement proposed: review appreciated https://github.com/apache/maven-reporting-impl/pull/24 Le mercredi 4 octobre 2023, 08:30:04 CEST Hervé Boutemy a écrit : > Hi Xander, > > Sorry, I lost track, having a look now. > > When I see that you are implementing Mojo's "execute()" [1] while using > maven-reporting-impl, you are in fact defeating the objective of > maven-reporting-impl: do that for you. > > maven-reporting-impl would probably need better documentation, I need help, > but the IT [2] tries to show how to write such reporting code that can be > run both as goal and a maven-site's report > > And if you want to see how it does the job, you can look at > maven-reporting-impl AbstractMavenReport implementation of execute() [3]: > yes, that implementation changed, and now I remember I had to update it > because of the NPE that it could cause. You must not rewrite this code. > > HTH > > Hervé > > > [1] > https://github.com/dev-aspectj/aspectj-maven-plugin/blob/main/src/main/java > /org/codehaus/mojo/aspectj/AjcReportMojo.java#L210 > > [2] > https://github.com/apache/maven-reporting-impl/tree/master/src/it/setup-rep > orting-plugin/src/main/java/org/apache/maven/reporting/its/custom > > [3] > https://github.com/apache/maven-reporting-impl/blob/master/src/main/java/or > g/apache/maven/reporting/AbstractMavenReport.java#L187 > Le mercredi 4 octobre 2023, 04:05:58 CEST Alexander Kriegisch a écrit : > > Hello Hervé. > > > > Did the reproducer help you in any way? > > > > Regards > > > > > Hello Hervé. > > > > > >>> I tried to upgrade those > > >>> dependencies to the most recent Doxia and Sitetools versions. > > >> > > >> by "most recent", do you mean most recent from 1.x or 2.0.0-M*? > > > > > > I mean 2.0.0-M*. Actually, the project works nicely and I would have > > > ignored the Dependabot suggestions, but all those Maven warnings about > > > outdated or EOL components made me start upgrading them. I was under the > > > impression that Doxia milestones are just as stable and production-ready > > > as Surefire ones, so I did not think much and gaven them a go. > > > > > >> 1.x should not cause issues > > >> > > >> 2.0.0-M*, as expected from the version number, is more risky and not > > >> yet > > >> fully > > >> > > >> stable > > > > > > Then maybe it is better to revert to 1.x and let users live live with > > > the > > > Plexus warnings for a little longer. > > > > > >> Such reporting plugin coding has so many ways to be done that sharing a > > >> reproducer is the easiest way to have concrete view on what is > > >> happening, > > >> particularly if you're going to 2.0.0-M* > > > > > > Sure, it is about https://github.com/dev-aspectj/aspectj-maven-plugin. > > > > > > On the main branch, > > > > > > -- an older commit like 93110452 shows the (stable) situation before I > > > > > > started various and sundry plugins and dependencies, > > > > > > -- second-latest commit 7b8706a7 - see also build > > > > > > https://github.com/dev-aspectj/aspectj-maven-plugin/actions/runs/62 > > > 30 > > > 950536 > > > - shows an intermediate step in which the plugin's reporting > > > goalfails in integration tests, > > > > > > -- latest commit 1a819a4e stabilises the integration tests, but is a > > > > > > hacky work-in-progress commit that needs to be cleaned up. You > > > asked for a reproducer, so I pushed the commit. > > > > > > You can build the plugin quickly, if you deactivate the > > > 'integration-test' profile. In order to reproduce the problem, run > > > something like > > > > > > mvn -Dinvoker.test=CreateReport verify -P integration-test > > > > > > on the lat6est commit, but locally revert this change in > > > AjcReportMojo.java: > > > https://github.com/dev-aspectj/aspectj-maven-plugin/commit/1a819a4e0b2c3 > > > c > > > d34797c3122488ea5833cf9fd5#diff-64f2431d9507f2996b65ccf8f9a4e202923d456e > > > 31 > > > 579f3809ef4d648509b62e > > > > > > Regards > > > -- > > > Xander > > > https://scrum-master.de > > > > > >> Le jeudi 7 septembre 2023, 04:35:29 CEST Alexander Kriegisch a écrit : > > >>> Hello Maven community. > > >>> > > >>> In a Maven plugin using old 1.x Doxia and Sitetool versions, I am > > >>> getting > > >>> warnings because those again use an EOL Plexus component. The details > > >>> are > > >>> not so important, the important part is that I tried to upgrade those > > >>> dependencies to the most recent Doxia and Sitetools versions. > > >>> > > >>> One class in the plugin extends > > >>> org.apache.maven.reporting.AbstractMavenReport. It implements an > > >>> executeReport(Locale) method, which so far was fine. But now, it also > > >>> inherits execute() from the abstract parent class. The latter method > > >>> is > > >>> always called when using the reporting goal for my plugin. The result > > >>> is > > >>> an > > >>> > > >>> error like this: > > >>> Caused by: java.lang.NullPointerException: Cannot