[jboss-cvs] JBossAS SVN: r78872 - in projects/aop/trunk: aop/src/main/org/jboss/aop/hook and 10 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Sep 25 17:01:02 EDT 2008


Author: pgier
Date: 2008-09-25 17:01:02 -0400 (Thu, 25 Sep 2008)
New Revision: 78872

Added:
   projects/aop/trunk/jrockit-pluggable-instrumentor/
   projects/aop/trunk/jrockit-pluggable-instrumentor/pom.xml
   projects/aop/trunk/jrockit-pluggable-instrumentor/src/
   projects/aop/trunk/jrockit-pluggable-instrumentor/src/main/
   projects/aop/trunk/jrockit-pluggable-instrumentor/src/main/java/
   projects/aop/trunk/jrockit-pluggable-instrumentor/src/main/java/org/
   projects/aop/trunk/jrockit-pluggable-instrumentor/src/main/java/org/jboss/
   projects/aop/trunk/jrockit-pluggable-instrumentor/src/main/java/org/jboss/aop/
   projects/aop/trunk/jrockit-pluggable-instrumentor/src/main/java/org/jboss/aop/hook/
   projects/aop/trunk/jrockit-pluggable-instrumentor/src/main/java/org/jboss/aop/hook/JRockitPluggableClassPreProcessor.java
Removed:
   projects/aop/trunk/aop/src/main/org/jboss/aop/hook/JRockitPluggableClassPreProcessor.java
Modified:
   projects/aop/trunk/aspects/pom.xml
   projects/aop/trunk/build/build-release.xml
   projects/aop/trunk/build/build.xml
   projects/aop/trunk/pom.xml
Log:
[JBBUILD-493] Move jrockit-pluggable-instrumentor to it's own module.  Compile the tests in the aspects module.

Deleted: projects/aop/trunk/aop/src/main/org/jboss/aop/hook/JRockitPluggableClassPreProcessor.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/hook/JRockitPluggableClassPreProcessor.java	2008-09-25 18:00:26 UTC (rev 78871)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/hook/JRockitPluggableClassPreProcessor.java	2008-09-25 21:01:02 UTC (rev 78872)
@@ -1,50 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.aop.hook;
-
-import com.bea.jvm.ClassLibrary;
-import com.bea.jvm.ClassPreProcessor;
-import com.bea.jvm.JVMFactory;
-
-public class JRockitPluggableClassPreProcessor implements ClassPreProcessor
-{
-
-   static
-   {
-      //pre-load necessary classes 
-      Class clazz = JDK14TransformerManager.class;
-      clazz = JDK14Transformer.class;
-   }
-   
-   public JRockitPluggableClassPreProcessor()
-   {
-      ClassLibrary lib = JVMFactory.getJVM().getClassLibrary();
-      lib.setClassPreProcessor(this);
-   }
-   
-   public byte[] preProcess(ClassLoader loader, String classname, byte[] bytes) 
-   {
-      classname = classname.replace('/', '.');
-      byte[] result = JDK14TransformerManager.transform(loader, classname, bytes);
-      return result == null? bytes: result;
-   }
-}
\ No newline at end of file

Modified: projects/aop/trunk/aspects/pom.xml
===================================================================
--- projects/aop/trunk/aspects/pom.xml	2008-09-25 18:00:26 UTC (rev 78871)
+++ projects/aop/trunk/aspects/pom.xml	2008-09-25 21:01:02 UTC (rev 78872)
@@ -11,8 +11,8 @@
   <description>JBoss AOP Aspects</description>
 
   <build>
-    <sourceDirectory>src/main/</sourceDirectory>
-    <!--<testSourceDirectory>src/test/</testSourceDirectory>-->
+    <sourceDirectory>src/main</sourceDirectory>
+    <testSourceDirectory>src/test</testSourceDirectory>
     <resources>
       <resource>
         <directory>docs</directory>
@@ -35,6 +35,10 @@
         <configuration>
           <source>1.5</source>
           <target>1.5</target>
+          <testExcludes>
+            <testExclude>org/jboss/test/asynch/**</testExclude>
+            <testExclude>org/jboss/test/proxyfactory/**</testExclude>
+          </testExcludes>
         </configuration>
       </plugin>
       <plugin>
@@ -86,6 +90,7 @@
       </plugin>
     </plugins>
   </build>
+  
   <dependencies>
     <dependency>
       <groupId>bsh</groupId>
@@ -115,6 +120,24 @@
       <groupId>jboss</groupId>
       <artifactId>jboss-test</artifactId>
     </dependency>
+    
+    <!-- Test scope dependencies -->
+    <dependency>
+      <groupId>org.jboss.javaee</groupId>
+      <artifactId>jboss-jca-api</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.javaee</groupId>
+      <artifactId>jboss-servlet-api</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.aop</groupId>
+      <artifactId>jboss-aop</artifactId>
+      <classifier>tests</classifier>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
 

Modified: projects/aop/trunk/build/build-release.xml
===================================================================
--- projects/aop/trunk/build/build-release.xml	2008-09-25 18:00:26 UTC (rev 78871)
+++ projects/aop/trunk/build/build-release.xml	2008-09-25 21:01:02 UTC (rev 78872)
@@ -131,7 +131,7 @@
       <property name="aop.jboss4.jdk50.location" value="${project.root}/asintegration/output/lib/jboss-aop-jboss4-jdk50.jar"/>
       <!-- TODO I would like to call this  jboss-aop-deployer.jar instead, and update name in appserver trunk -->
       <property name="aop.as5-deployer.location" value="${project.root}/asintegration/output/lib/jboss-aop-deployer-jdk50.jar"/>
-      <property name="aop.jrockit-pluggable-instrumentor.location" value="${project.root}/aop/output/lib/jrockit-pluggable-instrumentor.jar"/>
+      <property name="aop.jrockit-pluggable-instrumentor.location" value="${project.root}/jrockit-pluggable-instrumentor/target/jrockit-pluggable-instrumentor.jar"/>
       <property name="aop.pluggable-instrumentor.location" value="${project.root}/pluggable-instrumentor/target/pluggable-instrumentor.jar"/>
       <property name="aop.readme-as4.location" value="${project.root}/asintegration/src/etc/ReadMe-AS4.txt"/>
       <property name="aop.readme-as5.location" value="${project.root}/asintegration/src/etc/ReadMe-AS5.txt"/>

Modified: projects/aop/trunk/build/build.xml
===================================================================
--- projects/aop/trunk/build/build.xml	2008-09-25 18:00:26 UTC (rev 78871)
+++ projects/aop/trunk/build/build.xml	2008-09-25 21:01:02 UTC (rev 78872)
@@ -257,7 +257,7 @@
               </classpath>
               <sysproperty key="classworlds.conf" value="${maven.dir}/bin/m2.conf" />
               <sysproperty key="maven.home" value="${maven.dir}" />
-              <arg line="--batch-mode -Pant-integration-build @{options} @{goal}" />
+              <arg line="--batch-mode @{options} @{goal}" />
           </java>
       </sequential>
   </macrodef> 
@@ -284,12 +284,12 @@
    </target>
 
    <!-- Run the maven part of the build -->
-   <target name="maven-build-install" depends="createthirdparty, set-jrockit">
+   <target name="maven-build-install" depends="init, createthirdparty, set-jrockit">
      
       <property name="maven.dir" value="${basedir}/../tools/maven"/>
       <property name="build.maven.opts" value=""/>
       <property name="jrockit.build.param" value=""/>
-      
+      <echo message="jrockit: ${jrockit.build.param}"/>
       <maven basedir="${basedir}/../" options="${jrockit.build.param} ${build.maven.opts}" goal="install"/>
       
       <fail message="Unable to build maven modules.  See maven output for details.">


Property changes on: projects/aop/trunk/jrockit-pluggable-instrumentor
___________________________________________________________________
Name: svn:ignore
   + target


Added: projects/aop/trunk/jrockit-pluggable-instrumentor/pom.xml
===================================================================
--- projects/aop/trunk/jrockit-pluggable-instrumentor/pom.xml	                        (rev 0)
+++ projects/aop/trunk/jrockit-pluggable-instrumentor/pom.xml	2008-09-25 21:01:02 UTC (rev 78872)
@@ -0,0 +1,131 @@
+<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>
+  <parent>
+    <groupId>org.jboss.aop</groupId>
+    <artifactId>jboss-aop-parent</artifactId>
+    <version>2.0.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>jrockit-pluggable-instrumentor</artifactId>
+  <packaging>jar</packaging>
+  <name>JBoss AOP JRockit Pluggable Instrumentor</name>
+
+  <build>
+    <finalName>${artifactId}</finalName>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-enforcer-plugin</artifactId>
+        <version>1.0-alpha-4</version>
+        <executions>
+          <execution>
+            <id>enforce-versions</id>
+            <goals>
+              <goal>enforce</goal>
+            </goals>
+            <configuration>
+              <rules>
+                <requireProperty>
+                  <property>jrockit.home</property>
+                  <message>You must define the property "jrockit.home"</message>
+                </requireProperty>
+              </rules>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>2.0.2</version>
+        <configuration>
+          <excludes>
+            <!-- Everything is excluded because the source is compiled by ant.-->
+            <exclude>**</exclude>
+          </excludes>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <version>2.2</version>
+        <configuration>
+          <archive>
+            <manifest>
+              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+            </manifest>
+            <manifestEntries>
+              <Implementation-URL>${pom.url}</Implementation-URL>
+              <Premain-Class>org.jboss.aop.standalone.PluggableInstrumentor</Premain-Class>
+              <Can-Redefine-Classes>true</Can-Redefine-Classes>
+            </manifestEntries>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-antrun-plugin</artifactId>
+        <version>1.2</version>
+        <executions>
+          <execution>
+            <id>jrockit-compile</id>
+            <goals>
+              <goal>run</goal>
+            </goals>
+            <phase>compile</phase>
+            <configuration>
+              <tasks>
+                <echo message="jrockit.home=${jrockit.home}"/>
+                <!-- in older versions of jrockit the weaving stuff lives in managementapi.jar, in newer in management-agent.jar -->
+                <available file="${jrockit.home}/jre/lib/managementapi.jar" property="OLD_JROCKIT" value="managementapi.jar"/>
+                <available file="${jrockit.home}/jre/lib/management-agent.jar" property="NEW_JROCKIT" value="rt.jar"/>
+                <condition property="JROCKIT_API_AVAILABLE" value="${OLD_JROCKIT}">
+                  <and>
+                    <isset property="OLD_JROCKIT"/>
+                    <not>
+                      <isset property="NEW_JROCKIT"/>
+                    </not>
+                  </and>
+                </condition>
+                <condition property="JROCKIT_API_AVAILABLE" value="${NEW_JROCKIT}">
+                  <and>
+                    <isset property="NEW_JROCKIT"/>
+                    <not>
+                      <isset property="OLD_JROCKIT"/>
+                    </not>
+                  </and>
+                </condition>
+                <path id="javac.jrockit.classpath">
+                  <path refid="maven.compile.classpath"/>
+                  <path path="${jrockit.home}/jre/lib/${JROCKIT_API_AVAILABLE}"/>
+                </path>
+
+                <property name="build.compiler" value="extJavac"/>
+                <fail unless="JROCKIT_API_AVAILABLE"> 
+                  JRockit API Not Available.  Skipping JRockit compile. 
+                </fail>
+                <mkdir dir="${project.build.outputDirectory}"/>
+                <javac destdir="${project.build.outputDirectory}"
+                   target="1.4"
+                   source="1.4">
+                   <src path="${project.build.sourceDirectory}"/>
+                   <include name="org/jboss/aop/hook/JRockit*"/>
+                   <classpath refid="javac.jrockit.classpath"/>
+                </javac>
+              </tasks>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  
+  <dependencies>
+    <dependency>
+      <groupId>org.jboss.aop</groupId>
+      <artifactId>jboss-aop</artifactId>
+    </dependency>
+  </dependencies>
+
+</project>


Property changes on: projects/aop/trunk/jrockit-pluggable-instrumentor/pom.xml
___________________________________________________________________
Name: svn:keywords
   + Author Date Id Revision
Name: svn:eol-style
   + native

Copied: projects/aop/trunk/jrockit-pluggable-instrumentor/src/main/java/org/jboss/aop/hook/JRockitPluggableClassPreProcessor.java (from rev 78796, projects/aop/trunk/aop/src/main/org/jboss/aop/hook/JRockitPluggableClassPreProcessor.java)
===================================================================
--- projects/aop/trunk/jrockit-pluggable-instrumentor/src/main/java/org/jboss/aop/hook/JRockitPluggableClassPreProcessor.java	                        (rev 0)
+++ projects/aop/trunk/jrockit-pluggable-instrumentor/src/main/java/org/jboss/aop/hook/JRockitPluggableClassPreProcessor.java	2008-09-25 21:01:02 UTC (rev 78872)
@@ -0,0 +1,50 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.aop.hook;
+
+import com.bea.jvm.ClassLibrary;
+import com.bea.jvm.ClassPreProcessor;
+import com.bea.jvm.JVMFactory;
+
+public class JRockitPluggableClassPreProcessor implements ClassPreProcessor
+{
+
+   static
+   {
+      //pre-load necessary classes 
+      Class clazz = JDK14TransformerManager.class;
+      clazz = JDK14Transformer.class;
+   }
+   
+   public JRockitPluggableClassPreProcessor()
+   {
+      ClassLibrary lib = JVMFactory.getJVM().getClassLibrary();
+      lib.setClassPreProcessor(this);
+   }
+   
+   public byte[] preProcess(ClassLoader loader, String classname, byte[] bytes) 
+   {
+      classname = classname.replace('/', '.');
+      byte[] result = JDK14TransformerManager.transform(loader, classname, bytes);
+      return result == null? bytes: result;
+   }
+}
\ No newline at end of file

Modified: projects/aop/trunk/pom.xml
===================================================================
--- projects/aop/trunk/pom.xml	2008-09-25 18:00:26 UTC (rev 78871)
+++ projects/aop/trunk/pom.xml	2008-09-25 21:01:02 UTC (rev 78872)
@@ -65,8 +65,8 @@
   </build>
   
   <modules>
+    <module>aop</module>
     <module>pluggable-instrumentor</module>
-    <module>aop</module>
     <module>aspects</module>
     <module>asintegration</module>
   </modules>
@@ -272,6 +272,13 @@
       </dependency>
       <dependency>
         <groupId>org.jboss.aop</groupId>
+        <artifactId>jboss-aop</artifactId>
+        <version>${project.version}</version>
+        <classifier>tests</classifier>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.aop</groupId>
         <artifactId>pluggable-instrumentor</artifactId>
         <version>${project.version}</version>
       </dependency>
@@ -525,5 +532,19 @@
       </dependency>
     </dependencies>
   </dependencyManagement>
-    
+  
+  <profiles>
+    <profile>
+      <id>jrockit-module</id>
+      <activation>
+        <property>
+          <name>jrockit.home</name>
+        </property>
+      </activation>
+      <modules>
+        <module>jrockit-pluggable-instrumentor</module>
+      </modules>
+    </profile>
+  </profiles>
+  
 </project>




More information about the jboss-cvs-commits mailing list