Skip to content

Commit

Permalink
Upgrade to maven 4.0.0-alpha-9
Browse files Browse the repository at this point in the history
  • Loading branch information
gnodet committed Nov 28, 2023
1 parent 3d97f0f commit 47ac1ca
Show file tree
Hide file tree
Showing 23 changed files with 448 additions and 514 deletions.
24 changes: 21 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@

<properties>
<javaVersion>8</javaVersion>
<mavenVersion>4.0.0-alpha-8</mavenVersion>
<mavenVersion>4.0.0-alpha-9-SNAPSHOT</mavenVersion>
<!-- Maven bound -->
<slf4jVersion>1.7.5</slf4jVersion>

Expand All @@ -81,8 +81,8 @@
<mavenCompilerPluginVersion>3.10.1</mavenCompilerPluginVersion>
<mavenEnforcerPluginVersion>3.1.0</mavenEnforcerPluginVersion>
<mavenJarPluginVersion>3.3.0</mavenJarPluginVersion>
<mavenPluginPluginVersion>3.10.1</mavenPluginPluginVersion>
<mavenPluginTestingHarnessVersion>4.0.0-alpha-2-SNAPSHOT</mavenPluginTestingHarnessVersion>
<mavenPluginPluginVersion>3.10.3-SNAPSHOT</mavenPluginPluginVersion>
<mavenPluginTestingHarnessVersion>4.0.0-alpha-3-SNAPSHOT</mavenPluginTestingHarnessVersion>
<mavenResourcesPluginVersion>3.3.0</mavenResourcesPluginVersion>
<mavenSourcePluginVersion>3.2.1</mavenSourcePluginVersion>
<mavenSurefirePluginVersion>3.2.1</mavenSurefirePluginVersion>
Expand Down Expand Up @@ -135,6 +135,18 @@
<version>${slf4jVersion}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.10.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>jakarta.enterprise</groupId>
<artifactId>jakarta.enterprise.cdi-api</artifactId>
<version>3.0.1</version>
<scope>test</scope>
</dependency>
</dependencies>

<build>
Expand All @@ -143,6 +155,12 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId>
<version>${mavenPluginPluginVersion}</version>
<executions>
<execution>
<id>generate-helpmojo</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
Expand Down
20 changes: 0 additions & 20 deletions src/it/non-changed-artifact/invoker.properties

This file was deleted.

46 changes: 0 additions & 46 deletions src/it/non-changed-artifact/pom.xml

This file was deleted.

30 changes: 0 additions & 30 deletions src/it/non-changed-artifact/verify.groovy

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,13 @@
import java.util.jar.JarFile;
import java.util.regex.Pattern;

import jakarta.inject.Inject;
import org.apache.maven.api.Artifact;
import org.apache.maven.api.Session;
import org.apache.maven.api.model.Model;
import org.apache.maven.api.model.Parent;
import org.apache.maven.api.plugin.Log;
import org.apache.maven.api.plugin.MojoException;
import org.apache.maven.api.plugin.annotations.Component;
import org.apache.maven.api.plugin.annotations.Mojo;
import org.apache.maven.api.plugin.annotations.Parameter;
import org.apache.maven.api.services.ArtifactInstaller;
Expand All @@ -50,16 +50,16 @@
/**
* Installs a file in the local repository.
*/
@Mojo(name = "install-file", requiresProject = false, aggregator = true)
@Mojo(name = "install-file", projectRequired = false, aggregator = true)
@SuppressWarnings("unused")
public class InstallFileMojo implements org.apache.maven.api.plugin.Mojo {
private static final String TAR = "tar.";
private static final String ILLEGAL_VERSION_CHARS = "\\/:\"<>|?*[](){},";

@Component
@Inject
private Log log;

@Component
@Inject
private Session session;

/**
Expand Down
41 changes: 23 additions & 18 deletions src/main/java/org/apache/maven/plugins/install/InstallMojo.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,16 @@
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.function.Predicate;
import java.util.stream.Collectors;

import jakarta.inject.Inject;
import org.apache.maven.api.Artifact;
import org.apache.maven.api.MojoExecution;
import org.apache.maven.api.Project;
import org.apache.maven.api.Session;
import org.apache.maven.api.model.Plugin;
import org.apache.maven.api.plugin.Log;
import org.apache.maven.api.plugin.MojoException;
import org.apache.maven.api.plugin.annotations.Component;
import org.apache.maven.api.plugin.annotations.LifecyclePhase;
import org.apache.maven.api.plugin.annotations.Mojo;
import org.apache.maven.api.plugin.annotations.Parameter;
Expand All @@ -51,16 +50,25 @@
@SuppressWarnings("unused")
@Mojo(name = "install", defaultPhase = LifecyclePhase.INSTALL)
public class InstallMojo implements org.apache.maven.api.plugin.Mojo {
@Component
@Inject
private Log log;

@Component
@Inject
private Session session;

@Component
@Inject
private ArtifactInstaller artifactInstaller;

@Inject
ArtifactManager artifactManager;

@Inject
ProjectManager projectManager;

@Inject
private Project project;

@Component
@Inject
private MojoExecution mojoExecution;

/**
Expand Down Expand Up @@ -102,6 +110,8 @@ private enum State {

private static final String INSTALL_PROCESSED_MARKER = InstallMojo.class.getName() + ".processed";

public InstallMojo() {}

private void putState(State state) {
session.getPluginContext(project).put(INSTALL_PROCESSED_MARKER, state.name());
}
Expand Down Expand Up @@ -166,7 +176,6 @@ private boolean allProjectsMarked(List<Project> projectsUsingPlugin) {

private void installProject(ArtifactInstallerRequest request) {
try {
ArtifactInstaller artifactInstaller = session.getService(ArtifactInstaller.class);
artifactInstaller.install(request);
} catch (MojoException e) {
throw e;
Expand All @@ -181,11 +190,6 @@ private void installProject(ArtifactInstallerRequest request) {
* @throws IllegalArgumentException if project is badly set up.
*/
private ArtifactInstallerRequest processProject(Project project) {
ArtifactManager artifactManager = session.getService(ArtifactManager.class);
ProjectManager projectManager = session.getService(ProjectManager.class);
Predicate<Artifact> isValidPath =
a -> artifactManager.getPath(a).filter(Files::isRegularFile).isPresent();

Artifact artifact = project.getArtifact();
Collection<Artifact> attachedArtifacts = projectManager.getAttachedArtifacts(project);
Path pomPath = project.getPomPath().orElse(null);
Expand All @@ -199,7 +203,7 @@ private ArtifactInstallerRequest processProject(Project project) {
artifactManager.setPath(pomArtifact, pomPath);
installables.add(pomArtifact);
// main artifact
if (!isValidPath.test(artifact)) {
if (!isValidPath(artifact)) {
if (!attachedArtifacts.isEmpty()) {
if (allowIncompleteProjects) {
getLog().warn("");
Expand All @@ -225,16 +229,17 @@ private ArtifactInstallerRequest processProject(Project project) {

installables.addAll(attachedArtifacts);
for (Artifact installable : installables) {
if (!isValidPath.test(installable)) {
if (!isValidPath(installable)) {
throw new MojoException("The packaging for this project did not assign "
+ "a file to the attached artifact: " + artifact);
}
}

return ArtifactInstallerRequest.builder()
.session(session)
.artifacts(installables)
.build();
return ArtifactInstallerRequest.build(session, installables);
}

private boolean isValidPath(Artifact a) {
return artifactManager.getPath(a).filter(Files::isRegularFile).isPresent();
}

void setSkip(boolean skip) {
Expand Down
Loading

0 comments on commit 47ac1ca

Please sign in to comment.