X-Git-Url: http://plrg.eecs.uci.edu/git/?p=jpf-core.git;a=blobdiff_plain;f=build.gradle;h=1ee8699f74d258ef274caeab6789024ee47496c3;hp=3ab3ce00ca898956bbe40adddbc65e1ca751c1d9;hb=4f636d3ebf8bf1e3494efb388e764f3ddcd6d1df;hpb=8c822ac7b303bd2915640ff4f5a133763ca8fbf2;ds=sidebyside diff --git a/build.gradle b/build.gradle index 3ab3ce0..1ee8699 100644 --- a/build.gradle +++ b/build.gradle @@ -60,6 +60,36 @@ task generateVersion { } } +task buildInfo { + group = "JPF Build Properties" + description = "Creates build info properties." + doLast { + + // Must fail if there are uncommitted changes + def status = "git status --short".execute().text.trim() + if (!status.isEmpty()) { + throw new GradleException("There are uncomitted changes:\n " + status) + } + Properties info = new Properties() + + def revision = "git rev-parse --short HEAD".execute().text.trim() + def userName = ["git", "log", "-1", "--format=%an <%ae>"].execute().text.trim() + def date = "git log -1 --format=%ci".execute().text.trim() + + info.setProperty("revision", revision) + info.setProperty("date", date) + info.setProperty("author", userName) + info.setProperty("os.arch", System.getProperty("os.arch")) + info.setProperty("os.name", System.getProperty("os.name")) + info.setProperty("user.country", System.getProperty("user.country")) + info.setProperty("java.version", System.getProperty("java.version")) + + def writer = new File("build.properties").newWriter("utf-8") + info.store(writer, "JPF core build info") + writer.close() + } +} + task compile(type: Copy) { group = "JPF Build" description = "Compiles all JPF core sources."