slachiewicz opened a new issue, #1057:
URL: https://github.com/apache/maven-archetype/issues/1057

   Plan to bring maven-archetype, the standard archetypes in 
apache/maven-archetypes, and their documentation up to the current estate 
baseline: Maven 3.9.0 minimum, JUnit 5, faster ITs, and docs that match the 
code. Each item lands as its own PR linked here.
   
   ## Baseline (master at 277afc1)
   
   The following baseline is already in place:
   
   - maven-parent 50, `mavenVersion` 3.9.16 and `resolverVersion` 1.9.27 are 
current. CI uses the shared workflow with Maven 4 enabled.
   - `archetype:generate` (quickstart 1.5) and `archetype:create-from-project` 
work on Maven 3.9.16 and 4.0.0-rc-7.
   - All unit tests are on JUnit 5; there is no Hamcrest, Wagon, maven-compat, 
artifact-transfer or dependency-tree in main code.
   - CI: 17 jobs, about 80 job-minutes per push, longest job about 8.5 minutes 
(last six master push runs).
   - The 33 plugin ITs run serially. Each create-from-project IT runs a nested 
`package` build of the archetype it creates.
   
   ## Tests and build
   
   - [ ] archetype-common tests: update incidental fixture versions, remove 
fixtures nothing reads, share the repository session setup, use `assertThrows` 
and `@TempDir`. Test counts per class unchanged (30).
   - [ ] Plugin ITs: run them in parallel (`invoker.parallelThreads` 0.75C) 
with cheaper forked JVMs; drop the incidental `maven-compiler-plugin` 3.7.0 
pins; move `verify-script-beanshell-rejected` to a unit test; give `create-2` 
and `ARCHETYPE-531_ear-modules` real verify scripts; turn the remaining scripts 
into plain assertions. Local IT time 13:44 → 7:26 on 2 vCPUs.
   - [ ] Require Maven 3.9.0 (`<prerequisites>` is 3.6.3).
   - [ ] Dependabot: ignore `>= 3.10.0` for the Maven core artifacts the plugin 
uses.
   - [ ] CI matrix: every JDK on Linux, newest on macOS, oldest and newest on 
Windows.
   - [ ] Move the fileset logic ITs (`exclude-patterns*`, 
`include-*-no-extension`, `create-1`…`create-6`) to `FilesetArchetypeCreator` 
unit tests in archetype-common.
   - [ ] Measure lowering `archetype.postPhase` in the create-from-project ITs; 
it removes the nested build but tests less.
   - [ ] AGENTS.md: how to run one IT, the fixture pipeline in archetype-common 
(antrun copies `src/test/archetypes` into a repository layout at 
`process-test-resources`), and the network-dependent 
`InternalCatalogArchetypesVerificationTest`.
   
   ## Code
   
   - [ ] Accept `archetype.filteredExtensions`: 
`CreateArchetypeFromProjectMojo` reads `archetype.filteredExtentions`, while 
its own Javadoc and the site document the correct spelling, so the documented 
property does nothing. Keep the old spelling working.
   - [ ] Clear the 50 compiler deprecation warnings (36 are commons-lang3 
`StringUtils.replace`).
   - [ ] Replace commons-io, commons-collections4 and commons-lang3 with the 
JDK; jdom2 is #277.
   - [ ] Retire `archetype-samples` (#1024, #1012).
   - [ ] Decide the Java floor (8 today). Groovy 5 and mrm 2.x updates are held 
back by it.
   
   Open contributor work that this plan should not overtake: #1049, #1055 and 
#1051 (archetype-common fixes with tests), #984 (preserveCData IT), #218 (Maven 
4 prompter), #1023.
   
   ## Documentation
   
   The site sources on master are already Markdown, but the published site was 
built from 3.4.1, so most fixes below appear with the next release.
   
   - [ ] `specification/generate.md` says the `archetypeCatalog` default is 
`internal`; the mojo default is `remote,local`.
   - [ ] `examples/generate-alternative-catalog.md` says no remote catalog is 
provided; `specification/archetype-catalog.md` describes the Central one.
   - [ ] Replace the 2011–2013 transcripts (`archetype:create`, plugin 2.2, 
quickstart 1.1) in `usage`, `generate-batch`, `advanced-usage`, 
`create-multi-module-project` and `create-with-property-file`.
   - [ ] `index.md.vm` says four goals and lists three; 
`archetype-repository.md` has apt-conversion leftovers.
   - [ ] Add a page on testing an archetype with `archetype:integration-test` 
(`goal.txt`, `archetype.properties`, reference trees), and a short Maven 4 note.
   - [ ] maven-site: link `introduction-to-archetypes` to the archetypes list 
instead of repeating it; refresh `guide-creating-archetypes` (JUnit 4.12 
prototype, no integration test).
   
   ## Standard archetypes (apache/maven-archetypes)
   
   All 11 built archetypes generate projects that build on Maven 3.9.16 and 
4.0.0-rc-7. Nothing has been released since 1.5 (2024-08-25).
   
   - [ ] Quickstart cannot generate JUnit 6 (apache/maven-archetypes#128, #136).
   - [ ] Use `maven.compiler.release` in simple, archetype, plugin, webapp 
(apache/maven-archetypes#120); they use source/target 8, which JDK 21 reports 
as obsolete.
   - [ ] site and plugin-site: add `pluginManagement`; Maven 4 warns that the 
default-binding plugin versions are not locked. site-skin: pin the 
project-info-reports version.
   - [ ] webapp: Jakarta EE `web.xml` instead of Servlet 4.0.
   - [ ] Retire portlet (Portlet 1.0) and j2ee-simple, and remove or finish 
profiles (apache/maven-archetypes#95), after a dev@ vote.
   - [ ] Template plugin versions come only from the parent; Dependabot cannot 
see them.
   - [ ] Release 1.6.
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to