// TODO replace artifactory reference with... something. Need to figure out the // appropriate "Gradle way" of external vs internal server configs buildscript { repositories { maven { url 'http://artifactory.bnr.perforce.com/artifactory/repos-p4oauth' } } dependencies { classpath('com.perforce.workshop.tjuricek:perforce-gradle-plugin:0.1.1') classpath('com.jfrog.bintray.gradle:gradle-bintray-plugin:0.3') } } repositories { maven { url 'http://artifactory.bnr.perforce.com/artifactory/repos-p4oauth' } } // See http://www.gradle.org/docs/current/userguide/gradle_wrapper.html task wrapper(type: Wrapper) { gradleVersion = '1.11' } apply plugin: 'perforce' apply plugin: 'jbake' apply plugin: 'java' version = '0.1.1' group = 'com.perforce.workshop.tjuricek' dependencies { compile("com.perforce:p4java:2013.2.788582") compile("com.fasterxml.jackson.core:jackson-databind:2.3.1") testCompile('org.testng:testng:6.8') testCompile("org.uncommons:reportng:1.1.2") { exclude group: "org.testng", module: "testng" } } jbake { input = file('src/site') output = file("$buildDir/site") } task functionalTest(type: Test, dependsOn: "startPerforce") { useTestNG() options.suites(file("src/test/resources/testng.xml")) // show standard out and standard error of the test JVM(s) on the console //testLogging.showStandardStreams = true // Append the JUnit style output options { listeners << 'org.uncommons.reportng.JUnitXMLReporter' } ext.useDefaultListeners = false ext.workingDirectory = 'build/' // jvmArgs "-Dlogback.configurationFile=${rootProject.file('util/logback.xml').absolutePath}" // start remote worker in debug on port 5005 //debug = true } apply plugin: 'maven' apply plugin: 'maven-publish' apply plugin: 'bintray' javadoc { failOnError = false } // custom tasks for creating source/javadoc jars task sourcesJar(type: Jar, dependsOn: classes) { classifier = 'sources' from sourceSets.main.allSource } task javadocJar(type: Jar, dependsOn: javadoc) { classifier = 'javadoc' from javadoc.destinationDir } // add javadoc/source jar tasks as artifacts artifacts { archives sourcesJar, javadocJar } publishing { publications { mavenStuff(MavenPublication) { if (plugins.hasPlugin('war')) { from components.web } else { from components.java } artifact sourcesJar { classifier "sources" } artifact javadocJar { classifier "javadoc" } } } } if (hasProperty('bintrayUser') && hasProperty('bintrayKey')) { bintray { user = property('bintrayUser') key = property('bintrayKey') publications = ['mavenStuff'] pkg { repo = 'maven' name = 'p4java_ext' desc = 'P4Java API that builds on top of Map commands that uses Java 8 features' licenses = ['BSD'] labels = ['perforce', 'scm', 'p4java'] } // dryRun = dry // whether to run this as dry-run, without deploying } }