pom.xml 4.43 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12
<?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</artifactId>
13
  <version>3.6.0</version>
14 15 16 17 18 19 20 21 22 23
  <packaging>pom</packaging>
  <name>Protobuf Compiler</name>
  <description>
    Protobuf Compiler (protoc) is a compiler for .proto files. It generates
    language-specific code for Protobuf messages and RPC interfaces.
  </description>
  <inceptionYear>2008</inceptionYear>
  <url>https://developers.google.com/protocol-buffers/</url>
  <licenses>
    <license>
24
      <name>3-Clause BSD License</name>
25
      <url>https://opensource.org/licenses/BSD-3-Clause</url>
26 27 28 29 30 31 32 33 34 35 36 37 38 39
      <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>
40
        <version>1.5.0.Final</version>
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
      </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>
60 61
            <argument>${os.detected.name}</argument>
            <argument>${os.detected.arch}</argument>
62
            <argument>protoc</argument>
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
          </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.exe</file>
81
                  <classifier>${os.detected.name}-${os.detected.arch}</classifier>
82 83 84 85 86 87 88 89 90
                  <type>exe</type>
                </artifact>
              </artifacts>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
91 92 93
  <profiles>
    <profile>
      <id>release</id>
94
      <properties>
95 96 97 98 99
        <!-- 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.
             -->
100 101
        <staging.repository></staging.repository>
      </properties>
102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
      <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>
126
               <skipStagingRepositoryClose>true</skipStagingRepositoryClose>
127
               <autoReleaseAfterClose>false</autoReleaseAfterClose>
128
               <stagingRepositoryId>${staging.repository}</stagingRepositoryId>
129 130 131 132 133 134
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
135
</project>