diff --git a/.gitignore b/.gitignore index d060063..afb3211 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ /dist/ /store/ /optimizations/ -/nbproject/private/ \ No newline at end of file +/nbproject/private/ +/src/main/generatedJava/ \ No newline at end of file diff --git a/build.gradle b/build.gradle index 1f2b23a..4148ea5 100644 --- a/build.gradle +++ b/build.gradle @@ -7,6 +7,9 @@ if (!hasProperty('mainClass')) { ext.mainClass = 'com.annimon.ownlang.Main' } +ext.generatedJavaDir = "${rootProject.projectDir}/src/main/generatedJava" +sourceSets.main.java.srcDirs += project.generatedJavaDir + repositories { jcenter() } @@ -20,6 +23,21 @@ buildscript { } } +task generateJavaSources() { + doLast { + def source = """ + package com.annimon.ownlang; + class Gen { + public static final String BUILD_DATE = "${new Date().format('YYMMdd')}"; + } + """ + def genFile = new File("${project.generatedJavaDir}/com/annimon/ownlang/Gen.java") + genFile.getParentFile().mkdirs() + genFile.write(source) + } +} +compileJava.dependsOn(generateJavaSources) + task run(dependsOn: classes, type: JavaExec) { main = project.mainClass classpath = sourceSets.main.runtimeClasspath @@ -37,13 +55,14 @@ task runOptimizing(dependsOn: classes, type: JavaExec) { task dist(dependsOn: classes, type: Jar) { from files(sourceSets.main.output.classesDir) + from files(sourceSets.main.output.resourcesDir) from {configurations.compile.collect {zipTree(it)}} - from files(sourceSets.main.resources) - libsDirName = "$rootProject.projectDir/dist" + destinationDir file("$rootProject.projectDir/dist") - manifest { - attributes 'Main-Class': project.mainClass - } + manifest.attributes( + 'Main-Class': project.mainClass, + 'Build-Date': new Date().format('YYMMdd') + ) } task proguard(dependsOn: dist, type: proguard.gradle.ProGuardTask) { diff --git a/src/main/java/com/annimon/ownlang/Main.java b/src/main/java/com/annimon/ownlang/Main.java index d5fc0f1..9edd6b0 100644 --- a/src/main/java/com/annimon/ownlang/Main.java +++ b/src/main/java/com/annimon/ownlang/Main.java @@ -22,7 +22,7 @@ import java.util.concurrent.TimeUnit; */ public final class Main { - public static final String VERSION = "1.3.0"; + public static final String VERSION = "1.3.0_" + Gen.BUILD_DATE; private static String[] ownlangArgs = new String[0];