[jboss-cvs] JBossAS SVN: r107987 - in projects/jboss-jca/trunk/codegenerator/src/main: java/org/jboss/jca/codegenerator/xml and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Sep 3 23:51:17 EDT 2010
Author: jeff.zhang
Date: 2010-09-03 23:51:17 -0400 (Fri, 03 Sep 2010)
New Revision: 107987
Added:
projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/xml/PomXmlGen.java
projects/jboss-jca/trunk/codegenerator/src/main/resources/pom.xml.template
Modified:
projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/BaseProfile.java
projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/Main.java
projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/xml/IvyXmlGen.java
projects/jboss-jca/trunk/codegenerator/src/main/resources/codegenerator.properties
Log:
[JBJCA-398] maven support for generated code
Modified: projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/BaseProfile.java
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/BaseProfile.java 2010-09-03 19:41:56 UTC (rev 107986)
+++ projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/BaseProfile.java 2010-09-04 03:51:17 UTC (rev 107987)
@@ -26,6 +26,7 @@
import org.jboss.jca.codegenerator.xml.BuildXmlGen;
import org.jboss.jca.codegenerator.xml.IvySettingsXmlGen;
import org.jboss.jca.codegenerator.xml.IvyXmlGen;
+import org.jboss.jca.codegenerator.xml.PomXmlGen;
import org.jboss.jca.codegenerator.xml.RaXmlGen;
import java.io.File;
@@ -65,6 +66,8 @@
if (def.getBuild().equals("ivy"))
generateAntIvyXml(def, def.getOutputDir());
+ else if (def.getBuild().equals("maven"))
+ generateMavenXml(def, def.getOutputDir());
else
generateAntXml(def, def.getOutputDir());
@@ -231,7 +234,28 @@
ioe.printStackTrace();
}
}
+
/**
+ * generate ant build.xml
+ * @param def Definition
+ * @param outputDir output directory
+ */
+ void generateMavenXml(Definition def, String outputDir)
+ {
+ try
+ {
+ FileWriter pomfw = Utils.createFile("pom.xml", outputDir);
+ PomXmlGen pxGen = new PomXmlGen();
+ pxGen.generate(def, pomfw);
+ pomfw.close();
+ }
+ catch (IOException ioe)
+ {
+ ioe.printStackTrace();
+ }
+ }
+
+ /**
* generate ra.xml
* @param def Definition
* @param outputDir output directory
Modified: projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/Main.java
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/Main.java 2010-09-03 19:41:56 UTC (rev 107986)
+++ projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/Main.java 2010-09-04 03:51:17 UTC (rev 107987)
@@ -431,6 +431,11 @@
{
def.setBuild("ivy");
}
+ else if (buildEnv.equalsIgnoreCase("m") ||
+ buildEnv.equalsIgnoreCase("maven"))
+ {
+ def.setBuild("maven");
+ }
else
def.setBuild("ant");
}
Modified: projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/xml/IvyXmlGen.java
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/xml/IvyXmlGen.java 2010-09-03 19:41:56 UTC (rev 107986)
+++ projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/xml/IvyXmlGen.java 2010-09-04 03:51:17 UTC (rev 107987)
@@ -53,19 +53,22 @@
URL buildFile = IvyXmlGen.class.getResource("/ivy.xml.template");
String buildString = Utils.readFileIntoString(buildFile);
+ String packageName = "";
+ String moduleName;
int pos = def.getRaPackage().lastIndexOf(".");
- String packageName = "";
- String moduleName = "";
if (pos > 0)
{
packageName = def.getRaPackage().substring(0, pos);
moduleName = def.getRaPackage().substring(pos + 1);
}
+ else
+ {
+ moduleName = def.getRaPackage();
+ }
Map<String, String> map = new HashMap<String, String>();
map.put("ivy.package.name", packageName);
map.put("ivy.module.name", moduleName);
Template template = new SimpleTemplate(buildString);
template.process(map, out);
- //out.write(buildString);
}
}
Added: projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/xml/PomXmlGen.java
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/xml/PomXmlGen.java (rev 0)
+++ projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/xml/PomXmlGen.java 2010-09-04 03:51:17 UTC (rev 107987)
@@ -0,0 +1,67 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.codegenerator.xml;
+
+import org.jboss.jca.codegenerator.Definition;
+import org.jboss.jca.codegenerator.SimpleTemplate;
+import org.jboss.jca.codegenerator.Template;
+import org.jboss.jca.codegenerator.Utils;
+
+import java.io.IOException;
+import java.io.Writer;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * A PomXmlGen.
+ *
+ * @author Jeff Zhang
+ * @version $Revision: $
+ */
+public class PomXmlGen extends AbstractXmlGen
+{
+ @Override
+ public void writeXmlBody(Definition def, Writer out) throws IOException
+ {
+ URL buildFile = PomXmlGen.class.getResource("/pom.xml.template");
+ String buildString = Utils.readFileIntoString(buildFile);
+
+ String packageName = "";
+ String moduleName;
+ int pos = def.getRaPackage().lastIndexOf(".");
+ if (pos > 0)
+ {
+ packageName = def.getRaPackage().substring(0, pos);
+ moduleName = def.getRaPackage().substring(pos + 1);
+ }
+ else
+ {
+ moduleName = def.getRaPackage();
+ }
+ Map<String, String> map = new HashMap<String, String>();
+ map.put("pom.package.name", packageName);
+ map.put("pom.module.name", moduleName);
+ Template template = new SimpleTemplate(buildString);
+ template.process(map, out);
+ }
+}
Modified: projects/jboss-jca/trunk/codegenerator/src/main/resources/codegenerator.properties
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/resources/codegenerator.properties 2010-09-03 19:41:56 UTC (rev 107986)
+++ projects/jboss-jca/trunk/codegenerator/src/main/resources/codegenerator.properties 2010-09-04 03:51:17 UTC (rev 107987)
@@ -31,5 +31,5 @@
connection.method.param.type=Parameter type:
connection.method.exception=Exception type [enter to quit]:
output.dir=Output directory:
-build.env=Build environment [A/Ant/I/Ant+Ivy]
+build.env=Build environment [A/Ant/I/Ant+Ivy/M/Maven]
code.wrote=Code generated
Added: projects/jboss-jca/trunk/codegenerator/src/main/resources/pom.xml.template
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/resources/pom.xml.template (rev 0)
+++ projects/jboss-jca/trunk/codegenerator/src/main/resources/pom.xml.template 2010-09-04 03:51:17 UTC (rev 107987)
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>${pom.package.name}</groupId>
+ <artifactId>${pom.module.name}</artifactId>
+ <packaging>jar</packaging>
+ <version>0.1</version>
+ <url>http://repository.jboss.org</url>
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.ironjacamar</groupId>
+ <artifactId>ironjacamar-spec-api</artifactId>
+ <version>@VERSION.IRONJACAMAR@</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.ironjacamar</groupId>
+ <artifactId>ironjacamar-common-api</artifactId>
+ <version>@VERSION.IRONJACAMAR@</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.ironjacamar</groupId>
+ <artifactId>ironjacamar-common-impl</artifactId>
+ <version>@VERSION.IRONJACAMAR@</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.ironjacamar</groupId>
+ <artifactId>ironjacamar-core-api</artifactId>
+ <version>@VERSION.IRONJACAMAR@</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.ironjacamar</groupId>
+ <artifactId>ironjacamar-core-impl</artifactId>
+ <version>@VERSION.IRONJACAMAR@</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.ironjacamar</groupId>
+ <artifactId>ironjacamar-core-spi</artifactId>
+ <version>@VERSION.IRONJACAMAR@</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.ironjacamar</groupId>
+ <artifactId>ironjacamar-depchain</artifactId>
+ <version>@VERSION.IRONJACAMAR@</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.ironjacamar</groupId>
+ <artifactId>ironjacamar-deployers-fungal</artifactId>
+ <version>@VERSION.IRONJACAMAR@</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.ironjacamar</groupId>
+ <artifactId>ironjacamar-embedded-arquillian</artifactId>
+ <version>@VERSION.IRONJACAMAR@</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.ironjacamar</groupId>
+ <artifactId>ironjacamar-embedded</artifactId>
+ <version>@VERSION.IRONJACAMAR@</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.ironjacamar</groupId>
+ <artifactId>ironjacamar-validator</artifactId>
+ <version>@VERSION.IRONJACAMAR@</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <build>
+ <sourceDirectory>src/main</sourceDirectory>
+ <testSourceDirectory>src/test</testSourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <repositories>
+ <repository>
+ <id>fungal</id>
+ <url>http://jesperpedersen.github.com/fungal/maven2</url>
+ </repository>
+ </repositories>
+</project>
More information about the jboss-cvs-commits
mailing list