// All dependencies and any plugin definitions should be set up and cached via // artifactory. buildscript { repositories { maven { url 'http://artifactory.bnr.perforce.com/artifactory/repos-p4oauth' } } dependencies { classpath('com.perforce.workshop.tjuricek:perforce-gradle-plugin:0.1.2') 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' apply plugin: 'application' version = '0.1.2' group = 'com.perforce.workshop.tjuricek' mainClassName = 'com.perforce.workshop.tjuricek.initializer.Initializer' dependencies { compile('com.perforce.workshop.tjuricek:p4java_ext:0.1.1') compile('com.esotericsoftware.yamlbeans:yamlbeans:1.06') compile("com.fasterxml.jackson.core:jackson-databind:2.3.1") compile("com.github.spullara.mustache.java:compiler:0.8.12") compile('commons-io:commons-io:2.4') compile("org.apache.commons:commons-lang3:3.2.1") } jbake { input = file('src/site') output = file("docs/site") } javadoc { destinationDir = file("docs/javadoc") failOnError = false } // A fat jar variation would be useful most likely for any non-java folks. //jar { // doFirst { // from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } // } // exclude 'META-INF/*.RSA', 'META-INF/*.SF','META-INF/*.DSA' // manifest { attributes 'Main-Class': mainClassName } //} apply plugin: 'maven' // Note: mostly for local dependencies only apply plugin: 'maven-publish' apply plugin: 'bintray' javadoc { failOnError = false } task fatJar(type: Jar, dependsOn: classes) { from files(sourceSets.main.output.classesDir) from files(sourceSets.main.output.resourcesDir) from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } archiveName = "initializer-complete.jar" manifest { attributes 'Main-Class': mainClassName } exclude 'META-INF/*.RSA', 'META-INF/*.SF','META-INF/*.DSA' } // 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, fatJar } 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 = 'initializer' desc = 'Test data initialization system for Perforce server instances' licenses = ['BSD'] labels = ['perforce', 'scm', 'p4java'] } // dryRun = dry // whether to run this as dry-run, without deploying } }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#5 | 9172 | tjuricek | 0.1.2 Added command line execution options and documentation to run the initializer locally. | ||
#4 | 9165 | tjuricek |
Some documentation framework and a fatjar style distribution for the initializer to run outside of a gradle plugin. Upped the version to 0.1.2, but this may need some testing before it's really guaranteed to work in standalone mode |
||
#3 | 9140 | tjuricek | 0.1.1 Fix NPE with client object cache, and update the perforce-gradle-plugin dependency | ||
#2 | 9094 | tjuricek | Add maven plugin to distribute via the maven local repository for some local validation. | ||
#1 | 9088 | tjuricek |
0.1.0 First version of the initializer. This currently requires setting up a local version of the p4java_ext project, since that project is awating approval into the main jcenter repository. |