瀏覽代碼

Add README.md; Allow installing to local repo without OSSRH account and signature

zhangkun83 10 年之前
父節點
當前提交
65858d51bb
共有 2 個文件被更改,包括 45 次插入2 次删除
  1. 38 0
      protoc-artifacts/README.md
  2. 7 2
      protoc-artifacts/build.gradle

+ 38 - 0
protoc-artifacts/README.md

@@ -0,0 +1,38 @@
+# Build scripts that publish pre-compiled protoc artifacts
+``protoc`` is the compiler for ``.proto`` files. It generates language bindings
+for the messages and/or RPC services from ``.proto`` files.
+
+Because ``protoc`` is a native executable, the scripts under this directory
+build and publish a ``protoc`` executable (a.k.a. artifact) to Maven
+repositories.
+
+## Artifact name
+The name of a published ``protoc`` artifact is in the following format:
+``protoc-<version>-<os>-<arch>.exe``, e.g., ``protoc-3.0.0-alpha-3-windows-x86_64.exe``.
+
+## To install artifacts locally
+The following command will install the ``protoc`` artifact to your local Maven repository.
+```
+$ ./gradlew install
+```
+
+## To push artifacts to Maven Central
+Before you can upload artifacts to Maven Central repository, you must have [set
+up your account with OSSRH](http://central.sonatype.org/pages/ossrh-guide.html),
+and have [generated a PGP key](http://gradle.org/docs/current/userguide/signing_plugin.html)
+for siging.  You need to put your account information and PGP key information
+in ``$HOME/.gradle/gradle.properties``, e.g.:
+```
+signing.keyId=24875D73
+signing.password=secret
+signing.secretKeyRingFile=/Users/me/.gnupg/secring.gpg
+
+ossrhUsername=your-jira-id
+ossrhPassword=your-jira-password
+```
+
+Use the following command to upload artifacts:
+```
+$ ./gradlew uploadArchives
+```
+

+ 7 - 2
protoc-artifacts/build.gradle

@@ -22,6 +22,7 @@ repositories {
 }
 
 signing {
+  required false
   sign configurations.archives
 }
 
@@ -51,11 +52,15 @@ uploadArchives.repositories.mavenDeployer {
   beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
 
   repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
-    authentication(userName: sonatypeUsername, password: sonatypePassword)
+    if (rootProject.hasProperty("ossrhUsername") && rootProject.hasProperty("ossrhPassword")) {
+      authentication(userName: sonatypeUsername, password: sonatypePassword)
+    }
   }
 
   snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") {
-    authentication(userName: sonatypeUsername, password: sonatypePassword)
+    if (rootProject.hasProperty("ossrhUsername") && rootProject.hasProperty("ossrhPassword")) {
+      authentication(userName: sonatypeUsername, password: sonatypePassword)
+    }
   }
 }