[jboss-cvs] jboss-seam/seam-gen ...

Gavin King gavin.king at jboss.com
Sat Oct 28 13:56:05 EDT 2006


  User: gavin   
  Date: 06/10/28 13:56:05

  Added:       seam-gen       seam.bat build.xml README setup-build.xml
                        seam.sh build-project-setup.xml
  Log:
  add seam-gen to CVS
  
  Revision  Changes    Path
  1.1      date: 2006/10/28 17:56:05;  author: gavin;  state: Exp;jboss-seam/seam-gen/seam.bat
  
  Index: seam.bat
  ===================================================================
  @echo off
  @if not "%ECHO%" == ""  echo %ECHO%
  @if "%OS%" == "Windows_NT"  setlocal
  
  set DIRNAME=.\
  if "%OS%" == "Windows_NT" set DIRNAME=%~dp0%
  set PROGNAME=seam.bat
  if "%OS%" == "Windows_NT" set PROGNAME=%~nx0%
  
  rem Read all command line arguments
  set SEAMTASK=%1%
  set PROJECTNAME=%2%
  set TASKINPUT=%3%
  set TASKINPUT2=%4%
  
  if %SEAMTASK% == set-properties ant -buildfile=build-project-setup.xml
  
  if %SEAMTASK% == new-project ant new-project -Dproject.name=%PROJECTNAME%
  
  if %SEAMTASK% == scaffold-project ant new-project -Dscaffold=true -Dproject.name=%PROJECTNAME%
  
  if %SEAMTASK% == scaffold-wtp-project ant new-wtp-project -Dscaffold=true -Dproject.name=%PROJECTNAME%
  
  if %SEAMTASK% == new-wtp-project ant new-wtp-project -Dproject.name=%PROJECTNAME%
  
  if %SEAMTASK% == deploy-project ant deploy-project -Dproject.name=%PROJECTNAME% 
  	
  if %SEAMTASK% == new-action ant new-action -Dproject.name=%PROJECTNAME% -Daction.name=%TASKINPUT%
  
  if %SEAMTASK% == new-stateless-action ant new-slsb-action -Dproject.name=%PROJECTNAME% -Daction.name=%TASKINPUT%
  
  if %SEAMTASK% == new-conversation ant new-conversation -Dproject.name=%PROJECTNAME% -Daction.name=%TASKINPUT%
  
  if %SEAMTASK% == new-page ant new-page -Dproject.name=%PROJECTNAME% -Dpage.name=%TASKINPUT%
  
  if %SEAMTASK% == new-action-page ant new-action-page -Dproject.name=%PROJECTNAME% -Dpage.name=%TASKINPUT% -Daction.name=%TASKINPUT2%
  
  if %SEAMTASK% == new-testcase ant new-testcase -Dproject.name=%PROJECTNAME% -Daction.name=%TASKINPUT%
  
  if %SEAMTASK% == new-bpm-action ant new-bpm-action -Dproject.name=%PROJECTNAME% -Daction.name=%TASKINPUT%
  
  if %SEAMTASK% == new-entity ant new-entity -Dproject.name=%PROJECTNAME% -Daction.name=%TASKINPUT%
  
  if %SEAMTASK% == new-mdb ant new-mdb -Dproject.name=%PROJECTNAME% -Daction.name=%TASKINPUT%
  
  if %SEAMTASK% == help more README
  
  goto END_NO_PAUSE
  
  :END_NO_PAUSE
  
  
  
  1.1      date: 2006/10/28 17:56:05;  author: gavin;  state: Exp;jboss-seam/seam-gen/build.xml
  
  Index: build.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <project name="seam-gen" default="new-project" basedir=".">
  
  	<!-- Give user a chance to override without editing this file or typing -D -->
  	<property file="${basedir}/build.properties" />
  
  	<target name="create-folders">
  		<echo message="Creating Project Folders ..." />
  		<mkdir dir="${workspace.home}/${project.name}" />
  		<mkdir dir="${workspace.home}/${project.name}/exploded-archives/${project.name}.ear" />
  		<mkdir dir="${workspace.home}/${project.name}/exploded-archives/${project.name}.war" />
  		<mkdir dir="${workspace.home}/${project.name}/exploded-archives/${project.name}.jar" />
  	</target>
  
  	<target name="create-folders-wtp">
  		<echo message="Creating Project Folders ..." />
  		<mkdir dir="${workspace.home}/${project.name}" />
  		<mkdir dir="${workspace.home}/${project.name}EJB" />
  		<mkdir dir="${workspace.home}/${project.name}Web" />
  	</target>
  
  	<target name="file-copy" depends="create-folders">
  		<echo message="Copying project jars and resources ..." />
  		<copy todir="${workspace.home}/${project.name}/lib">
  			<fileset dir="../lib/" />
  			<fileset dir="../facelets/lib/" />
  			<fileset dir="../">
  				<include name="jboss-seam*.jar" />
  			</fileset>
  		</copy>
  		<copy todir="${workspace.home}/${project.name}/src">
  			<fileset dir="${basedir}/src/" />
  		</copy>
  		<copy todir="${workspace.home}/${project.name}/resources">
  			<fileset dir="${basedir}/resources/">
  				<exclude name="META-INF/application-wtp.xml" />
  			</fileset>
  			<filterset>
  				<filter token="projectName" value="${project.name}" />
  			</filterset>
  		</copy>
  		<move tofile="${workspace.home}/${project.name}/resources/${project.name}-ds.xml" file="${workspace.home}/${project.name}/resources/datasource-ds.xml" />
  		<copy todir="${workspace.home}/${project.name}/view">
  			<fileset dir="${basedir}/view/" />
  		</copy>
  		<copy todir="${workspace.home}/${project.name}/">
  			<filterset>
  				<filter token="projectName" value="${project.name}" />
  				<filter token="jbossHome" value="${jboss.home}" />
  			</filterset>
  			<fileset dir="${basedir}/build-scripts/" />
  		</copy>
  		<copy todir="${workspace.home}/${project.name}/embedded-ejb">
  			<fileset dir="../embedded-ejb/" />
  			<filterset>
  				<filter token="projectName" value="${project.name}" />
  			</filterset>
  		</copy>
  	</target>
  
  	<target name="file-copy-wtp" depends="create-folders-wtp">
  		<echo message="Copying project jars and resources ..." />
  		<copy todir="${workspace.home}/${project.name}/lib">
  			<fileset dir="../lib/" />
  			<fileset dir="../facelets/lib/" />
  			<fileset dir="../">
  				<include name="jboss-seam*.jar" />
  			</fileset>
  		</copy>
  		<copy todir="${workspace.home}/${project.name}/ejbModule">
  			<fileset dir="${basedir}/src/" />
  		</copy>
  		<copy todir="${workspace.home}/${project.name}EJB/ejbModule" overwrite="true">
  			<fileset dir="${basedir}/resources/">
  				<exclude name="WEB-INF/**" />
  				<exclude name="META-INF/application.xml" />
  				<exclude name="META-INF/application-wtp.xml" />
  				<exclude name="META-INF/jboss-app.xml" />
  				<exclude name="META-INF/jboss-beans.xml" />
  				<exclude name="datasource-ds.xml" />
  				<exclude name="messages*.properties" />
  			</fileset>
  			<filterset>
  				<filter token="projectName" value="${project.name}" />
  			</filterset>
  		</copy>
  		<copy todir="${workspace.home}/${project.name}/EarContent" overwrite="true">
  			<fileset dir="${basedir}/resources">
  				<exclude name="WEB-INF/**" />
  				<exclude name="META-INF/ejb-jar.xml" />
  				<exclude name="META-INF/persistence.xml" />
  				<exclude name="META-INF/application.xml" />
  			</fileset>
  			<filterset>
  				<filter token="projectName" value="${project.name}" />
  			</filterset>
  		</copy>
  		<move file="${workspace.home}/${project.name}/EarContent/META-INF/application-wtp.xml" tofile="${workspace.home}/${project.name}/EarContent/META-INF/application.xml" />
  		<copy todir="${workspace.home}/${project.name}/EarContent" overwrite="true">
  			<fileset dir="../lib">
  				<include name="jbpm-*.jar" />
  			</fileset>
  			<fileset dir="../">
  				<include name="jboss-seam.jar" />
  			</fileset>
  		</copy>
  		<move tofile="${jboss.home}/server/default/deploy/${project.name}-ds.xml" file="${workspace.home}/${project.name}/EarContent/datasource-ds.xml" />
  		<copy todir="${workspace.home}/${project.name}Web/WebContent">
  			<fileset dir="${basedir}/view/" />
  		</copy>
  		<copy todir="${workspace.home}/${project.name}Web/WebContent/WEB-INF" overwrite="true">
  			<fileset dir="${basedir}/resources/WEB-INF" />
  			<filterset>
  				<filter token="projectName" value="${project.name}" />
  			</filterset>
  		</copy>
  		<copy todir="${workspace.home}/${project.name}Web/WebContent/WEB-INF/lib" overwrite="true">
  			<fileset dir="../facelets/lib" />
  			<fileset file="../jboss-seam-debug.jar" />
  			<fileset file="../jboss-seam-ui.jar" />
  		</copy>
  		<copy todir="${workspace.home}/${project.name}/">
  			<filterset>
  				<filter token="projectName" value="${project.name}" />
  				<filter token="jbossHome" value="${jboss.home}" />
  			</filterset>
  			<fileset dir="${basedir}/build-scripts-wtp/" />
  		</copy>
  		<copy todir="${workspace.home}/${project.name}/embedded-ejb">
  			<fileset dir="../embedded-ejb/" />
  			<filterset>
  				<filter token="projectName" value="${project.name}" />
  			</filterset>
  		</copy>
  	</target>
  
  	<target name="scaffold-copy" depends="file-copy" if="scaffold">
  		<echo message="Copying scaffold resources ..." />
  		<copy todir="${workspace.home}/${project.name}/resources" overwrite="true">
  			<fileset dir="${basedir}/resources-scaffold/" />
  			<filterset>
  				<filter token="projectName" value="${project.name}" />
  			</filterset>
  		</copy>
  		<copy todir="${workspace.home}/${project.name}/view" overwrite="true">
  			<fileset dir="${basedir}/view-scaffold/" />
  		</copy>
  		<copy todir="${workspace.home}/${project.name}/src" overwrite="true">
  			<fileset dir="${basedir}/src-scaffold/" />
  		</copy>
  	</target>
  
  	<target name="scaffold-copy-wtp" depends="file-copy-wtp" if="scaffold">
  		<echo message="Copying scaffold resources ..." />
  		<copy todir="${workspace.home}/${project.name}/EarContent" overwrite="true">
  			<fileset dir="${basedir}/resources-scaffold/">
  				<exclude name="WEB-INF/**" />
  			</fileset>
  			<filterset>
  				<filter token="projectName" value="${project.name}" />
  			</filterset>
  		</copy>
  		<copy todir="${workspace.home}/${project.name}Web/WebContent" overwrite="true">
  			<fileset dir="${basedir}/view-scaffold/" />
  
  		</copy>
  		<copy todir="${workspace.home}/${project.name}Web/WebContent/WEB-INF" overwrite="true">
  			<fileset dir="${basedir}/resources-scaffold/WEB-INF" />
  			<filterset>
  				<filter token="projectName" value="${project.name}" />
  			</filterset>
  		</copy>
  
  		<copy todir="${workspace.home}/${project.name}EJB/ejbModule" overwrite="true">
  			<fileset dir="${basedir}/src-scaffold/" />
  		</copy>
  	</target>
  
  	<target name="exploded-jar-copy">
  		<echo message="Creating project's exploded jar ..." />
  		<copy todir="${workspace.home}/${project.name}/exploded-archives/${project.name}.jar" overwrite="false">
  			<fileset dir="${workspace.home}/${project.name}/resources">
  				<include name="*.properties" />
  			</fileset>
  		</copy>
  		<copy todir="${workspace.home}/${project.name}/exploded-archives/${project.name}.jar/META-INF" overwrite="false">
  			<fileset dir="${workspace.home}/${project.name}/resources/META-INF">
  				<include name="ejb-jar.xml" />
  				<include name="persistence.xml" />
  			</fileset>
  		</copy>
  	</target>
  
  	<target name="exploded-war-copy">
  		<echo message="Creating project's exploded war ..." />
  		<copy todir="${workspace.home}/${project.name}/exploded-archives/${project.name}.war" overwrite="false">
  			<fileset dir="${workspace.home}/${project.name}/view" />
  			<fileset dir="${workspace.home}/${project.name}/view/WEB-INF" />
  		</copy>
  		<copy todir="${workspace.home}/${project.name}/exploded-archives/${project.name}.war/WEB-INF" overwrite="false">
  			<fileset dir="${workspace.home}/${project.name}/resources/WEB-INF" />
  		</copy>
  		<copy todir="${workspace.home}/${project.name}/exploded-archives/${project.name}.war/WEB-INF/lib" overwrite="false">
  			<fileset dir="../">
  				<include name="jboss-seam-ui.jar" />
  				<include name="jboss-seam-debug.jar" />
  			</fileset>
  			<fileset dir="../facelets/lib">
  				<include name="el-api.jar" />
  				<include name="el-ri.jar" />
  				<include name="jsf-facelets.jar" />
  			</fileset>
  		</copy>
  	</target>
  
  	<target name="exploded-ear-copy">
  		<echo message="Creating project's exploded ear ..." />
  		<copy todir="${workspace.home}/${project.name}/exploded-archives/${project.name}.ear" overwrite="false">
  			<fileset dir="${workspace.home}/${project.name}/resources">
  				<include name="*jpdl.xml" />
  				<include name="hibernate.cfg.xml" />
  				<include name="jbpm.cfg.xml" />
  			</fileset>
  			<fileset dir="../">
  				<include name="jboss-seam.jar" />
  			</fileset>
  			<fileset dir="../lib">
  				<include name="jbpm-3.1.1.jar" />
  			</fileset>
  		</copy>
  		<copy todir="${workspace.home}/${project.name}/exploded-archives/${project.name}.ear/META-INF" overwrite="false">
  			<fileset dir="${workspace.home}/${project.name}/resources/META-INF">
  				<include name="application.xml" />
  				<include name="jboss-app.xml" />
  				<include name="jboss-beans.xml" />
  			</fileset>
  		</copy>
  	</target>
  
  	<target name="new-project" depends="file-copy,scaffold-copy,exploded-jar-copy,exploded-war-copy,exploded-ear-copy">
  		<echo message="Your new Seam project called '${project.name}' has been created" />
  	</target>
  
  	<target name="new-wtp-project" depends="file-copy-wtp,scaffold-copy-wtp">
  		<echo message="Your new Seam project called '${project.name}' has been created" />
  	</target>
  
  	<target name="update-project">
  		<echo message="Copying jars to project /lib directory ..." />
  		<copy todir="${workspace.home}/${project.name}/lib" overwrite="true">
  			<fileset dir="../lib/" />
  		</copy>
  
  		<echo message="Copying new components.xml to project ..." />
  		<copy todir="${workspace.home}/${project.name}/resources/WEB-INF" overwrite="false" file="${basedir}/resources/WEB-INF/components.xml/" />
  
  		<echo message="Copying ebmedded-ejb to project ..." />
  		<copy todir="${workspace.home}/${project.name}/embedded-ejb" overwrite="true">
  			<fileset dir="../embedded-ejb/" />
  			<filterset>
  				<filter token="projectName" value="${project.name}" />
  			</filterset>
  		</copy>
  		<copy todir="${workspace.home}/${project.name}/embedded-ejb" overwrite="true">
  			<fileset dir="${basedir}/resources/embedded-ejb/" />
  			<filterset>
  				<filter token="projectName" value="${project.name}" />
  			</filterset>
  		</copy>
  
  		<echo message="Copying jbpm jars to project's exploded jar archive ..." />
  		<copy todir="${workspace.home}/${project.name}/exploded-archives/${project.name}.jar" overwrite="true">
  			<fileset dir="../lib">
  				<include name="jbpm-*.jar" />
  			</fileset>
  		</copy>
  
  		<echo message="Copying seam/jsf jars to project's exploded war archive ..." />
  		<copy todir="${workspace.home}/${project.name}/exploded-archives/${project.name}.war/WEB-INF/lib" overwrite="true">
  			<fileset dir="../">
  				<include name="jboss-seam-ui.jar" />
  				<include name="jboss-seam-debug.jar" />
  			</fileset>
  			<fileset dir="../facelets/lib">
  				<include name="el-api.jar" />
  				<include name="el-ri.jar" />
  				<include name="jsf-facelets.jar" />
  			</fileset>
  		</copy>
  
  		<echo message="Copying seam jar to project's exploded ear archive ..." />
  		<copy todir="${workspace.home}/${project.name}/exploded-archives/${project.name}.ear" overwrite="true">
  			<fileset dir="../">
  				<include name="jboss-seam.jar" />
  			</fileset>
  		</copy>
  		<echo message="'${project.name}' has been updated with the latest/seam jars" />
  	</target>
  
  	<target name="delete-project">
  		<echo message="Deleting the entire project's contents ..." />
  		<delete dir="${workspace.home}/${project.name}" />
  	</target>
  
  	<target name="new-action" depends="new-sfsb-action" />
  
  	<target name="new-sfsb-action">
  		<echo message="Creating a stateful session bean Seam component with an action method" />
  		<java classname="org.jboss.seam.tool.SeamGenCommandLine">
  			<arg value="new-action" />
  			<arg value="${project.name}" />
  			<arg value="${action.name}" />
  			<classpath>
  				<pathelement location="lib/freemarker.jar" />
  				<pathelement path="lib/seam-gen.jar" />
  			</classpath>
  		</java>
  	</target>
  
  	<target name="new-slsb-action">
  		<echo message="Creating a stateless session bean Seam component with an action method" />
  		<java classname="org.jboss.seam.tool.SeamGenCommandLine">
  			<arg value="new-stateless-action" />
  			<arg value="${project.name}" />
  			<arg value="${action.name}" />
  			<classpath>
  				<pathelement location="lib/freemarker.jar" />
  				<pathelement path="lib/seam-gen.jar" />
  			</classpath>
  		</java>
  	</target>
  
  	<target name="new-conversation">
  		<echo message="Create a @Conversational stateful session bean Seam component with @Begin and @End methods" />
  		<java classname="org.jboss.seam.tool.SeamGenCommandLine">
  			<arg value="new-conversation" />
  			<arg value="${project.name}" />
  			<arg value="${action.name}" />
  			<classpath>
  				<pathelement location="lib/freemarker.jar" />
  				<pathelement path="lib/seam-gen.jar" />
  			</classpath>
  		</java>
  	</target>
  
  	<target name="new-page">
  		<echo message="Create a JSF page that extends the template." />
  		<java classname="org.jboss.seam.tool.SeamGenCommandLine">
  			<arg value="new-page" />
  			<arg value="${project.name}" />
  			<arg value="${page.name}" />
  			<classpath>
  				<pathelement location="lib/freemarker.jar" />
  				<pathelement path="lib/seam-gen.jar" />
  			</classpath>
  		</java>
  	</target>
  
  	<target name="new-action-page">
  		<echo message="Create a JSF page that extends the template, and has a form with action button." />
  		<java classname="org.jboss.seam.tool.SeamGenCommandLine">
  			<arg value="new-action-page" />
  			<arg value="${project.name}" />
  			<arg value="${page.name}" />
  			<arg value="${action.name}" />
  			<classpath>
  				<pathelement location="lib/freemarker.jar" />
  				<pathelement path="lib/seam-gen.jar" />
  			</classpath>
  		</java>
  	</target>
  
  	<target name="new-testcase">
  		<echo message="Create a TestNG test case with XML file." />
  		<java classname="org.jboss.seam.tool.SeamGenCommandLine">
  			<arg value="new-testcase" />
  			<arg value="${project.name}" />
  			<arg value="${action.name}" />
  			<classpath>
  				<pathelement location="lib/freemarker.jar" />
  				<pathelement path="lib/seam-gen.jar" />
  			</classpath>
  		</java>
  	</target>
  
  	<target name="new-bpm-action">
  		<echo message="Create a new jBPM action class that implements ActionHandler" />
  		<java classname="org.jboss.seam.tool.SeamGenCommandLine">
  			<arg value="new-bpm-action" />
  			<arg value="${project.name}" />
  			<arg value="${action.name}" />
  			<classpath>
  				<pathelement location="lib/freemarker.jar" />
  				<pathelement path="lib/seam-gen.jar" />
  			</classpath>
  		</java>
  	</target>
  
  	<target name="new-entity">
  		<echo message="Create a new entity bean with a couple attributes" />
  		<java classname="org.jboss.seam.tool.SeamGenCommandLine">
  			<arg value="new-entity" />
  			<arg value="${project.name}" />
  			<arg value="${action.name}" />
  			<classpath>
  				<pathelement location="lib/freemarker.jar" />
  				<pathelement path="lib/seam-gen.jar" />
  			</classpath>
  		</java>
  	</target>
  
  	<target name="new-mdb">
  		<echo message="Create a new mdb bean with a couple attributes" />
  		<input addproperty="destination.type" message="Enter destination type 'Queue' or 'Topic':" validargs="Queue,Topic" />
  		<input addproperty="destination" message="Enter destination:" />
  		<java classname="org.jboss.seam.tool.SeamGenCommandLine">
  			<arg value="new-mdb" />
  			<arg value="${project.name}" />
  			<arg value="${action.name}" />
  			<arg value="${destination}" />
  			<arg value="${destination.type}" />
  			<classpath>
  				<pathelement location="lib/freemarker.jar" />
  				<pathelement path="lib/seam-gen.jar" />
  			</classpath>
  		</java>
  	</target>
  
  	<target name="deploy-project">
  		<echo message="Deploy project to JBoss" />
  		<ant antfile="${workspace.home}/${project.name}/build.xml" target="deploy" inheritall="false">
  		</ant>
  	</target>
  
  	<target name="help">
  		<echo message="Refer to README doc" />
  	</target>
  
  </project>
  
  
  
  1.1      date: 2006/10/28 17:56:05;  author: gavin;  state: Exp;jboss-seam/seam-gen/README
  
  Index: README
  ===================================================================
  NAME
     seam - execute seam code generation. There is a seam.bat(windows) and 
     seam.sh(linux/unix) that make calls to ANT targets for seam project setup 
     and seam source code generation commands. You must have Ant 1.6 and
     jbossAS with EJB3 installed.
       
  SYNOPSIS
     seam [COMMAND] [PROJECT NAME] [OPTIONS]...
  	    
  SEAM PROJECT SETUP/DEPLOYMENT COMMANDS
     set-properties
        Set various seam-gen properties in build.properties. This task
        sets the various source code packages, target directories
        and jboss home. You can hand edit build.properties. There is support
        for generating eclipse WTP compliant EAR, JAR, WAR projects.
        If you select 'Y' for WTP, then some build tasks, like "compile",
        "build", "deploy" will not work.
  	   
        Example: seam set-properties
  	     
     new-project
        Create a new seam project that has all dependencies and minimal
        configuration. Refers to build.properties for project attributes.
  	     
        Example: seam new-project [PROJECT  NAME]
       
     scaffold-project
        Create a new seam project that has all dependencies and a working
        entity bean, page-flow, BPM and a TestNG example. 
  	     
        Example: seam scaffold-project [PROJECTNAME]
        
     deploy-project
        Deploy the project EAR and datasource to JBoss. This command
        will not work if you created a WTP project.
  	     
        Example: seam deploy-project [PROJECTNAME]
  
  SEAM CODE GENERATION COMMANDS
     new-action
        Create a new Java interface and SFSB with key Seam/EJB3 
        annotations.
  	     
        Example: seam new-action [PROJECT NAME] [SFSB NAME]
  
     new-conversation
        Create a new Java interface and SFSB with key Seam/EJB3 
        annotations. Adds annotations and stub methods for 
        @Begin and @End.
  	     
        Example: seam new-conversation [PROJECT NAME] [SFSB NAME]
  	
     new-stateless-action
        Create a new Java interface and SLSB with key Seam/EJB3 
        annotations.
  	     
        Example: seam new-action [PROJECT NAME] [SLSB NAME]   
  	     
     new-page
        Create a new facelet that refers to template.xhtml for its
        layout. If no template.xhtml exists, create one.
  	     
        Example: seam new-page [PROJECT NAME] [PAGE NAME]
  	     
     new-action-page
        Create a new facelet that refers to template.xhtml for its
        layout. If no template.xhtml exists, create one. And, add
        a form with a submit button that executes a POJO/EJB3 method.
        The POJO/EJB3 must implement doAction().
  	     
        Example: seam new-page [PROJECT NAME] [PAGE NAME] [EJB3 NAME]
  	     
     new-testcase
        Create a new TestNG test case that can be used to simulate
        a JSF request/response and standard JUnit type tests.
  	     
        Example: seam new-testcase [PROJECT NAME] [TESTCASE NAME] 
  	     
     new-bpm-action
        Create a new POJO that implements jBPM's ActionHandler interface.
        This action class can be bound to a jBPM business process.
  	     
        Example: seam new-bpm-action [PROJECT NAME] [BPM ACTION NAME] 
  	     
     new-entity
        Create a new EJB3 entity bean with key Seam/EJB3 annotations
        and a couple stub attributes (column1, column2).
  	     
        Example: seam new-entity [PROJECT NAME] [ENTITY NAME] 
  	     
     new-mdb
        Create a new EJB3 MDB with key Seam/EJB3 annotations. 
        Input prompt for destination type (Topic or Queue).
        Input prompt for JMS destination.
  	     
        Example: seam new-mdb [PROJECT NAME] [MDB NAME]
  
  
  1.1      date: 2006/10/28 17:56:05;  author: gavin;  state: Exp;jboss-seam/seam-gen/setup-build.xml
  
  Index: setup-build.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <project name="seam-gen" default="project-setup" basedir=".">
  
  	<target name="project-setup">
  			<input addproperty="project.home" message="Enter your desired Seam project home directory:" />
  			<input addproperty="jboss.home" message="Enter your jboss home directory:" />
  			<input addproperty="action.package" message="Enter java package name for your seam generated components:" />
  			<input addproperty="action.dir" message="[Hack!] Re-enter package name with '/' instead of '.' :" />
  	</target>
  
  </project>
  
  
  
  1.1      date: 2006/10/28 17:56:05;  author: gavin;  state: Exp;jboss-seam/seam-gen/seam.sh
  
  Index: seam.sh
  ===================================================================
  #/bin/sh
  ############################################
  #
  # Seam-gen tasks script. 
  #
  ############################################
  
  seamtask=${1}
  projectname=${2}
  taskinput=${3}
  taskinput2=${4}
  
  if [ "${seamtask}" = set-properties ] 
  	then
  		ant -buildfile build-project-setup.xml
  fi
  
  if [ "${seamtask}" = new-project ] 
  	then
  		ant new-project -Dproject.name=${projectname}
  fi
  
  if [ "${seamtask}" = new-wtp-project ] 
  	then
  		ant new-wtp-project -Dproject.name=${projectname}
  fi
  
  if [ "${seamtask}" = scaffold-project ] 
  	then
  		ant new-project -Dscaffold=true -Dproject.name=${projectname}
  fi
  
  if [ "${seamtask}" = scaffold-wtp-project ]
     then
        ant new-wtp-project -Dproject.name=${projectname} -Dscaffold=true
  fi 
  
  if [ "${seamtask}" = deploy-project ] 
  	then
  		ant deploy-project -Dproject.name=${projectname}
  fi
  
  if [ "${seamtask}" = new-action ] 
  	then
  		ant new-action -Dproject.name=${projectname} -Daction.name=${taskinput}
  fi
  
  if [ "${seamtask}" = new-slsb-action ] 
  	then
  		ant new-slsb-action -Dproject.name=${projectname} -Daction.name=${taskinput}
  fi
  
  if [ "${seamtask}" = new-conversation ] 
  	then
  		ant new-conversation -Dproject.name=${projectname} -Dconversation.name=${taskinput}
  fi
  
  if [ "${seamtask}" = new-page ] 
  	then
  		ant new-page -Dproject.name=${projectname} -Dpage.name=${taskinput}
  fi
  
  if [ "${seamtask}" = new-action-page ] 
  	then
  		ant new-action-page -Dproject.name=${projectname} -Dpage.name=${taskinput} -Daction.name=${taskinput2}
  fi
  
  if [ "${seamtask}" = new-testcase ] 
  	then
  		ant new-testcase -Dproject.name=${projectname} -Daction.name=${taskinput} 
  fi
  
  if [ "${seamtask}" = new-bpm-action ] 
  	then
  		ant new-bpm-action -Dproject.name=${projectname} -Daction.name=${taskinput} 
  fi
  
  if [ "${seamtask}" = new-entity ] 
  	then
  		ant new-entity -Dproject.name=${projectname} -Daction.name=${taskinput} 
  fi
  
  if [ "${seamtask}" = new-mdb ] 
  	then
  		ant new-mdb -Dproject.name=${projectname} -Daction.name=${taskinput} 
  fi
  
  if [ "${seamtask}" = help ] 
  	then
  		cat README
  fi
  
  
  1.1      date: 2006/10/28 17:56:05;  author: gavin;  state: Exp;jboss-seam/seam-gen/build-project-setup.xml
  
  Index: build-project-setup.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <project name="seam-gen" default="project-setup-input" basedir=".">
  
  	<target name="project-setup-input">
  		<input addproperty="workspace.home" message="Enter your java project workspace:" />
  		<input addproperty="eclipse.wtp" message="Is this an eclipse WTP workspace:" validargs="Y,N" />
  		<input addproperty="jboss.home" message="Enter your jboss home directory:" />
  		<input addproperty="action.package" message="Enter java package name for your business logic:" />
  		<input addproperty="model.package" message="Enter java package name for your model objects:" />
  		<input addproperty="bpm.package" message="Enter java package name for your BPM objects:" />
  		<input addproperty="mdb.package" message="Enter java package name for your MDB objects:" />
  		<input addproperty="test.package" message="Enter java package name for your test cases:" />
  		<java classname="org.jboss.seam.tool.SeamGenCommandLine">
  			<arg value="set-properties" />
  			<arg value="${workspace.home}" />
  			<arg value="${jboss.home}" />
  			<arg value="${action.package}" />
  			<arg value="${model.package}" />
  			<arg value="${test.package}" />
  			<arg value="${bpm.package}" />
  			<arg value="${mdb.package}" />			
  			<arg value="${eclipse.wtp}" />
  			<classpath>
  				<pathelement location="lib/freemarker.jar" />
  				<pathelement path="lib/seam-gen.jar" />
  			</classpath>
  		</java>
  	</target>
  
  </project>
  
  
  



More information about the jboss-cvs-commits mailing list