build.gradle revision 71f679780443e4a425c831261fc34fcad9e2a48b
10730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beustbuildscript {
20730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    repositories {
30730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust        mavenCentral()
40730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust        jcenter()
50730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust        maven {
60730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust            url 'http://dl.bintray.com/cbeust/maven'
70730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust        }        
80730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    }
90730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust}
100730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust
110730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beustplugins {
120730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    id "com.jfrog.bintray" version "1.1"
130730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust}
140730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust
1571f679780443e4a425c831261fc34fcad9e2a48bCédric Beustversion = '6.9.48-SNAPSHOT'
160730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust
170730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beustapply plugin: 'java'
180730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beustapply from: 'gradle/publishing.gradle'
190730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust
200730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beustrepositories {
210730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    mavenCentral()
220730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    jcenter()
230730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    maven {
240730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust        url 'http://dl.bintray.com/cbeust/maven'
250730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    }
260730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust}
270730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust
280730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beustdependencies {
290730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    compile 'org.apache.ant:ant:1.7.0'
300730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    compile 'junit:junit:4.10'
310730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    compile 'org.beanshell:bsh:2.0b4'
320730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    compile 'com.google.inject:guice:4.0:no_aop'
330730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    compile 'com.beust:jcommander:1.48'
340730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    compile 'org.yaml:snakeyaml:1.12'
350730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust
360730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    testCompile 'org.assertj:assertj-core:2.0.0'
370730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    testCompile 'org.testng:testng:6.9.4'
380730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust}
390730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust
400730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beusttask sourceJar(type: Jar) {
410730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    group 'Build'
420730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    description 'An archive of the source code'
430730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    classifier 'sources'
440730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    from sourceSets.main.allSource
450730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust}
460730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust
470730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beustartifacts {
480730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust//    file('build/libs/klaxon.jar')
490730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    sourceJar
500730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust}
510730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust
520730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beustimport org.apache.tools.ant.filters.ReplaceTokens
530730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust
540730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beusttask removeVersion {
550730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    delete 'src/main/java/org/testng/internal/Version.java'
560730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust}
570730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust
5871f679780443e4a425c831261fc34fcad9e2a48bCédric BeustsourceSets {
5971f679780443e4a425c831261fc34fcad9e2a48bCédric Beust    generated {
6071f679780443e4a425c831261fc34fcad9e2a48bCédric Beust        java {
6171f679780443e4a425c831261fc34fcad9e2a48bCédric Beust            srcDir 'src/generated/java'
6271f679780443e4a425c831261fc34fcad9e2a48bCédric Beust        }
6371f679780443e4a425c831261fc34fcad9e2a48bCédric Beust        resources {
6471f679780443e4a425c831261fc34fcad9e2a48bCédric Beust            srcDir 'src/generated/resources'
6571f679780443e4a425c831261fc34fcad9e2a48bCédric Beust        }
6671f679780443e4a425c831261fc34fcad9e2a48bCédric Beust    }
6771f679780443e4a425c831261fc34fcad9e2a48bCédric Beust}
680730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust
6971f679780443e4a425c831261fc34fcad9e2a48bCédric BeustsourceSets {
7071f679780443e4a425c831261fc34fcad9e2a48bCédric Beust    main {
7171f679780443e4a425c831261fc34fcad9e2a48bCédric Beust        compileClasspath += generated.output
7271f679780443e4a425c831261fc34fcad9e2a48bCédric Beust        runtimeClasspath += generated.output
7371f679780443e4a425c831261fc34fcad9e2a48bCédric Beust    }
7471f679780443e4a425c831261fc34fcad9e2a48bCédric Beust}
750730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust
760730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric BeustsourceSets.each { s ->
770730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    println("Source set: ${s}")
780730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust}
790730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust
800730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beustdef generatedSourcesFolder = projectDir.toString() + '/src/generated/java'
810730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust
820730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beustdef dirFrom = projectDir.toString() + '/src/main/resources/org/testng/internal'
830730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beustdef dirTo = generatedSourcesFolder + "/org/testng/internal"
840730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beustdef fileTemplate = 'VersionTemplateJava'
850730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust
8671f679780443e4a425c831261fc34fcad9e2a48bCédric Beustgradle.projectsEvaluated {
8771f679780443e4a425c831261fc34fcad9e2a48bCédric Beust    compileJava.dependsOn(myDir)
8871f679780443e4a425c831261fc34fcad9e2a48bCédric Beust}
8971f679780443e4a425c831261fc34fcad9e2a48bCédric Beust
900730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beusttask myDir {
910730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    delete dirTo + "/Version.java"
920730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust//    doLast {
930730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust        println("@@@ MKDIR " + dirTo)
940730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust        mkdir(dirTo)
950730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust//    }
960730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust}
970730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust
980730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beusttask createVersion(type: Copy, dependsOn: myDir) {
990730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    println("Creating Version file: ${version} in ${dirTo}")
1000730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    println("FROM " + dirFrom + "/" + fileTemplate)
1010730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    println("TO " + dirTo + "/Version.java")
1020730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    from dirFrom
1030730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    include fileTemplate
1040730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    into(dirTo)
1050730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    rename(fileTemplate, 'Version.java')
1060730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust    filter(ReplaceTokens, tokens: [version: version])
10771f679780443e4a425c831261fc34fcad9e2a48bCédric Beust}
10871f679780443e4a425c831261fc34fcad9e2a48bCédric Beust
10971f679780443e4a425c831261fc34fcad9e2a48bCédric BeustcompileJava.dependsOn(createVersion)
11071f679780443e4a425c831261fc34fcad9e2a48bCédric Beust
11171f679780443e4a425c831261fc34fcad9e2a48bCédric Beusttest {
11271f679780443e4a425c831261fc34fcad9e2a48bCédric Beust    useTestNG() {
11371f679780443e4a425c831261fc34fcad9e2a48bCédric Beust        suites 'src/test/resources/testng.xml'
11471f679780443e4a425c831261fc34fcad9e2a48bCédric Beust    }
1150730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust}
116