pom.xml 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <parent>
  7. <groupId>com.google</groupId>
  8. <artifactId>google</artifactId>
  9. <version>1</version>
  10. </parent>
  11. <groupId>com.google.protobuf</groupId>
  12. <artifactId>protoc</artifactId>
  13. <version>3.5.2</version>
  14. <packaging>pom</packaging>
  15. <name>Protobuf Compiler</name>
  16. <description>
  17. Protobuf Compiler (protoc) is a compiler for .proto files. It generates
  18. language-specific code for Protobuf messages and RPC interfaces.
  19. </description>
  20. <inceptionYear>2008</inceptionYear>
  21. <url>https://developers.google.com/protocol-buffers/</url>
  22. <licenses>
  23. <license>
  24. <name>3-Clause BSD License</name>
  25. <url>https://opensource.org/licenses/BSD-3-Clause</url>
  26. <distribution>repo</distribution>
  27. </license>
  28. </licenses>
  29. <scm>
  30. <url>https://github.com/google/protobuf</url>
  31. <connection>
  32. scm:git:https://github.com/google/protobuf.git
  33. </connection>
  34. </scm>
  35. <build>
  36. <extensions>
  37. <extension>
  38. <groupId>kr.motd.maven</groupId>
  39. <artifactId>os-maven-plugin</artifactId>
  40. <version>1.5.0.Final</version>
  41. </extension>
  42. </extensions>
  43. <plugins>
  44. <plugin>
  45. <groupId>org.codehaus.mojo</groupId>
  46. <artifactId>exec-maven-plugin</artifactId>
  47. <version>1.1.1</version>
  48. <executions>
  49. <execution>
  50. <phase>compile</phase>
  51. <goals>
  52. <goal>exec</goal>
  53. </goals>
  54. </execution>
  55. </executions>
  56. <configuration>
  57. <executable>bash</executable>
  58. <arguments>
  59. <argument>build-protoc.sh</argument>
  60. <argument>${os.detected.name}</argument>
  61. <argument>${os.detected.arch}</argument>
  62. <argument>protoc</argument>
  63. </arguments>
  64. </configuration>
  65. </plugin>
  66. <plugin>
  67. <groupId>org.codehaus.mojo</groupId>
  68. <artifactId>build-helper-maven-plugin</artifactId>
  69. <version>1.8</version>
  70. <executions>
  71. <execution>
  72. <id>attach-artifacts</id>
  73. <phase>package</phase>
  74. <goals>
  75. <goal>attach-artifact</goal>
  76. </goals>
  77. <configuration>
  78. <artifacts>
  79. <artifact>
  80. <file>${basedir}/target/protoc.exe</file>
  81. <classifier>${os.detected.name}-${os.detected.arch}</classifier>
  82. <type>exe</type>
  83. </artifact>
  84. </artifacts>
  85. </configuration>
  86. </execution>
  87. </executions>
  88. </plugin>
  89. </plugins>
  90. </build>
  91. <profiles>
  92. <profile>
  93. <id>release</id>
  94. <properties>
  95. <!-- Specify the staging repository to deploy to. This can be left
  96. empty for the first deployment, and Sonatype will create one. For
  97. subsequent deployments it should be set to what Sonatype has
  98. created, so that all deployments will go to the same repository.
  99. -->
  100. <staging.repository></staging.repository>
  101. </properties>
  102. <build>
  103. <plugins>
  104. <plugin>
  105. <groupId>org.apache.maven.plugins</groupId>
  106. <artifactId>maven-gpg-plugin</artifactId>
  107. <version>1.5</version>
  108. <executions>
  109. <execution>
  110. <id>sign-artifacts</id>
  111. <phase>verify</phase>
  112. <goals>
  113. <goal>sign</goal>
  114. </goals>
  115. </execution>
  116. </executions>
  117. </plugin>
  118. <plugin>
  119. <groupId>org.sonatype.plugins</groupId>
  120. <artifactId>nexus-staging-maven-plugin</artifactId>
  121. <version>1.6.3</version>
  122. <extensions>true</extensions>
  123. <configuration>
  124. <serverId>sonatype-nexus-staging</serverId>
  125. <nexusUrl>https://oss.sonatype.org/</nexusUrl>
  126. <skipStagingRepositoryClose>true</skipStagingRepositoryClose>
  127. <autoReleaseAfterClose>false</autoReleaseAfterClose>
  128. <stagingRepositoryId>${staging.repository}</stagingRepositoryId>
  129. </configuration>
  130. </plugin>
  131. </plugins>
  132. </build>
  133. </profile>
  134. </profiles>
  135. </project>