f925a29c创建于 2023年3月29日历史提交
<?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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.pentaho.hadoop.shims</groupId>
    <artifactId>pentaho-hadoop-shims-apache-reactor</artifactId>
    <version>9.4.0.0-SNAPSHOT</version>
  </parent>
  <artifactId>pentaho-hadoop-shims-apache-driver</artifactId>
  <version>9.4.0.0-SNAPSHOT</version>
  <packaging>bundle</packaging>
  <properties>
    <vendor-driver.version>3.3.0.0.apache</vendor-driver.version>
    <pentaho-code.version>11.0.0.0</pentaho-code.version>

    <shim.name>apache</shim.name>
    <commons-text.version>1.10.0</commons-text.version>
    <!-- default folder -->
    <guava.version>31.1-jre</guava.version>
    <failureaccess.version>1.0.1</failureaccess.version>
    <org.apache.avro.version>1.8.0</org.apache.avro.version>
    <hadoop-aws.version>3.3.0</hadoop-aws.version>
    <!-- client and default folders -->
    <hadoop.version>3.3.0</hadoop.version>
    <gcs-connector.version>hadoop2-1.9.17</gcs-connector.version>
    <!-- pmr folder -->
    <commons-configuration.version>1.6</commons-configuration.version>
    <commons-configuration2.version>2.1.1</commons-configuration2.version>
    <org.apache.hadoop.version>3.3.0</org.apache.hadoop.version>
    <org.apache.orc.version>1.6.1</org.apache.orc.version>
    <parquet.version>1.11.1</parquet.version>
    <joda-time.version>2.9.9</joda-time.version>
    <aws-java-sdk-core.version>1.11.275</aws-java-sdk-core.version>
    <org.apache.thrift.version>0.9.3</org.apache.thrift.version>

    <!-- Guarantee the proper version for Jetty artifacts -->
    <!-- Note the difference between \lib and \lib\client -->
    <jetty.lib-folder.version>9.3.20.v20170531</jetty.lib-folder.version>
    <jetty.client-folder.version>9.3.19.v20170502</jetty.client-folder.version>
  </properties>

  <dependencies>

    <!-- Guarantee the proper version for Jetty artifacts -->
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-annotations</artifactId>
      <version>${jetty.lib-folder.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-client</artifactId>
      <version>${jetty.lib-folder.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-jaas</artifactId>
      <version>${jetty.lib-folder.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-jndi</artifactId>
      <version>${jetty.lib-folder.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-plus</artifactId>
      <version>${jetty.lib-folder.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-rewrite</artifactId>
      <version>${jetty.lib-folder.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-runner</artifactId>
      <version>${jetty.lib-folder.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-security</artifactId>
      <version>${jetty.client-folder.version}</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-servlet</artifactId>
      <version>${jetty.client-folder.version}</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-webapp</artifactId>
      <version>${jetty.client-folder.version}</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-xml</artifactId>
      <version>${jetty.client-folder.version}</version>
    </dependency>

    <dependency>
      <groupId>org.pentaho.hadoop.shims</groupId>
      <artifactId>pentaho-hadoop-shims-common-fragment-V1</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.pentaho</groupId>
      <artifactId>shim-bundle-plugin</artifactId>
      <version>${shim-bundle-plugin.version}</version>
    </dependency>
    <dependency>
      <groupId>org.pentaho</groupId>
      <artifactId>shim-api</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-mapreduce-client-app</artifactId>
      <version>${org.apache.hadoop.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-mapreduce-client-core</artifactId>
      <version>${org.apache.hadoop.version}</version>
    </dependency>

  <!-- Dependency for hadoop-common-3.3.0 which causes bundle packaging issues -->
    <dependency>
      <groupId>dnsjava</groupId>
      <artifactId>dnsjava</artifactId>
      <version>3.3.1</version>
    </dependency>

    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-common</artifactId>
      <version>${org.apache.hadoop.version}</version>
      <exclusions>
        <exclusion>
          <groupId>dnsjava</groupId>
          <artifactId>dnsjava</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.sun.xml.bind</groupId>
          <artifactId>jaxb-impl</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.commons</groupId>
          <artifactId>commons-text</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.orc</groupId>
      <artifactId>orc-core</artifactId>
      <version>${org.apache.orc.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-text</artifactId>
      <version>${commons-text.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.avro</groupId>
      <artifactId>avro</artifactId>
      <version>${org.apache.avro.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.avro</groupId>
      <artifactId>avro-mapred</artifactId>
      <version>${org.apache.avro.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.parquet</groupId>
      <artifactId>parquet-hadoop-bundle</artifactId>
      <version>${parquet.version}</version>
    </dependency>

    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-hdfs</artifactId>
      <version>${org.apache.hadoop.version}</version>
    </dependency>

    <dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-bundle</artifactId>
      <version>${aws-java-sdk-core.version}</version>
    </dependency>
    <dependency>
      <groupId>com.huaweicloud</groupId>
      <artifactId>esdk-obs-java-bundle</artifactId>
      <version>3.22.3</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.dataformat</groupId>
      <artifactId>jackson-dataformat-cbor</artifactId>
    </dependency>

    <!-- Dependencies for GCS connectivity   -->
    <dependency>
      <groupId>com.google.cloud.bigdataoss</groupId>
      <artifactId>gcs-connector</artifactId>
      <version>${gcs-connector.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-azure</artifactId>
      <version>3.3.0</version>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-azure-datalake</artifactId>
      <version>3.3.0</version>
    </dependency>
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <version>${guava.version}</version>
    </dependency>
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>failureaccess</artifactId>
      <version>${failureaccess.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-aws</artifactId>
      <version>${hadoop-aws.version}</version>
    </dependency>
    <dependency>
      <groupId>com.huaweicloud</groupId>
      <artifactId>hadoop-huaweicloud</artifactId>
      <version>3.1.1-hw-45</version>
    </dependency>
    <dependency>
      <groupId>joda-time</groupId>
      <artifactId>joda-time</artifactId>
      <version>${joda-time.version}</version>
      <exclusions>
        <exclusion>
          <groupId>*</groupId>
          <artifactId>*</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <!--- End dependencies for Pig -->
    <dependency>
      <groupId>org.apache.thrift</groupId>
      <artifactId>libthrift</artifactId>
      <version>${org.apache.thrift.version}</version>
    </dependency>
    <dependency>
      <groupId>commons-configuration</groupId>
      <artifactId>commons-configuration</artifactId>
      <version>${commons-configuration.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-configuration2</artifactId>
      <version>${commons-configuration2.version}</version>
    </dependency>

    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <version>${org.mockito.version}</version>
      <scope>test</scope>
    </dependency>

  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.pentaho</groupId>
        <artifactId>shim-bundle-plugin</artifactId>
        <version>${shim-bundle-plugin.version}</version>
        <configuration>
          <resolverFilters>
            <resolverFilter>
              <include>
                *:com.fasterxml.jackson.dataformat,*:hadoop-mapreduce-client-app,*:hadoop-mapreduce-client-core,
                org.apache.commons:commons-text,
                *:hadoop-common,*:orc-core,*:avro,
                com.huaweicloud:*,
                *:hadoop-aws,
                *:hadoop-azure,
                *:hadoop-azure-datalake,
                com.amazonaws:*,
                *:parquet-hadoop-bundle,*:hadoop-hdfs,
                *:avro-mapred,
                org.eclipse.jetty:*,
                com.google.guava:*,
                <!--Needed for Hive-->
                *:commons-configuration,*:commons-configuration2,
                *:gcs-connector
              </include>
              <exclude>
                org.slf4j:*,
                *:jersey*:jar:2.25.1,
                *:*log4j*,*:xml-apis,*:xercesImpl,*:tests:*,
                <!--Needed for hive-->
                org.apache.hadoop:hadoop-yarn-registry
              </exclude>
              <transitive>true</transitive>
            </resolverFilter>
            <resolverFilter>
              <include>
                *:libthrift,
              </include>
              <exclude>
                *:tests:*
              </exclude>
              <transitive>false</transitive>
            </resolverFilter>
          </resolverFilters>
        </configuration>
        <executions>
          <execution>
            <phase>prepare-package</phase>
            <goals>
              <goal>resolve</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <extensions>true</extensions>
        <configuration>
          <instructions>
            <Bundle-SymbolicName>pentaho-hadoop-driver-V1</Bundle-SymbolicName>
            <Bundle-Version>3.0.apache</Bundle-Version>
            <Pentaho-Code-Version>${pentaho-code.version}</Pentaho-Code-Version>
            <DynamicImport-Package>*</DynamicImport-Package>
            <Import-Package>
            </Import-Package>
            <_exportcontents>
            </_exportcontents>
            <Embed-Dependency>*</Embed-Dependency>
          </instructions>
        </configuration>
      </plugin>

    </plugins>
  </build>
</project>