diff options
author | Jisi Liu <liujisi@google.com> | 2016-07-26 17:56:11 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-26 17:56:11 -0700 |
commit | a1a718123f4edc9f77e2cd02691ffa10d2e87f49 (patch) | |
tree | 6d48da3f2d49fd1c66e9db3da4acbd8d54710561 | |
parent | 9c8f603b70de4829c1e40466a7cc8c5ea6bd0522 (diff) | |
parent | 236fb11189b8262cfb8a21a4a16742f5867c91fa (diff) | |
download | protobuf-javalite-a1a718123f4edc9f77e2cd02691ffa10d2e87f49.tar.gz |
Merge pull request #1856 from pherl/javalite
Add protoc-gen-javalite pom file in javalite branch.
-rw-r--r-- | protoc-artifacts/README.md | 19 | ||||
-rw-r--r-- | protoc-artifacts/javalite-pom.xml | 134 | ||||
-rw-r--r-- | protoc-artifacts/protoc-pom.xml (renamed from protoc-artifacts/pom.xml) | 0 |
3 files changed, 149 insertions, 4 deletions
diff --git a/protoc-artifacts/README.md b/protoc-artifacts/README.md index a910fe0d..fc1cac35 100644 --- a/protoc-artifacts/README.md +++ b/protoc-artifacts/README.md @@ -1,3 +1,14 @@ +# Special notes about building pre-compiled protoc-gen-javalite +This section is only visible from the javalite branch, which is forked from the +master branch to provide a stable java lite support. The ``protoc-gen-javalite`` +plugin can only be built and published in this branch. + +The sections below in this README are branched from the master, with all the mvn +commands changed to have an extra ``-f javalite-pom.xml`` parameter to load the +correct configuration for plugins. The original ``pom.xml`` in this branch is +renamed to ``protoc-pom.xml`` to prevent the protoc from being accidentally +published using this branch. + # 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. @@ -36,7 +47,7 @@ $ ./autogen.sh && ./configure && make ## To install artifacts locally The following command will install the ``protoc`` artifact to your local Maven repository. ``` -$ mvn install +$ mvn -f javalite-pom.xml install ``` ## Cross-compilation @@ -57,7 +68,7 @@ Frequently used values are: For example, MinGW32 only ships with 32-bit compilers, but you can still build 32-bit protoc under 64-bit Windows, with the following command: ``` -$ mvn install -Dos.detected.arch=x86_32 +$ mvn -f javalite-pom.xml install -Dos.detected.arch=x86_32 ``` ## To push artifacts to Maven Central @@ -81,7 +92,7 @@ Windows. Use the following command to deploy artifacts for the host platform to a staging repository. ``` -$ mvn clean deploy -P release +$ mvn -f javalite-pom.xml clean deploy -P release ``` It creates a new staging repository. Go to https://oss.sonatype.org/#stagingRepositories and find the repository, usually @@ -92,7 +103,7 @@ subsequent deployments you will need to provide the repository name that you have found in the first deployment so that all artifacts go to the same repository: ``` -$ mvn clean deploy -P release -Dstaging.repository=comgoogle-123 +$ mvn -f javalite-pom.xml clean deploy -P release -Dstaging.repository=comgoogle-123 ``` A 32-bit artifact can be deployed from a 64-bit host with diff --git a/protoc-artifacts/javalite-pom.xml b/protoc-artifacts/javalite-pom.xml new file mode 100644 index 00000000..ca6720a7 --- /dev/null +++ b/protoc-artifacts/javalite-pom.xml @@ -0,0 +1,134 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>com.google</groupId> + <artifactId>google</artifactId> + <version>1</version> + </parent> + <groupId>com.google.protobuf</groupId> + <artifactId>protoc-gen-javalite</artifactId> + <version>3.0.0</version> + <packaging>pom</packaging> + <name>Protobuf Java Lite Compiler Plugin</name> + <description> + The Protobuf Compiler (protoc) compiler plugin to generate Java Lite files. + </description> + <inceptionYear>2008</inceptionYear> + <url>https://developers.google.com/protocol-buffers/</url> + <licenses> + <license> + <name>New BSD license</name> + <url>http://www.opensource.org/licenses/bsd-license.php</url> + <distribution>repo</distribution> + </license> + </licenses> + <scm> + <url>https://github.com/google/protobuf</url> + <connection> + scm:git:https://github.com/google/protobuf.git + </connection> + </scm> + <build> + <extensions> + <extension> + <groupId>kr.motd.maven</groupId> + <artifactId>os-maven-plugin</artifactId> + <version>1.2.3.Final</version> + </extension> + </extensions> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>exec-maven-plugin</artifactId> + <version>1.1.1</version> + <executions> + <execution> + <phase>compile</phase> + <goals> + <goal>exec</goal> + </goals> + </execution> + </executions> + <configuration> + <executable>bash</executable> + <arguments> + <argument>build-protoc.sh</argument> + <argument>${os.detected.name}</argument> + <argument>${os.detected.arch}</argument> + <argument>protoc-gen-javalite</argument> + </arguments> + </configuration> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>build-helper-maven-plugin</artifactId> + <version>1.8</version> + <executions> + <execution> + <id>attach-artifacts</id> + <phase>package</phase> + <goals> + <goal>attach-artifact</goal> + </goals> + <configuration> + <artifacts> + <artifact> + <file>${basedir}/target/protoc-gen-javalite.exe</file> + <classifier>${os.detected.name}-${os.detected.arch}</classifier> + <type>exe</type> + </artifact> + </artifacts> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + <profiles> + <profile> + <id>release</id> + <properties> + <!-- Specify the staging repository to deploy to. This can be left + empty for the first deployment, and Sonatype will create one. For + subsequent deployments it should be set to what Sonatype has + created, so that all deployments will go to the same repository. + --> + <staging.repository></staging.repository> + </properties> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-gpg-plugin</artifactId> + <version>1.5</version> + <executions> + <execution> + <id>sign-artifacts</id> + <phase>verify</phase> + <goals> + <goal>sign</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.sonatype.plugins</groupId> + <artifactId>nexus-staging-maven-plugin</artifactId> + <version>1.6.3</version> + <extensions>true</extensions> + <configuration> + <serverId>sonatype-nexus-staging</serverId> + <nexusUrl>https://oss.sonatype.org/</nexusUrl> + <skipStagingRepositoryClose>true</skipStagingRepositoryClose> + <autoReleaseAfterClose>false</autoReleaseAfterClose> + <stagingRepositoryId>${staging.repository}</stagingRepositoryId> + </configuration> + </plugin> + </plugins> + </build> + </profile> + </profiles> +</project> diff --git a/protoc-artifacts/pom.xml b/protoc-artifacts/protoc-pom.xml index 6bb71b6e..6bb71b6e 100644 --- a/protoc-artifacts/pom.xml +++ b/protoc-artifacts/protoc-pom.xml |