diff -r fef46dce2812 -r 831cffa9c991 config/source-archive.gradle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/config/source-archive.gradle Fri May 08 21:33:19 2020 -0400 @@ -0,0 +1,38 @@ +task sourceArchive { + description "Get the source archive of the project" +} + +sourceArchive.doLast { + makeSourceArchive(rootProject.name) +} + +project.build.dependsOn sourceArchive + +def makeSourceArchive(String projectName) { + def git = new File(".git") + def hg = new File(".hg") + def tag + if (git.exists()) { + tag = getGitSha1() + println("Building source archive \"${projectName}-src-${tag}.zip\" from git") + exec { + workingDir project.rootDir + commandLine "git", "archive", "--format=zip", "--prefix=${projectName}-src-${tag}/", "-o", "${projectName}-src-${tag}.zip", "HEAD" + } + } else if (hg.exists()) { + tag = getHgSha1() + println("Building source archive \"${projectName}-src-${tag}.zip\" from hg") + exec { + workingDir project.rootDir + commandLine "hg", "archive", "-t", "zip", "-r", tag, "${projectName}-src-${tag}.zip" + } + } +} + +def getGitSha1() { + return 'git rev-parse HEAD'.execute().text.trim() +} + +def getHgSha1() { + return 'hg id --debug -i -r .'.execute().text.trim() +}