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