[jboss-svn-commits] JBL Code SVN: r10828 - labs/jbossbuild/maven-plugins/trunk/jboss-deploy-maven-plugin/src/main/java/org/jboss/maven/plugins/deploy.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Apr 8 14:26:58 EDT 2007
Author: pgier
Date: 2007-04-08 14:26:49 -0400 (Sun, 08 Apr 2007)
New Revision: 10828
Modified:
labs/jbossbuild/maven-plugins/trunk/jboss-deploy-maven-plugin/src/main/java/org/jboss/maven/plugins/deploy/JBossDeployMojo.java
Log:
JBBUILD-347; Added generation of imports based on dependencies.
Modified: labs/jbossbuild/maven-plugins/trunk/jboss-deploy-maven-plugin/src/main/java/org/jboss/maven/plugins/deploy/JBossDeployMojo.java
===================================================================
--- labs/jbossbuild/maven-plugins/trunk/jboss-deploy-maven-plugin/src/main/java/org/jboss/maven/plugins/deploy/JBossDeployMojo.java 2007-04-08 17:32:40 UTC (rev 10827)
+++ labs/jbossbuild/maven-plugins/trunk/jboss-deploy-maven-plugin/src/main/java/org/jboss/maven/plugins/deploy/JBossDeployMojo.java 2007-04-08 18:26:49 UTC (rev 10828)
@@ -15,6 +15,7 @@
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.maven.artifact.Artifact;
+import org.apache.maven.model.Dependency;
import org.apache.maven.model.License;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
@@ -94,9 +95,17 @@
private String jbossDeployRoot;
/**
- * This is the map of components that this project depends on.
+ * If set to true, this will tell the plugin to generate a listing of imports based on the
+ * project dependencies. Defaults to false;
* @parameter
*/
+ private boolean generateImports;
+
+ /**
+ * This is the map of components that this project depends on. If generateImports is set
+ * to true, the generated imports will be appended to the imports specified here.
+ * @parameter
+ */
private Map imports;
/**
@@ -121,8 +130,8 @@
}
// Initialize some local variables
- File deployToDir = new File(jbossDeployRoot + fileSep + project.getGroupId() + fileSep + project.getArtifactId()
- + fileSep + project.getVersion() + fileSep);
+ File deployToDir = new File(jbossDeployRoot + fileSep + project.getGroupId().replace('.', '/') + fileSep
+ + project.getArtifactId() + fileSep + project.getVersion() + fileSep);
File deployToLibDir = new File(deployToDir.getAbsolutePath() + fileSep + "lib" + fileSep);
// Load template file
@@ -243,26 +252,33 @@
}
evaluateVariable(compInfoTemplate, "includes", exportsString.toString());
- // Get list of imports
- //TODO: Maybe this can be determined based on the dependencies, but for now we just have to set it
- // in the plugin configuration
- // List dependencies = project.getDependencies();
- if (imports == null)
+ // Generate list of imports
+ StringBuffer importsString = new StringBuffer();
+ if (imports != null)
{
- evaluateVariable(compInfoTemplate, "imports", "");
- }
- else
- {
- StringBuffer importsString = new StringBuffer();
Set componentNames = imports.keySet();
for (Object component : componentNames)
{
- importsString.append(" <import componentref=\"" + component + "\">\n");
+ importsString.append(" <import componentref=\"" + component.toString().replace('.', '/') + "\">\n");
importsString.append(" <compatible version=\"" + imports.get(component) + "\"/>\n");
importsString.append(" </import>\n");
}
- evaluateVariable(compInfoTemplate, "imports", importsString.toString());
}
+ if (this.generateImports)
+ {
+ List dependencies = project.getDependencies();
+ for (Object obj : dependencies)
+ {
+ Dependency dep = (Dependency) obj;
+ if (dep.getScope() == null || !dep.getScope().equals("test")) {
+ importsString.append(" <import componentref=\"" + dep.getGroupId().replace('.', '/') + "/"
+ + dep.getArtifactId() + "\">\n");
+ importsString.append(" <compatible version=\"" + dep.getVersion() + "\"/>\n");
+ importsString.append(" </import>\n");
+ }
+ }
+ }
+ evaluateVariable(compInfoTemplate, "imports", importsString.toString());
// Write the component info file
File compInfoFile = new File(deployToDir + fileSep + "component-info.xml");
@@ -281,14 +297,18 @@
{
this.getLog().error(ioe);
}
-
+
CompInfoVerifier verifier = new CompInfoVerifier();
- try {
+ try
+ {
verifier.verifyCompInfo(new FileInputStream(compInfoFile));
}
- catch (SAXException e) {
+ catch (SAXException e)
+ {
this.getLog().warn(e);
- } catch (FileNotFoundException fnfe) {
+ }
+ catch (FileNotFoundException fnfe)
+ {
fnfe.printStackTrace();
}
}
More information about the jboss-svn-commits
mailing list