mirror of
https://github.com/MinimalBible/MinimalBible-Legacy
synced 2024-12-22 14:48:25 -05:00
Get the JarJar system running to build a shaded Jar
Unfortunately means I can't just copy the ivy.xml from jSword. But I do have excludes="" that I didn't with maven previously.
This commit is contained in:
parent
08f179b0c3
commit
bfe6eeda0c
1
jsword-minimalbible/.gitignore
vendored
1
jsword-minimalbible/.gitignore
vendored
@ -4,4 +4,3 @@
|
|||||||
/ivy
|
/ivy
|
||||||
/libs
|
/libs
|
||||||
/tools
|
/tools
|
||||||
/ivy.xml
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<project name="buildJswordTweakedJar" default="copyJarsToMinimalBible"
|
<project name="buildJswordTweakedJar" default="copyJarsToMinimalBible"
|
||||||
basedir="." xmlns:ivy="antlib:org.apache.ivy.ant">
|
basedir="." xmlns:ivy="antlib:org.apache.ivy.ant">
|
||||||
|
|
||||||
<!-- Much of this code taken lovingly from https://github.com/mjdenham/and-bible/blob/master/jsword-tweaks/build.xml -->
|
<!-- Much of this code taken lovingly from https://github.com/mjdenham/and-bible/blob/master/jsword-tweaks/build.xml -->
|
||||||
|
|
||||||
<property name="jsword.project" location="../jsword" />
|
<property name="jsword.project" location="../jsword" />
|
||||||
<property name="jsword.src" location="${jsword.project}/src/main/java" />
|
<property name="jsword.src" location="${jsword.project}/src/main/java" />
|
||||||
@ -17,7 +17,7 @@
|
|||||||
<property name="jsword-dependencydir" location="${jsword-tweaks.home}/lib/jars" />
|
<property name="jsword-dependencydir" location="${jsword-tweaks.home}/lib/jars" />
|
||||||
|
|
||||||
<path id="classpath">
|
<path id="classpath">
|
||||||
<!-- First set of jars is given us by ivy -->
|
<!-- First set of jars is given us by ivy -->
|
||||||
<fileset dir="${jsword-dependencydir}" includes="*.jar" />
|
<fileset dir="${jsword-dependencydir}" includes="*.jar" />
|
||||||
<fileset dir="./libs" includes="*.jar" />
|
<fileset dir="./libs" includes="*.jar" />
|
||||||
</path>
|
</path>
|
||||||
@ -26,7 +26,6 @@
|
|||||||
<delete dir="${build.src}" />
|
<delete dir="${build.src}" />
|
||||||
<delete dir="${build.class}" />
|
<delete dir="${build.class}" />
|
||||||
<delete dir="${distribution}" />
|
<delete dir="${distribution}" />
|
||||||
<!-- Forces us to redownload dependencies, but I'm OK with that -->
|
|
||||||
<delete dir="${jsword-dependencydir}" />
|
<delete dir="${jsword-dependencydir}" />
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
@ -36,9 +35,6 @@
|
|||||||
<mkdir dir="${build.class}" />
|
<mkdir dir="${build.class}" />
|
||||||
<mkdir dir="${distribution}" />
|
<mkdir dir="${distribution}" />
|
||||||
<mkdir dir="${jsword-dependencydir}" />
|
<mkdir dir="${jsword-dependencydir}" />
|
||||||
<copy todir="${jsword-tweaks.home}">
|
|
||||||
<fileset file="${jsword.project}/ivy.xml" />
|
|
||||||
</copy>
|
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="mergeCode" depends="init">
|
<target name="mergeCode" depends="init">
|
||||||
@ -82,14 +78,21 @@
|
|||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="jar" depends="compile">
|
<target name="jar" depends="compile">
|
||||||
<jar jarfile="${distribution}/jsword.jar">
|
<!-- And use JarJar to shade the HttpClient -->
|
||||||
|
<taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask"
|
||||||
|
classpath="${jsword-dependencydir}/jarjar-1.3.jar" />
|
||||||
|
<jarjar jarfile="${distribution}/jsword.jar">
|
||||||
<fileset dir="${build.class}" />
|
<fileset dir="${build.class}" />
|
||||||
<!-- need to include the .properties and .plugin files -->
|
<!-- need to include the .properties and .plugin files -->
|
||||||
<fileset dir="${build.src}">
|
<fileset dir="${build.src}">
|
||||||
<exclude name="**/*.java" />
|
<exclude name="**/*.java" />
|
||||||
<exclude name="**/*.html" />
|
<exclude name="**/*.html" />
|
||||||
</fileset>
|
</fileset>
|
||||||
</jar>
|
<zipgroupfileset dir="${jsword-dependencydir}" includes="*.jar" excludes="junit-*.jar, hamcrest-*.jar, jarjar-*.jar" />
|
||||||
|
<rule pattern="org.apache.http.**" result="org.apache.shaded.http.@1" />
|
||||||
|
</jarjar>
|
||||||
|
|
||||||
|
<!-- We can use regular jar to build the src -->
|
||||||
<jar jarfile="${distribution}/jsword-src.jar" basedir="${build.src}" />
|
<jar jarfile="${distribution}/jsword-src.jar" basedir="${build.src}" />
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
@ -97,7 +100,7 @@
|
|||||||
description="Copy generated jars to And Bible for use">
|
description="Copy generated jars to And Bible for use">
|
||||||
<copy todir="${MinimalBible}/libs">
|
<copy todir="${MinimalBible}/libs">
|
||||||
<fileset dir="${distribution}" includes="*.jar" excludes="*-src.jar" />
|
<fileset dir="${distribution}" includes="*.jar" excludes="*-src.jar" />
|
||||||
<fileset dir="${jsword-dependencydir}" includes="*.jar" />
|
<!-- We only need to include jsword.jar, the jarjar already included dependencies. -->
|
||||||
</copy>
|
</copy>
|
||||||
<copy todir="${MinimalBible}/libs-src">
|
<copy todir="${MinimalBible}/libs-src">
|
||||||
<fileset dir="${distribution}" includes="*-src.jar" />
|
<fileset dir="${distribution}" includes="*-src.jar" />
|
||||||
|
30
jsword-minimalbible/ivy.xml
Normal file
30
jsword-minimalbible/ivy.xml
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<ivy-module version="2.0">
|
||||||
|
<info organisation="org.crosswire" module="jsword"/>
|
||||||
|
<dependencies>
|
||||||
|
<dependency org="commons-codec" name="commons-codec" rev="1.9" conf="default->master,sources" />
|
||||||
|
<dependency org="commons-net" name="commons-net" rev="3.3" conf="default->master,sources" />
|
||||||
|
<dependency org="org.apache.commons" name="commons-compress" rev="1.7" conf="default->master,sources" />
|
||||||
|
<dependency org="org.tukaani" name="xz" rev="1.4" conf="default->master,sources" />
|
||||||
|
<dependency org="org.apache.httpcomponents" name="httpcore" rev="4.3.2" conf="default->master,sources" />
|
||||||
|
<dependency org="org.apache.httpcomponents" name="httpclient" rev="4.3.2" conf="default->master,sources" />
|
||||||
|
<dependency org="org.jdom" name="jdom2" rev="2.0.5" conf="default->master,sources" />
|
||||||
|
<dependency org="org.apache.lucene" name="lucene-core" rev="3.0.3" conf="default->master,sources" />
|
||||||
|
<dependency org="org.apache.lucene" name="lucene-analyzers" rev="3.0.3" conf="default->master,sources" />
|
||||||
|
<dependency org="org.apache.lucene" name="lucene-smartcn" rev="3.0.3" conf="default->master,sources" />
|
||||||
|
<dependency org="org.apache.lucene" name="lucene-snowball" rev="3.0.3" conf="default->master,sources" />
|
||||||
|
<dependency org="junit" name="junit" rev="4.11" conf="default->master,sources" />
|
||||||
|
<dependency org="org.hamcrest" name="hamcrest-library" rev="1.3"/>
|
||||||
|
<dependency org="com.ibm.icu" name="icu4j" rev="52.1" conf="default->master,sources" />
|
||||||
|
<dependency org="org.slf4j" name="slf4j-api" rev="1.7.6" conf="default->master,sources" />
|
||||||
|
<dependency org="org.slf4j" name="jcl-over-slf4j" rev="1.7.6" conf="default->master,sources" />
|
||||||
|
<dependency org="org.slf4j" name="slf4j-jdk14" rev="1.7.6" conf="default->master,sources" />
|
||||||
|
<!-- dependency org="xalan" name="xalan" rev="2.7.1" conf="default->master,sources" / -->
|
||||||
|
<!-- dependency org="xalan" name="serializer" rev="2.7.1" conf="default->master,sources" / -->
|
||||||
|
<!-- dependency org="xerces" name="xercesImpl" rev="2.11.0" conf="default->master,sources" / -->
|
||||||
|
|
||||||
|
<!-- And to fix the HttpClient shenanigans...
|
||||||
|
http://stackoverflow.com/questions/20238421/java-lang-nosuchfielderror-org-apache-http-message-basiclineformatter-instance -->
|
||||||
|
<dependency org="com.googlecode.jarjar" name="jarjar" rev="1.3" />
|
||||||
|
|
||||||
|
</dependencies>
|
||||||
|
</ivy-module>
|
Loading…
Reference in New Issue
Block a user