From: <jbo...@li...> - 2006-04-20 10:15:35
|
Author: arvinder Date: 2006-04-20 06:15:24 -0400 (Thu, 20 Apr 2006) New Revision: 3844 Modified: labs/jbossesb/branches/JBESB-13/build.xml Log: Added additional tasks Modified: labs/jbossesb/branches/JBESB-13/build.xml =================================================================== --- labs/jbossesb/branches/JBESB-13/build.xml 2006-04-20 10:11:01 UTC (rev 3843) +++ labs/jbossesb/branches/JBESB-13/build.xml 2006-04-20 10:15:24 UTC (rev 3844) @@ -1,130 +1,345 @@ <project name="JBESB" default="org.jboss.esb.jar" basedir="."> - <!-- class path behaviour --> - <property name="build.sysclasspath" value="last"/> + <!-- class path behaviour --> + <property name="build.sysclasspath" value="last"/> - <!-- Set module name --> - <property name="org.jboss.esb.internal.modulename" value="jbesb"/> + <!-- Set module name --> + <property name="org.jboss.esb.internal.modulename" value="jbesb"/> - <!-- Load Build Properties File --> - <property file="${org.jboss.esb.properties}"/> + <!-- Load Build Properties File --> + <property file="${org.jboss.esb.properties}"/> - <!-- Set internal property defaults --> + <!-- Set internal property defaults --> + <property environment="env"/> + <property name="jboss.home" value="${env.JBOSS_HOME}"/> + <property name="standalone.esb.config.name" value="esb"/> + <property name="relative.sar.location" value="lib/dependency/jboss-jms"/> + <property name="messaging.sar.name" value="jboss-messaging-scoped.sar"/> - <property name="org.jboss.esb.installationdirectory" value="build/install"/> - - <!-- Path names --> - <property name="org.jboss.esb.internal.src" value="ESBCore/classes"/> - <property name="org.jboss.esb.internal.dest.root" value="build"/> - <property name="org.jboss.esb.internal.dest" value="build/classes"/> - <property name="org.jboss.esb.internal.jar.dest" value="lib"/> - <property name="org.jboss.esb.internal.javadocs.dest" - value="javadocs"/> - <!-- Initialisation --> - <target name="org.jboss.esb.internal.init"> - <!-- Define default build properties --> - <tstamp> - <format property="org.jboss.esb.date" pattern="yyyy/mm/dd hh:mm aa"/> - </tstamp> - <!-- Make the destination directory --> - <mkdir dir="${org.jboss.esb.internal.dest}"/> - </target> + <property name="org.jboss.esb.installationdirectory" value="build/install"/> - <!-- Compilation targets --> - <target name="org.jboss.esb.compile" - depends="org.jboss.esb.internal.compile, org.jboss.esb.javadocs"/> + <!-- Path names --> + <property name="org.jboss.esb.internal.src" value="ESBCore/classes"/> + <property name="org.jboss.esb.internal.etc" value="ESBCore/etc"/> + <property name="org.jboss.esb.internal.dest.root" value="build"/> + <property name="org.jboss.esb.internal.dest" value="build/classes"/> + <property name="org.jboss.esb.internal.assemble" value="build/assemble"/> + <property name="org.jboss.esb.internal.jar.dest" value="lib"/> + <property name="org.jboss.esb.internal.javadocs.dest" value="javadocs"/> - <target name="org.jboss.esb.internal.compile" depends="org.jboss.esb.internal.init"> - <echo message="Compiling module"/> - <javac srcdir="${org.jboss.esb.internal.src}" - destdir="${org.jboss.esb.internal.dest}" - excludes="${org.jboss.esb.internal.compile.excludes}" - debug="yes" - > - <classpath> - <path path="${org.jboss.esb.internal.src}"/> - </classpath> - </javac> + <!-- Initialisation --> + <target name="org.jboss.esb.internal.init"> + <!-- Define default build properties --> + <tstamp> + <format property="org.jboss.esb.date" pattern="yyyy/mm/dd hh:mm aa"/> + </tstamp> + <!-- Make the destination directory --> + <mkdir dir="${org.jboss.esb.internal.dest}"/> + </target> - </target> + <!-- compile deps --> + <path id="compile.classpath"> + <fileset dir="lib"> + <include name="**/**/*.jar"/> + </fileset> + <fileset dir="${jboss.home}/lib"> + <include name="*.jar"/> + </fileset> + <pathelement path="${org.jboss.esb.internal.src}"/> + </path> - <!-- javadocs paths --> - <path id="org.jboss.esb.javadocs.path"> - <pathelement path="ESBCore/classes"/> - </path> - <property name="org.jboss.esb.javadocs.list" - value="org.jboss.soa.*"/> + <!-- Compilation targets --> + <target name="org.jboss.esb.compile" + depends="org.jboss.esb.internal.compile, org.jboss.esb.javadocs"/> - <!-- Jar targets --> - <target name="org.jboss.esb.jar" depends="org.jboss.esb.compile"> - <echo message="Building jar file"/> - <mkdir dir="${org.jboss.esb.internal.jar.dest}"/> - <jar jarfile="${org.jboss.esb.internal.jar.dest}/${org.jboss.esb.internal.modulename}.jar" basedir="${org.jboss.esb.internal.dest}"/> - </target> + <target name="org.jboss.esb.internal.compile" depends="org.jboss.esb.internal.init"> + <echo message="Compiling module"/> + <javac srcdir="${org.jboss.esb.internal.src}" + destdir="${org.jboss.esb.internal.dest}" + excludes="${org.jboss.esb.internal.compile.excludes}" + debug="yes" + > + <classpath refid="compile.classpath"/> + </javac> - <target name="org.jboss.esb.javadocs" - depends="org.jboss.esb.internal.init"> - <echo message="Building javadocs "/> - <mkdir dir="${org.jboss.esb.internal.javadocs.dest}"/> - <path id="org.jboss.esb.internal.javadocs.path"> - <path refid="org.jboss.esb.javadocs.path"/> - </path> + </target> - <javadoc - sourcepathref="org.jboss.esb.internal.javadocs.path" - destdir="${org.jboss.esb.internal.javadocs.dest}" - packagenames="${org.jboss.esb.javadocs.list}" - > - <classpath> - <path path="${org.jboss.esb.internal.src}"/> - </classpath> - </javadoc> - </target> + <!-- javadocs paths --> + <path id="org.jboss.esb.javadocs.path"> + <pathelement path="ESBCore/classes"/> + </path> - <target name="install" depends="org.jboss.esb.jar"> + <property name="org.jboss.esb.javadocs.list" + value="org.jboss.soa.*"/> - <echo message="Installation directory : ${org.jboss.esb.installationdirectory}"/> + <!-- Jar targets --> + <target name="org.jboss.esb.jar" depends="org.jboss.esb.compile"> + <echo message="Building jar file"/> + <mkdir dir="${org.jboss.esb.internal.jar.dest}"/> + <jar jarfile="${org.jboss.esb.internal.jar.dest}/${org.jboss.esb.internal.modulename}.jar" + basedir="${org.jboss.esb.internal.dest}"/> + </target> - <echo message="Installing jar files"/> - <mkdir dir="${org.jboss.esb.installationdirectory}/lib"/> - <copy - todir="${org.jboss.esb.installationdirectory}/lib" - > - <fileset dir="lib"> - <include name="*.jar"/> - </fileset> - </copy> + <!-- Sar targets --> + <target name="org.jboss.esb.sar" depends="org.jboss.esb.jar"> + <echo message="Building sar file"/> - <echo message="Installing xml"/> - <mkdir dir="${org.jboss.esb.installationdirectory}/xml"/> - <copy - todir="${org.jboss.esb.installationdirectory}/xml" - > - <fileset dir="xml"/> - </copy> + <!-- assemble/prepare the sar --> + <mkdir dir="${org.jboss.esb.internal.assemble}/META-INF"/> + <mkdir dir="${org.jboss.esb.internal.assemble}/xmdesc"/> + <copy todir="${org.jboss.esb.internal.assemble}" flatten="true"> + <fileset dir="lib" includes="**/**/*.jar"/> + </copy> + <copy todir="${org.jboss.esb.internal.assemble}/META-INF"> + <fileset dir="${org.jboss.esb.internal.etc}/server/default/deploy" includes="*.xml"/> + </copy> + <copy todir="${org.jboss.esb.internal.assemble}/xmdesc"> + <fileset dir="${org.jboss.esb.internal.etc}/xmdesc" includes="*.xml"/> + </copy> - <echo message="Installing javadocs"/> - <mkdir dir="${org.jboss.esb.installationdirectory}/javadocs"/> - <copy - todir="${org.jboss.esb.installationdirectory}/javadocs" - > - <fileset dir="javadocs"/> - </copy> - </target> + <jar jarfile="${org.jboss.esb.internal.jar.dest}/${org.jboss.esb.internal.modulename}.sar" + basedir="${org.jboss.esb.internal.assemble}"/> + </target> - <!-- Clean targets --> - <target name="org.jboss.esb.clean"> - <echo message="Cleaning module"/> - <delete dir="${org.jboss.esb.internal.dest}"/> - <delete dir="${org.jboss.esb.internal.dest.root}"/> - <delete dir="${org.jboss.esb.internal.javadocs.dest}"/> - <delete dir="${org.jboss.esb.internal.jar.dest}"/> - </target> + <target name="org.jboss.esb.javadocs" + depends="org.jboss.esb.internal.init"> + <echo message="Building javadocs "/> + <mkdir dir="${org.jboss.esb.internal.javadocs.dest}"/> + <path id="org.jboss.esb.internal.javadocs.path"> + <path refid="org.jboss.esb.javadocs.path"/> + </path> - <!-- Short target names --> - <target name="compile" depends="org.jboss.esb.compile"/> - <target name="jar" depends="org.jboss.esb.jar"/> - <target name="clean" depends="org.jboss.esb.clean"/> + <javadoc + sourcepathref="org.jboss.esb.internal.javadocs.path" + destdir="${org.jboss.esb.internal.javadocs.dest}" + packagenames="${org.jboss.esb.javadocs.list}" + > + <classpath> + <path path="${org.jboss.esb.internal.src}"/> + </classpath> + </javadoc> + </target> + + <!-- + I am presuming, the install dir for now is just a place holder + for the final build artifacts. + --> + <target name="install" depends="org.jboss.esb.jar,org.jboss.esb.sar"> + + <echo message="Installation directory : ${org.jboss.esb.installationdirectory}"/> + + <echo message="Installing jar files"/> + <copy + todir="${org.jboss.esb.installationdirectory}/lib" + > + <fileset dir="lib"> + <include name="*.jar"/> + <include name="*.sar"/> + </fileset> + </copy> + + <echo message="Installing xml"/> + <mkdir dir="${org.jboss.esb.installationdirectory}/xml"/> + <copy + todir="${org.jboss.esb.installationdirectory}/xml" + > + <fileset dir="xml"/> + </copy> + + <echo message="Installing javadocs"/> + <mkdir dir="${org.jboss.esb.installationdirectory}/javadocs"/> + <copy + todir="${org.jboss.esb.installationdirectory}/javadocs" + > + <fileset dir="javadocs"/> + </copy> + + </target> + + <!-- + Deploy the config files and the sar to the server + --> + <target name="deploy" depends="sar"> + + <echo message="Deploying conf to : ${jboss.home}/server/${standalone.esb.config.name}/conf"/> + <copy todir="${jboss.home}/server/${standalone.esb.config.name}/conf"> + <fileset dir="${org.jboss.esb.internal.etc}/server/default/config"/> + </copy> + <echo message="Deploying sar to : ${jboss.home}/server/${standalone.esb.config.name}/deploy"/> + <copy file="${org.jboss.esb.internal.jar.dest}/${org.jboss.esb.internal.modulename}.sar" todir="${jboss.home}/server/${standalone.esb.config.name}/deploy"/> + + </target> + + + <!-- + These tasks create a slimmed down standalone messaging server + instance and are taken from ovidiu work, + see jboss-jms/util/release-admin.xml + --> + <target name="validate-jboss"> + <fail unless="jboss.home" message="JBOSS_HOME environment variable not set! Set it and try again."/> + <available property="default-config" type="dir" file="${jboss.home}/server/default"/> + <fail unless="default-config" message="${jboss.home}/server/default not found!"/> + </target> + + <target name="standalone" depends="validate-jboss"> + <echo message="Creating Standalone Messaging configuration '${standalone.esb.config.name}' for ${jboss.home} based on ${messaging.sar.name}"/> + <mkdir dir="${jboss.home}/server/${standalone.esb.config.name}/conf"/> + <mkdir dir="${jboss.home}/server/${standalone.esb.config.name}/lib"/> + <mkdir dir="${jboss.home}/server/${standalone.esb.config.name}/deploy"/> + <copy todir="${jboss.home}/server/${standalone.esb.config.name}/conf"> + <fileset dir="${jboss.home}/server/default/conf"> + <include name="jboss-service.xml"/> + <include name="jndi.properties"/> + <include name="log4j.xml"/> + <include name="login-config.xml"/> + <include name="props/**"/> + <include name="xmdesc/**"/> + </fileset> + </copy> + <copy todir="${jboss.home}/server/${standalone.esb.config.name}/deploy"> + <fileset dir="${jboss.home}/server/default/deploy"> + <include name="hsqldb-ds.xml"/> + <include name="jboss-local-jdbc.rar"/> + <include name="jbossjca-service.xml"/> + <include name="jbossweb-tomcat55.sar/**"/> + <include name="jmx-console.war/**"/> + <include name="jmx-invoker-service.xml"/> + <include name="management/**"/> + <include name="properties-service.xml"/> + </fileset> + </copy> + <copy todir="${jboss.home}/server/${standalone.esb.config.name}/lib"> + <fileset dir="${jboss.home}/server/default/lib"> + <include name="commons*.jar"/> + <include name="hsqldb*.jar"/> + <include name="javax.servlet*.jar"/> + <include name="jboss-common-jdbc-wrapper.jar"/> + <include name="jboss-j2ee.jar"/> + <include name="jboss-jca.jar"/> + <include name="jboss-management.jar"/> + <include name="jboss-monitoring.jar"/> + <include name="jboss-transaction.jar"/> + <include name="jboss.jar"/> + <include name="jbosssx.jar"/> + <include name="jmx-adaptor-plugin.jar"/> + <include name="jnpserver.jar"/> + <include name="log4j.jar"/> + <include name="properties-plugin.jar"/> + </fileset> + </copy> + <!-- slim down jboss-service.xml --> + <replaceregexp file="${jboss.home}/server/${standalone.esb.config.name}/conf/jboss-service.xml" flags="s"> + <regexp pattern="(\x3cmbean code=\x22org.jboss.management.j2ee.LocalJBossServerDomain\x22.*jboss:service=CorbaORB\x3c/attribute\x3e[ \t\n\r]*\x3c/mbean\x3e)"/> + <substitution expression=""/> + </replaceregexp> + <replaceregexp file="${jboss.home}/server/${standalone.esb.config.name}/conf/jboss-service.xml" flags="s"> + <regexp pattern="(\x3cmbean code=\x22org.jboss.util.property.jmx.SystemPropertyClassValue\x22.*org.jboss.system.JBossRMIClassLoader\x3c/attribute\x3e[ \t\n\r]*\x3c/mbean\x3e)"/> + <substitution expression=""/> + </replaceregexp> + <replaceregexp file="${jboss.home}/server/${standalone.esb.config.name}/conf/jboss-service.xml" flags="s"> + <regexp pattern="(\x3cmbean code=\x22org.jboss.web.WebService\x22.*\x3cdepends optional-attribute-name=\x22ThreadPool\x22[ \t\n\r]*proxy-type=\x22attribute\x22\x3ejboss.system:service=ThreadPool\x3c/depends\x3e[ \t\n\r]*\x3c/mbean\x3e)"/> + <substitution expression=""/> + </replaceregexp> + <replaceregexp file="${jboss.home}/server/${standalone.esb.config.name}/conf/jboss-service.xml" flags="s"> + <regexp pattern="(\x3cmbean code=\x22org.jboss.tm.usertx.server.ClientUserTransactionService\x22.*\x3cdepends\x3ejboss:service=invoker,type=jrmp\x3c/depends\x3e[ \t\n\r]*\x3c/mbean\x3e[ \t\n\r]*\x3c/depends\x3e[ \t\n\r]*\x3c/mbean\x3e)"/> + <substitution expression=""/> + </replaceregexp> + <replaceregexp file="${jboss.home}/server/${standalone.esb.config.name}/conf/jboss-service.xml" flags="s"> + <regexp pattern="(\x3cmbean code=\x22org.jboss.invocation.pooled.server.PooledInvoker\x22.*\x3cdepends optional-attribute-name=\x22TransactionManagerService\x22\x3ejboss:service=TransactionManager\x3c/depends\x3e[ \t\n\r]*\x3c/mbean\x3e)"/> + <substitution expression=""/> + </replaceregexp> + <replaceregexp file="${jboss.home}/server/${standalone.esb.config.name}/conf/jboss-service.xml" flags="s"> + <regexp pattern="(\x3cmbean code=\x22org.jboss.ejb.plugins.cmp.jdbc.metadata.MetaDataLibrary\x22.*name=\x22jboss.jdbc:service=metadata\x22/\x3e)"/> + <substitution expression=""/> + </replaceregexp> + <!-- customize login-config.xml --> + <replaceregexp file="${jboss.home}/server/${standalone.esb.config.name}/conf/login-config.xml" flags="s"> + <regexp pattern="(\x3cpolicy\x3e)"/> + <substitution expression="\1 <application-policy name = "messaging"> + <authentication><login-module code = "org.jboss.security.auth.spi.UsersRolesLoginModule" + flag = "required" > + <module-option name = "unauthenticatedIdentity">guest</module-option> + <module-option name = "usersProperties">messaging-users.properties</module-option> + <module-option name = "rolesProperties">messaging-roles.properties</module-option> + </login-module></authentication></application-policy>"/> + </replaceregexp> + <replaceregexp file="${jboss.home}/server/${standalone.esb.config.name}/conf/login-config.xml" flags="s"> + <regexp pattern="(\x3cpolicy\x3e)"/> + <substitution expression="\1 <application-policy name = "messaging"> + <authentication><login-module code = "org.jboss.security.auth.spi.UsersRolesLoginModule" + flag = "required" > + <module-option name = "unauthenticatedIdentity">guest</module-option> + <module-option name = "usersProperties">messaging-users.properties</module-option> + <module-option name = "rolesProperties">messaging-roles.properties</module-option> + </login-module></authentication></application-policy>"/> + </replaceregexp> + <replaceregexp file="${jboss.home}/server/${standalone.esb.config.name}/conf/login-config.xml" flags="s"> + <regexp pattern="(\x3capplication-policy name = \x22jbossmq\x22\x3e.*FROM JMS_ROLES WHERE USERID=.\x3c/module-option\x3e[ \t\n\r]*\x3c/login-module\x3e[ \t\n\r]*\x3c/authentication\x3e[ \t\n\r]*\x3c/application-policy\x3e)"/> + <substitution expression=""/> + </replaceregexp> + <replaceregexp file="${jboss.home}/server/${standalone.esb.config.name}/conf/login-config.xml" flags="s"> + <regexp pattern="(\x3capplication-policy name = \x22jbossmq\x22\x3e.*jboss.mq:service=StateManager\x3c/module-option\x3e[ \t\n\r]*\x3c/login-module\x3e[ \t\n\r]*\x3c/authentication\x3e[ \t\n\r]*\x3c/application-policy\x3e)"/> + <substitution expression=""/> + </replaceregexp> + <replaceregexp file="${jboss.home}/server/${standalone.esb.config.name}/conf/login-config.xml" flags="s"> + <regexp pattern="(\x3capplication-policy name=\x22JBossWS\x22\x3e.*\x3cmodule-option name=\x22unauthenticatedIdentity\x22\x3eanonymous\x3c/module-option\x3e[ \t\n\r]*\x3c/login-module\x3e[ \t\n\r]*\x3c/authentication\x3e[ \t\n\r]*\x3c/application-policy\x3e)"/> + <substitution expression=""/> + </replaceregexp> + <!-- customize hsqldb-ds.xml --> + <replaceregexp file="${jboss.home}/server/${standalone.esb.config.name}/deploy/hsqldb-ds.xml" flags="s"> + <regexp pattern="(\x3cmetadata\x3e[ \t\n\r]*\x3ctype-mapping\x3eHypersonic SQL\x3c/type-mapping\x3e[ \t\n\r]*\x3c/metadata\x3e)"/> + <substitution expression=""/> + </replaceregexp> + <!-- get rid of the AJP connector --> + <replaceregexp file="${jboss.home}/server/${standalone.esb.config.name}/deploy/jbossweb-tomcat55.sar/server.xml" + flags="s"> + <regexp pattern="(\x3cConnector port=\x228009\x22.*protocol=\x22AJP/1.3\x22/\x3e)"/> + <substitution expression=""/> + </replaceregexp> + <!-- deploy exploded messaging --> + <unjar src="${relative.sar.location}/${messaging.sar.name}" + dest="${jboss.home}/server/${standalone.esb.config.name}/deploy/jboss-messaging.sar"> + </unjar> + <!-- un-scope the deployment --> + <move todir="${jboss.home}/server/${standalone.esb.config.name}/lib"> + <fileset dir="${jboss.home}/server/${standalone.esb.config.name}/deploy/jboss-messaging.sar"> + <include name="javassist.jar"/> + <include name="jboss-aop.jar"/> + <include name="jboss-aspect-library.jar"/> + <include name="jboss-common-softvaluehashmap.jar"/> + <include name="jboss-common-stream.jar"/> + <include name="jboss-remoting.jar"/> + <include name="jboss-serialization.jar"/> + <include name="jboss-unified-invocation.jar"/> + <include name="trove.jar"/> + </fileset> + </move> + <replaceregexp + file="${jboss.home}/server/${standalone.esb.config.name}/deploy/jboss-messaging.sar/META-INF/jboss-service.xml" + flags="s"> + <regexp pattern="(\x3cloader-repository\x3e.*\x3c/loader-repository\x3e)"/> + <substitution expression=""/> + </replaceregexp> + <delete file="${jboss.home}/server/${standalone.esb.config.name}/deploy/jboss-messaging.sar/jms-ds.xml"/> + </target> + + + <!-- Clean targets --> + <target name="org.jboss.esb.clean"> + <echo message="Cleaning module"/> + <delete dir="${org.jboss.esb.internal.dest}"/> + <delete dir="${org.jboss.esb.internal.dest.root}"/> + <delete dir="${org.jboss.esb.internal.javadocs.dest}"/> + <delete file="${org.jboss.esb.internal.jar.dest}/${org.jboss.esb.internal.modulename}.jar"/> + <delete file="${org.jboss.esb.internal.jar.dest}/${org.jboss.esb.internal.modulename}.sar"/> + </target> + + <!-- Short target names --> + <target name="compile" depends="org.jboss.esb.compile"/> + <target name="jar" depends="org.jboss.esb.jar"/> + <target name="sar" depends="org.jboss.esb.sar"/> + <target name="clean" depends="org.jboss.esb.clean"/> </project> |