[jboss-cvs] JBossAS SVN: r63035 - in projects/aop/trunk: build and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon May 14 17:32:50 EDT 2007


Author: kabir.khan at jboss.com
Date: 2007-05-14 17:32:50 -0400 (Mon, 14 May 2007)
New Revision: 63035

Added:
   projects/aop/trunk/asintegration/src/etc/jboss-40-install-jboss-aop-jdk14-build.xml
   projects/aop/trunk/asintegration/src/etc/jboss-40-install-jboss-aop-jdk50-build.xml
   projects/aop/trunk/asintegration/src/etc/jboss.properties
Modified:
   projects/aop/trunk/asintegration/src/etc/ReadMe-AS4.txt
   projects/aop/trunk/build/build-release.xml
Log:
Add scripts for upgrading from JBoss AOP 1.5.x. This a) removes the asintegration stuff from the 1.5.x aspect library. It also modifies the annotations in the 1.4 aspect library so that they extend org.jboss.lang.Annotation, so that they are recognised as annotations by JBoss Retro.

Modified: projects/aop/trunk/asintegration/src/etc/ReadMe-AS4.txt
===================================================================
--- projects/aop/trunk/asintegration/src/etc/ReadMe-AS4.txt	2007-05-14 15:03:51 UTC (rev 63034)
+++ projects/aop/trunk/asintegration/src/etc/ReadMe-AS4.txt	2007-05-14 21:32:50 UTC (rev 63035)
@@ -1,6 +1,6 @@
-* If installing in a version before JBoss 4.0.4, you should leave javassist.jar and common-softvaluehashmap.jar in place in this folder.
+* If installing in a version before JBoss 4.0.4, you should leave javassist.jar in place in this folder.
 
-*If installing in jboss 4.0.4 or later, the classes contained in javassist.jar and common-softvaluehashmap.jar will already be available,
+*If installing in jboss 4.0.4 or later, the classes contained in javassist.jar will already be available,
 and you should do the following to avoid versioning conflicts:
 -move javassist.jar to ../../lib/javassist.jar
 
@@ -9,3 +9,11 @@
 contained therein from your jboss-aspect-library(-jdk50).jar:
 -org.jboss.aop
 -org.jboss.aop.deployment
+
+* The ant build.xml contained in this folder automates these tasks for you. Set the root of the jboss installation
+and the server configuration you wish to patch in the jboss.properties file.
+
+* If you are deploying the jdk 1.4 deployer and upgrading from JDK 1.5, we need to modify the interfaces 
+specifying the simulated annotations in jboss-aspect-library.jar. The build.xml file does this 
+as part of the install step.
+

Added: projects/aop/trunk/asintegration/src/etc/jboss-40-install-jboss-aop-jdk14-build.xml
===================================================================
--- projects/aop/trunk/asintegration/src/etc/jboss-40-install-jboss-aop-jdk14-build.xml	                        (rev 0)
+++ projects/aop/trunk/asintegration/src/etc/jboss-40-install-jboss-aop-jdk14-build.xml	2007-05-14 21:32:50 UTC (rev 63035)
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project default="install" name="JBoss/AOP Application Server installation">
+
+   <target name="setup">
+      <!-- ========================================= -->
+      <!-- Set the jboss root and server config here -->
+      <!-- ========================================= -->
+      <property file="jboss.properties"/>
+
+      <!-- The rest are automatic -->
+      <property name="jboss.config.dir" value="${jboss.home}/server/${jboss.config}"/>
+
+      <available file="${jboss.home}" property="jboss.exists" type="dir"/>
+      <fail unless="jboss.exists" message="${jboss.home} does not exist. Modify 'jboss.home' in build.xml to be a valid root of a jboss installation"/>
+
+      <available file="${jboss.config.dir}" property="config.exists" type="dir"/>
+      <fail unless="config.exists" message="${jboss.config.dir} does not exist. Modify 'jboss.config' in build.xml to be a valid server configuration"/>
+
+      <property name="deploy.dir" value="${jboss.config.dir}/deploy"/>
+
+      <!-- An existing AOP 1.5.x installation will have a deployer named as follows -->
+      <property name="aop15.deployer" value="${deploy.dir}/jboss-aop.deployer"/>
+      <available file="${aop15.deployer}" property="aop15.deployer.exists" type="dir"/>
+
+      <!-- An existing AOP 2.x installation will have a deployer named as follows -->
+      <property name="aop2.deployer" value="${deploy.dir}/jboss-aop-jdk14.deployer"/>
+      <available file="${aop2.deployer}" property="aop2.deployer.exists" type="dir"/>
+
+      <fail message="Neither ${jdk14.deployer} (JBoss AOP 2.0) nor ${aop2.deployer} exist.">
+         <condition>
+            <and>
+               <not><isset property="aop15.deployer.exists"/></not>
+               <not><isset property="aop2.deployer.exists"/></not>
+            </and>
+         </condition>
+      </fail>
+
+   </target>
+
+   <target name="init-has-aop15-deployer" depends="setup" if="aop15.deployer.exists">
+      <property name="aspect.deployer" value="${aop15.deployer}"/>
+   </target>
+
+   <target name="init-has-aop2-deployer" depends="setup" if="aop2.deployer.exists">
+      <property name="aspect.deployer" value="${aop2.deployer}"/>
+   </target>
+
+   <target name="init" depends="init-has-aop15-deployer, init-has-aop2-deployer">
+      <property name="aspect.library" value="${aspect.deployer}/jboss-aspect-library.jar"/>
+      <available file="${aspect.library}" property="library.exists"/>
+      <fail unless="library.exists" message="${aspect.library} does not exist."/>
+
+      <property name="old.deployer" value="${jboss.config.dir}/deploy/jboss-aop.deployer.bak"/>
+      <available file="${old.deployer}" property="old.deployer.exists"/>
+
+      <property name="lib.javassist" value="${jboss.config.dir}/lib/javassist.jar"/>
+      <available file="${lib.javassist}" property="jboss.post.4.0.4"/>
+      <property name="bak.javassist" value="${jboss.config.dir}/lib/javassist.bak"/>
+      <available file="${bak.javassist}" property="javassist.bak.exists"/>
+   </target>
+
+   <target name="prepare=aspect-library" depends="init">
+      <delete file="jboss-aspect-library.jar"/>
+      <tempfile property="temp.dir" prefix="aop"/>
+      <mkdir dir="${temp.dir}"/>
+      <unjar src="${aspect.library}" dest="${temp.dir}"/>
+
+      <!-- Get rid of the files that exist in jboss-aop-as4-deplyer.jar -->
+      <delete dir="${temp.dir}/org/jboss/aop"/>
+
+      <jar destfile="jboss-aspect-library.jar" basedir="${temp.dir}" manifest="${temp.dir}/META-INF/MANIFEST.MF"/>
+
+      <delete dir="${temp.dir}"/>
+   </target>
+
+   <target name="backup" depends="prepare=aspect-library" unless="old.deployer.exists">
+      <echo>Backing up existing aop deployer to ${old.deployer}</echo>
+      <copy todir="${old.deployer}">
+         <fileset dir="${aspect.deployer}"/>
+      </copy>
+      <delete dir="${aspect.deployer}"/>
+   </target>
+
+   <target name="install.deployer" depends="backup">
+      <copy todir="${deploy.dir}">
+         <fileset dir="..">
+            <include name="jboss-aop-jdk14.deployer/**/*.jar"/>
+            <include name="jboss-aop-jdk14.deployer/META-INF/*"/>
+            <exclude name="build.xml"/>
+            <exclude name="jboss.properties"/>
+         </fileset>
+      </copy>
+      <copy todir="${deploy.dir}/jboss-aop-jdk14.deployer" file="${old.deployer}/base-aop.xml"/>
+
+      <antcall target="make-annotations-compatible">
+         <param name="jar" value="${deploy.dir}/jboss-aop-jdk14.deployer/jboss-aspect-library.jar"/>
+         <param name="input" value="annotations.txt"/>
+      </antcall>
+   </target>
+
+   <target name="make-annotations-compatible" depends="init">
+      <!--
+         The name of the jar file whose JDK 1.4 interfaces defining annotations we want to weave to
+         be usable with JBoss Retro
+      -->
+      <fail unless="jar" message="You need to specify a jar file"/>
+
+      <!--
+         The file containing the names of the classes to weave
+      -->
+      <fail unless="input" message="You need to specify a file listing all the interfaces"/>
+
+
+      <tempfile property="temp.dir" prefix="aop"/>
+      <unjar src="${jar}" dest="${temp.dir}"/>
+
+      <java classname="org.jboss.aop.util.ForceInterfaceToImplementAnnotation">
+         <classpath>
+            <pathelement path="jboss-aop.jar"/>
+            <pathelement path="javassist.jar"/>
+            <pathelement path="jbossretro-rt.jar"/>
+         </classpath>
+
+         <arg value="${temp.dir}"/>
+         <arg value="${input}"/>
+      </java>
+
+      <jar destfile="${jar}" basedir="${temp.dir}" manifest="${temp.dir}/META-INF/MANIFEST.MF"/>
+      <delete dir="${temp.dir}"/>
+   </target>
+
+   <target name="backup.javassist.post.4.0.4" depends="init" unless="javassist.bak.exists">
+      <move file="${lib.javassist}" tofile="${bak.javassist}"/>
+   </target>
+
+   <target name="install.post.4.0.4" depends="install.deployer, backup.javassist.post.4.0.4" if="jboss.post.4.0.4">
+      <delete file="${aspect.deployer}/javassist.jar"/>
+      <copy file="javassist.jar" tofile="${lib.javassist}" overwrite="true"/>
+   </target>
+
+   <target name="install" depends="install.post.4.0.4"/>
+</project>

Added: projects/aop/trunk/asintegration/src/etc/jboss-40-install-jboss-aop-jdk50-build.xml
===================================================================
--- projects/aop/trunk/asintegration/src/etc/jboss-40-install-jboss-aop-jdk50-build.xml	                        (rev 0)
+++ projects/aop/trunk/asintegration/src/etc/jboss-40-install-jboss-aop-jdk50-build.xml	2007-05-14 21:32:50 UTC (rev 63035)
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project default="install" name="JBoss/AOP Application Server installation" description="Ant file to patch an existing JBoss 4 instance with AOP 2.0">
+
+   <target name="init">
+      <!-- ========================================= -->
+      <!-- Set the jboss root and server config here -->
+      <!-- ========================================= -->
+      <property file="jboss.properties"/>
+
+      <!-- The rest are automatic -->
+      <property name="jboss.config.dir" value="${jboss.home}/server/${jboss.config}"/>
+
+      <available file="${jboss.home}" property="jboss.exists" type="dir"/>
+      <fail unless="jboss.exists" message="${jboss.home} does not exist. Modify 'jboss.home' in build.xml to be a valid root of a jboss installation"/>
+
+      <available file="${jboss.config.dir}" property="config.exists" type="dir"/>
+      <fail unless="config.exists" message="${jboss.config.dir} does not exist. Modify 'jboss.config' in build.xml to be a valid server configuration"/>
+
+      <property name="deploy.dir" value="${jboss.config.dir}/deploy"/>
+
+      <property name="aspect.deployer" value="${deploy.dir}/jboss-aop-jdk50.deployer"/>
+      <available file="${aspect.deployer}" property="deployer.exists" type="dir"/>
+      <fail unless="deployer.exists" message="${aspect.deployer} does not exist."/>
+
+      <property name="aspect.library" value="${aspect.deployer}/jboss-aspect-library-jdk50.jar"/>
+      <available file="${aspect.library}" property="library.exists"/>
+      <fail unless="library.exists" message="${aspect.library} does not exist."/>
+
+      <property name="old.deployer" value="${jboss.config.dir}/deploy/jboss-aop-jdk50.deployer.bak"/>
+      <available file="${old.deployer}" property="old.deployer.exists"/>
+
+      <property name="lib.javassist" value="${jboss.config.dir}/lib/javassist.jar"/>
+      <available file="${lib.javassist}" property="jboss.post.4.0.4"/>
+      <property name="bak.javassist" value="${jboss.config.dir}/lib/javassist.bak"/>
+      <available file="${bak.javassist}" property="javassist.bak.exists"/>
+   </target>
+
+   <target name="prepare=aspect-library" depends="init">
+      <delete file="jboss-aspect-library-jdk50.jar"/>
+      <tempfile property="temp.dir" prefix="aop"/>
+      <mkdir dir="${temp.dir}"/>
+      <unjar src="${aspect.library}" dest="${temp.dir}"/>
+
+      <!-- Get rid of the files that exist in jboss-aop-as4-deplyer.jar -->
+      <delete dir="${temp.dir}/org/jboss/aop"/>
+
+      <jar destfile="jboss-aspect-library-jdk50.jar" basedir="${temp.dir}" manifest="${temp.dir}/META-INF/MANIFEST.MF"/>
+
+      <delete dir="${temp.dir}"/>
+   </target>
+
+   <target name="backup" depends="prepare=aspect-library" unless="old.deployer.exists">
+      <echo>Backing up existing aop deployer to ${old.deployer}</echo>
+      <copy todir="${old.deployer}">
+         <fileset dir="${aspect.deployer}"/>
+      </copy>
+      <delete dir="${aspect.deployer}"/>
+   </target>
+
+   <target name="install.deployer" depends="backup">
+      <copy todir="${deploy.dir}">
+         <fileset dir="..">
+            <include name="jboss-aop-jdk50.deployer/**"/>
+            <exclude name="build.xml"/>
+            <exclude name="jboss.properties"/>
+         </fileset>
+      </copy>
+      <copy todir="${deploy.dir}/jboss-aop-jdk50.deployer" file="${old.deployer}/base-aop.xml"/>
+   </target>
+
+   <target name="backup.javassist.post.4.0.4" depends="init" unless="javassist.bak.exists">
+      <move file="${lib.javassist}" tofile="${bak.javassist}"/>
+   </target>
+
+   <target name="install.post.4.0.4" depends="install.deployer, backup.javassist.post.4.0.4" if="jboss.post.4.0.4">
+      <delete file="${aspect.deployer}/javassist.jar"/>
+      <copy file="javassist.jar" tofile="${lib.javassist}" overwrite="true"/>
+   </target>
+
+
+   <target name="install" depends="install.post.4.0.4"/>
+</project>

Added: projects/aop/trunk/asintegration/src/etc/jboss.properties
===================================================================
--- projects/aop/trunk/asintegration/src/etc/jboss.properties	                        (rev 0)
+++ projects/aop/trunk/asintegration/src/etc/jboss.properties	2007-05-14 21:32:50 UTC (rev 63035)
@@ -0,0 +1,5 @@
+# Properties file for the ant install scripts
+# Set the root of your jboss installation here 
+jboss.home=C:/cygwin/home/Kabir/sourcecontrol/Branch_4_0/build/output/jboss-4.0.5.SP1-ejb3
+#Set the server configuration you want to patch here (e.g, all or default)
+jboss.config=all

Modified: projects/aop/trunk/build/build-release.xml
===================================================================
--- projects/aop/trunk/build/build-release.xml	2007-05-14 15:03:51 UTC (rev 63034)
+++ projects/aop/trunk/build/build-release.xml	2007-05-14 21:32:50 UTC (rev 63035)
@@ -174,29 +174,34 @@
       <copy todir="${project.release}/lib-14" file="${qdox.location}"/>
       <copy todir="${project.release}/lib-14" file="${trove.location}"/>
 
-      <!-- The JBoss 4.0.x libs for JDK 1.4 (JBoss 4.2.0 needs JDK 5)-->
+      <!-- The JBoss 4.0.x libs for JDK 1.4 (JBoss 4.2.x needs JDK 5)-->
 
       <copy file="${aop.jboss-service.location}" tofile="output/temp/jboss-service-jdk4.xml" filtering="true">
          <filterset>
             <filter token="SERVICE_NAME" value="org.jboss.aop.deployment.AspectManagerService"/>
          </filterset>
       </copy>
+      <copy todir="${project.release}/jboss-40-install/jboss-aop-jdk14.deployer" file="../aop/src/etc/annotations.txt"/>
+      <copy tofile="${project.release}/jboss-40-install/jboss-aop-jdk14.deployer/build.xml" file="../asintegration/src/etc/jboss-40-install-jboss-aop-jdk14-build.xml"/>
+      <copy todir="${project.release}/jboss-40-install/jboss-aop-jdk14.deployer" file="../asintegration/src/etc/jboss.properties"/>
       <copy todir="${project.release}/jboss-40-install/jboss-aop-jdk14.deployer" file="${aop.14.location}"/>
       <copy todir="${project.release}/jboss-40-install/jboss-aop-jdk14.deployer" file="${aop.as4-deployer-jdk14.location}"/>
       <copy todir="${project.release}/jboss-40-install/jboss-aop-jdk14.deployer/" file="${aop.readme-as4.location}"/>
       <copy todir="${project.release}/jboss-40-install/jboss-aop-jdk14.deployer" file="${jboss-backport-concurrent.location}"/><!-- TODO figure out for what versions of jboss this is necessary, and if it exists in other locations -->
       <copy todir="${project.release}/jboss-40-install/jboss-aop-jdk14.deployer" file="${jboss-container-metadata-spi14.location}"/>
       <copy todir="${project.release}/jboss-40-install/jboss-aop-jdk14.deployer" file="${javassist.location}"/>
-      <copy todir="${project.release}/jboss-40-install/jboss-aop-jdk14.deployer" file="${jbossretro.location}"/><!-- TODO figure out for what versions of jboss this is necessary, and if it exists in other locations -->
+      <copy todir="${project.release}/jboss-40-install/jboss-aop-jdk14.deployer" file="${jbossretro-rt.location}"/><!-- TODO figure out for what versions of jboss this is necessary, and if it exists in other locations -->
       <copy todir="${project.release}/jboss-40-install/jboss-aop-jdk14.deployer" file="${trove.location}"/>
       <copy tofile="${project.release}/jboss-40-install/jboss-aop-jdk14.deployer/META-INF/jboss-service.xml" file="output/temp/jboss-service-jdk4.xml"/>
 
-      <!-- The JBoss 4.0.x and 4.2.0x libs for JDK 5 -->
+      <!-- The JBoss 4.0.x and 4.2.x libs for JDK 5 -->
       <copy file="${aop.jboss-service.location}" tofile="output/temp/jboss-service-jdk50.xml" filtering="true">
          <filterset>
             <filter token="SERVICE_NAME" value="org.jboss.aop.deployment.AspectManagerServiceJDK5"/>
          </filterset>
       </copy>
+      <copy tofile="${project.release}/jboss-40-install/jboss-aop-jdk50.deployer/build.xml" file="../asintegration/src/etc/jboss-40-install-jboss-aop-jdk50-build.xml"/>
+      <copy todir="${project.release}/jboss-40-install/jboss-aop-jdk50.deployer" file="../asintegration/src/etc/jboss.properties"/>
       <copy todir="${project.release}/jboss-40-install/jboss-aop-jdk50.deployer" file="${project.root}/aop/output/lib/jboss-aop-jdk50.jar"/>
       <copy todir="${project.release}/jboss-40-install/jboss-aop-jdk50.deployer" file="${aop.as4-deployer.location}"/>
       <copy todir="${project.release}/jboss-40-install/jboss-aop-jdk50.deployer/" file="${aop.readme-as4.location}"/>




More information about the jboss-cvs-commits mailing list