<?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.metron</groupId>
    <artifactId>metron-parsing</artifactId>
    <version>0.7.2</version>
  </parent>
  <artifactId>metron-parsers</artifactId>
  <name>metron-parsers</name>
  <description>Metron bundled parsers</description>
  <url>https://metron.apache.org/</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  </properties>
  <dependencies>
    <!-- Metron Dependencies -->
    <dependency>
      <groupId>org.apache.metron</groupId>
      <artifactId>metron-parsers-common</artifactId>
      <version>${project.parent.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.metron</groupId>
      <artifactId>metron-common</artifactId>
      <version>${project.parent.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.metron</groupId>
      <artifactId>stellar-common</artifactId>
      <version>${project.parent.version}</version>
      <scope>provided</scope>
    </dependency>

    <!-- 3rd party dependencies -->
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <version>${global_guava_version}</version>
    </dependency>
    <dependency>
      <groupId>io.thekraken</groupId>
      <artifactId>grok</artifactId>
      <version>0.1.0</version>
      <exclusions>
        <exclusion>
          <artifactId>slf4j-log4j12</artifactId>
          <groupId>org.slf4j</groupId>
        </exclusion>
        <exclusion>
          <artifactId>commons-lang3</artifactId>
          <groupId>org.apache.commons</groupId>
        </exclusion>
      </exclusions>
    </dependency>

    <!-- Test dependencies -->
    <dependency>
      <groupId>org.apache.metron</groupId>
      <artifactId>metron-parsers-common</artifactId>
      <version>${project.parent.version}</version>
      <classifier>tests</classifier>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.metron</groupId>
      <artifactId>metron-test-utilities</artifactId>
      <version>${project.parent.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.github.fge</groupId>
      <artifactId>json-schema-validator</artifactId>
      <version>2.2.6</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>${global_jar_version}</version>
        <executions>
          <execution>
            <goals>
              <goal>test-jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>${global_shade_version}</version>
        <configuration>
          <createDependencyReducedPom>true</createDependencyReducedPom>
          <artifactSet>
            <excludes>
              <exclude>*slf4j*</exclude>
              <!-- Exclude all JUnit deps from the uber jar. Exclude both JUnit 4 and 5 -->
              <exclude>junit</exclude>
              <exclude>org.junit*:*</exclude>
            </excludes>
          </artifactSet>
        </configuration>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <shadedArtifactAttached>true</shadedArtifactAttached>
              <shadedClassifierName>uber</shadedClassifierName>
              <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.fasterxml.jackson</pattern>
                  <shadedPattern>org.apache.metron.jackson</shadedPattern>
                </relocation>
              </relocations>
              <artifactSet>
                <excludes>
                  <exclude>org.slf4j.impl*</exclude>
                  <exclude>org.slf4j:slf4j-log4j*</exclude>
                  <!-- Exclude all JUnit deps from the uber jar. Exclude both JUnit 4 and 5 -->
                  <exclude>junit</exclude>
                  <exclude>org.junit*:*</exclude>
                </excludes>
              </artifactSet>
              <transformers>
                <transformer
                  implementation="org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer">
                  <resources>
                    <resource>.yaml</resource>
                    <resource>LICENSE.txt</resource>
                    <resource>ASL2.0</resource>
                    <resource>NOTICE.txt</resource>
                  </resources>
                </transformer>
                <!-- UNCOMMENT THIS IF YOU NEED TO REGENERATE THE BEST GUESS NOTICES FILE WHICH REQUIRES PRUNING EVERY RELEASE -->
                <!--transformer implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer">
                    <addHeader>false</addHeader>
                    <projectName>${project.name}</projectName>
                </transformer-->
                <transformer
                  implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
                <transformer
                  implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                  <mainClass></mainClass>
                </transformer>
                <!-- ClassIndexTransformer needs to go LAST. For some reason it will clobber other transformers from operating when it is put first -->
                <transformer implementation="org.atteo.classindex.ClassIndexTransformer"/>
              </transformers>
            </configuration>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>org.atteo.classindex</groupId>
            <artifactId>classindex-transformer</artifactId>
            <version>${global_classindex_version}</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptor>src/main/assembly/assembly.xml</descriptor>
        </configuration>
        <executions>
          <execution>
            <id>make-assembly</id> <!-- this is used for inheritance merges -->
            <phase>package</phase> <!-- bind to the packaging phase -->
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
      </resource>
      <resource>
        <directory>src/main/patterns</directory>
      </resource>
      <resource>
        <directory>src/test/resources</directory>
      </resource>
    </resources>
  </build>
</project>
