You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2008/08/13 09:02:38 UTC
svn commit: r685468 - in
/geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car:
AbstractCarMojo.java Dependency.java ModuleId.java PlanProcessorMojo.java
PluginMetadataGeneratorMojo.java
Author: djencks
Date: Wed Aug 13 00:02:37 2008
New Revision: 685468
URL: http://svn.apache.org/viewvc?rev=685468&view=rev
Log:
GERONIMO-4239 c-m-p dependencies enhance maven dependencies with g-specific info
Modified:
geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/AbstractCarMojo.java
geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/Dependency.java
geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/ModuleId.java
geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/PlanProcessorMojo.java
geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/PluginMetadataGeneratorMojo.java
Modified: geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/AbstractCarMojo.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/AbstractCarMojo.java?rev=685468&r1=685467&r2=685468&view=diff
==============================================================================
--- geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/AbstractCarMojo.java (original)
+++ geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/AbstractCarMojo.java Wed Aug 13 00:02:37 2008
@@ -29,8 +29,11 @@
import java.util.Map;
import java.util.Properties;
import java.util.Set;
+import java.util.LinkedHashSet;
+import java.util.HashMap;
+import java.util.Collection;
-import org.apache.geronimo.kernel.repository.ImportType;
+import org.apache.geronimo.kernel.repository.*;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
@@ -44,6 +47,7 @@
import org.apache.maven.plugin.logging.Log;
import org.apache.maven.plugin.logging.SystemStreamLog;
import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.ProjectBuildingException;
import org.apache.maven.project.artifact.InvalidDependencyVersionException;
import org.apache.maven.shared.dependency.tree.DependencyNode;
import org.apache.maven.shared.dependency.tree.DependencyTreeResolutionListener;
@@ -300,6 +304,53 @@
return new org.apache.geronimo.kernel.repository.Artifact(groupId, artifactId, version, type);
}
+ protected LinkedHashSet<Dependency> toDependencies(Collection<Dependency> listedDependencies, UseMavenDependencies useMavenDependencies) throws InvalidDependencyVersionException, ArtifactResolutionException, ProjectBuildingException, MojoExecutionException {
+ LinkedHashSet<Dependency> dependencies = new LinkedHashSet<Dependency>();
+
+ if (useMavenDependencies == null || !useMavenDependencies.isValue()) {
+ dependencies.addAll(listedDependencies);
+ } else {
+ Map<String, Dependency> explicitDependencyMap = new HashMap<String, Dependency>();
+ for (Dependency dependency : dependencies) {
+ explicitDependencyMap.put(getKey(dependency), dependency);
+ }
+
+
+ getDependencies(project, useMavenDependencies.isUseTransitiveDependencies());
+ for (org.apache.maven.artifact.Artifact artifact: localDependencies) {
+ Dependency explicitDependency = explicitDependencyMap.get(getKey(artifact));
+ dependencies.add(toDependency(artifact, useMavenDependencies.isIncludeVersion(), explicitDependency));
+ }
+ }
+
+ return dependencies;
+ }
+
+ private Dependency toDependency(Artifact artifact, boolean includeVersion, Dependency explicitDependency) {
+ Dependency dependency = new Dependency();
+ dependency.setGroupId(artifact.getGroupId());
+ dependency.setArtifactId(artifact.getArtifactId());
+ dependency.setVersion(includeVersion ? artifact.getVersion() : null);
+ dependency.setType(artifact.getType());
+ String importType = ImportType.ALL.getName();
+ if (explicitDependency != null && explicitDependency.getImport() != null) {
+ importType = explicitDependency.getImport();
+ }
+ dependency.setImport(importType);
+ if (explicitDependency != null) {
+ dependency.setStart(explicitDependency.isStart());
+ }
+ return dependency;
+ }
+
+ private String getKey(Dependency dependency) {
+ return dependency.getGroupId() + "/" + dependency.getArtifactId() + "/" + dependency.getType();
+ }
+ private String getKey(Artifact dependency) {
+ return dependency.getGroupId() + "/" + dependency.getArtifactId() + "/" + dependency.getType();
+ }
+
+
private static class Scanner {
private static enum Accept {
ACCEPT(true, true),
Modified: geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/Dependency.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/Dependency.java?rev=685468&r1=685467&r2=685468&view=diff
==============================================================================
--- geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/Dependency.java (original)
+++ geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/Dependency.java Wed Aug 13 00:02:37 2008
@@ -41,6 +41,10 @@
return start;
}
+ public void setStart(Boolean start) {
+ this.start = start;
+ }
+
public DependencyType toDependencyType() {
DependencyType dependency = new DependencyType();
dependency.setGroupId(groupId);
Modified: geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/ModuleId.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/ModuleId.java?rev=685468&r1=685467&r2=685468&view=diff
==============================================================================
--- geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/ModuleId.java (original)
+++ geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/ModuleId.java Wed Aug 13 00:02:37 2008
@@ -73,6 +73,22 @@
return importType;
}
+ public void setGroupId(String groupId) {
+ this.groupId = groupId;
+ }
+
+ public void setArtifactId(String artifactId) {
+ this.artifactId = artifactId;
+ }
+
+ public void setVersion(String version) {
+ this.version = version;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
public ArtifactType toArtifactType() {
ArtifactType artifact = new ArtifactType();
artifact.setGroupId(groupId);
Modified: geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/PlanProcessorMojo.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/PlanProcessorMojo.java?rev=685468&r1=685467&r2=685468&view=diff
==============================================================================
--- geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/PlanProcessorMojo.java (original)
+++ geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/PlanProcessorMojo.java Wed Aug 13 00:02:37 2008
@@ -158,7 +158,7 @@
XmlObject doc = XmlObject.Factory.parse(plan);
XmlCursor xmlCursor = doc.newCursor();
- LinkedHashSet<org.apache.geronimo.kernel.repository.Dependency> dependencies = toDependencies(this.dependencies, useMavenDependencies);
+ LinkedHashSet<org.apache.geronimo.kernel.repository.Dependency> dependencies = toKernelDependencies(this.dependencies, useMavenDependencies);
Artifact configId = new Artifact(project.getGroupId(), project.getArtifactId(), project.getVersion(), "car");
try {
@@ -265,22 +265,13 @@
}
}
- protected LinkedHashSet<org.apache.geronimo.kernel.repository.Dependency> toDependencies(List<Dependency> listedDependencies, UseMavenDependencies useMavenDependencies) throws InvalidDependencyVersionException, ArtifactResolutionException, ProjectBuildingException, MojoExecutionException {
- LinkedHashSet<org.apache.geronimo.kernel.repository.Dependency> dependencies = new LinkedHashSet<org.apache.geronimo.kernel.repository.Dependency>();
-
- if (useMavenDependencies == null || !useMavenDependencies.isValue()) {
- for (Dependency dependency : listedDependencies) {
- org.apache.geronimo.kernel.repository.Dependency gdep = dependency.toDependency();
- dependencies.add(gdep);
- }
- } else {
- getDependencies(project, useMavenDependencies.isUseTransitiveDependencies());
- for (org.apache.maven.artifact.Artifact artifact: localDependencies) {
- dependencies.add(toGeronimoDependency(artifact, useMavenDependencies.isIncludeVersion()));
- }
+ protected LinkedHashSet<org.apache.geronimo.kernel.repository.Dependency> toKernelDependencies(List<Dependency> listedDependencies, UseMavenDependencies useMavenDependencies) throws InvalidDependencyVersionException, ArtifactResolutionException, ProjectBuildingException, MojoExecutionException {
+ LinkedHashSet<org.apache.geronimo.kernel.repository.Dependency> kernelDependencies = new LinkedHashSet<org.apache.geronimo.kernel.repository.Dependency>();
+ LinkedHashSet<Dependency> dependencies = toDependencies(listedDependencies, useMavenDependencies);
+ for (Dependency dependency: dependencies) {
+ kernelDependencies.add(dependency.toDependency());
}
-
- return dependencies;
+ return kernelDependencies;
}
Modified: geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/PluginMetadataGeneratorMojo.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/PluginMetadataGeneratorMojo.java?rev=685468&r1=685467&r2=685468&view=diff
==============================================================================
--- geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/PluginMetadataGeneratorMojo.java (original)
+++ geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/PluginMetadataGeneratorMojo.java Wed Aug 13 00:02:37 2008
@@ -26,6 +26,9 @@
import java.io.StringReader;
import java.util.Collections;
import java.util.List;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.LinkedHashSet;
import org.apache.geronimo.kernel.config.InvalidConfigException;
import org.apache.geronimo.kernel.config.NoSuchConfigException;
@@ -244,27 +247,10 @@
}
private void addDependencies(PluginArtifactType instance) throws InvalidConfigException, IOException, NoSuchConfigException, InvalidDependencyVersionException, ArtifactResolutionException, ProjectBuildingException, MojoExecutionException {
- if (useMavenDependencies == null || !useMavenDependencies.isValue()) {
- for (Dependency dependency : dependencies) {
- instance.getDependency().add(dependency.toDependencyType());
- }
- } else {
- getDependencies(project, useMavenDependencies.isUseTransitiveDependencies());
- for (org.apache.maven.artifact.Artifact artifact: localDependencies) {
- instance.getDependency().add(toDependencyType(toGeronimoDependency(artifact, useMavenDependencies.isIncludeVersion())));
- }
+ LinkedHashSet<Dependency> resolvedDependencies = toDependencies(dependencies, useMavenDependencies);
+ for (Dependency dependency: resolvedDependencies) {
+ instance.getDependency().add(dependency.toDependencyType());
}
}
- private DependencyType toDependencyType(org.apache.geronimo.kernel.repository.Dependency dependency) {
- DependencyType dependencyType = new DependencyType();
- dependencyType.setGroupId(dependency.getArtifact().getGroupId());
- dependencyType.setArtifactId(dependency.getArtifact().getArtifactId());
- if (dependency.getArtifact().getVersion() != null) {
- dependencyType.setVersion(dependency.getArtifact().getVersion().toString());
- }
- dependencyType.setType(dependency.getArtifact().getType());
- dependencyType.setStart(true);
- return dependencyType;
- }
}