[overlord-commits] Overlord SVN: r279 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator: template and 1 other directory.

overlord-commits at lists.jboss.org overlord-commits at lists.jboss.org
Wed Aug 27 09:11:27 EDT 2008


Author: objectiser
Date: 2008-08-27 09:11:27 -0400 (Wed, 27 Aug 2008)
New Revision: 279

Added:
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/AbstractBuildSystem.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/template/
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/template/Ant.template
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/template/Maven.template
Modified:
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/AntBuildSystem.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/BuildSystem.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/Generator.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/MavenBuildSystem.java
Log:
Added build script templates for Ant and Maven.

Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/AbstractBuildSystem.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/AbstractBuildSystem.java	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/AbstractBuildSystem.java	2008-08-27 13:11:27 UTC (rev 279)
@@ -0,0 +1,58 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * 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,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ */
+package org.jboss.tools.overlord.cdl.jbossesb.generator;
+
+/**
+ * This class represents an abstract build system.
+ */
+public abstract class AbstractBuildSystem implements BuildSystem {
+
+	private static final String TEMPLATE_SUFFIX = ".template";
+	private static final String TEMPLATE_PREFIX = "template/";
+
+	/**
+	 * This method returns the contents for the build
+	 * configuration file.
+	 * 
+	 * @param projectName The project name
+	 * @return The build file contents
+	 */
+	public String getBuildFileContents(String projectName) {
+		String ret=null;
+		
+		java.io.InputStream is=
+				AbstractBuildSystem.class.getResourceAsStream(
+						TEMPLATE_PREFIX+getName()+TEMPLATE_SUFFIX);
+		
+		if (is != null) {
+			
+			try {
+				byte[] b=new byte[is.available()];
+				is.read(b);
+			
+				ret = new String(b);
+				
+				ret = ret.replaceAll("%PROJECT%", projectName);
+			} catch(Exception e) {
+				e.printStackTrace();
+			}
+		}
+		
+		return(ret);
+	}	
+}

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/AntBuildSystem.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/AntBuildSystem.java	2008-08-27 11:29:26 UTC (rev 278)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/AntBuildSystem.java	2008-08-27 13:11:27 UTC (rev 279)
@@ -20,7 +20,7 @@
 /**
  * This class represents the Ant build system.
  */
-public class AntBuildSystem implements BuildSystem {
+public class AntBuildSystem extends AbstractBuildSystem {
 
 	private static final String BUILD_FILE = "build.xml";
 	private static final String ANT = "Ant";
@@ -28,6 +28,7 @@
 	private static final String DEPLOYMENT_PATH = "src/conf/deployment.xml";
 	private static final String JBMQ_CONFIG_PATH = "src/conf/jbmq-queue-service.xml";
 	private static final String JAVA_SOURCE_PATH = "src/java";
+	private static final String LIBRARY_PATH = "src/lib";
 
 	/**
 	 * This method represents the name of the build
@@ -48,25 +49,7 @@
 	public String getBuildFilePath() {
 		return(BUILD_FILE);
 	}
-	
-	/**
-	 * This method returns the contents for the build
-	 * configuration file.
-	 * 
-	 * @param projectName The project name
-	 * @return The build file contents
-	 */
-	public String getBuildFileContents(String projectName) {
-		StringBuffer ret=new StringBuffer();
 		
-		ret.append("<project name=\""+projectName+
-					"\" default=\"startdb\" basedir=\".\">\r\n");
-
-		ret.append("</project>\r\n");
-		
-		return(ret.toString());
-	}
-	
 	/**
 	 * This method returns the ESB configuration file
 	 * path.
@@ -106,4 +89,13 @@
 		return(JAVA_SOURCE_PATH);
 	}
 	
+	/**
+	 * This method returns the library path.
+	 * 
+	 * @return The library path
+	 */
+	public String getLibraryPath() {
+		return(LIBRARY_PATH);
+	}
+		
 }

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/BuildSystem.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/BuildSystem.java	2008-08-27 11:29:26 UTC (rev 278)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/BuildSystem.java	2008-08-27 13:11:27 UTC (rev 279)
@@ -79,4 +79,11 @@
 	 */
 	public String getJavaSourcePath();
 	
+	/**
+	 * This method returns the library path.
+	 * 
+	 * @return The library path, or null if not required
+	 */
+	public String getLibraryPath();
+	
 }

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/Generator.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/Generator.java	2008-08-27 11:29:26 UTC (rev 278)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/Generator.java	2008-08-27 13:11:27 UTC (rev 279)
@@ -258,7 +258,12 @@
 		IPath classpathLocation=jproj.getPath().append(new Path(CLASSPATH_FILENAME));
 		IPath sourceLocation=jproj.getPath().append(
 				new Path(getBuildSystem().getJavaSourcePath()));
+		IPath libLocation=null;
 		
+		if (getBuildSystem().getLibraryPath() != null) {
+			libLocation=jproj.getPath().append(new Path(getBuildSystem().getLibraryPath()));
+		}
+		
 		// create and set the output and source paths first
 		IFolder outputFolder= jproj.getProject().getWorkspace().getRoot().getFolder(outputLocation);
 		GeneratorUtil.createParentFolder(outputFolder);
@@ -270,6 +275,13 @@
 		sourceFolder.create(true, true, new org.eclipse.core.runtime.NullProgressMonitor());
 		sourceFolder.setDerived(true);		
 		
+		if (libLocation != null) {
+			IFolder libFolder= jproj.getProject().getWorkspace().getRoot().getFolder(libLocation);
+			GeneratorUtil.createParentFolder(libFolder);
+			libFolder.create(true, true, new org.eclipse.core.runtime.NullProgressMonitor());
+			libFolder.setDerived(true);		
+		}
+		
 		IFile file=jproj.getProject().getWorkspace().getRoot().getFile(classpathLocation);
 		file.create(null, true, new org.eclipse.core.runtime.NullProgressMonitor());
 		file.setDerived(true);

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/MavenBuildSystem.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/MavenBuildSystem.java	2008-08-27 11:29:26 UTC (rev 278)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/MavenBuildSystem.java	2008-08-27 13:11:27 UTC (rev 279)
@@ -20,7 +20,7 @@
 /**
  * This class represents the Ant build system.
  */
-public class MavenBuildSystem implements BuildSystem {
+public class MavenBuildSystem extends AbstractBuildSystem {
 
 	private static final String BUILD_FILE = "pom.xml";
 	private static final String MAVEN = "Maven";
@@ -28,6 +28,7 @@
 	private static final String DEPLOYMENT_PATH = "src/main/resources/META-INF/deployment.xml";
 	private static final String JBMQ_CONFIG_PATH = "src/main/resources/jbmq-queue-service.xml";
 	private static final String JAVA_SOURCE_PATH = "src/main/java";
+	private static final String LIBRARY_PATH = null;
 
 	/**
 	 * This method represents the name of the build
@@ -50,25 +51,6 @@
 	}
 	
 	/**
-	 * This method returns the contents for the build
-	 * configuration file.
-	 * 
-	 * @param projectName The project name
-	 * @return The build file contents
-	 */
-	public String getBuildFileContents(String projectName) {
-		StringBuffer ret=new StringBuffer();
-		
-		ret.append("<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\r\n");
-		ret.append("\t\txmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n"); 
-		ret.append("\t\txsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd\">\r\n");
-
-		ret.append("</project>\r\n");
-		
-		return(ret.toString());
-	}
-	
-	/**
 	 * This method returns the ESB configuration file
 	 * path.
 	 * 
@@ -107,4 +89,13 @@
 		return(JAVA_SOURCE_PATH);
 	}
 	
+	/**
+	 * This method returns the library path.
+	 * 
+	 * @return The library path
+	 */
+	public String getLibraryPath() {
+		return(LIBRARY_PATH);
+	}
+		
 }

Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/template/Ant.template
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/template/Ant.template	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/template/Ant.template	2008-08-27 13:11:27 UTC (rev 279)
@@ -0,0 +1,44 @@
+<project name="%PROJECT%" basedir="." default="deploy" >
+   <property name="build.dir" value="${basedir}/target" />
+   <property name="classes" value="${build.dir}/classes" />
+   <property name="lib" value="src/lib" />
+   <property name="src" value="src/java" />
+   <property name="conf" value="src/conf" />
+	
+   <path id="compile-classpath">
+      <fileset dir="${lib}" includes="*.jar" />
+   </path>
+   
+   <target name="init" depends="clean">
+      <mkdir dir="${build.dir}" />
+   </target>
+   
+   <target name="clean">
+      <delete dir="${build.dir}" />
+   </target>
+
+   <target name="compile" depends="init">
+        <mkdir dir="${classes}" />
+	<javac srcdir="${src}" destdir="${classes}" debug="true" deprecation="true">
+	   <classpath refid="compile-classpath" />			
+	</javac>
+        <copy todir="${classes}">
+           <fileset dir="${conf}" includes="**/*.xml"/>
+        </copy>
+   </target>
+   
+   <target name="esbjar" depends="compile">
+        <jar destfile="${build.dir}/${ant.project.name}.esb">
+                   <fileset dir="${classes}" />
+                   <fileset dir="${build.dir}" includes="*.jar,*.war"/>
+                   <fileset dir="${classes}" includes="deployment.xml"/>
+                   <fileset dir="${classes}" includes="META-INF/**" />
+                   <fileset dir="${lib}" includes="*.jar"/>
+        </jar>
+    </target>
+
+    <target name="deploy" depends="esbjar">
+    	<copy todir="${org.jboss.esb.server.deploy.dir}"
+            file="${build.dir}/${ant.project.name}.esb"/>	
+    </target>
+</project>

Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/template/Maven.template
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/template/Maven.template	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/generator/template/Maven.template	2008-08-27 13:11:27 UTC (rev 279)
@@ -0,0 +1,54 @@
+<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>org.jboss.soa.overlord.cdl.project</groupId>
+	<artifactId>%PROJECT%</artifactId>
+	<version>1.0-SNAPSHOT</version>
+	<packaging>jboss-esb</packaging>
+	<name>%PROJECT%</name>
+	<url>http://www.jboss.org/overlord</url>
+
+
+	<dependencies>	
+		<dependency>
+			<groupId>log4j</groupId>
+			<artifactId>log4j</artifactId>
+			<version>1.2.14</version>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.jboss.soa.overlord.cdl</groupId>
+			<artifactId>runtime-jbossesb</artifactId>
+			<version>1.0-SNAPSHOT</version>
+			<scope>provided</scope>
+		</dependency>
+
+	</dependencies>
+		
+	  <build>
+	    <finalName>%PROJECT%</finalName>
+	    <plugins>
+	      <plugin>
+		 <groupId>org.codehaus.mojo</groupId>
+		 <artifactId>jboss-packaging-maven-plugin</artifactId>
+		 <version>2.0-20080130.110241-9</version>
+		 <extensions>true</extensions>
+	      </plugin>
+	    </plugins>
+	   </build>
+
+    <pluginRepositories>
+	 <pluginRepository>
+	   <releases>
+	      <enabled>false</enabled>
+	   </releases>
+	   <snapshots/>
+	   <id>jboss-plugin-snapshots</id>
+	   <name>JBoss Snapshot Plugin Repository</name>
+	   <url>http://snapshots.repository.codehaus.org</url>
+	 </pluginRepository>
+    </pluginRepositories>
+		
+	
+</project>




More information about the overlord-commits mailing list