<?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">
  <parent>
    <artifactId>dsbulk-parent</artifactId>
    <groupId>com.datastax.oss</groupId>
    <version>1.9.0</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>dsbulk-distribution</artifactId>
  <name>DataStax Bulk Loader - Distribution</name>
  <description>Binary distribution of the DataStax Bulk Loader.</description>
  <build>
    <finalName>dsbulk-${project.version}</finalName>
    <plugins>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <executions>
          <execution>
            <phase>prepare-package</phase>
            <goals>
              <goal>report-aggregate</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-source-plugin</artifactId>
        <configuration>
          <skipSource>true</skipSource>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-javadoc-plugin</artifactId>
        <configuration>
          <skip>true</skip>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <id>release</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>license-maven-plugin</artifactId>
            <version>1.14</version>
            <executions>
              <execution>
                <id>add-third-party</id>
                <phase>process-sources</phase>
                <goals>
                  <goal>add-third-party</goal>
                </goals>
                <configuration>
                  <excludedScopes>test</excludedScopes>
                  <licenseMerges>
                    <licenseMerge>Apache License, Version 2.0|The Apache Software License, Version 2.0|Apache Public License 2.0|Apache License 2.0|Apache 2.0|Apache 2|Apache-2.0</licenseMerge>
                    <licenseMerge>BSD License|The BSD License|BSD|BSD-2-Clause|BSD 2-Clause License</licenseMerge>
                    <licenseMerge>MIT License|The MIT License|MIT license</licenseMerge>
                    <licenseMerge>Creative Commons CC0|Public Domain, per Creative Commons CC0|CC0</licenseMerge>
                    <licenseMerge>Eclipse Public License, Version 1.0|Eclipse Public License - v 1.0|Common Public License - v 1.0</licenseMerge>
                  </licenseMerges>
                  <failOnMissing>true</failOnMissing>
                  <outputDirectory>/Users/alexandredutra/Projects/dsbulk/target/checkout/distribution/target/generated-sources/license/META-INF</outputDirectory>
                </configuration>
              </execution>
            </executions>
            <configuration>
              <excludedScopes>test</excludedScopes>
              <licenseMerges>
                <licenseMerge>Apache License, Version 2.0|The Apache Software License, Version 2.0|Apache Public License 2.0|Apache License 2.0|Apache 2.0|Apache 2|Apache-2.0</licenseMerge>
                <licenseMerge>BSD License|The BSD License|BSD|BSD-2-Clause|BSD 2-Clause License</licenseMerge>
                <licenseMerge>MIT License|The MIT License|MIT license</licenseMerge>
                <licenseMerge>Creative Commons CC0|Public Domain, per Creative Commons CC0|CC0</licenseMerge>
                <licenseMerge>Eclipse Public License, Version 1.0|Eclipse Public License - v 1.0|Common Public License - v 1.0</licenseMerge>
              </licenseMerges>
              <failOnMissing>true</failOnMissing>
              <outputDirectory>/Users/alexandredutra/Projects/dsbulk/target/checkout/distribution/target/generated-sources/license/META-INF</outputDirectory>
            </configuration>
          </plugin>
          <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>2.8</version>
            <executions>
              <execution>
                <id>src-dependencies</id>
                <phase>prepare-package</phase>
                <goals>
                  <goal>unpack-dependencies</goal>
                </goals>
                <configuration>
                  <classifier>sources</classifier>
                  <outputDirectory>/Users/alexandredutra/Projects/dsbulk/target/checkout/distribution/target/sources</outputDirectory>
                  <includeGroupIds>com.datastax.oss</includeGroupIds>
                  <includes>com/datastax/oss/dsbulk/**/*.java</includes>
                  <excludes>com/datastax/oss/dsbulk/generated/**</excludes>
                  <includeScope>runtime</includeScope>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-shade-plugin</artifactId>
            <version>3.2.4</version>
            <executions>
              <execution>
                <id>uber-jar</id>
                <phase>package</phase>
                <goals>
                  <goal>shade</goal>
                </goals>
                <configuration>
                  <shadedArtifactAttached>false</shadedArtifactAttached>
                  <filters>
                    <filter>
                      <artifact>*</artifact>
                      <excludes>
                        <exclude>META-INF/MANIFEST.MF</exclude>
                        <exclude>META-INF/maven/**</exclude>
                        <exclude>META-INF/jandex.idx</exclude>
                        <exclude>META-INF/native-image/**</exclude>
                        <exclude>**/module-info.class</exclude>
                        <exclude>**/*.kotlin_module</exclude>
                        <exclude>native_protocol*.spec</exclude>
                        <exclude>dse_protocol*.spec</exclude>
                      </excludes>
                    </filter>
                  </filters>
                  <transformers>
                    <transformer>
                      <mainClass>com.datastax.oss.dsbulk.runner.DataStaxBulkLoader</mainClass>
                    </transformer>
                    <transformer>
                      <resource>dsbulk-reference.conf</resource>
                    </transformer>
                    <transformer>
                      <resource>driver-reference.conf</resource>
                    </transformer>
                    <transformer>
                      <resource>reference.conf</resource>
                    </transformer>
                    <transformer>
                      <resource>META-INF/NOTICE</resource>
                    </transformer>
                    <transformer>
                      <resource>META-INF/LICENSE</resource>
                    </transformer>
                    <transformer>
                      <resource>META-INF/NOTICE.txt</resource>
                    </transformer>
                    <transformer>
                      <resource>META-INF/LICENSE.txt</resource>
                    </transformer>
                    <transformer>
                      <resource>META-INF/io.netty.versions.properties</resource>
                    </transformer>
                    <transformer />
                  </transformers>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <executions>
              <execution>
                <id>aggregate-javadocs</id>
                <phase>package</phase>
                <goals>
                  <goal>aggregate-jar</goal>
                </goals>
                <inherited>false</inherited>
                <configuration>
                  <skip>false</skip>
                  <verbose>false</verbose>
                  <quiet>true</quiet>
                  <excludePackageNames>com.datastax.oss.dsbulk.generated*</excludePackageNames>
                  <includeDependencySources>true</includeDependencySources>
                  <dependencySourceIncludes>
                    <dependencySourceInclude>com.datastax.oss:dsbulk*</dependencySourceInclude>
                  </dependencySourceIncludes>
                  <includeTransitiveDependencySources>true</includeTransitiveDependencySources>
                  <doctitle>DataStax Bulk Loader 1.9.0 API</doctitle>
                  <windowtitle>DataStax Bulk Loader 1.9.0 API</windowtitle>
                  <links>
                    <link>https://www.javadoc.io/doc/com.datastax.oss/java-driver-core/4.14.0</link>
                    <link>https://www.javadoc.io/doc/io.netty/netty-all/4.1.74.Final</link>
                    <link>https://www.javadoc.io/doc/com.typesafe/config/1.4.2</link>
                    <link>https://www.reactive-streams.org/reactive-streams-1.0.3-javadoc/</link>
                    <link>https://www.javadoc.io/doc/io.projectreactor/reactor-core/2020.0.16</link>
                    <link>https://www.javadoc.io/doc/com.fasterxml.jackson.core/jackson-core/2.13.1</link>
                    <link>https://www.javadoc.io/doc/com.fasterxml.jackson.core/jackson-databind/2.13.1</link>
                    <link>https://www.javadoc.io/doc/org.antlr/antlr4/4.9.3</link>
                  </links>
                  <doclint>all,-missing</doclint>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>3.3.0</version>
            <executions>
              <execution>
                <id>assemble-distribution</id>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
                <configuration>
                  <appendAssemblyId>false</appendAssemblyId>
                  <descriptors>
                    <descriptor>src/assembly/distribution.xml</descriptor>
                  </descriptors>
                  <tarLongFileMode>posix</tarLongFileMode>
                </configuration>
              </execution>
              <execution>
                <id>generate-sources-jar</id>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
                <configuration>
                  <appendAssemblyId>true</appendAssemblyId>
                  <finalName>dsbulk-1.9.0</finalName>
                  <descriptors>
                    <descriptor>src/assembly/sources.xml</descriptor>
                  </descriptors>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.datastax.oss</groupId>
        <artifactId>dsbulk-bom</artifactId>
        <version>${project.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
</project>
