Fixed missing properties files on build cycle
[jpf-core.git] / build.gradle
index 1ee8699f74d258ef274caeab6789024ee47496c3..0dc9c6986d150ab51fcb2e0cb94ec9072562d25f 100644 (file)
@@ -87,6 +87,10 @@ task buildInfo {
         def writer = new File("build.properties").newWriter("utf-8")
         info.store(writer, "JPF core build info")
         writer.close()
+
+        // Copies generated build.properties file to the build directory
+        from "build.properties"
+        into sourceSets.main.java.outputDir.path + "/gov/nasa/jpf"
     }
 }
 
@@ -99,15 +103,58 @@ task compile(type: Copy) {
     // due to the compileClasspath attribute
     dependsOn compileTestJava, compileExamplesJava, generateVersion
 
-    // Copies build.properties file to the build directory
-    from "build.properties"
-    into sourceSets.main.java.outputDir.path + "/gov/nasa/jpf"
-
     // Copies .version file to the build directory
     from ".version"
     into sourceSets.main.java.outputDir.path + "/gov/nasa/jpf"
 }
 
+task srcDist(type: Zip) {
+    group = "JPF Build"
+    description = "Builds the source distribution"
+
+    baseName = project.name
+    version = "git rev-parse --short HEAD".execute().text.trim()
+    classifier = "src"
+    extension = "zip"
+
+    destinationDir = buildDir
+    includeEmptyDirs = false
+
+    from projectDir
+    include "build.gradle"
+    include "settings.gradle"
+    include "gradlew"
+    include "gradlew.bat"
+    include "gradle/**/*"
+    include "nbproject/**/*"
+    include "eclipse/**/*"
+    include "src/**/*"
+    include "bin/**/*"
+    include "jpf.properties"
+    include "build.properties"
+    include "LICENSE-2.0.txt"
+    include "README.md"
+}
+
+task dist(type: Zip) {
+    group = "JPF Build"
+    description = "Builds binary distribution"
+
+    baseName = project.name
+    version = "git rev-parse --short HEAD".execute().text.trim()
+    extension = "zip"
+
+    destinationDir = buildDir
+    includeEmptyDirs = false
+
+    from projectDir
+    include "jpf.properties"
+    include "build.properties"
+    include "bin/**/*"
+    include "lib/**/*"
+    include "${buildDir.name}/**/*.jar"
+}
+
 task jpfClassesJar(type: Jar) {
     archiveName = "jpf-classes.jar"
     destinationDir = file("${buildDir}")
@@ -256,6 +303,8 @@ task buildJars {
     group = "JPF Build"
     description = "Generates the core JPF jar files."
 
+    dependsOn buildInfo
+
     dependsOn classloaderSpecificTestsJar, annotationsJar,
               jpfClassesJar, jpfJar, runJpfJar,
               runTestJar