| // Maven side of things |
| subprojects { |
| 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 |
| */ |
| task uploadMavenCentral(type:Upload, dependsOn: signArchives) { |
| configuration = configurations.archives |
| doFirst { |
| repositories.mavenDeployer { |
| beforeDeployment { org.gradle.api.artifacts.maven.MavenDeployment deployment -> signing.signPom(deployment) } |
| |
| // To test deployment locally, use the following instead of oss.sonatype.org |
| //repository(url: "file://localhost/${rootProject.rootDir}/repo") |
| |
| repository(url: 'https://oss.sonatype.org/service/local/staging/deploy/maven2') { |
| authentication(userName: rootProject.sonatypeUsername, password: rootProject.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 { |
| 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/Netflix/${rootProject.githubProjectName}" |
| scm { |
| connection "scm:git:git@github.com:Netflix/${rootProject.githubProjectName}.git" |
| url "scm:git:git@github.com:Netflix/${rootProject.githubProjectName}.git" |
| developerConnection "scm:git:git@github.com:Netflix/${rootProject.githubProjectName}.git" |
| } |
| issueManagement { |
| system 'github' |
| url "https://github.com/Netflix/${rootProject.githubProjectName}/issues" |
| } |
| |
| name "${rootProject.githubProjectName}" |
| description "${rootProject.githubProjectName} developed by Netflix" |
| developers { |
| developer { |
| id 'randgalt' |
| name 'Jordan Zimmerman' |
| email 'jzimmerman@netflix.com' |
| } |
| } |
| } |
| } |
| } |
| } |
| } |