diff options
author | Shevek <[email protected]> | 2014-12-03 00:01:47 -0800 |
---|---|---|
committer | Shevek <[email protected]> | 2014-12-03 00:01:47 -0800 |
commit | a3306f269ec75a617f7bf4ee6a292a961ba2c1f5 (patch) | |
tree | 59b477b295579dfd60d4de301ff475ce999c1744 /gradle | |
parent | 28c3704abb4f98989d6aa57dc1395df99a77f7d2 (diff) |
SourceChangeEvent now uses an enum.
-> gradle 2.2.1
Diffstat (limited to 'gradle')
-rw-r--r-- | gradle/buildscript.gradle | 25 | ||||
-rw-r--r-- | gradle/check.gradle | 48 | ||||
-rw-r--r-- | gradle/convention.gradle | 142 | ||||
-rw-r--r-- | gradle/github.gradle | 30 | ||||
-rw-r--r-- | gradle/license.gradle | 15 | ||||
-rw-r--r-- | gradle/maven.gradle | 69 | ||||
-rw-r--r-- | gradle/netflix-oss.gradle | 1 | ||||
-rw-r--r-- | gradle/nexus.gradle | 45 | ||||
-rw-r--r-- | gradle/release.gradle | 60 | ||||
-rw-r--r-- | gradle/wrapper/gradle-wrapper.jar | bin | 50557 -> 51018 bytes | |||
-rw-r--r-- | gradle/wrapper/gradle-wrapper.properties | 4 |
11 files changed, 181 insertions, 258 deletions
diff --git a/gradle/buildscript.gradle b/gradle/buildscript.gradle index 72215e4..d460daa 100644 --- a/gradle/buildscript.gradle +++ b/gradle/buildscript.gradle @@ -1,14 +1,21 @@ // Executed in context of buildscript repositories { - // Repo in addition to maven central - repositories { maven { url 'http://dl.bintray.com/content/netflixoss/external-gradle-plugins/' } } // For gradle-release + // mavenLocal() + mavenCentral() + // jcenter() } + dependencies { - classpath 'nl.javadude.gradle.plugins:license-gradle-plugin:0.6.1' - // classpath 'com.mapvine:gradle-cobertura-plugin:0.1' - classpath "net.saliman:gradle-cobertura-plugin:2.2.2" - // classpath 'gradle-release:gradle-release:1.1.5' - classpath 'org.ajoberstar:gradle-git:0.5.0' - classpath 'org.anarres.gradle:gradle-velocity-plugin:1.0.0' - classpath 'net.ltgt.gradle:gradle-errorprone-plugin:0.0.3' + classpath 'nl.javadude.gradle.plugins:license-gradle-plugin:0.10.0' + // classpath 'com.mapvine:gradle-cobertura-plugin:0.1' + classpath "net.saliman:gradle-cobertura-plugin:2.2.5" + // classpath 'gradle-release:gradle-release:1.1.5' + classpath 'org.ajoberstar:gradle-git:0.11.2' + classpath 'net.ltgt.gradle:gradle-errorprone-plugin:0.0.5' + classpath('com.netflix.nebula:gradle-info-plugin:1.12.5') { + exclude group: 'com.perforce' + } + classpath 'com.bmuschko:gradle-nexus-plugin:2.1.1' + + classpath 'org.anarres.gradle:gradle-velocity-plugin:1.0.0' } diff --git a/gradle/check.gradle b/gradle/check.gradle index 760629a..ad1f9fc 100644 --- a/gradle/check.gradle +++ b/gradle/check.gradle @@ -1,29 +1,29 @@ -// Checkstyle -// apply plugin: 'checkstyle' -// checkstyle { -// ignoreFailures = true -// configFile = rootProject.file('codequality/checkstyle.xml') -// } + // Checkstyle + // apply plugin: 'checkstyle' + // checkstyle { + // ignoreFailures = true + // configFile = rootProject.file('codequality/checkstyle.xml') + // } -// FindBugs -apply plugin: 'findbugs' -findbugs { - ignoreFailures = true -} -findbugsTest.enabled = false + // FindBugs + apply plugin: 'findbugs' + findbugs { + ignoreFailures = true + } + findbugsTest.enabled = false -// PMD -// apply plugin: 'pmd' -// tasks.withType(Pmd) { reports.html.enabled true } + // PMD + // apply plugin: 'pmd' + // tasks.withType(Pmd) { reports.html.enabled true } -apply plugin: 'cobertura' -cobertura { - coverageFormats = [ 'html', 'xml' ] -} -githubPages { - pages { - from(cobertura.coverageReportDir) { - into "docs/cobertura" + apply plugin: 'cobertura' + cobertura { + coverageFormats = [ 'html', 'xml' ] + } + githubPages { + pages { + from(cobertura.coverageReportDir) { + into "docs/cobertura" + } } } -} diff --git a/gradle/convention.gradle b/gradle/convention.gradle index ed20c86..8dd086e 100644 --- a/gradle/convention.gradle +++ b/gradle/convention.gradle @@ -1,88 +1,58 @@ -apply plugin: 'java' // Plugin as major conventions, overwrites status -apply plugin: 'errorprone' - -sourceCompatibility = 1.5 -targetCompatibility = 1.5 - -// GRADLE-2087 workaround, perform after java plugin -status = project.hasProperty('preferredStatus')?project.preferredStatus:(version.contains('SNAPSHOT')?'snapshot':'release') - -// Indenting to align with multi-project branch - task sourcesJar(type: Jar, dependsOn:classes) { - from sourceSets.main.allSource - classifier 'sources' - extension 'jar' - } - - task javadocJar(type: Jar, dependsOn:javadoc) { - from javadoc.destinationDir - classifier 'javadoc' - extension 'jar' - } - - configurations.add('sources') - configurations.add('javadoc') - configurations.archives { - extendsFrom configurations.sources - extendsFrom configurations.javadoc - } - - // When outputing to an Ivy repo, we want to use the proper type field - gradle.taskGraph.whenReady { - def isNotMaven = !it.hasTask(project.uploadMavenCentral) - if (isNotMaven) { - def artifacts = project.configurations.sources.artifacts - def sourceArtifact = artifacts.iterator().next() - sourceArtifact.type = 'sources' - } - } - - artifacts { - sources(sourcesJar) { - // Weird Gradle quirk where type will be used for the extension, but only for sources - type 'jar' - } - javadoc(javadocJar) { - type 'javadoc' - } - } - - configurations { - provided { - description = 'much like compile, but indicates you expect the JDK or a container to provide it. It is only available on the compilation classpath, and is not transitive.' - transitive = true - visible = true - } - } - - project.sourceSets { - main.compileClasspath += project.configurations.provided - main.runtimeClasspath -= project.configurations.provided - test.compileClasspath += project.configurations.provided - test.runtimeClasspath += project.configurations.provided - } - -apply plugin: 'github-pages' // Used to create publishGhPages task - -def docTasks = [:] -[Javadoc,ScalaDoc,Groovydoc].each{ Class docClass -> - tasks.withType(docClass).each { docTask -> - docTasks[docTask.name] = docTask - processGhPages.dependsOn(docTask) - } -} - -githubPages { - repoUri = "[email protected]:shevek/${rootProject.githubProjectName}.git" - pages { - docTasks.each { shortName, docTask -> - from(docTask.outputs.files) { - into "docs/${shortName}" - } - } - } -} - + apply plugin: 'java' // Plugin as major conventions + apply plugin: 'errorprone' + apply plugin: 'info' + + sourceCompatibility = 1.5 + + // GRADLE-2087 workaround, perform after java plugin + status = project.hasProperty('preferredStatus')?project.preferredStatus:(version.contains('SNAPSHOT')?'snapshot':'release') + + repositories { + // mavenLocal() + mavenCentral() + // jcenter() + } + + dependencies { + compile 'com.google.code.findbugs:jsr305:2.0.2' + compile 'org.slf4j:slf4j-api:1.7.7' + + testCompile 'junit:junit:4.11' + + testRuntime 'org.slf4j:slf4j-simple:1.7.7' + } + + tasks.withType(JavaCompile) { + options.incremental = true + } + + test { + systemProperty 'org.apache.commons.logging.Log', 'org.apache.commons.logging.impl.SimpleLog' + systemProperty 'org.apache.commons.logging.simplelog.defaultlog', 'debug' + systemProperty 'org.apache.commons.logging.diagnostics.dest', 'STDERR' + systemProperty 'org.slf4j.simpleLogger.logFile', 'System.out' + systemProperty 'org.slf4j.simpleLogger.defaultLogLevel', 'debug' + systemProperty 'jna.nosys', 'true' + + testLogging { + if (System.properties['test.single']) { + // events "passed", "skipped", "failed" + events "started", "passed", "skipped", "failed" + showExceptions true + exceptionFormat "full" + showStandardStreams true + } else { + events "started", "skipped", "failed" + } + + debug { + events "started", "passed", "skipped", "failed", "standard_out", "standard_error" + exceptionFormat "full" + } + } + } + +// Generate wrapper, which is distributed as part of source to alleviate the need of installing gradle wrapper { - gradleVersion = '1.10' + gradleVersion = '2.2.1' } diff --git a/gradle/github.gradle b/gradle/github.gradle new file mode 100644 index 0000000..5aeaabe --- /dev/null +++ b/gradle/github.gradle @@ -0,0 +1,30 @@ +apply plugin: 'org.ajoberstar.github-pages' + +def docTasks = [:] +[Javadoc,ScalaDoc,Groovydoc].each{ Class docClass -> + def allSources = allprojects.tasks*.withType(docClass).flatten()*.source + if (allSources) { + def shortName = docClass.simpleName.toLowerCase() + def docTask = task "aggregate${shortName.capitalize()}"(type: docClass, description: "Aggregate subproject ${shortName}s") { + source = allSources + destinationDir = file("${project.buildDir}/docs/${shortName}") + doFirst { + def classpaths = allprojects.findAll { it.plugins.hasPlugin(JavaPlugin) }.collect { it.sourceSets.main.compileClasspath } + classpath = files(classpaths) + } + } + docTasks[shortName] = docTask + publishGhPages.dependsOn(docTask) + } +} + +githubPages { + repoUri = "[email protected]:shevek/${rootProject.githubProjectName}.git" + pages { + docTasks.each { shortName, docTask -> + from(docTask.outputs.files) { + into "docs/${shortName}" + } + } + } +} diff --git a/gradle/license.gradle b/gradle/license.gradle index 59b75b3..662bde1 100644 --- a/gradle/license.gradle +++ b/gradle/license.gradle @@ -1,8 +1,9 @@ -// Dependency for plugin was set in buildscript.gradle - -apply plugin: 'license' //nl.javadude.gradle.plugins.license.LicensePlugin -license { - header rootProject.file('codequality/HEADER') - ext.year = Calendar.getInstance().get(Calendar.YEAR) - skipExistingHeaders true +allprojects { + apply plugin: 'license' //nl.javadude.gradle.plugins.license.LicensePlugin + license { + header rootProject.file('codequality/HEADER') + ext.year = Calendar.getInstance().get(Calendar.YEAR) + skipExistingHeaders true + ignoreFailures true + } } diff --git a/gradle/maven.gradle b/gradle/maven.gradle deleted file mode 100644 index 0513719..0000000 --- a/gradle/maven.gradle +++ /dev/null @@ -1,69 +0,0 @@ -// Maven side of things -apply plugin: 'maven' // Java plugin has to have been already applied for the conf2scope mappings to work -apply plugin: 'signing' - -signing { - required { gradle.taskGraph.hasTask(uploadMavenCentral) } - sign configurations.archives -} - -/** - * Publishing to Maven Central example provided from http://jedicoder.blogspot.com/2011/11/automated-gradle-project-deployment-to.html - * artifactory will execute uploadArchives to force generation of ivy.xml, and we don't want that to trigger an upload to maven - * central, so using custom upload task. - */ -task uploadMavenCentral(type:Upload, dependsOn: signArchives) { - configuration = configurations.archives - onlyIf { ['release', 'snapshot'].contains(project.status) } - repositories.mavenDeployer { - beforeDeployment { signing.signPom(it) } - - // To test deployment locally, use the following instead of oss.sonatype.org - //repository(url: "file://localhost/${rootProject.rootDir}/repo") - - def sonatypeUsername = rootProject.hasProperty('sonatypeUsername')?rootProject.sonatypeUsername:'' - def sonatypePassword = rootProject.hasProperty('sonatypePassword')?rootProject.sonatypePassword:'' - - repository(url: 'https://oss.sonatype.org/service/local/staging/deploy/maven2') { - authentication(userName: sonatypeUsername, password: sonatypePassword) - } - - snapshotRepository(url: 'https://oss.sonatype.org/content/repositories/snapshots/') { - authentication(userName: sonatypeUsername, password: sonatypePassword) - } - - // Prevent datastamp from being appending to artifacts during deployment - uniqueVersion = false - - // Closure to configure all the POM with extra info, common to all projects - pom.project { - name "${project.name}" - description "Java C Preprocessor" - developers { - developer { - id 'shevek' - name 'Shevek' - email '[email protected]' - } - } - licenses { - license { - name 'The Apache Software License, Version 2.0' - url 'http://www.apache.org/licenses/LICENSE-2.0.txt' - distribution 'repo' - } - } - url "https://github.com/shevek/${rootProject.githubProjectName}" - scm { - connection "scm:git:[email protected]:shevek/${rootProject.githubProjectName}.git" - url "scm:git:[email protected]:shevek/${rootProject.githubProjectName}.git" - developerConnection "scm:git:[email protected]:shevek/${rootProject.githubProjectName}.git" - } - issueManagement { - system 'github' - url "https://github.com/shevek/${rootProject.githubProjectName}/issues" - } - } - } -} - diff --git a/gradle/netflix-oss.gradle b/gradle/netflix-oss.gradle deleted file mode 100644 index a87bc54..0000000 --- a/gradle/netflix-oss.gradle +++ /dev/null @@ -1 +0,0 @@ -apply from: 'http://artifacts.netflix.com/gradle-netflix-local/artifactory.gradle' diff --git a/gradle/nexus.gradle b/gradle/nexus.gradle new file mode 100644 index 0000000..d03f2a3 --- /dev/null +++ b/gradle/nexus.gradle @@ -0,0 +1,45 @@ +subprojects { + apply plugin: 'com.bmuschko.nexus' + + project.afterEvaluate { + uploadArchives { + repositories { + mavenDeployer { + uniqueVersion = false + } + } + } + } + + modifyPom { + // Closure to configure all the POM with extra info, common to all projects + project { + name "${project.name}" + description "Java C Preprocessor" + developers { + developer { + id 'shevek' + name 'Shevek' + email '[email protected]' + } + } + licenses { + license { + name 'The Apache Software License, Version 2.0' + url 'http://www.apache.org/licenses/LICENSE-2.0.txt' + distribution 'repo' + } + } + url "https://github.com/shevek/${rootProject.githubProjectName}" + scm { + connection "scm:git:[email protected]:shevek/${rootProject.githubProjectName}.git" + url "scm:git:[email protected]:shevek/${rootProject.githubProjectName}.git" + developerConnection "scm:git:[email protected]:shevek/${rootProject.githubProjectName}.git" + } + issueManagement { + system 'github' + url "https://github.com/shevek/${rootProject.githubProjectName}/issues" + } + } + } +} diff --git a/gradle/release.gradle b/gradle/release.gradle deleted file mode 100644 index 6e3c20e..0000000 --- a/gradle/release.gradle +++ /dev/null @@ -1,60 +0,0 @@ -apply plugin: 'release' - -[ uploadIvyLocal: 'uploadLocal', uploadArtifactory: 'artifactoryPublish', buildWithArtifactory: 'build' ].each { key, value -> - // Call out to compile against internal repository - task "${key}"(type: GradleBuild) { - startParameter = project.gradle.startParameter.newInstance() - doFirst { - startParameter.projectProperties = [status: project.status, preferredStatus: project.status] - } - startParameter.addInitScript( file('gradle/netflix-oss.gradle') ) - startParameter.getExcludedTaskNames().add('check') - tasks = [ 'build', value ] - } -} - -// Marker task for following code to key in on -task releaseCandidate(dependsOn: release) -task forceCandidate { - onlyIf { gradle.taskGraph.hasTask(releaseCandidate) } - doFirst { project.status = 'candidate' } -} -task forceRelease { - onlyIf { !gradle.taskGraph.hasTask(releaseCandidate) } - doFirst { project.status = 'release' } -} -release.dependsOn([forceCandidate, forceRelease]) - -task releaseSnapshot(dependsOn: [uploadArtifactory, uploadMavenCentral]) - -// Ensure our versions look like the project status before publishing -task verifyStatus << { - def hasSnapshot = version.contains('-SNAPSHOT') - if (project.status == 'snapshot' && !hasSnapshot) { - throw new GradleException("Version (${version}) needs -SNAPSHOT if publishing snapshot") - } -} -uploadArtifactory.dependsOn(verifyStatus) -uploadMavenCentral.dependsOn(verifyStatus) - -// Ensure upload happens before taggging, hence upload failures will leave repo in a revertable state -preTagCommit.dependsOn([uploadArtifactory, uploadMavenCentral]) - - -gradle.taskGraph.whenReady { taskGraph -> - def hasRelease = taskGraph.hasTask('commitNewVersion') - def indexOf = { return taskGraph.allTasks.indexOf(it) } - - if (hasRelease) { - assert indexOf(build) < indexOf(unSnapshotVersion), 'build target has to be after unSnapshotVersion' - assert indexOf(uploadMavenCentral) < indexOf(preTagCommit), 'preTagCommit has to be after uploadMavenCentral' - assert indexOf(uploadArtifactory) < indexOf(preTagCommit), 'preTagCommit has to be after uploadArtifactory' - } -} - -// Prevent plugin from asking for a version number interactively -ext.'gradle.release.useAutomaticVersion' = "true" - -release { - git.requireBranch = null -} diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar Binary files differindex 5838598..c97a8bd 100644 --- a/gradle/wrapper/gradle-wrapper.jar +++ b/gradle/wrapper/gradle-wrapper.jar diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 40aa5f8..58b3586 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Fri Dec 27 05:48:20 PST 2013 +#Tue Dec 02 23:57:35 PST 2014 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=http\://services.gradle.org/distributions/gradle-1.10-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-bin.zip |