diff options
Diffstat (limited to 'gradle')
-rw-r--r-- | gradle/sonatype.gradle | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/gradle/sonatype.gradle b/gradle/sonatype.gradle new file mode 100644 index 0000000..adae7e6 --- /dev/null +++ b/gradle/sonatype.gradle @@ -0,0 +1,98 @@ + +ext { + + sonatypeBaseUrl = "https://oss.sonatype.org" + sonatypeSnapshotUrl = "$sonatypeBaseUrl/content/repositories/snapshots/" + sonatypeRepositoryUrl = "$sonatypeBaseUrl/content/groups/public" + sonatypeReleaseUrl = "$sonatypeBaseUrl/service/local/staging/deploy/maven2/" + sonatypeUploadUrl = isSnapshot ? sonatypeSnapshotUrl : sonatypeReleaseUrl + + projectUrl = "https://github.com/Frege/frege-gradle-plugin" + projectName = "Frege Gradle Plugin" + pomProjectName = projectName + baseJarName = "gradle-frege-plugin" + + groupName = "org.frege-lang" + scmUrl = "git://github.com/Frege/frege-gradle-plugin.git" + scmGitFile = "scm:git@github.com:Frege/frege-gradle-plugin.git" + projectDescription = "Frege Gradle plugin" + + licenseName = "BSD 3-clause license" + licenseUrl = 'http://opensource.org/licenses/BSD-3-Clause' + + organisation = groupName + + primaryEmail = "frege-programming-language@googlegroups.com" +} + +Boolean doSigning() { + + signingEnabled.trim() == "true" +} + +task javadocJar(type: Jar, dependsOn: "javadoc") { + classifier = 'javadoc' + from "build/docs/javadoc" +} + +task sourcesJar(type: Jar) { + from sourceSets.main.allSource + classifier = 'sources' +} + +artifacts { + archives jar + archives javadocJar + + archives sourcesJar +} + +signing { + required { doSigning() } + sign configurations.archives +} + +uploadArchives { + enabled = true + repositories { + mavenDeployer { + if (doSigning()) { + beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } + } + + + repository(url: sonatypeUploadUrl) { + authentication(userName: sonatypeUsername, password: sonatypePassword) + } + pom { + groupId = groupName + project { + name pomProjectName + packaging 'jar' + description projectDescription + url projectUrl + organization { + name pomProjectName + url projectUrl + } + scm { + url scmUrl + } + licenses { + license { + name licenseName + url licenseUrl + distribution 'repo' + } + } + developers { + developer { + email primaryEmail + } + } + } + } + } + } +} + |