Download "dx.jar" from Maven, as we already do for "android.jar"

This should make it easier for newcomers to get WALA up and running
from sources.  One no longer needs to manually find "dx.jar" using
instructions given at
<http://wala.sourceforge.net/wiki/index.php/UserGuide:Getting_Started#Building_the_code>
or
<https://groups.google.com/forum/#!msg/wala-sourceforge-net/cBYsfEvYVG0/Ua52dyQQU-YJ>.
Those instructions were already out-of-date, anyway.

Given that an official release of "dx.jar" is available in Maven, it
would be nice to have Maven itself manage that dependency.
Unfortunately, it seems that WALA in general does not use Maven for
dependency management.  As far as I can tell, the Maven configuration
just calls out to Ant for doing builds, including having Ant download
other needed components.  If WALA ever moved to using Maven more
fully, downloading "dx.jar" could easily come along with that.
This commit is contained in:
Ben Liblit 2017-03-16 19:35:39 -05:00
parent ffa41a6120
commit 2a61306338
2 changed files with 5 additions and 12 deletions

View File

@ -3,8 +3,6 @@ jdk: oraclejdk8
before_install:
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
- "mkdir -p $TRAVIS_BUILD_DIR/com.ibm.wala.dalvik.test/lib"
- "find /usr/local -name dx.jar -exec cp '{}' $TRAVIS_BUILD_DIR/com.ibm.wala.dalvik.test/lib/dx.jar ';'"
- "git clone --depth=1 https://github.com/secure-software-engineering/DroidBench.git /tmp/DroidBench"
install:
- mvn clean verify -DskipTests=true -B -q

View File

@ -62,21 +62,16 @@
<available file="${plugin.destination}/data/android.jar" property="android.jar.present"/>
</target>
<target name="copyDxJar" depends="dxJarPresent" unless="dx.jar.present">
<fail unless="env.ANDROID_HOME" message="ANDROID_HOME is not set! Set the environment variable or copy dx.jar manually." />
<mkdir dir="${basedir}/lib/"/>
<copy tofile="${basedir}/lib/dx.jar">
<first>
<fileset dir="${env.ANDROID_HOME}" includes="build-tools/*/lib/dx.jar"/>
</first>
</copy>
</target>
<target name="fetchDxJar" depends="dxJarPresent" unless="dx.jar.present">
<mkdir dir="${basedir}/lib/"/>
<get src="http://central.maven.org/maven2/com/google/android/tools/dx/1.7/dx-1.7.jar" dest="${basedir}/lib/dx.jar" />
</target>
<target name="dxJarPresent" depends="init">
<available file="${basedir}/lib/dx.jar" property="dx.jar.present"/>
</target>
<target name="getJars" depends="fetchSampleLex,fetchSampleCup,fetchAndroidJar,copyDxJar" />
<target name="getJars" depends="fetchSampleLex,fetchSampleCup,fetchAndroidJar,fetchDxJar" />
<target name="init" depends="properties">
<condition property="pluginTemp" value="${buildTempFolder}/plugins">