Skip to content

Instantly share code, notes, and snippets.

@guw
Last active August 29, 2015 14:04
Show Gist options
  • Save guw/a7520f035f2250f80c97 to your computer and use it in GitHub Desktop.
Save guw/a7520f035f2250f80c97 to your computer and use it in GitHub Desktop.
Script to update & repackage ASM and CGLIB contained in Mockito
<?xml version="1.0"?>
<project name="fetch-cglib" basedir="." default="repackage-new-source">
<target name="clean">
<delete dir="build/repackage" />
</target>
<target name="init">
<mkdir dir="build/repackage" />
</target>
<target name="init-package-rename" depends="init">
<get src="http://central.maven.org/maven2/com/sun/wts/tools/ant/package-rename-task/1.4/package-rename-task-1.4.jar" dest="build/repackage/package-rename-task.jar" />
<taskdef name="package-rename" classname="com.sun.wts.tools.ant.PackageRenameTask">
<classpath>
<pathelement path="build/repackage/package-rename-task.jar" />
</classpath>
</taskdef>
</target>
<target name="repackage" depends="repackage-asm, repackage-cglib">
<copy todir="build/src-new">
<fileset dir="build/repackage/asm-repackaged" includes="org/**/*" />
<fileset dir="build/repackage/cglib-repackaged" includes="org/**/*" />
</copy>
<sync todir="src">
<fileset dir="build/src-new"/>
</sync>
</target>
<target name="repackage-new-source" depends="repackage">
<sync todir="src">
<fileset dir="build/src-new"/>
</sync>
</target>
<target name="repackage-asm" depends="init-package-rename">
<get src="http://central.maven.org/maven2/org/ow2/asm/asm-all/4.2/asm-all-4.2-sources.jar" dest="build/repackage/asm-sources.jar" />
<unzip src="build/repackage/asm-sources.jar" dest="build/repackage/asm" />
<package-rename srcdir="build/repackage/asm" destdir="build/repackage/asm-repackaged">
<pattern from="org.objectweb.asm" to="org.mockito.asm" />
</package-rename>
</target>
<target name="repackage-cglib" depends="init-package-rename">
<get src="http://central.maven.org/maven2/cglib/cglib/3.1/cglib-3.1-sources.jar" dest="build/repackage/cglib-sources.jar" />
<unzip src="build/repackage/cglib-sources.jar" dest="build/repackage/cglib" />
<package-rename srcdir="build/repackage/cglib/src/proxy" destdir="build/repackage/cglib-repackaged">
<pattern from="net.sf.cglib" to="org.mockito.cglib" />
<pattern from="samples" to="org.mockito.cglib.samples" />
<pattern from="org.objectweb.asm" to="org.mockito.asm" />
</package-rename>
</target>
</project>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment