Skip to content

Commit dbbca4c

Browse files
authored
Bumped versions to 2.19.0 (#145)
1 parent e55618c commit dbbca4c

File tree

3 files changed

+94
-21
lines changed

3 files changed

+94
-21
lines changed

maven-plugin/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
<dependency>
2828
<groupId>org.codehaus.mojo</groupId>
2929
<artifactId>versions-maven-plugin</artifactId>
30-
<version>2.18.0</version>
30+
<version>2.19.0</version>
3131
</dependency>
3232
<dependency>
3333
<groupId>org.apache.maven.plugin-tools</groupId>

maven-plugin/src/main/java/io/jenkins/tools/incrementals/maven/IncrementalifyMojo.java

Lines changed: 30 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@
2424

2525
package io.jenkins.tools.incrementals.maven;
2626

27+
import static org.twdata.maven.mojoexecutor.MojoExecutor.configuration;
28+
import static org.twdata.maven.mojoexecutor.MojoExecutor.element;
29+
import static org.twdata.maven.mojoexecutor.MojoExecutor.executeMojo;
30+
import static org.twdata.maven.mojoexecutor.MojoExecutor.executionEnvironment;
31+
import static org.twdata.maven.mojoexecutor.MojoExecutor.plugin;
32+
2733
import java.io.File;
2834
import java.io.IOException;
2935
import java.io.InputStream;
@@ -37,28 +43,25 @@
3743
import java.util.regex.Pattern;
3844
import javax.inject.Inject;
3945
import javax.xml.stream.XMLStreamException;
40-
4146
import org.apache.maven.artifact.Artifact;
42-
import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
4347
import org.apache.maven.artifact.versioning.ArtifactVersion;
4448
import org.apache.maven.artifact.versioning.ComparableVersion;
4549
import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
4650
import org.apache.maven.artifact.versioning.VersionRange;
4751
import org.apache.maven.plugin.BuildPluginManager;
4852
import org.apache.maven.plugin.MojoExecutionException;
4953
import org.apache.maven.plugin.MojoFailureException;
50-
import org.apache.maven.plugins.annotations.Component;
5154
import org.apache.maven.plugins.annotations.Mojo;
55+
import org.apache.maven.plugins.annotations.Parameter;
5256
import org.apache.maven.wagon.Wagon;
5357
import org.codehaus.mojo.versions.AbstractVersionsUpdaterMojo;
5458
import org.codehaus.mojo.versions.api.ArtifactVersions;
5559
import org.codehaus.mojo.versions.api.PomHelper;
5660
import org.codehaus.mojo.versions.api.VersionRetrievalException;
57-
import org.codehaus.mojo.versions.api.VersionsHelper;
5861
import org.codehaus.mojo.versions.api.recording.ChangeRecorder;
5962
import org.codehaus.mojo.versions.rewriting.MutableXMLStreamReader;
63+
import org.codehaus.mojo.versions.utils.ArtifactFactory;
6064
import org.eclipse.aether.RepositorySystem;
61-
import static org.twdata.maven.mojoexecutor.MojoExecutor.*;
6265

6366
/**
6467
* Sets a project up for Incrementals.
@@ -72,11 +75,24 @@ public class IncrementalifyMojo extends AbstractVersionsUpdaterMojo {
7275
public static final String PLUGIN_POM = "org.jenkins-ci.plugins:plugin:pom";
7376
private static final Set<String> PARENT_DEPENDENCIES = Set.of(JENKINS_POM, PLUGIN_POM);
7477

75-
@Component
78+
/**
79+
* Whether to allow snapshots when searching for the latest version of an artifact.
80+
* @since 1.11
81+
*/
82+
@Parameter(property = "allowSnapshots", defaultValue = "false")
83+
protected boolean allowSnapshots;
84+
85+
@Inject
7686
private BuildPluginManager pluginManager;
7787

78-
@Inject public IncrementalifyMojo(ArtifactHandlerManager artifactHandlerManager, RepositorySystem repositorySystem, Map<String, Wagon> wagonMap, Map<String, ChangeRecorder> changeRecorders) {
79-
super(artifactHandlerManager, repositorySystem, wagonMap, changeRecorders);
88+
@Inject public IncrementalifyMojo(ArtifactFactory artifactFactory, RepositorySystem repositorySystem, Map<String, Wagon> wagonMap, Map<String, ChangeRecorder> changeRecorders)
89+
throws MojoExecutionException {
90+
super(artifactFactory, repositorySystem, wagonMap, changeRecorders);
91+
}
92+
93+
@Override
94+
protected boolean getAllowSnapshots() {
95+
return allowSnapshots;
8096
}
8197

8298
@Override public void execute() throws MojoExecutionException, MojoFailureException {
@@ -87,7 +103,9 @@ public class IncrementalifyMojo extends AbstractVersionsUpdaterMojo {
87103
}
88104
ArtifactVersions gclmeVersions;
89105
try {
90-
gclmeVersions = getHelper().lookupArtifactVersions(getHelper().createDependencyArtifact("io.jenkins.tools.incrementals", "git-changelist-maven-extension", "[0,)", "type", null, null, false), true);
106+
Artifact artifact = artifactFactory.createArtifact("io.jenkins.tools.incrementals",
107+
"git-changelist-maven-extension", "[0,)", "type", null, null, false);
108+
gclmeVersions = getHelper().lookupArtifactVersions(artifact, true);
91109
} catch (VersionRetrievalException x) {
92110
throw new MojoExecutionException(x.getMessage(), x);
93111
}
@@ -128,7 +146,7 @@ public class IncrementalifyMojo extends AbstractVersionsUpdaterMojo {
128146
if (!origTag.equals("HEAD")) {
129147
throw new MojoFailureException("Unexpected tag: " + origTag);
130148
}
131-
Artifact parent = getProjectParent(pom, getHelper());
149+
Artifact parent = getProjectParent(pom);
132150
if (parent == null) {
133151
throw new MojoFailureException("No <parent> found");
134152
}
@@ -169,11 +187,10 @@ public class IncrementalifyMojo extends AbstractVersionsUpdaterMojo {
169187
* Gets the parent artifact from the pom.
170188
*
171189
* @param pom The pom.
172-
* @param helper The helper (used to create the artifact).
173190
* @return The parent artifact or <code>null</code> if no parent is specified.
174191
* @throws XMLStreamException if something went wrong.
175192
*/
176-
private static Artifact getProjectParent( final MutableXMLStreamReader pom, VersionsHelper helper )
193+
private Artifact getProjectParent(final MutableXMLStreamReader pom)
177194
throws XMLStreamException
178195
{
179196
Stack<String> stack = new Stack<>();
@@ -222,8 +239,7 @@ else if ( "version".equals( elementName ) )
222239
{
223240
return null;
224241
}
225-
return helper.createDependencyArtifact( groupId, artifactId, version, "pom",
226-
null, null, false );
242+
return artifactFactory.createArtifact( groupId, artifactId, version, "pom", null, null, false );
227243
}
228244

229245
private static final class ReplaceGitHubRepo {

maven-plugin/src/main/java/io/jenkins/tools/incrementals/maven/UpdateMojo.java

Lines changed: 63 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
import org.codehaus.mojo.versions.api.VersionsHelper;
5252
import org.codehaus.mojo.versions.api.recording.ChangeRecorder;
5353
import org.codehaus.mojo.versions.rewriting.MutableXMLStreamReader;
54+
import org.codehaus.mojo.versions.utils.ArtifactFactory;
5455
import org.eclipse.aether.RepositorySystem;
5556

5657
/**
@@ -79,22 +80,79 @@ public class UpdateMojo extends AbstractVersionsDependencyUpdaterMojo {
7980
@Parameter(defaultValue = "${project.remoteArtifactRepositories}", readonly = true)
8081
private List<MavenArtifactRepository> repos;
8182

82-
@Inject public UpdateMojo(ArtifactHandlerManager artifactHandlerManager, RepositorySystem repositorySystem, Map<String, Wagon> wagonMap, Map<String, ChangeRecorder> changeRecorders) {
83-
super(artifactHandlerManager, repositorySystem, wagonMap, changeRecorders);
83+
/**
84+
* Whether to allow snapshots when searching for the latest version of an artifact.
85+
*
86+
* @since 1.11
87+
*/
88+
@Parameter(property = "allowSnapshots", defaultValue = "false")
89+
protected boolean allowSnapshots;
90+
91+
/**
92+
* Whether to process the dependencies section of the project.
93+
* @since 1.11
94+
*/
95+
@Parameter(property = "processDependencies", defaultValue = "true")
96+
private boolean processDependencies = true;
97+
98+
/**
99+
* Whether to process the dependencyManagement section of the project.
100+
* @since 1.11
101+
*/
102+
@Parameter(property = "processDependencyManagement", defaultValue = "true")
103+
private boolean processDependencyManagement = true;
104+
105+
/**
106+
* Whether to process the parent section of the project.
107+
* @since 1.11
108+
*/
109+
@Parameter(property = "processParent", defaultValue = "false")
110+
private boolean processParent = false;
111+
112+
/**
113+
* Whether to skip processing dependencies that are produced as part of the current reactor.
114+
* @since 1.11
115+
*/
116+
@Parameter(property = "excludeReactor", defaultValue = "true")
117+
private boolean excludeReactor = true;
118+
119+
@Inject public UpdateMojo(ArtifactFactory artifactFactory, RepositorySystem repositorySystem, Map<String, Wagon> wagonMap, Map<String, ChangeRecorder> changeRecorders)
120+
throws MojoExecutionException {
121+
super(artifactFactory, repositorySystem, wagonMap, changeRecorders);
122+
}
123+
124+
@Override
125+
protected boolean getAllowSnapshots() {
126+
return allowSnapshots;
127+
}
128+
129+
@Override
130+
protected boolean getProcessDependencies() {
131+
return processDependencies;
132+
}
133+
134+
@Override
135+
protected boolean getProcessDependencyManagement() {
136+
return processDependencyManagement;
137+
}
138+
139+
@Override
140+
public boolean getProcessParent() {
141+
return processParent;
84142
}
85143

86144
@Override protected void update(MutableXMLStreamReader pom) throws MojoExecutionException, MojoFailureException, XMLStreamException {
87145
try {
88146
UpdateChecker checker = new UpdateChecker(message -> getLog().info(message),
89147
// TODO use repos.stream().map(MavenArtifactRepository::getUrl).collect(Collectors.toList()) if UpdateChecker.loadVersions is fixed to exclude snapshots and pass authentication
90148
Arrays.asList("https://repo.jenkins-ci.org/releases/", "https://repo.jenkins-ci.org/incrementals/"));
91-
if (isProcessingDependencyManagement()) {
149+
if (getProcessDependencyManagement()) {
92150
DependencyManagement dependencyManagement = getProject().getDependencyManagement();
93151
if (dependencyManagement != null) {
94152
update(pom, dependencyManagement.getDependencies(), checker);
95153
}
96154
}
97-
if (isProcessingDependencies()) {
155+
if (getProcessDependencies()) {
98156
List<Dependency> dependencies = getProject().getDependencies();
99157
if (dependencies != null) {
100158
update(pom, dependencies, checker);
@@ -115,7 +173,7 @@ private void update(MutableXMLStreamReader pom, List<Dependency> dependencies, U
115173
getLog().debug("Skipping " + toString(dep));
116174
continue;
117175
}
118-
if (isExcludeReactor() && isProducedByReactor(dep)) {
176+
if (getExcludeReactor() && isProducedByReactor(dep)) {
119177
getLog().info("Skipping reactor dep " + toString(dep));
120178
continue;
121179
}
@@ -186,5 +244,4 @@ private void updateProperties(MutableXMLStreamReader pom, UpdateChecker checker)
186244
private static boolean isIncremental(String version) {
187245
return version.matches(".+-rc[0-9]+[.][0-9a-f]{12}");
188246
}
189-
190247
}

0 commit comments

Comments
 (0)