|
@@ -1,3 +1,113 @@
|
|
|
+apply plugin: 'maven'
|
|
|
+apply plugin: 'java'
|
|
|
+apply plugin: 'osdetector'
|
|
|
+apply plugin: 'signing'
|
|
|
+
|
|
|
+description = 'Pre-compiled protoc (protobuf compiler) artifacts'
|
|
|
+
|
|
|
+group = 'com.google.protobuf'
|
|
|
+version = '3.0.0-alpha-3-pre'
|
|
|
+
|
|
|
+buildscript {
|
|
|
+ repositories {
|
|
|
+ mavenCentral()
|
|
|
+ mavenLocal()
|
|
|
+ }
|
|
|
+ dependencies {
|
|
|
+ classpath 'com.google.gradle:osdetector-gradle-plugin:0.1.0-SNAPSHOT'
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+repositories {
|
|
|
+ mavenCentral()
|
|
|
+ mavenLocal()
|
|
|
+}
|
|
|
+
|
|
|
+signing {
|
|
|
+ sign configurations.archives
|
|
|
+}
|
|
|
+
|
|
|
+def artifactFile = 'target/protoc.exe' as File
|
|
|
+
|
|
|
+task buildProtoc(type: Exec) {
|
|
|
+ commandLine './build-protoc.sh'
|
|
|
+}
|
|
|
+
|
|
|
+task prepareArtifact(type: Copy, dependsOn: buildProtoc) {
|
|
|
+ from '../src/' as File
|
|
|
+ into artifactFile.parent
|
|
|
+ include 'protoc', 'protoc.exe'
|
|
|
+ rename 'protoc', 'protoc.exe'
|
|
|
+}
|
|
|
+
|
|
|
+artifacts {
|
|
|
+ archives(artifactFile) {
|
|
|
+ classifier osdetector.classifier
|
|
|
+ type "exe"
|
|
|
+ extension "exe"
|
|
|
+ builtBy prepareArtifact
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+uploadArchives.repositories.mavenDeployer {
|
|
|
+ beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
|
|
|
+
|
|
|
+ repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
|
|
|
+ if (rootProject.hasProperty("ossrhUsername")
|
|
|
+ && rootProject.hasProperty("ossrhPassword")) {
|
|
|
+ authentication(userName: ossrhUsername, password: ossrhPassword)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") {
|
|
|
+ if (rootProject.hasProperty("ossrhUsername")
|
|
|
+ && rootProject.hasProperty("ossrhPassword")) {
|
|
|
+ authentication(userName: ossrhUsername, password: ossrhPassword)
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+[
|
|
|
+ install.repositories.mavenInstaller,
|
|
|
+ uploadArchives.repositories.mavenDeployer,
|
|
|
+]*.pom*.whenConfigured { pom ->
|
|
|
+ pom.project {
|
|
|
+ name "$project.group:$project.name"
|
|
|
+ description project.description
|
|
|
+ url 'https://github.com/google/protobuf'
|
|
|
+
|
|
|
+ scm {
|
|
|
+ connection 'scm:svn:https://github.com/google/protobuf.git'
|
|
|
+ developerConnection 'scm:svn:git@github.com:google/protobuf.git'
|
|
|
+ url 'https://github.com/google/protobuf'
|
|
|
+ }
|
|
|
+
|
|
|
+ licenses {
|
|
|
+ license {
|
|
|
+ name 'BSD 3-Clause'
|
|
|
+ url 'http://opensource.org/licenses/BSD-3-Clause'
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ developers {
|
|
|
+ developer {
|
|
|
+ id "com.google.protobuf"
|
|
|
+ name "Protobuf Contributors"
|
|
|
+ email "protobuf@googlegroups.com"
|
|
|
+ url "https://github.com/google/protobuf"
|
|
|
+ organization = "Google, Inc."
|
|
|
+ organizationUrl "https://www.google.com"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// Exe files are skipped by Maven by default. Override it.
|
|
|
+[
|
|
|
+ install.repositories.mavenInstaller,
|
|
|
+ uploadArchives.repositories.mavenDeployer,
|
|
|
+]*.addFilter('all') {artifact, file -> true}
|
|
|
+
|
|
|
task wrapper(type: Wrapper) {
|
|
|
gradleVersion = '2.0'
|
|
|
}
|