Генерируемая дата сборки в версии приложения

This commit is contained in:
Victor 2016-12-07 15:04:59 +02:00
parent 59a86c7d54
commit 7b8c6ad406
3 changed files with 27 additions and 7 deletions

3
.gitignore vendored
View File

@ -3,4 +3,5 @@
/dist/
/store/
/optimizations/
/nbproject/private/
/nbproject/private/
/src/main/generatedJava/

View File

@ -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) {

View File

@ -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];