Joe DiPol created ARCHETYPE-689:
-----------------------------------

             Summary: Archetype Plugin 3.3.0 introduced incompatibilities
                 Key: ARCHETYPE-689
                 URL: https://issues.apache.org/jira/browse/ARCHETYPE-689
             Project: Maven Archetype
          Issue Type: Bug
          Components: Plugin
    Affects Versions: 3.3.0
            Reporter: Joe DiPol


Archetype Plugin 3.3.0 introduced API incompatibilities that can break existing 
maven archetypes. This is significant because when the plugin is invoked by 
users the version of the plugin is rarely specified. An example of such a 
breakage is [https://github.com/helidon-io/helidon/issues/9305] (where all 
previously shipped versions of our maven archetypes broke).

The incompatibilities were introduced by 
[https://github.com/apache/maven-archetype/pull/211] and 
[https://github.com/apache/maven-archetype/pull/215]

Changes that broke our archetypes:

# The removal of {{ArchetypeGenerationRequest.getProjectBuildingRequest()}}
# The changing of the return type of 
{{ArchetypeGenerationRequest.getRemoteArtifactRepositories()}} from 
{{List<ArtifactRepository>}} to {{List<RemoteRepository>}}

It also looks like a number of other methods were removed from 
{{ArchetypeGenerationRequest}}.

As documented in 
[https://maven.apache.org/archetype/maven-archetype-plugin/advanced-usage.html#post-generation-script]
 the {{ArchetypeGenerationRequest}} object is the primary API for customization 
by a post-generation groovy script. And the changed/removed methods were not 
marked for deprecation. Any archetype released before 3.3.0 that relied on this 
class is potentially broken.
 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to