[java-decompiler] migrates to Gradle
Simplifies CI (the outer IDEA project no longer bundles JUnit and AssertJ .jars).
This commit is contained in:
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
/.gradle/
|
||||
/build/
|
||||
24
build.gradle
Normal file
24
build.gradle
Normal file
@@ -0,0 +1,24 @@
|
||||
apply plugin: 'java'
|
||||
|
||||
compileJava {
|
||||
sourceCompatibility '1.8'
|
||||
targetCompatibility '1.8'
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main.java.srcDirs 'src'
|
||||
test.java.srcDirs 'test'
|
||||
}
|
||||
|
||||
repositories { jcenter() }
|
||||
dependencies {
|
||||
testCompile 'junit:junit:4.+'
|
||||
testCompile 'org.assertj:assertj-core:3.+'
|
||||
}
|
||||
|
||||
jar {
|
||||
archiveName 'fernflower.jar'
|
||||
manifest {
|
||||
attributes 'Main-Class': 'org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler'
|
||||
}
|
||||
}
|
||||
59
build.xml
59
build.xml
@@ -1,59 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project name="Fernflower" default="dist" basedir=".">
|
||||
|
||||
<target name="init">
|
||||
<property name="src" value="${basedir}/src"/>
|
||||
<property name="out" value="${basedir}/out/production"/>
|
||||
<property name="dist" value="${basedir}/fernflower.jar"/>
|
||||
<property name="test-src" value="${basedir}/test"/>
|
||||
<property name="test-out" value="${basedir}/out/test"/>
|
||||
</target>
|
||||
|
||||
<!-- external dependencies, adjust to your own -->
|
||||
<path id="junit">
|
||||
<file name="${basedir}/../../../lib/junit-4.12.jar"/>
|
||||
<file name="${basedir}/../../../lib/hamcrest-core-1.3.jar"/>
|
||||
<file name="${basedir}/../../../lib/dev/assertj-core-3.6.1.jar"/>
|
||||
</path>
|
||||
|
||||
<target name="clean" depends="init">
|
||||
<delete includeemptydirs="true" failonerror="false">
|
||||
<fileset dir="${out}"/>
|
||||
<fileset dir="${test-out}"/>
|
||||
<fileset file="${dist}"/>
|
||||
</delete>
|
||||
</target>
|
||||
|
||||
<target name="compile" depends="init,clean">
|
||||
<mkdir dir="${out}"/>
|
||||
<javac srcdir="${src}" destdir="${out}" source="1.8" target="1.8" encoding="UTF-8" debug="true" includeantruntime="false"/>
|
||||
</target>
|
||||
|
||||
<target name="dist" depends="init,compile">
|
||||
<jar jarfile="${dist}" compress="true" basedir="${out}" includes="**/*.class">
|
||||
<manifest>
|
||||
<attribute name="Main-Class" value="org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler"/>
|
||||
</manifest>
|
||||
</jar>
|
||||
</target>
|
||||
|
||||
<target name="test-compile" depends="init,compile">
|
||||
<mkdir dir="${test-out}"/>
|
||||
<javac srcdir="${test-src}" destdir="${test-out}" source="1.8" target="1.8" encoding="UTF-8" debug="true" includeantruntime="false">
|
||||
<classpath path="${out}"/>
|
||||
<classpath refid="junit"/>
|
||||
</javac>
|
||||
</target>
|
||||
|
||||
<target name="test" depends="init,test-compile">
|
||||
<junit printsummary="true" failureproperty="tests.failed" fork="true">
|
||||
<classpath path="${test-out}:${out}"/>
|
||||
<classpath refid="junit"/>
|
||||
<batchtest>
|
||||
<fileset dir="${test-src}" includes="**/*Test.java"/>
|
||||
</batchtest>
|
||||
</junit>
|
||||
<fail if="tests.failed" message="Tests failed."/>
|
||||
</target>
|
||||
|
||||
</project>
|
||||
Reference in New Issue
Block a user