build.gradle revision 5cf9fe7c0af588670265a5804dfae9ab8bb5c391
17d7ee58ad94dc2ea4cd35e3b8e14577648e3bdddBen Gruversubprojects {
27d7ee58ad94dc2ea4cd35e3b8e14577648e3bdddBen Gruver    apply plugin: 'java'
37d7ee58ad94dc2ea4cd35e3b8e14577648e3bdddBen Gruver
45cf9fe7c0af588670265a5804dfae9ab8bb5c391Ben Gruver    ext.baseVersion = '1.3.4'
55cf9fe7c0af588670265a5804dfae9ab8bb5c391Ben Gruver    ext.jarVersion = baseVersion
67d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver
77d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver    // For non-release builds, we want to append the commit and
87d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver    // dirty status to the version
97d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver    gradle.taskGraph.whenReady {
107d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver        if (!it.hasTask(release)) {
117d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver            def versionSuffix
127d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver            try {
137d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver                def git = org.eclipse.jgit.api.Git.open(file('.'))
147d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver                def head = git.getRepository().getRef("HEAD")
157d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver                versionSuffix = head.getObjectId().abbreviate(8).name()
167d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver
177d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver                if (!git.status().call().clean) {
187d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver                    versionSuffix += '-dirty'
197d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver                }
207d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver            } catch (Exception) {
217d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver                // In case we can't get the commit for some reason,
227d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver                // just use -dev
237d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver                versionSuffix = 'dev'
247d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver            }
257d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver
265cf9fe7c0af588670265a5804dfae9ab8bb5c391Ben Gruver            version = baseVersion + '-' + versionSuffix
275cf9fe7c0af588670265a5804dfae9ab8bb5c391Ben Gruver
285cf9fe7c0af588670265a5804dfae9ab8bb5c391Ben Gruver            // use <version>-dev for the jar name, rather than the
295cf9fe7c0af588670265a5804dfae9ab8bb5c391Ben Gruver            // full commit+dirty string
305cf9fe7c0af588670265a5804dfae9ab8bb5c391Ben Gruver            jarVersion = baseVersion + '-dev'
315cf9fe7c0af588670265a5804dfae9ab8bb5c391Ben Gruver        }
325cf9fe7c0af588670265a5804dfae9ab8bb5c391Ben Gruver
335cf9fe7c0af588670265a5804dfae9ab8bb5c391Ben Gruver        jar {
345cf9fe7c0af588670265a5804dfae9ab8bb5c391Ben Gruver            version = jarVersion
357d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver        }
367d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver    }
377d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver
387d7ee58ad94dc2ea4cd35e3b8e14577648e3bdddBen Gruver    repositories {
397d7ee58ad94dc2ea4cd35e3b8e14577648e3bdddBen Gruver        mavenCentral()
407d7ee58ad94dc2ea4cd35e3b8e14577648e3bdddBen Gruver    }
417d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver
427d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver    // Note: please don't use this. This is strictly for the official releases
437d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver    // that are posted on the googlecode download page.
447d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver    task release {
457d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver    }
467d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver}
477d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver
487d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver
497d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruverbuildscript {
507d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver    repositories {
517d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver        mavenCentral()
527d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver    }
537d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver    dependencies {
547d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver        classpath 'org.eclipse.jgit:org.eclipse.jgit:2.0.0.201206130900-r'
557d1263a4ff78ce92b2008e4664fb855f7d03da87Ben Gruver    }
567d7ee58ad94dc2ea4cd35e3b8e14577648e3bdddBen Gruver}