+apply plugin: "com.palantir.git-version"
+version gitVersion()
+def gitDetails = versionDetails()
+
+ext.manifestCommonAttrbutes = manifest {
+ attributes(
+ "Built-By": System.getProperty("user.name"),
+ "Implementation-Vendor": "NASA Ames Research Center",
+ "Specification-Version": gitDetails.lastTag,
+ "Implementation-Version": gitDetails.gitHashFull
+ )
+}
+
+apply from: "gradle/ide-support.gradle"
+apply from: "gradle/distribution.gradle"
+apply from: "gradle/source-sets.gradle"
+apply from: "gradle/build-resources.gradle"
+
+task compile {
+ group = "JPF Build"
+ description = "Compiles all JPF core sources."
+
+ // These are automatic generated tasks from the Java Gradle Plugin.
+ // Gradle is able to infer the order of the source sets
+ // due to the compileClasspath attribute
+ dependsOn compileTestJava
+ dependsOn compileExamplesJava
+}
+
+task createJpfClassesJar(type: Jar) {
+ archiveName = "jpf-classes.jar"
+ destinationDir = file("${buildDir}")
+
+ group = "JPF Jars"
+ description = "Creates the ${archiveName} file."
+
+ dependsOn compile
+ dependsOn copyResources
+
+ from sourceSets.classes.java.outputDir
+ from sourceSets.annotations.java.outputDir
+ from(sourceSets.main.java.outputDir) {
+ include "gov/nasa/jpf/JPFShell.class"
+ include "gov/nasa/jpf/vm/Verify.class"
+ include "gov/nasa/jpf/util/TypeRef.class"
+ include "gov/nasa/jpf/util/test/TestJPF.class"
+ include "gov/nasa/jpf/util/test/TestMultiProcessJPF.class"
+ include "gov/nasa/jpf/util/test/TestJPFHelper.class"
+ }
+}
+
+task createJpfJar(type: Jar) {
+ archiveName = "jpf.jar"
+ destinationDir = file("${buildDir}")
+
+ group = "JPF Jars"
+ description = "Creates the ${archiveName} file."
+
+ dependsOn compile
+ dependsOn copyResources
+
+ from sourceSets.main.java.outputDir
+ from sourceSets.peers.java.outputDir
+ from sourceSets.annotations.java.outputDir
+ from(sourceSets.classes.java.outputDir) {
+ include "org/junit/*.class"