1<?xml version="1.0" encoding="UTF-8"?> 2<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"> 3 <modelVersion>4.0.0</modelVersion> 4 5 <groupId>com.google.protobuf</groupId> 6 <artifactId>protobuf-parent</artifactId> 7 <version>4.29.4</version> 8 <packaging>pom</packaging> 9 10 <name>Protocol Buffers [Parent]</name> 11 <inceptionYear>2008</inceptionYear> 12 <url>https://developers.google.com/protocol-buffers/</url> 13 <description> 14 Protocol Buffers are a way of encoding structured data in an efficient yet 15 extensible format. 16 </description> 17 18 <developers> 19 <developer> 20 <id>protobuf</id> 21 <name>Protocol Buffers</name> 22 <email>protobuf@googlegroups.com</email> 23 <organization>Google</organization> 24 <organizationUrl>https://protobuf.dev</organizationUrl> 25 <timezone>America/Los_Angeles</timezone> 26 </developer> 27 </developers> 28 29 <properties> 30 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 31 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 32 33 <!-- These are relative to the submodules --> 34 <protobuf.basedir>${project.basedir}/../..</protobuf.basedir> 35 <protobuf.source.dir>${protobuf.basedir}/src</protobuf.source.dir> 36 <protobuf.java_source.dir>${protobuf.basedir}/java/core/src/main/resources</protobuf.java_source.dir> 37 <protoc>${protobuf.basedir}/protoc</protoc> 38 <test.proto.dir>src/test/proto</test.proto.dir> 39 <generated.sources.dir>${project.build.directory}/generated-sources</generated.sources.dir> 40 <generated.testsources.dir>${project.build.directory}/generated-test-sources</generated.testsources.dir> 41 </properties> 42 43 <licenses> 44 <license> 45 <name>BSD-3-Clause</name> 46 <url>https://opensource.org/licenses/BSD-3-Clause</url> 47 <distribution>repo</distribution> 48 </license> 49 </licenses> 50 51 <scm> 52 <url>https://github.com/protocolbuffers/protobuf</url> 53 <connection>scm:git:https://github.com/protocolbuffers/protobuf.git</connection> 54 </scm> 55 56 <distributionManagement> 57 <snapshotRepository> 58 <id>sonatype-nexus-staging</id> 59 <url>https://oss.sonatype.org/content/repositories/snapshots</url> 60 </snapshotRepository> 61 <repository> 62 <id>sonatype-nexus-staging</id> 63 <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url> 64 </repository> 65 </distributionManagement> 66 67 <dependencyManagement> 68 <dependencies> 69 <dependency> 70 <groupId>com.google.protobuf</groupId> 71 <artifactId>protobuf-bom</artifactId> 72 <version>${project.version}</version> 73 <type>pom</type> 74 <scope>import</scope> 75 </dependency> 76 <dependency> 77 <groupId>junit</groupId> 78 <artifactId>junit</artifactId> 79 <version>4.13.2</version> 80 <scope>test</scope> 81 </dependency> 82 <dependency> 83 <groupId>org.mockito</groupId> 84 <artifactId>mockito-core</artifactId> 85 <version>4.3.1</version> 86 <scope>test</scope> 87 </dependency> 88 <dependency> 89 <groupId>com.google.guava</groupId> 90 <artifactId>guava</artifactId> 91 <version>32.0.1-android</version> 92 </dependency> 93 <dependency> 94 <groupId>com.google.guava</groupId> 95 <artifactId>guava-testlib</artifactId> 96 <version>32.0.1-android</version> 97 <scope>test</scope> 98 </dependency> 99 <dependency> 100 <groupId>com.google.truth</groupId> 101 <artifactId>truth</artifactId> 102 <version>1.1.2</version> 103 <scope>test</scope> 104 </dependency> 105 </dependencies> 106 </dependencyManagement> 107 108 <build> 109 <pluginManagement> 110 <plugins> 111 <plugin> 112 <artifactId>maven-compiler-plugin</artifactId> 113 <version>3.6.1</version> 114 <configuration> 115 <source>1.8</source> 116 <target>1.8</target> 117 </configuration> 118 </plugin> 119 <plugin> 120 <artifactId>maven-source-plugin</artifactId> 121 <version>2.4</version> 122 <executions> 123 <execution> 124 <id>attach-sources</id> 125 <goals> 126 <goal>jar-no-fork</goal> 127 </goals> 128 </execution> 129 </executions> 130 </plugin> 131 <plugin> 132 <artifactId>maven-javadoc-plugin</artifactId> 133 <version>2.10.3</version> 134 <executions> 135 <execution> 136 <id>attach-javadocs</id> 137 <goals> 138 <goal>jar</goal> 139 </goals> 140 <configuration> 141 <failOnError>false</failOnError> 142 </configuration> 143 </execution> 144 </executions> 145 </plugin> 146 <plugin> 147 <artifactId>maven-jar-plugin</artifactId> 148 <version>2.6</version> 149 </plugin> 150 <plugin> 151 <groupId>org.codehaus.mojo</groupId> 152 <artifactId>build-helper-maven-plugin</artifactId> 153 <version>1.10</version> 154 </plugin> 155 <plugin> 156 <groupId>org.apache.felix</groupId> 157 <artifactId>maven-bundle-plugin</artifactId> 158 <version>3.0.1</version> 159 </plugin> 160 <plugin> 161 <artifactId>maven-antrun-plugin</artifactId> 162 <version>3.0.0</version> 163 </plugin> 164 <plugin> 165 <artifactId>maven-surefire-plugin</artifactId> 166 <version>3.0.0-M5</version> 167 </plugin> 168 <plugin> 169 <groupId>org.codehaus.mojo</groupId> 170 <artifactId>animal-sniffer-maven-plugin</artifactId> 171 <version>1.20</version> 172 </plugin> 173 </plugins> 174 </pluginManagement> 175 176 <plugins> 177 <plugin> 178 <groupId>org.codehaus.mojo</groupId> 179 <artifactId>animal-sniffer-maven-plugin</artifactId> 180 <configuration> 181 <signature> 182 <groupId>org.codehaus.mojo.signature</groupId> 183 <artifactId>java18</artifactId> 184 <version>1.0</version> 185 </signature> 186 <signature> 187 <groupId>net.sf.androidscents.signature</groupId> 188 <artifactId>android-api-level-21</artifactId> 189 <version>5.0.1_r2</version> 190 </signature> 191 <ignores> 192 <ignore>sun.misc.Unsafe</ignore> 193 </ignores> 194 </configuration> 195 <executions> 196 <execution> 197 <id>android</id> 198 <phase>test</phase> 199 <goals> 200 <goal>check</goal> 201 </goals> 202 </execution> 203 </executions> 204 </plugin> 205 </plugins> 206 </build> 207 208 <profiles> 209 <profile> 210 <id>release</id> 211 <build> 212 <plugins> 213 <plugin> 214 <groupId>org.apache.maven.plugins</groupId> 215 <artifactId>maven-source-plugin</artifactId> 216 <version>2.2.1</version> 217 <executions> 218 <execution> 219 <id>attach-sources</id> 220 <goals> 221 <goal>jar-no-fork</goal> 222 </goals> 223 </execution> 224 </executions> 225 </plugin> 226 <plugin> 227 <groupId>org.apache.maven.plugins</groupId> 228 <artifactId>maven-javadoc-plugin</artifactId> 229 <version>2.10.3</version> 230 <executions> 231 <execution> 232 <id>attach-javadocs</id> 233 <goals> 234 <goal>jar</goal> 235 </goals> 236 <configuration> 237 <failOnError>false</failOnError> 238 </configuration> 239 </execution> 240 </executions> 241 </plugin> 242 <plugin> 243 <artifactId>maven-gpg-plugin</artifactId> 244 <version>1.6</version> 245 <executions> 246 <execution> 247 <id>sign-artifacts</id> 248 <phase>verify</phase> 249 <goals> 250 <goal>sign</goal> 251 </goals> 252 </execution> 253 </executions> 254 </plugin> 255 <plugin> 256 <groupId>org.sonatype.plugins</groupId> 257 <artifactId>nexus-staging-maven-plugin</artifactId> 258 <version>1.6.6</version> 259 <extensions>true</extensions> 260 <configuration> 261 <serverId>sonatype-nexus-staging</serverId> 262 <nexusUrl>https://oss.sonatype.org/</nexusUrl> 263 <autoReleaseAfterClose>false</autoReleaseAfterClose> 264 </configuration> 265 </plugin> 266 <plugin> 267 <groupId>org.jetbrains.dokka</groupId> 268 <artifactId>dokka-maven-plugin</artifactId> 269 <version>1.4.32</version> 270 <executions> 271 <execution> 272 <phase>prepare-package</phase> 273 <goals> 274 <goal>javadocJar</goal> 275 </goals> 276 </execution> 277 </executions> 278 </plugin> 279 </plugins> 280 </build> 281 </profile> 282 </profiles> 283 284 <modules> 285 <module>bom</module> 286 <module>lite</module> 287 <module>core</module> 288 <module>util</module> 289 <module>kotlin</module> 290 <module>kotlin-lite</module> 291 </modules> 292 293</project> 294