excluding this project itself
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -7,3 +7,6 @@ pom.xml.versionsBackup
|
|||||||
.project
|
.project
|
||||||
.classpath
|
.classpath
|
||||||
|
|
||||||
|
# Visual Studio Code
|
||||||
|
.factorypath
|
||||||
|
|
||||||
|
@@ -29,12 +29,23 @@ public class AmpDependencyFilter implements DependencyFilter {
|
|||||||
private final Log log;
|
private final Log log;
|
||||||
private final Charset charset;
|
private final Charset charset;
|
||||||
private final ArtifactResolutionCallback callback;
|
private final ArtifactResolutionCallback callback;
|
||||||
|
private final String projectModuleId;
|
||||||
private Set<String> moduleIds = new HashSet<String>();
|
private Set<String> moduleIds = new HashSet<String>();
|
||||||
|
|
||||||
public AmpDependencyFilter(Log log, String charsetName, ArtifactResolutionCallback callback) {
|
public AmpDependencyFilter(Log log, String charsetName, ArtifactResolutionCallback callback) {
|
||||||
this.log = log;
|
this.log = log;
|
||||||
this.charset = Charset.forName(charsetName);
|
this.charset = Charset.forName(charsetName);
|
||||||
this.callback = callback;
|
this.callback = callback;
|
||||||
|
|
||||||
|
this.projectModuleId = this.getModuleId(this.callback.getProject().getArtifact());
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getModuleId(org.apache.maven.artifact.Artifact artifact) {
|
||||||
|
return artifact.getGroupId() + "." + artifact.getArtifactId();
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getModuleId(Artifact artifact) {
|
||||||
|
return artifact.getGroupId() + "." + artifact.getArtifactId();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -43,14 +54,19 @@ public class AmpDependencyFilter implements DependencyFilter {
|
|||||||
if (this.log.isDebugEnabled())
|
if (this.log.isDebugEnabled())
|
||||||
this.log.debug("Checking dependency: " + artifact.getArtifactId());
|
this.log.debug("Checking dependency: " + artifact.getArtifactId());
|
||||||
|
|
||||||
String moduleId = artifact.getGroupId() + "." + artifact.getArtifactId();
|
String moduleId = this.getModuleId(artifact);
|
||||||
|
if (this.projectModuleId.equals(moduleId)) {
|
||||||
|
// always include project itself, even if it is a module
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
if (this.moduleIds.contains(moduleId)) {
|
if (this.moduleIds.contains(moduleId)) {
|
||||||
if (this.log.isDebugEnabled())
|
if (this.log.isDebugEnabled())
|
||||||
this.log.debug("Not packaging library; detected as Alfresco Module: " + node.getArtifact().getArtifactId());
|
this.log.debug("Not packaging library; detected as Alfresco Module: " + node.getArtifact().getArtifactId());
|
||||||
return false;
|
return false;
|
||||||
} else if (parents != null) {
|
} else if (parents != null) {
|
||||||
for (DependencyNode parent : parents) {
|
for (DependencyNode parent : parents) {
|
||||||
String parentModuleId = parent.getArtifact().getGroupId() + "." + parent.getArtifact().getArtifactId();
|
String parentModuleId = this.getModuleId(parent.getArtifact());
|
||||||
if (this.moduleIds.contains(parentModuleId)) {
|
if (this.moduleIds.contains(parentModuleId)) {
|
||||||
this.moduleIds.add(moduleId);
|
this.moduleIds.add(moduleId);
|
||||||
if (this.log.isDebugEnabled())
|
if (this.log.isDebugEnabled())
|
||||||
|
@@ -90,6 +90,11 @@ public class AmpMojo extends AbstractMojo implements ArtifactResolutionCallback
|
|||||||
|
|
||||||
@Parameter( property = "skip", required = true, defaultValue = "false" )
|
@Parameter( property = "skip", required = true, defaultValue = "false" )
|
||||||
protected boolean skip;
|
protected boolean skip;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MavenProject getProject() {
|
||||||
|
return this.project;
|
||||||
|
}
|
||||||
|
|
||||||
public void execute() throws MojoExecutionException {
|
public void execute() throws MojoExecutionException {
|
||||||
if (this.skip) {
|
if (this.skip) {
|
||||||
|
@@ -1,11 +1,14 @@
|
|||||||
package com.inteligr8.alfresco.amp;
|
package com.inteligr8.alfresco.amp;
|
||||||
|
|
||||||
|
import org.apache.maven.project.MavenProject;
|
||||||
import org.eclipse.aether.resolution.ArtifactRequest;
|
import org.eclipse.aether.resolution.ArtifactRequest;
|
||||||
import org.eclipse.aether.resolution.ArtifactResolutionException;
|
import org.eclipse.aether.resolution.ArtifactResolutionException;
|
||||||
import org.eclipse.aether.resolution.ArtifactResult;
|
import org.eclipse.aether.resolution.ArtifactResult;
|
||||||
|
|
||||||
public interface ArtifactResolutionCallback {
|
public interface ArtifactResolutionCallback {
|
||||||
|
|
||||||
|
MavenProject getProject();
|
||||||
|
|
||||||
ArtifactResult resolveArtifact(ArtifactRequest artifactRequest) throws ArtifactResolutionException;
|
ArtifactResult resolveArtifact(ArtifactRequest artifactRequest) throws ArtifactResolutionException;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user