| buildscript { |
| |
| def a_user = hasProperty('artifactory_user') ? artifactory_user : System.getenv('artifactory_user') |
| def a_password = hasProperty('artifactory_password') ? artifactory_password : System.getenv('artifactory_password') |
| |
| repositories { |
| mavenCentral() |
| jcenter() |
| maven { |
| url 'http://dl.bintray.com/cbeust/maven' |
| } |
| maven { |
| url 'http://oss.jfrog.org/artifactory/plugins-release' |
| credentials { |
| username = "${a_user}" |
| password = "${a_password}" |
| } |
| } |
| } |
| |
| dependencies { |
| //Check for the latest version here: http://plugins.gradle.org/plugin/com.jfrog.artifactory |
| classpath "org.jfrog.buildinfo:build-info-extractor-gradle:3.0.3" |
| classpath "io.codearte.gradle.nexus:gradle-nexus-staging-plugin:0.5.3" |
| classpath "com.netflix.nebula:gradle-extra-configurations-plugin:3.0.3" |
| } |
| } |
| |
| plugins { |
| id "com.jfrog.bintray" version "1.2" |
| id "com.jfrog.artifactory" version "3.1.1" |
| id "org.sonarqube" version "1.0" |
| } |
| |
| version = '6.9.10-SNAPSHOT' |
| |
| apply plugin: 'java' |
| apply plugin: 'nebula.optional-base' |
| apply plugin: 'nebula.provided-base' |
| |
| targetCompatibility = "1.7" |
| sourceCompatibility = "1.7" |
| |
| apply plugin: 'osgi' |
| |
| repositories { |
| mavenCentral() |
| jcenter() |
| maven { |
| url 'http://dl.bintray.com/cbeust/maven' |
| } |
| } |
| |
| dependencies { |
| compile 'org.beanshell:bsh:2.0b4' |
| compile 'com.beust:jcommander:1.48' |
| |
| compile 'org.apache.ant:ant:1.7.0', optional |
| compile 'junit:junit:4.10', optional |
| compile 'org.yaml:snakeyaml:1.15', optional |
| |
| provided 'com.google.inject:guice:4.0:no_aop' |
| |
| testCompile 'org.assertj:assertj-core:2.0.0' |
| testCompile 'org.testng:testng:6.9.4' |
| } |
| |
| task sourceJar(type: Jar) { |
| group 'Build' |
| description 'An archive of the source code' |
| classifier 'sources' |
| from sourceSets.main.allSource |
| } |
| |
| artifacts { |
| sourceJar |
| } |
| |
| import org.apache.tools.ant.filters.ReplaceTokens |
| |
| def generatedSourcesFolder = projectDir.toString() + '/src/generated/java' |
| |
| def dirFrom = projectDir.toString() + '/src/main/resources/org/testng/internal' |
| def dirTo = generatedSourcesFolder + "/org/testng/internal" |
| def fileFrom = 'VersionTemplateJava' |
| def fileTo = 'Version.java' |
| |
| task removeVersion { |
| delete dirTo + fileTo |
| } |
| |
| sourceSets { |
| generated { |
| java { |
| srcDir 'src/generated/java' |
| } |
| resources { |
| srcDir 'src/generated/resources' |
| } |
| } |
| } |
| |
| sourceSets { |
| main { |
| compileClasspath += generated.output |
| runtimeClasspath += generated.output |
| } |
| } |
| |
| gradle.projectsEvaluated { |
| compileJava.dependsOn(myDir) |
| } |
| |
| task myDir { |
| delete dirTo + "/" + fileTo |
| mkdir(dirTo) |
| } |
| |
| // Include the generated Version.class in the jar |
| jar { |
| manifest { |
| instruction 'Bundle-License', 'http://apache.org/licenses/LICENSE-2.0' |
| instruction 'Bundle-Description', 'TestNG is a testing framework.' |
| instruction 'Import-Package', |
| 'bsh.*;version="[2.0.0,3.0.0)";resolution:=optional', |
| 'com.beust.jcommander.*;version="[1.7.0,3.0.0)";resolution:=optional', |
| 'com.google.inject.*;version="[1.2,1.3)";resolution:=optional', |
| 'junit.framework;version="[3.8.1, 5.0.0)";resolution:=optional', |
| 'org.junit.*;resolution:=optional', |
| 'org.apache.tools.ant.*;version="[1.7.0, 2.0.0)";resolution:=optional', |
| 'org.yaml.*;version="[1.6,2.0)";resolution:=optional', |
| '!com.beust.testng', |
| '!org.testng.*', |
| '!com.sun.*', |
| '*' |
| } |
| from "$buildDir/classes/generated" |
| } |
| |
| task createVersion(type: Copy, dependsOn: myDir) { |
| println("Creating Version file: ${version} in ${dirTo}") |
| from dirFrom |
| include fileFrom |
| into(dirTo) |
| rename(fileFrom, fileTo) |
| filter(ReplaceTokens, tokens: [version: version]) |
| } |
| |
| compileJava.dependsOn(createVersion) |
| |
| test { |
| useTestNG() { |
| suites 'src/test/resources/testng.xml' |
| } |
| // testLogging.showStandardStreams = true |
| systemProperties = System.getProperties() |
| systemProperties['test.resources.dir'] = 'build/resources/test/' |
| } |
| |
| if (JavaVersion.current().isJava8Compatible()) { |
| allprojects { |
| tasks.withType(Javadoc) { |
| options.addStringOption('Xdoclint:none', '-quiet') |
| } |
| } |
| } |
| |
| sonarqube { |
| properties { |
| property "sonar.host.url", "http://nemo.sonarqube.org" |
| property "sonar.analysis.mode", "preview" |
| property "sonar.github.repository", "cbeust/testng" |
| property "sonar.github.login", "testng-bot" |
| } |
| } |
| |
| apply from: 'gradle/publishing.gradle' |