| <?xml version="1.0" encoding="UTF-8"?> | 
 | <!-- | 
 |     Licensed to the Apache Software Foundation (ASF) under one or more | 
 |     contributor license agreements.  See the NOTICE file distributed with | 
 |     this work for additional information regarding copyright ownership. | 
 |     The ASF licenses this file to You under the Apache License, Version 2.0 | 
 |     (the "License"); you may not use this file except in compliance with | 
 |     the License.  You may obtain a copy of the License at | 
 |  | 
 |        http://www.apache.org/licenses/LICENSE-2.0 | 
 |  | 
 |     Unless required by applicable law or agreed to in writing, software | 
 |     distributed under the License is distributed on an "AS IS" BASIS, | 
 |     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
 |     See the License for the specific language governing permissions and | 
 |     limitations under the License. | 
 | --> | 
 | <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/xsd/maven-4.0.0.xsd"> | 
 |  | 
 |   <modelVersion>4.0.0</modelVersion> | 
 |  | 
 |   <parent> | 
 |     <groupId>org.apache.beam</groupId> | 
 |     <artifactId>beam-sdks-java-parent</artifactId> | 
 |     <version>2.3.0-SNAPSHOT</version> | 
 |     <relativePath>../pom.xml</relativePath> | 
 |   </parent> | 
 |  | 
 |   <artifactId>beam-sdks-java-core</artifactId> | 
 |   <name>Apache Beam :: SDKs :: Java :: Core</name> | 
 |   <description>Beam SDK Java All provides a simple, Java-based | 
 |   interface for processing virtually any size data. This | 
 |   artifact includes entire Apache Beam Java SDK.</description> | 
 |  | 
 |   <packaging>jar</packaging> | 
 |  | 
 |   <properties> | 
 |     <timestamp>${maven.build.timestamp}</timestamp> | 
 |     <maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format> | 
 |   </properties> | 
 |  | 
 |   <build> | 
 |     <resources> | 
 |       <resource> | 
 |         <directory>src/main/resources</directory> | 
 |         <filtering>true</filtering> | 
 |       </resource> | 
 |     </resources> | 
 |  | 
 |     <pluginManagement> | 
 |       <plugins> | 
 |         <plugin> | 
 |           <groupId>org.apache.maven.plugins</groupId> | 
 |           <artifactId>maven-checkstyle-plugin</artifactId> | 
 |           <configuration> | 
 |             <!-- Set testSourceDirectory in order to exclude generated-test-sources --> | 
 |             <testSourceDirectory>${project.basedir}/src/test/</testSourceDirectory> | 
 |           </configuration> | 
 |         </plugin> | 
 |  | 
 |         <plugin> | 
 |           <groupId>org.apache.maven.plugins</groupId> | 
 |           <artifactId>maven-shade-plugin</artifactId> | 
 |           <executions> | 
 |             <execution> | 
 |               <id>bundle-and-repackage</id> | 
 |               <phase>package</phase> | 
 |               <goals> | 
 |                 <goal>shade</goal> | 
 |               </goals> | 
 |               <configuration> | 
 |                 <shadeTestJar>true</shadeTestJar> | 
 |                 <artifactSet> | 
 |                   <includes> | 
 |                     <include>com.google.guava:guava</include> | 
 |                     <include>com.google.protobuf:protobuf-java</include> | 
 |                     <include>com.google.protobuf:protobuf-java-util</include> | 
 |                     <include>net.bytebuddy:byte-buddy</include> | 
 |                     <include>org.apache.commons:*</include> | 
 |                   </includes> | 
 |                 </artifactSet> | 
 |                 <filters> | 
 |                   <filter> | 
 |                     <artifact>*:*</artifact> | 
 |                     <excludes> | 
 |                       <exclude>META-INF/*.SF</exclude> | 
 |                       <exclude>META-INF/*.DSA</exclude> | 
 |                       <exclude>META-INF/*.RSA</exclude> | 
 |                     </excludes> | 
 |                   </filter> | 
 |                 </filters> | 
 |                 <relocations> | 
 |                   <relocation> | 
 |                     <pattern>com.google.common</pattern> | 
 |                     <excludes> | 
 |                       <!-- com.google.common is too generic, need to exclude guava-testlib --> | 
 |                       <exclude>com.google.common.**.testing.*</exclude> | 
 |                     </excludes> | 
 |                     <!--suppress MavenModelInspection --> | 
 |                     <shadedPattern> | 
 |                       org.apache.beam.sdk.repackaged.com.google.common | 
 |                     </shadedPattern> | 
 |                   </relocation> | 
 |                   <relocation> | 
 |                     <pattern>com.google.thirdparty</pattern> | 
 |                     <!--suppress MavenModelInspection --> | 
 |                     <shadedPattern> | 
 |                       org.apache.beam.sdk.repackaged.com.google.thirdparty | 
 |                     </shadedPattern> | 
 |                   </relocation> | 
 |                   <relocation> | 
 |                     <pattern>com.google.protobuf</pattern> | 
 |                     <!--suppress MavenModelInspection --> | 
 |                     <shadedPattern> | 
 |                       org.apache.beam.sdk.repackaged.com.google.protobuf | 
 |                     </shadedPattern> | 
 |                   </relocation> | 
 |                   <relocation> | 
 |                     <pattern>net.bytebuddy</pattern> | 
 |                     <!--suppress MavenModelInspection --> | 
 |                     <shadedPattern> | 
 |                       org.apache.beam.sdk.repackaged.net.bytebuddy | 
 |                     </shadedPattern> | 
 |                   </relocation> | 
 |                   <relocation> | 
 |                     <pattern>org.apache.commons</pattern> | 
 |                     <!--suppress MavenModelInspection --> | 
 |                     <shadedPattern> | 
 |                       org.apache.beam.sdk.repackaged.org.apache.commons | 
 |                     </shadedPattern> | 
 |                   </relocation> | 
 |                 </relocations> | 
 |                 <transformers> | 
 |                   <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" /> | 
 |                 </transformers> | 
 |               </configuration> | 
 |             </execution> | 
 |           </executions> | 
 |         </plugin> | 
 |       </plugins> | 
 |     </pluginManagement> | 
 |  | 
 |     <plugins> | 
 |       <plugin> | 
 |         <groupId>org.apache.maven.plugins</groupId> | 
 |         <artifactId>maven-surefire-plugin</artifactId> | 
 |         <configuration> | 
 |           <excludedGroups> | 
 |             org.apache.beam.sdk.testing.NeedsRunner | 
 |           </excludedGroups> | 
 |           <systemPropertyVariables> | 
 |             <beamUseDummyRunner>true</beamUseDummyRunner> | 
 |           </systemPropertyVariables> | 
 |         </configuration> | 
 |       </plugin> | 
 |  | 
 |       <!-- Coverage analysis for unit tests. --> | 
 |       <plugin> | 
 |         <groupId>org.jacoco</groupId> | 
 |         <artifactId>jacoco-maven-plugin</artifactId> | 
 |       </plugin> | 
 |  | 
 |       <!-- Avro plugin for automatic code generation --> | 
 |       <plugin> | 
 |         <groupId>org.apache.avro</groupId> | 
 |         <artifactId>avro-maven-plugin</artifactId> | 
 |         <executions> | 
 |           <execution> | 
 |             <id>schemas</id> | 
 |             <phase>generate-sources</phase> | 
 |             <goals> | 
 |               <goal>schema</goal> | 
 |             </goals> | 
 |             <configuration> | 
 |               <testSourceDirectory>${project.basedir}/src/test/</testSourceDirectory> | 
 |               <testOutputDirectory>${project.build.directory}/generated-test-sources/java</testOutputDirectory> | 
 |             </configuration> | 
 |           </execution> | 
 |         </executions> | 
 |       </plugin> | 
 |  | 
 |       <!-- This plugin tells Maven about an additional test-source directory to build,  | 
 |         which contains Avro-generated source files. This is not strictly needed for the regular  | 
 |         Maven build, but helps certain IDEs automatically find and compile generated code. --> | 
 |       <plugin> | 
 |         <groupId>org.codehaus.mojo</groupId> | 
 |         <artifactId>build-helper-maven-plugin</artifactId> | 
 |         <executions> | 
 |           <execution> | 
 |             <id>add-test-source</id> | 
 |             <phase>generate-test-sources</phase> | 
 |             <goals> | 
 |               <goal>add-test-source</goal> | 
 |             </goals> | 
 |             <configuration> | 
 |               <sources> | 
 |                 <source>${project.build.directory}/generated-test-sources/java</source> | 
 |               </sources> | 
 |             </configuration> | 
 |           </execution> | 
 |         </executions> | 
 |       </plugin> | 
 |     </plugins> | 
 |   </build> | 
 |  | 
 |   <dependencies> | 
 |     <dependency> | 
 |       <groupId>com.google.guava</groupId> | 
 |       <artifactId>guava</artifactId> | 
 |     </dependency> | 
 |  | 
 |     <dependency> | 
 |       <!-- Note: when relocating guava, ensure guava-testlib is not also relocated by | 
 |            excluding com.google.common.**.testing.* --> | 
 |       <groupId>com.google.guava</groupId> | 
 |       <artifactId>guava-testlib</artifactId> | 
 |       <scope>test</scope> | 
 |     </dependency> | 
 |  | 
 |     <dependency> | 
 |       <groupId>com.google.protobuf</groupId> | 
 |       <artifactId>protobuf-java</artifactId> | 
 |     </dependency> | 
 |  | 
 |     <dependency> | 
 |       <groupId>com.google.code.findbugs</groupId> | 
 |       <artifactId>jsr305</artifactId> | 
 |     </dependency> | 
 |  | 
 |     <dependency> | 
 |       <groupId>com.github.stephenc.findbugs</groupId> | 
 |       <artifactId>findbugs-annotations</artifactId> | 
 |     </dependency> | 
 |  | 
 |     <dependency> | 
 |       <groupId>com.fasterxml.jackson.core</groupId> | 
 |       <artifactId>jackson-core</artifactId> | 
 |     </dependency> | 
 |  | 
 |     <dependency> | 
 |       <groupId>com.fasterxml.jackson.core</groupId> | 
 |       <artifactId>jackson-annotations</artifactId> | 
 |     </dependency> | 
 |  | 
 |     <dependency> | 
 |       <groupId>com.fasterxml.jackson.core</groupId> | 
 |       <artifactId>jackson-databind</artifactId> | 
 |     </dependency> | 
 |  | 
 |     <dependency> | 
 |       <groupId>org.slf4j</groupId> | 
 |       <artifactId>slf4j-api</artifactId> | 
 |     </dependency> | 
 |  | 
 |     <dependency> | 
 |       <groupId>net.bytebuddy</groupId> | 
 |       <artifactId>byte-buddy</artifactId> | 
 |     </dependency> | 
 |  | 
 |     <dependency> | 
 |       <groupId>org.apache.avro</groupId> | 
 |       <artifactId>avro</artifactId> | 
 |     </dependency> | 
 |  | 
 |     <dependency> | 
 |       <groupId>org.xerial.snappy</groupId> | 
 |       <artifactId>snappy-java</artifactId> | 
 |     </dependency> | 
 |  | 
 |     <dependency> | 
 |       <groupId>org.apache.commons</groupId> | 
 |       <artifactId>commons-compress</artifactId> | 
 |     </dependency> | 
 |  | 
 |     <dependency> | 
 |       <groupId>org.apache.commons</groupId> | 
 |       <artifactId>commons-lang3</artifactId> | 
 |     </dependency> | 
 |  | 
 |     <dependency> | 
 |       <groupId>joda-time</groupId> | 
 |       <artifactId>joda-time</artifactId> | 
 |     </dependency> | 
 |  | 
 |     <!-- To use org.apache.beam.io.AvroSource with XZ-encoded files, please explicitly | 
 |       declare this dependency to include org.tukaani:xz on the classpath at runtime. --> | 
 |     <dependency> | 
 |       <groupId>org.tukaani</groupId> | 
 |       <artifactId>xz</artifactId> | 
 |       <version>1.5</version> | 
 |       <scope>runtime</scope> | 
 |       <optional>true</optional> | 
 |     </dependency> | 
 |  | 
 |     <!-- build dependencies --> | 
 |     <dependency> | 
 |       <groupId>com.google.auto.service</groupId> | 
 |       <artifactId>auto-service</artifactId> | 
 |       <optional>true</optional> | 
 |     </dependency> | 
 |  | 
 |     <dependency> | 
 |       <groupId>com.google.auto.value</groupId> | 
 |       <artifactId>auto-value</artifactId> | 
 |       <scope>provided</scope> | 
 |     </dependency> | 
 |  | 
 |     <!-- test dependencies --> | 
 |     <dependency> | 
 |       <groupId>org.apache.beam</groupId> | 
 |       <artifactId>beam-model-fn-execution</artifactId> | 
 |       <type>test-jar</type> | 
 |       <scope>test</scope> | 
 |       <exclusions> | 
 |         <!-- We only rely on the standard_coders.yaml --> | 
 |         <exclusion> | 
 |           <groupId>org.apache.beam</groupId> | 
 |           <artifactId>beam-model-pipeline</artifactId> | 
 |         </exclusion> | 
 |         <exclusion> | 
 |           <groupId>org.apache.beam</groupId> | 
 |           <artifactId>beam-model-construction</artifactId> | 
 |         </exclusion> | 
 |       </exclusions> | 
 |     </dependency> | 
 |  | 
 |     <dependency> | 
 |       <groupId>com.fasterxml.jackson.dataformat</groupId> | 
 |       <artifactId>jackson-dataformat-yaml</artifactId> | 
 |       <scope>test</scope> | 
 |     </dependency> | 
 |  | 
 |     <dependency> | 
 |       <groupId>org.hamcrest</groupId> | 
 |       <artifactId>hamcrest-all</artifactId> | 
 |       <scope>provided</scope> | 
 |     </dependency> | 
 |  | 
 |     <dependency> | 
 |       <groupId>junit</groupId> | 
 |       <artifactId>junit</artifactId> | 
 |       <scope>provided</scope> | 
 |     </dependency> | 
 |  | 
 |     <dependency> | 
 |       <groupId>org.slf4j</groupId> | 
 |       <artifactId>slf4j-jdk14</artifactId> | 
 |       <scope>test</scope> | 
 |     </dependency> | 
 |  | 
 |     <dependency> | 
 |       <groupId>org.mockito</groupId> | 
 |       <artifactId>mockito-all</artifactId> | 
 |       <scope>test</scope> | 
 |     </dependency> | 
 |  | 
 |     <dependency> | 
 |       <groupId>com.esotericsoftware.kryo</groupId> | 
 |       <artifactId>kryo</artifactId> | 
 |       <version>2.21</version> | 
 |       <scope>test</scope> | 
 |     </dependency> | 
 |   </dependencies> | 
 | </project> |