aspectwerkz-2.0-r1.ebuild # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/dev-java/aspectwerkz/aspectwerkz-2.0_rc2.ebuild,v 1.5 2005/07/15 18:04:56 axxo Exp $ inherit java-pkg eutils DESCRIPTION="AspectWerkz is a dynamic, lightweight and high-performant AOP/AOSD framework for Java." SRC_URI="http://dist.codehaus.org/aspectwerkz/distributions/aspectwerkz-2.0.zip" HOMEPAGE="http://aspectwerkz.codehaus.org" LICENSE="LGPL-2.1" SLOT="2" KEYWORDS="~x86 ~amd64 ~ppc" RDEPEND=">=virtual/jre-1.4 =dev-java/asm-1.5* dev-java/bcel dev-java/concurrent-util =dev-java/dom4j-1* =dev-java/javassist-2* dev-java/jrexx >=dev-java/junitperf-1.9.1 dev-java/trove =dev-java/qdox-20050104" DEPEND=">=virtual/jdk-1.4 ${RDEPEND} >=dev-java/ant-core-1.5 app-arch/unzip jikes? ( >=dev-java/jikes-1.21 ) source? ( app-arch/zip )" IUSE="jikes source" S=${WORKDIR}/aspectwerkz-2.0 src_unpack() { unpack ${A} cd ${S} epatch ${FILESDIR}/${P}-r1-gentoo.patch find . -name '*.jar' -exec rm {} \; || die cd ${S}/lib #rm *.jar java-pkg_jar-from asm-1.5 java-pkg_jar-from bcel java-pkg_jar-from concurrent-util java-pkg_jar-from dom4j-1 java-pkg_jar-from javassist-2 java-pkg_jar-from jrexx java-pkg_jar-from junitperf java-pkg_jar-from trove java-pkg_jar-from qdox-1.6 } src_compile() { local antflags="dist" use jikes && antflags="${antflags} -Dbuild.compiler=jikes" ant ${antflags} || die "failed to build" } src_install() { java-pkg_dojar lib/${PN}*.jar use source && java-pkg_dosrc src/* } === aspectwerkz-2.0-r1-gentoo.patch: --- build.xml.orig 2005-03-10 12:05:48.000000000 +0300 +++ build.xml 2006-01-28 12:22:12.436634250 +0300 @@ -44,8 +44,6 @@ <!-- <property name="aspectwerkz.classpath" refid="aspectwerkz.classpath" />--> <!-- define the jarjar task we use to remap ASM --> - <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpath="${basedir}/lib/jarjar-0.3.jar"/> - <target name="cleandist" depends="clean, dist"/> <!-- =================================================== --> @@ -124,7 +122,7 @@ <!-- ============================================================== --> <!-- compiles the distribution --> <!-- ============================================================== --> - <target name="compile" depends="init"> + <target name="compile" depends="clean"> <mkdir dir="${build.dir}"/> <mkdir dir="${main.classes}"/> <javac destdir="${jdk14.classes}" debug="on" source="1.3" target="1.3"> @@ -156,12 +154,6 @@ <path refid="project.class.path"/> </classpath> </javac> - <!-- remap ASM since it is used directly in the tests for some --> - <jarjar destfile="${test.classes}.jar"> - <fileset dir="${test.classes}" includes="**/*"/> - <rule pattern="org.objectweb.asm.**" result="org.codehaus.aspectwerkz.@0"/> - </jarjar> - <unjar src="${test.classes}.jar" dest="${test.classes}" overwrite="true"/> </target> <!-- ============================================================== --> @@ -253,49 +245,36 @@ <!-- ============================================================== --> <!-- create distribution --> <!-- ============================================================== --> - <target name="dist" depends="compile, compile:jdk15, compile:test, compile:extensions"><!-- not samples since Java 1.4 --> + <target name="dist" depends="compile, compile:jdk15"><!-- not samples since Java 1.4 --> <copy file="${src.dir}/main/aspectwerkz2.dtd" todir="${main.classes}"/> <!-- we embed jarjar version of ASM in it as well in case the aspectwerkz-core jar is not used --> - <jarjar destfile="${build.dir}/aspectwerkz-${version}.jar" manifest="${lib.dir}/manifest.mf"> + <jar destfile="${build.dir}/aspectwerkz.jar" manifest="${lib.dir}/manifest.mf"> <fileset dir="${main.classes}"> <exclude name="**/aspectwerkz/hook/**/*"/> </fileset> - <zipfileset src="${basedir}/lib/asm-1.5.4-snapshot.jar"/> - <zipfileset src="${basedir}/lib/asm-attrs-1.5.4-snapshot.jar"/> - <rule pattern="org.objectweb.asm.**" result="org.codehaus.aspectwerkz.@0"/> - </jarjar> - <copy tofile="${lib.dir}/aspectwerkz-${version}.jar" file="${build.dir}/aspectwerkz-${version}.jar" overwrite="true"/> + </jar> + <copy tofile="${lib.dir}/aspectwerkz-${version}.jar" file="${build.dir}/aspectwerkz.jar" overwrite="true"/> <!-- JDK 1.4 annotations only --> - <jar destfile="${build.dir}/aspectwerkz-jdk14-${version}.jar"> + <jar destfile="${build.dir}/aspectwerkz-jdk14.jar"> <fileset dir="${jdk14.classes}"/> </jar> - <copy tofile="${lib.dir}/aspectwerkz-jdk14-${version}.jar" file="${build.dir}/aspectwerkz-jdk14-${version}.jar" overwrite="true"/> + <copy tofile="${lib.dir}/aspectwerkz-jdk14-${version}.jar" file="${build.dir}/aspectwerkz-jdk14.jar" overwrite="true"/> <!-- core contains the hook part --> <!-- we embed jarjar version of ASM in it as well so that it will be in the bootclasspath for the asm hook --> - <jarjar destfile="${build.dir}/aspectwerkz-core-${version}.jar"> + <jar destfile="${build.dir}/aspectwerkz-core.jar"> <fileset dir="${main.classes}"> <include name="**/aspectwerkz/hook/**/*"/> </fileset> - <zipfileset src="${basedir}/lib/asm-1.5.4-snapshot.jar"/> - <zipfileset src="${basedir}/lib/asm-attrs-1.5.4-snapshot.jar"/> - <rule pattern="org.objectweb.asm.**" result="org.codehaus.aspectwerkz.@0"/> - </jarjar> - <copy tofile="${lib.dir}/aspectwerkz-core-${version}.jar" file="${build.dir}/aspectwerkz-core-${version}.jar" overwrite="true"/> - - <!-- extensions embeds ASM as well --> - <jarjar jarfile="${build.dir}/aspectwerkz-extensions-${version}.jar" basedir="${extensions.classes}"> - <rule pattern="org.objectweb.asm.**" result="org.codehaus.aspectwerkz.@0"/> - </jarjar> - <copy tofile="${lib.dir}/aspectwerkz-extensions-${version}.jar" file="${build.dir}/aspectwerkz-extensions-${version}.jar" overwrite="true"/> + </jar> + <copy tofile="${lib.dir}/aspectwerkz-core-${version}.jar" file="${build.dir}/aspectwerkz-core.jar" overwrite="true"/> <!-- build a jdk neutral nodeps for the main jar (extensions + deps) (not core, jdk14, jdk15, Ant, JUnit,) --> - <jar destfile="${build.dir}/aspectwerkz-nodeps-${version}.jar"> - <zipfileset src="${build.dir}/aspectwerkz-${version}.jar"/> - <zipfileset src="${build.dir}/aspectwerkz-extensions-${version}.jar"/> + <jar destfile="${build.dir}/aspectwerkz-nodeps.jar"> + <zipfileset src="${build.dir}/aspectwerkz.jar"/> <zipgroupfileset dir="${lib.dir}"> <exclude name="jarjar*"/> <exclude name="aspectwerkz*"/> @@ -308,32 +287,32 @@ <exclude name="qdox*"/> <include name="*.jar"/> <!-- add qdox manually to remove its META-INF/LICENSE.txt that is not the one of AW --> - <zipfileset src="${lib.dir}/qdox-1.4.jar" excludes="META-INF/*"/> + <zipfileset src="${lib.dir}/qdox.jar" excludes="META-INF/*"/> </jar> <!-- nodeps --> - <jar destfile="${build.dir}/aspectwerkz-nodeps-jdk14-${version}.jar"> - <zipfileset src="${build.dir}/aspectwerkz-nodeps-${version}.jar"/> - <zipfileset src="${build.dir}/aspectwerkz-jdk14-${version}.jar"/> + <jar destfile="${build.dir}/aspectwerkz-nodeps-jdk14.jar"> + <zipfileset src="${build.dir}/aspectwerkz-nodeps.jar"/> + <zipfileset src="${build.dir}/aspectwerkz-jdk14.jar"/> </jar> - <copy tofile="${lib.dir}/aspectwerkz-nodeps-jdk14-${version}.jar" file="${build.dir}/aspectwerkz-nodeps-jdk14-${version}.jar" overwrite="true"/> + <copy tofile="${lib.dir}/aspectwerkz-nodeps-jdk14-${version}.jar" file="${build.dir}/aspectwerkz-nodeps-jdk14.jar" overwrite="true"/> <antcall target="dist:jdk15"/> </target> <target name="dist:jdk15" if="jdk15"> <!-- Java 5 annotation and JVMTI agent if J2SE 5 build --> - <jar destfile="${build.dir}/aspectwerkz-jdk5-${version}.jar" manifest="${lib.dir}/manifest-core.mf"> + <jar destfile="${build.dir}/aspectwerkz-jdk5.jar" manifest="${lib.dir}/manifest-core.mf"> <fileset dir="${jdk15.classes}"/> </jar> - <copy tofile="${lib.dir}/aspectwerkz-jdk5-${version}.jar" file="${build.dir}/aspectwerkz-jdk5-${version}.jar" overwrite="true"/> + <copy tofile="${lib.dir}/aspectwerkz-jdk5-${version}.jar" file="${build.dir}/aspectwerkz-jdk5.jar" overwrite="true"/> <!-- nodeps --> - <jar destfile="${build.dir}/aspectwerkz-nodeps-jdk5-${version}.jar" manifest="${lib.dir}/manifest-core.mf"> - <zipfileset src="${build.dir}/aspectwerkz-nodeps-${version}.jar"/> - <zipfileset src="${build.dir}/aspectwerkz-jdk5-${version}.jar"/> + <jar destfile="${build.dir}/aspectwerkz-nodeps-jdk5.jar" manifest="${lib.dir}/manifest-core.mf"> + <zipfileset src="${build.dir}/aspectwerkz-nodeps.jar"/> + <zipfileset src="${build.dir}/aspectwerkz-jdk5.jar"/> </jar> - <copy tofile="${lib.dir}/aspectwerkz-nodeps-jdk5-${version}.jar" file="${build.dir}/aspectwerkz-nodeps-jdk5-${version}.jar" overwrite="true"/> + <copy tofile="${lib.dir}/aspectwerkz-nodeps-jdk5-${version}.jar" file="${build.dir}/aspectwerkz-nodeps-jdk5.jar" overwrite="true"/> </target> <!-- ============================================================== -->
Created attachment 78329 [details, diff] Patch for aspectwerkz 2.0 build.xml
Created attachment 78330 [details] aspectwerkz 2.0-r1 ebuild
This ebuild is now located in the migrated-java-experimental-overlay https://overlays.gentoo.org/svn/proj/java/migrated-java-experimental-overlay/dev-java/aspectwerkz/ There is one outstanding concern I have with the ebuild, but that will be fixed within the next day or 2. The ebuild has also been migrated to gen-2. while presently all others are gen-1 Thanks for you effort Andrew
(In reply to comment #3) > > There is one outstanding concern I have with the ebuild, but that will be fixed > within the next day or 2. The ebuild has also been migrated to gen-2. while > presently all others are gen-1 > > Thanks for you effort Andrew > Did you address this concern?
(In reply to comment #4) > > Did you address this concern? > Hmm. It seems I had quite a lot of stuff locally for this. Let's see how it goes.
Version bump committed. Does not install nodeps jars any more. Bundling classes inside the jars is bad. The tests fail so need to look into that. Opened bug 203268 for it.