10730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beustbuildscript { 229fe72fdd875a57dab0cccb099b0165917853749Cédric Beust 329fe72fdd875a57dab0cccb099b0165917853749Cédric Beust def a_user = hasProperty('artifactory_user') ? artifactory_user : System.getenv('artifactory_user') 429fe72fdd875a57dab0cccb099b0165917853749Cédric Beust def a_password = hasProperty('artifactory_password') ? artifactory_password : System.getenv('artifactory_password') 529fe72fdd875a57dab0cccb099b0165917853749Cédric Beust 60730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust repositories { 70730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust mavenCentral() 80730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust jcenter() 90730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust maven { 100730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust url 'http://dl.bintray.com/cbeust/maven' 11576120b7b9592579b3c9f05c568768a28586bf59Cédric Beust } 12576120b7b9592579b3c9f05c568768a28586bf59Cédric Beust maven { 13576120b7b9592579b3c9f05c568768a28586bf59Cédric Beust url 'http://oss.jfrog.org/artifactory/plugins-release' 14576120b7b9592579b3c9f05c568768a28586bf59Cédric Beust credentials { 1529fe72fdd875a57dab0cccb099b0165917853749Cédric Beust username = "${a_user}" 1629fe72fdd875a57dab0cccb099b0165917853749Cédric Beust password = "${a_password}" 17576120b7b9592579b3c9f05c568768a28586bf59Cédric Beust } 18576120b7b9592579b3c9f05c568768a28586bf59Cédric Beust } 19576120b7b9592579b3c9f05c568768a28586bf59Cédric Beust } 20576120b7b9592579b3c9f05c568768a28586bf59Cédric Beust 21576120b7b9592579b3c9f05c568768a28586bf59Cédric Beust dependencies { 22576120b7b9592579b3c9f05c568768a28586bf59Cédric Beust //Check for the latest version here: http://plugins.gradle.org/plugin/com.jfrog.artifactory 23576120b7b9592579b3c9f05c568768a28586bf59Cédric Beust classpath "org.jfrog.buildinfo:build-info-extractor-gradle:3.0.3" 24551ccd571179729f2dd8d15302ce91ee8ea04014Cédric Beust classpath "io.codearte.gradle.nexus:gradle-nexus-staging-plugin:0.5.3" 2539aaf03f378d6071b1882f74faf154658cef643dJulien Herr classpath "com.netflix.nebula:gradle-extra-configurations-plugin:3.0.3" 260730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust } 270730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust} 280730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust 290730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beustplugins { 30ef1fd54842adfc84ce67df6626c52da34c2869d0Cédric Beust id "com.jfrog.bintray" version "1.2" 3184697c02645295aa3e9f4ac2a7c75db9071264b4Cédric Beust id "com.jfrog.artifactory" version "3.1.1" 32141d3ae5084a3a2d9c182cab6c366cc89eded6aaJulien Herr id "org.sonarqube" version "1.0" 330730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust} 340730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust 3564349ff6098837b588dc9548d9bfcc1b6ae7fe63Cédric Beustversion = '6.9.10-SNAPSHOT' 360730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust 370730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beustapply plugin: 'java' 3839aaf03f378d6071b1882f74faf154658cef643dJulien Herrapply plugin: 'nebula.optional-base' 3939aaf03f378d6071b1882f74faf154658cef643dJulien Herrapply plugin: 'nebula.provided-base' 40c642de6d1ec569829597f5b003eeffbfefe0d914Cédric Beust 41c642de6d1ec569829597f5b003eeffbfefe0d914Cédric BeusttargetCompatibility = "1.7" 42c642de6d1ec569829597f5b003eeffbfefe0d914Cédric BeustsourceCompatibility = "1.7" 43c642de6d1ec569829597f5b003eeffbfefe0d914Cédric Beust 44800cb344c485f3e3347bc2aa4dbcdcd2ea96493eMathieu SEBIREapply plugin: 'osgi' 450730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust 460730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beustrepositories { 470730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust mavenCentral() 480730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust jcenter() 490730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust maven { 500730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust url 'http://dl.bintray.com/cbeust/maven' 510730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust } 520730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust} 530730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust 540730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beustdependencies { 550730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust compile 'org.beanshell:bsh:2.0b4' 560730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust compile 'com.beust:jcommander:1.48' 57a685f868e937be2449d5c140be00da3fbbf78aaaJulien Herr 58a685f868e937be2449d5c140be00da3fbbf78aaaJulien Herr compile 'org.apache.ant:ant:1.7.0', optional 59a685f868e937be2449d5c140be00da3fbbf78aaaJulien Herr compile 'junit:junit:4.10', optional 6039aaf03f378d6071b1882f74faf154658cef643dJulien Herr compile 'org.yaml:snakeyaml:1.15', optional 610730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust 62a685f868e937be2449d5c140be00da3fbbf78aaaJulien Herr provided 'com.google.inject:guice:4.0:no_aop' 63a685f868e937be2449d5c140be00da3fbbf78aaaJulien Herr 640730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust testCompile 'org.assertj:assertj-core:2.0.0' 650730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust testCompile 'org.testng:testng:6.9.4' 660730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust} 670730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust 680730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beusttask sourceJar(type: Jar) { 690730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust group 'Build' 700730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust description 'An archive of the source code' 710730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust classifier 'sources' 720730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust from sourceSets.main.allSource 730730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust} 740730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust 750730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beustartifacts { 760730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust sourceJar 770730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust} 780730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust 790730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beustimport org.apache.tools.ant.filters.ReplaceTokens 800730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust 8198fbd6d632235232e33efcc1c6222c0fe85a23fbCédric Beustdef generatedSourcesFolder = projectDir.toString() + '/src/generated/java' 8298fbd6d632235232e33efcc1c6222c0fe85a23fbCédric Beust 8398fbd6d632235232e33efcc1c6222c0fe85a23fbCédric Beustdef dirFrom = projectDir.toString() + '/src/main/resources/org/testng/internal' 8498fbd6d632235232e33efcc1c6222c0fe85a23fbCédric Beustdef dirTo = generatedSourcesFolder + "/org/testng/internal" 8598fbd6d632235232e33efcc1c6222c0fe85a23fbCédric Beustdef fileFrom = 'VersionTemplateJava' 8698fbd6d632235232e33efcc1c6222c0fe85a23fbCédric Beustdef fileTo = 'Version.java' 8798fbd6d632235232e33efcc1c6222c0fe85a23fbCédric Beust 880730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beusttask removeVersion { 8998fbd6d632235232e33efcc1c6222c0fe85a23fbCédric Beust delete dirTo + fileTo 900730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust} 910730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust 9271f679780443e4a425c831261fc34fcad9e2a48bCédric BeustsourceSets { 9371f679780443e4a425c831261fc34fcad9e2a48bCédric Beust generated { 9471f679780443e4a425c831261fc34fcad9e2a48bCédric Beust java { 9571f679780443e4a425c831261fc34fcad9e2a48bCédric Beust srcDir 'src/generated/java' 9671f679780443e4a425c831261fc34fcad9e2a48bCédric Beust } 9771f679780443e4a425c831261fc34fcad9e2a48bCédric Beust resources { 9871f679780443e4a425c831261fc34fcad9e2a48bCédric Beust srcDir 'src/generated/resources' 9971f679780443e4a425c831261fc34fcad9e2a48bCédric Beust } 10071f679780443e4a425c831261fc34fcad9e2a48bCédric Beust } 10171f679780443e4a425c831261fc34fcad9e2a48bCédric Beust} 1020730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust 10371f679780443e4a425c831261fc34fcad9e2a48bCédric BeustsourceSets { 10471f679780443e4a425c831261fc34fcad9e2a48bCédric Beust main { 10571f679780443e4a425c831261fc34fcad9e2a48bCédric Beust compileClasspath += generated.output 10671f679780443e4a425c831261fc34fcad9e2a48bCédric Beust runtimeClasspath += generated.output 10771f679780443e4a425c831261fc34fcad9e2a48bCédric Beust } 10871f679780443e4a425c831261fc34fcad9e2a48bCédric Beust} 1090730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust 11071f679780443e4a425c831261fc34fcad9e2a48bCédric Beustgradle.projectsEvaluated { 11171f679780443e4a425c831261fc34fcad9e2a48bCédric Beust compileJava.dependsOn(myDir) 11271f679780443e4a425c831261fc34fcad9e2a48bCédric Beust} 11371f679780443e4a425c831261fc34fcad9e2a48bCédric Beust 1140730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beusttask myDir { 11598fbd6d632235232e33efcc1c6222c0fe85a23fbCédric Beust delete dirTo + "/" + fileTo 11698fbd6d632235232e33efcc1c6222c0fe85a23fbCédric Beust mkdir(dirTo) 1170730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust} 1180730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust 1196583ca9cbacee5b49542ea7fc56763821ade93d8Cédric Beust// Include the generated Version.class in the jar 1206583ca9cbacee5b49542ea7fc56763821ade93d8Cédric Beustjar { 121800cb344c485f3e3347bc2aa4dbcdcd2ea96493eMathieu SEBIRE manifest { 122800cb344c485f3e3347bc2aa4dbcdcd2ea96493eMathieu SEBIRE instruction 'Bundle-License', 'http://apache.org/licenses/LICENSE-2.0' 123800cb344c485f3e3347bc2aa4dbcdcd2ea96493eMathieu SEBIRE instruction 'Bundle-Description', 'TestNG is a testing framework.' 124800cb344c485f3e3347bc2aa4dbcdcd2ea96493eMathieu SEBIRE instruction 'Import-Package', 125800cb344c485f3e3347bc2aa4dbcdcd2ea96493eMathieu SEBIRE 'bsh.*;version="[2.0.0,3.0.0)";resolution:=optional', 126800cb344c485f3e3347bc2aa4dbcdcd2ea96493eMathieu SEBIRE 'com.beust.jcommander.*;version="[1.7.0,3.0.0)";resolution:=optional', 127800cb344c485f3e3347bc2aa4dbcdcd2ea96493eMathieu SEBIRE 'com.google.inject.*;version="[1.2,1.3)";resolution:=optional', 128800cb344c485f3e3347bc2aa4dbcdcd2ea96493eMathieu SEBIRE 'junit.framework;version="[3.8.1, 5.0.0)";resolution:=optional', 129800cb344c485f3e3347bc2aa4dbcdcd2ea96493eMathieu SEBIRE 'org.junit.*;resolution:=optional', 130800cb344c485f3e3347bc2aa4dbcdcd2ea96493eMathieu SEBIRE 'org.apache.tools.ant.*;version="[1.7.0, 2.0.0)";resolution:=optional', 131800cb344c485f3e3347bc2aa4dbcdcd2ea96493eMathieu SEBIRE 'org.yaml.*;version="[1.6,2.0)";resolution:=optional', 132800cb344c485f3e3347bc2aa4dbcdcd2ea96493eMathieu SEBIRE '!com.beust.testng', 133800cb344c485f3e3347bc2aa4dbcdcd2ea96493eMathieu SEBIRE '!org.testng.*', 134800cb344c485f3e3347bc2aa4dbcdcd2ea96493eMathieu SEBIRE '!com.sun.*', 135800cb344c485f3e3347bc2aa4dbcdcd2ea96493eMathieu SEBIRE '*' 136800cb344c485f3e3347bc2aa4dbcdcd2ea96493eMathieu SEBIRE } 1376583ca9cbacee5b49542ea7fc56763821ade93d8Cédric Beust from "$buildDir/classes/generated" 1386583ca9cbacee5b49542ea7fc56763821ade93d8Cédric Beust} 1396583ca9cbacee5b49542ea7fc56763821ade93d8Cédric Beust 1400730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beusttask createVersion(type: Copy, dependsOn: myDir) { 1410730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust println("Creating Version file: ${version} in ${dirTo}") 1420730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust from dirFrom 14398fbd6d632235232e33efcc1c6222c0fe85a23fbCédric Beust include fileFrom 1440730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust into(dirTo) 14598fbd6d632235232e33efcc1c6222c0fe85a23fbCédric Beust rename(fileFrom, fileTo) 1460730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust filter(ReplaceTokens, tokens: [version: version]) 14771f679780443e4a425c831261fc34fcad9e2a48bCédric Beust} 14871f679780443e4a425c831261fc34fcad9e2a48bCédric Beust 14971f679780443e4a425c831261fc34fcad9e2a48bCédric BeustcompileJava.dependsOn(createVersion) 15071f679780443e4a425c831261fc34fcad9e2a48bCédric Beust 15171f679780443e4a425c831261fc34fcad9e2a48bCédric Beusttest { 15271f679780443e4a425c831261fc34fcad9e2a48bCédric Beust useTestNG() { 15371f679780443e4a425c831261fc34fcad9e2a48bCédric Beust suites 'src/test/resources/testng.xml' 15471f679780443e4a425c831261fc34fcad9e2a48bCédric Beust } 155962f7ad1044abb42355e0c787121f1cc8f90d583Cédric Beust// testLogging.showStandardStreams = true 156a9e2d61d35529552a81a59498bf4c8c416412a8dKrishnan Mahadevan systemProperties = System.getProperties() 157a9e2d61d35529552a81a59498bf4c8c416412a8dKrishnan Mahadevan systemProperties['test.resources.dir'] = 'build/resources/test/' 1580730d08ad0b4812c5b2a798729cb7b6cc618dc9bCédric Beust} 1598771b43ff24110c794fc9045d2d24268dc35bb39Cédric Beust 1608771b43ff24110c794fc9045d2d24268dc35bb39Cédric Beustif (JavaVersion.current().isJava8Compatible()) { 1618771b43ff24110c794fc9045d2d24268dc35bb39Cédric Beust allprojects { 1628771b43ff24110c794fc9045d2d24268dc35bb39Cédric Beust tasks.withType(Javadoc) { 1638771b43ff24110c794fc9045d2d24268dc35bb39Cédric Beust options.addStringOption('Xdoclint:none', '-quiet') 1648771b43ff24110c794fc9045d2d24268dc35bb39Cédric Beust } 1658771b43ff24110c794fc9045d2d24268dc35bb39Cédric Beust } 1668771b43ff24110c794fc9045d2d24268dc35bb39Cédric Beust} 16701794396ac49704e552ba07e6817752e02e90b9dCédric Beust 168141d3ae5084a3a2d9c182cab6c366cc89eded6aaJulien Herrsonarqube { 169141d3ae5084a3a2d9c182cab6c366cc89eded6aaJulien Herr properties { 170141d3ae5084a3a2d9c182cab6c366cc89eded6aaJulien Herr property "sonar.host.url", "http://nemo.sonarqube.org" 171141d3ae5084a3a2d9c182cab6c366cc89eded6aaJulien Herr property "sonar.analysis.mode", "preview" 172141d3ae5084a3a2d9c182cab6c366cc89eded6aaJulien Herr property "sonar.github.repository", "cbeust/testng" 173141d3ae5084a3a2d9c182cab6c366cc89eded6aaJulien Herr property "sonar.github.login", "testng-bot" 174141d3ae5084a3a2d9c182cab6c366cc89eded6aaJulien Herr } 175141d3ae5084a3a2d9c182cab6c366cc89eded6aaJulien Herr} 176141d3ae5084a3a2d9c182cab6c366cc89eded6aaJulien Herr 17701794396ac49704e552ba07e6817752e02e90b9dCédric Beustapply from: 'gradle/publishing.gradle' 178