You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by jd...@apache.org on 2006/10/08 23:16:05 UTC
svn commit: r454214 - in /geronimo/genesis/trunk/plugins:
plugin-support/src/main/java/org/apache/geronimo/genesis/ tools-maven-plugin/
tools-maven-plugin/src/main/java/org/apache/geronimo/genesis/plugins/tools/
Author: jdillon
Date: Sun Oct 8 14:16:04 2006
New Revision: 454214
URL: http://svn.apache.org/viewvc?view=rev&rev=454214
Log:
Improved error message for MojoSupport hooks
Adding tools:show-dependencies goal, which is a helper to render a tree of the projects dependencies
Add some support for dependency listing lifted from the maven-project-info-plugin
Added:
geronimo/genesis/trunk/plugins/plugin-support/src/main/java/org/apache/geronimo/genesis/Dependencies.java (with props)
geronimo/genesis/trunk/plugins/plugin-support/src/main/java/org/apache/geronimo/genesis/DependencyResolutionListener.java (with props)
geronimo/genesis/trunk/plugins/tools-maven-plugin/src/main/java/org/apache/geronimo/genesis/plugins/tools/ShowDependenciesMojo.java (with props)
Modified:
geronimo/genesis/trunk/plugins/plugin-support/src/main/java/org/apache/geronimo/genesis/MojoSupport.java
geronimo/genesis/trunk/plugins/tools-maven-plugin/pom.xml
Added: geronimo/genesis/trunk/plugins/plugin-support/src/main/java/org/apache/geronimo/genesis/Dependencies.java
URL: http://svn.apache.org/viewvc/geronimo/genesis/trunk/plugins/plugin-support/src/main/java/org/apache/geronimo/genesis/Dependencies.java?view=auto&rev=454214
==============================================================================
--- geronimo/genesis/trunk/plugins/plugin-support/src/main/java/org/apache/geronimo/genesis/Dependencies.java (added)
+++ geronimo/genesis/trunk/plugins/plugin-support/src/main/java/org/apache/geronimo/genesis/Dependencies.java Sun Oct 8 14:16:04 2006
@@ -0,0 +1,167 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.geronimo.genesis;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.ArtifactUtils;
+import org.apache.maven.artifact.factory.ArtifactFactory;
+import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
+import org.apache.maven.artifact.versioning.VersionRange;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.model.DependencyManagement;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.ProjectBuildingException;
+
+//
+// NOTE: Lifetd from the maven-project-info-plugin
+//
+
+/**
+ * ???
+ *
+ * @version $Rev$ $Date$
+ */
+public class Dependencies
+{
+ private List projectDependencies;
+
+ private DependencyResolutionListener resolvedDependencies;
+
+ public Dependencies(MavenProject project, DependencyResolutionListener listener) {
+ this.projectDependencies = listener.getRootNode().getChildren();
+ this.resolvedDependencies = listener;
+
+ //
+ // Workaround to ensure proper File objects in the Artifacts from the DependencyResolutionListener
+ //
+ Map projectMap = new HashMap();
+ Iterator it = project.getArtifacts().iterator();
+ while (it.hasNext()) {
+ Artifact artifact = (Artifact) it.next();
+ projectMap.put(ArtifactUtils.versionlessKey(artifact), artifact);
+ }
+
+ mapArtifactFiles(listener.getRootNode(), projectMap);
+ }
+
+ public static Map getManagedVersionMap(MavenProject project, ArtifactFactory factory) throws ProjectBuildingException {
+ DependencyManagement dependencyManagement = project.getDependencyManagement();
+ Map managedVersionMap;
+
+ if (dependencyManagement != null && dependencyManagement.getDependencies() != null) {
+ managedVersionMap = new HashMap();
+ for (Iterator i = dependencyManagement.getDependencies().iterator(); i.hasNext();) {
+ Dependency d = (Dependency) i.next();
+
+ try {
+ VersionRange versionRange = VersionRange.createFromVersionSpec(d.getVersion());
+ Artifact artifact = factory.createDependencyArtifact(
+ d.getGroupId(),
+ d.getArtifactId(),
+ versionRange,
+ d.getType(),
+ d.getClassifier(),
+ d.getScope());
+ managedVersionMap.put(d.getManagementKey(), artifact);
+ }
+ catch (InvalidVersionSpecificationException e) {
+ throw new ProjectBuildingException(project.getId(),
+ "Unable to parse version '" + d.getVersion() +
+ "' for dependency '" + d.getManagementKey() + "': " + e.getMessage(), e);
+ }
+ }
+ }
+ else {
+ managedVersionMap = Collections.EMPTY_MAP;
+ }
+
+ return managedVersionMap;
+ }
+
+ private void mapArtifactFiles(DependencyResolutionListener.Node node, Map projectMap) {
+ List childs = node.getChildren();
+ if ((childs == null) || childs.isEmpty()) {
+ return;
+ }
+
+ Iterator it = childs.iterator();
+ while (it.hasNext()) {
+ DependencyResolutionListener.Node anode = (DependencyResolutionListener.Node) it.next();
+ String key = ArtifactUtils.versionlessKey(anode.getArtifact());
+ Artifact projartifact = (Artifact) projectMap.get(key);
+ if (projartifact != null) {
+ anode.getArtifact().setFile(projartifact.getFile());
+ }
+
+ mapArtifactFiles(anode, projectMap);
+ }
+ }
+
+ public boolean hasDependencies() {
+ return (projectDependencies != null) && (!this.projectDependencies.isEmpty());
+ }
+
+ public List getProjectDependencies() {
+ return new ArrayList(projectDependencies);
+ }
+
+ public List getTransitiveDependencies() {
+ List deps = new ArrayList(resolvedDependencies.getArtifacts());
+ deps.removeAll(projectDependencies);
+ return deps;
+ }
+
+ public List getAllDependencies() {
+ List deps = new ArrayList();
+
+ for (Iterator it = resolvedDependencies.getArtifacts().iterator(); it.hasNext();) {
+ DependencyResolutionListener.Node node = (DependencyResolutionListener.Node) it.next();
+ Artifact artifact = node.getArtifact();
+ deps.add(artifact);
+ }
+ return deps;
+ }
+
+ public Map getDependenciesByScope() {
+ Map dependenciesByScope = new HashMap();
+ for (Iterator i = getAllDependencies().iterator(); i.hasNext();) {
+ Artifact artifact = (Artifact) i.next();
+
+ List multiValue = (List) dependenciesByScope.get(artifact.getScope());
+ if (multiValue == null) {
+ multiValue = new ArrayList();
+ }
+ multiValue.add(artifact);
+ dependenciesByScope.put(artifact.getScope(), multiValue);
+ }
+ return dependenciesByScope;
+ }
+
+ public DependencyResolutionListener.Node getResolvedRoot() {
+ return resolvedDependencies.getRootNode();
+ }
+}
\ No newline at end of file
Propchange: geronimo/genesis/trunk/plugins/plugin-support/src/main/java/org/apache/geronimo/genesis/Dependencies.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/genesis/trunk/plugins/plugin-support/src/main/java/org/apache/geronimo/genesis/Dependencies.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/genesis/trunk/plugins/plugin-support/src/main/java/org/apache/geronimo/genesis/Dependencies.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/genesis/trunk/plugins/plugin-support/src/main/java/org/apache/geronimo/genesis/DependencyResolutionListener.java
URL: http://svn.apache.org/viewvc/geronimo/genesis/trunk/plugins/plugin-support/src/main/java/org/apache/geronimo/genesis/DependencyResolutionListener.java?view=auto&rev=454214
==============================================================================
--- geronimo/genesis/trunk/plugins/plugin-support/src/main/java/org/apache/geronimo/genesis/DependencyResolutionListener.java (added)
+++ geronimo/genesis/trunk/plugins/plugin-support/src/main/java/org/apache/geronimo/genesis/DependencyResolutionListener.java Sun Oct 8 14:16:04 2006
@@ -0,0 +1,172 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.geronimo.genesis;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Stack;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.resolver.ResolutionListener;
+import org.apache.maven.artifact.versioning.VersionRange;
+
+//
+// NOTE: Lifetd from the maven-project-info-plugin
+//
+
+/**
+ * ???
+ *
+ * @version $Rev$ $Date$
+ */
+public class DependencyResolutionListener
+ implements ResolutionListener
+{
+ private Stack parents = new Stack();
+
+ private Map artifacts = new HashMap();
+
+ private Node rootNode;
+
+ private int currentDepth = 0;
+
+ public void testArtifact(Artifact artifact) {
+ // intentionally blank
+ }
+
+ public void startProcessChildren(Artifact artifact) {
+ Node node = (Node) artifacts.get(artifact.getDependencyConflictId());
+
+ node.depth = currentDepth++;
+ if (parents.isEmpty()) {
+ rootNode = node;
+ }
+
+ parents.push(node);
+ }
+
+ public void endProcessChildren(Artifact artifact) {
+ Node check = (Node) parents.pop();
+ assert artifact.equals(check.artifact);
+ currentDepth--;
+ }
+
+ public void omitForNearer(Artifact omitted, Artifact kept) {
+ assert omitted.getDependencyConflictId().equals(kept.getDependencyConflictId());
+
+ Node prev = (Node) artifacts.get(omitted.getDependencyConflictId());
+ if (prev != null) {
+ if (prev.parent != null) {
+ prev.parent.children.remove(prev);
+ }
+ artifacts.remove(omitted.getDependencyConflictId());
+ }
+
+ includeArtifact(kept);
+ }
+
+ public void omitForCycle(Artifact artifact) {
+ // intentionally blank
+ }
+
+ public void includeArtifact(Artifact artifact) {
+ if (artifacts.containsKey(artifact.getDependencyConflictId())) {
+ Node prev = (Node) artifacts.get(artifact.getDependencyConflictId());
+ if (prev.parent != null) {
+ prev.parent.children.remove(prev);
+ }
+ artifacts.remove(artifact.getDependencyConflictId());
+ }
+
+ Node node = new Node();
+ node.artifact = artifact;
+ if (!parents.isEmpty()) {
+ node.parent = (Node) parents.peek();
+ node.parent.children.add(node);
+ node.depth = currentDepth;
+ }
+ artifacts.put(artifact.getDependencyConflictId(), node);
+ }
+
+ public void updateScope(Artifact artifact, String scope) {
+ Node node = (Node) artifacts.get(artifact.getDependencyConflictId());
+
+ node.artifact.setScope(scope);
+ }
+
+ public void manageArtifact(Artifact artifact, Artifact replacement) {
+ Node node = (Node) artifacts.get(artifact.getDependencyConflictId());
+
+ if (node != null) {
+ if (replacement.getVersion() != null) {
+ node.artifact.setVersion(replacement.getVersion());
+ }
+ if (replacement.getScope() != null) {
+ node.artifact.setScope(replacement.getScope());
+ }
+ }
+ }
+
+ public void updateScopeCurrentPom(Artifact artifact, String key) {
+ // intentionally blank
+ }
+
+ public void selectVersionFromRange(Artifact artifact) {
+ // intentionally blank
+ }
+
+ public void restrictRange(Artifact artifact, Artifact artifact1, VersionRange versionRange) {
+ // intentionally blank
+ }
+
+ public Collection getArtifacts() {
+ return artifacts.values();
+ }
+
+ public static class Node
+ {
+ private Node parent;
+
+ private List children = new ArrayList();
+
+ private Artifact artifact;
+
+ private int depth;
+
+ public List getChildren() {
+ return children;
+ }
+
+ public Artifact getArtifact() {
+ return artifact;
+ }
+
+ public int getDepth() {
+ return depth;
+ }
+ }
+
+ public Node getRootNode() {
+ return rootNode;
+ }
+}
\ No newline at end of file
Propchange: geronimo/genesis/trunk/plugins/plugin-support/src/main/java/org/apache/geronimo/genesis/DependencyResolutionListener.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/genesis/trunk/plugins/plugin-support/src/main/java/org/apache/geronimo/genesis/DependencyResolutionListener.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/genesis/trunk/plugins/plugin-support/src/main/java/org/apache/geronimo/genesis/DependencyResolutionListener.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: geronimo/genesis/trunk/plugins/plugin-support/src/main/java/org/apache/geronimo/genesis/MojoSupport.java
URL: http://svn.apache.org/viewvc/geronimo/genesis/trunk/plugins/plugin-support/src/main/java/org/apache/geronimo/genesis/MojoSupport.java?view=diff&rev=454214&r1=454213&r2=454214
==============================================================================
--- geronimo/genesis/trunk/plugins/plugin-support/src/main/java/org/apache/geronimo/genesis/MojoSupport.java (original)
+++ geronimo/genesis/trunk/plugins/plugin-support/src/main/java/org/apache/geronimo/genesis/MojoSupport.java Sun Oct 8 14:16:04 2006
@@ -140,7 +140,7 @@
* Sub-class must overridde to provide access.
*/
protected MavenProject getProject() {
- throw new Error("Sub-class must override to provide access");
+ throw new Error("Sub-class must override to provide access to : " + MavenProject.class);
}
/**
@@ -150,7 +150,7 @@
* Sub-class must overridde to provide access.
*/
protected ArtifactFactory getArtifactFactory() {
- throw new Error("Sub-class must override to provide access");
+ throw new Error("Sub-class must override to provide access to: " + ArtifactFactory.class);
}
/**
@@ -160,7 +160,7 @@
* Sub-class must overridde to provide access.
*/
protected ArtifactResolver getArtifactResolver() {
- throw new Error("Sub-class must override to provide access");
+ throw new Error("Sub-class must override to provide access to: " + ArtifactResolver.class);
}
/**
@@ -170,7 +170,7 @@
* Sub-class must overridde to provide access.
*/
protected ArtifactRepository getArtifactRepository() {
- throw new Error("Sub-class must override to provide access");
+ throw new Error("Sub-class must override to provide access to: " + ArtifactRepository.class);
}
/**
@@ -185,7 +185,6 @@
throw new MojoExecutionException("Unable to find artifact version of " + item.getGroupId()
+ ":" + item.getArtifactId() + " in either dependency list or in project's dependency management.");
}
-
}
// Convert the string version to a range
@@ -238,7 +237,7 @@
return artifact;
}
-
+
/**
* Tries to find missing version from dependancy list and dependency management.
* If found, the artifact is updated with the correct version.
@@ -327,7 +326,8 @@
ArtifactFilter newFilter = new ExcludesArtifactFilter(exclusions);
artifact.setDependencyFilter(newFilter);
- if (resolve) {
+ if (resolve && !artifact.isResolved()) {
+ log.debug("Resolving artifact: " + artifact);
artifact = resolveArtifact(artifact);
}
Modified: geronimo/genesis/trunk/plugins/tools-maven-plugin/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/genesis/trunk/plugins/tools-maven-plugin/pom.xml?view=diff&rev=454214&r1=454213&r2=454214
==============================================================================
--- geronimo/genesis/trunk/plugins/tools-maven-plugin/pom.xml (original)
+++ geronimo/genesis/trunk/plugins/tools-maven-plugin/pom.xml Sun Oct 8 14:16:04 2006
@@ -40,7 +40,6 @@
</description>
<dependencies>
-
<dependency>
<groupId>org.apache.geronimo.genesis.plugins</groupId>
<artifactId>plugin-support</artifactId>
@@ -52,7 +51,6 @@
<artifactId>commons-lang</artifactId>
<version>2.1</version>
</dependency>
-
</dependencies>
<build>
Added: geronimo/genesis/trunk/plugins/tools-maven-plugin/src/main/java/org/apache/geronimo/genesis/plugins/tools/ShowDependenciesMojo.java
URL: http://svn.apache.org/viewvc/geronimo/genesis/trunk/plugins/tools-maven-plugin/src/main/java/org/apache/geronimo/genesis/plugins/tools/ShowDependenciesMojo.java?view=auto&rev=454214
==============================================================================
--- geronimo/genesis/trunk/plugins/tools-maven-plugin/src/main/java/org/apache/geronimo/genesis/plugins/tools/ShowDependenciesMojo.java (added)
+++ geronimo/genesis/trunk/plugins/tools-maven-plugin/src/main/java/org/apache/geronimo/genesis/plugins/tools/ShowDependenciesMojo.java Sun Oct 8 14:16:04 2006
@@ -0,0 +1,179 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.geronimo.genesis.plugins.tools;
+
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.factory.ArtifactFactory;
+import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.resolver.ArtifactCollector;
+import org.apache.maven.artifact.resolver.ArtifactResolutionException;
+import org.apache.maven.artifact.resolver.ArtifactResolver;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.ProjectBuildingException;
+import org.apache.maven.project.artifact.InvalidDependencyVersionException;
+
+import org.apache.geronimo.genesis.MojoSupport;
+import org.apache.geronimo.genesis.Dependencies;
+import org.apache.geronimo.genesis.DependencyResolutionListener;
+
+/**
+ * Helper to show a projects dependencies.
+ *
+ * @goal show-dependencies
+ *
+ * @version $Rev$ $Date$
+ */
+public class ShowDependenciesMojo
+ extends MojoSupport
+{
+ /**
+ * Enable verbose details (version and scope).
+ *
+ * @parameter expression="${verbose}"
+ */
+ private boolean verbose = false;
+
+ protected void doExecute() throws Exception {
+ DependencyResolutionListener listener = resolveProject();
+ printDependencyListing(listener.getRootNode(), "");
+ }
+
+ private void printDependencyListing(DependencyResolutionListener.Node node, final String pad) {
+ Artifact artifact = node.getArtifact();
+ String id = artifact.getDependencyConflictId();
+
+ StringBuffer buff = new StringBuffer(id);
+ if (verbose) {
+ buff.append(" ");
+ buff.append("{ version=").append(artifact.getVersion());
+ buff.append(", scope=").append(artifact.getScope());
+ buff.append(" }");
+ }
+ log.info(pad + buff);
+
+ if (!node.getChildren().isEmpty()) {
+ for (Iterator deps = node.getChildren().iterator(); deps.hasNext();) {
+ DependencyResolutionListener.Node dep = (DependencyResolutionListener.Node) deps.next();
+ printDependencyListing(dep, pad + " ");
+ }
+ }
+ }
+
+ private DependencyResolutionListener resolveProject()
+ throws ProjectBuildingException, ArtifactResolutionException, InvalidDependencyVersionException
+ {
+ Map managedVersions = Dependencies.getManagedVersionMap(project, artifactFactory);
+ DependencyResolutionListener listener = new DependencyResolutionListener();
+
+ if (project.getDependencyArtifacts() == null) {
+ project.setDependencyArtifacts(project.createArtifacts(artifactFactory, null, null));
+ }
+
+ artifactCollector.collect(
+ project.getDependencyArtifacts(),
+ project.getArtifact(),
+ managedVersions,
+ localRepository,
+ project.getRemoteArtifactRepositories(),
+ artifactMetadataSource,
+ null,
+ Collections.singletonList(listener));
+
+ return listener;
+ }
+
+ /**
+ * @parameter
+ * @component
+ * @required
+ */
+ private ArtifactMetadataSource artifactMetadataSource = null;
+
+ /**
+ * ???
+ *
+ * @component
+ */
+ private ArtifactCollector artifactCollector = null;
+
+ /**
+ * Local Repository.
+ *
+ * @parameter expression="${localRepository}"
+ * @required
+ * @readonly
+ */
+ protected ArtifactRepository localRepository;
+
+ //
+ // MojoSupport Hooks
+ //
+
+ /**
+ * The maven project.
+ *
+ * @parameter expression="${project}"
+ * @required
+ * @readonly
+ */
+ protected MavenProject project;
+
+ protected MavenProject getProject() {
+ return project;
+ }
+
+ /**
+ * @component
+ * @required
+ * @readonly
+ */
+ private ArtifactFactory artifactFactory = null;
+
+ protected ArtifactFactory getArtifactFactory() {
+ return artifactFactory;
+ }
+
+ /**
+ * @component
+ * @required
+ * @readonly
+ */
+ private ArtifactResolver artifactResolver = null;
+
+ protected ArtifactResolver getArtifactResolver() {
+ return artifactResolver;
+ }
+
+ /**
+ * @parameter expression="${localRepository}"
+ * @readonly
+ * @required
+ */
+ protected ArtifactRepository artifactRepository = null;
+
+ protected ArtifactRepository getArtifactRepository() {
+ return artifactRepository;
+ }
+}
Propchange: geronimo/genesis/trunk/plugins/tools-maven-plugin/src/main/java/org/apache/geronimo/genesis/plugins/tools/ShowDependenciesMojo.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/genesis/trunk/plugins/tools-maven-plugin/src/main/java/org/apache/geronimo/genesis/plugins/tools/ShowDependenciesMojo.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/genesis/trunk/plugins/tools-maven-plugin/src/main/java/org/apache/geronimo/genesis/plugins/tools/ShowDependenciesMojo.java
------------------------------------------------------------------------------
svn:mime-type = text/plain