All Downloads are FREE. Search and download functionalities are using the official Maven repository.

nexus.bundles.org.sonatype.nexus.bundles.elasticsearch.3.58.0-01.source-code.pom.xml Maven / Gradle / Ivy

<!--

    Sonatype Nexus (TM) Open Source Version
    Copyright (c) 2008-present Sonatype, Inc.
    All rights reserved. Includes the third-party code listed at http://links.sonatype.com/products/nexus/oss/attributions.

    This program and the accompanying materials are made available under the terms of the Eclipse Public License Version 1.0,
    which accompanies this distribution and is available at http://www.eclipse.org/legal/epl-v10.html.

    Sonatype Nexus (TM) Professional Version is available from Sonatype, Inc. "Sonatype" and "Sonatype Nexus" are trademarks
    of Sonatype, Inc. Apache Maven is a trademark of the Apache Software Foundation. M2eclipse is a trademark of the
    Eclipse Foundation. All other trademarks are the property of their respective owners.

-->
<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">

  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.sonatype.nexus.bundles</groupId>
    <artifactId>nexus-thirdparty-bundles</artifactId>
    <version>3.58.0-01</version>
  </parent>

  <artifactId>org.sonatype.nexus.bundles.elasticsearch</artifactId>
  <name>${project.groupId}:${project.artifactId}</name>

  <properties>
    <clm.skip>false</clm.skip>
  </properties>

  <dependencies>
    <!--
    Mark as optional to workaround MNG-5899
    -->
    <dependency>
      <groupId>org.elasticsearch</groupId>
      <artifactId>elasticsearch</artifactId>
      <optional>true</optional>
    </dependency>

    <!--
    Promote OSGi-enabled dependencies
    -->
    <dependency>
      <groupId>com.fasterxml.jackson.dataformat</groupId>
      <artifactId>jackson-dataformat-cbor</artifactId>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.dataformat</groupId>
      <artifactId>jackson-dataformat-smile</artifactId>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.dataformat</groupId>
      <artifactId>jackson-dataformat-yaml</artifactId>
    </dependency>
    <dependency>
      <groupId>org.hdrhistogram</groupId>
      <artifactId>HdrHistogram</artifactId>
    </dependency>
    <dependency>
      <groupId>com.vividsolutions</groupId>
      <artifactId>jts</artifactId>
    </dependency>
    <dependency>
      <groupId>com.ning</groupId>
      <artifactId>compress-lzf</artifactId>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <!--
      Generate OSGi manifest based on expected content
      -->
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <executions>
          <execution>
            <id>bundle-manifest</id>
            <phase>process-classes</phase>
            <goals>
              <goal>manifest</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <rebuildBundle>true</rebuildBundle>
          <instructions>
            <Bundle-License>
              http://www.apache.org/licenses/LICENSE-2.0
            </Bundle-License>
            <Export-Package>
              org.elasticsearch.*,
              org.apache.lucene.*;-split-package:=merge-first,
            </Export-Package>
            <Private-Package>
              org.joda.time.*;-split-package:=merge-first,
              com.carrotsearch.hppc.*,
              com.spatial4j.core.*,
              com.tdunning.math.*,
              com.twitter.jsr166e,
              META-INF.*
            </Private-Package>
            <Import-Package>
              *;resolution:=optional
            </Import-Package>
          </instructions>
        </configuration>
      </plugin>

      <!--
      Include generated manifest in initial jar
      -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
          <archive>
            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
            <manifest>
              <addDefaultSpecificationEntries>false</addDefaultSpecificationEntries>
              <addDefaultImplementationEntries>false</addDefaultImplementationEntries>
            </manifest>
          </archive>
        </configuration>
      </plugin>

      <!--
      Workaround MSHADE-195 where sources are installed/deployed twice
      -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <configuration>
          <attach>false</attach>
        </configuration>
      </plugin>

      <!--
      Finally add expected content from dependencies
      -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <createDependencyReducedPom>true</createDependencyReducedPom>
              <createSourcesJar>true</createSourcesJar>
              <artifactSet>
                <includes>
                  <!--
                  Embed non-OSGi and patched private dependencies
                  -->
                  <include>org.elasticsearch:*</include>
                  <include>org.apache.lucene:*</include>
                  <include>joda-time:joda-time</include>
                  <include>com.carrotsearch:hppc</include>
                  <include>com.spatial4j:spatial4j</include>
                  <include>com.tdunning:t-digest</include>
                  <include>com.twitter:jsr166e</include>
                </includes>
              </artifactSet>
              <filters>
                <filter>
                  <artifact>joda-time:joda-time</artifact>
                  <excludes>
                    <!-- remove duplicate warning (ES replaces this class) -->
                    <exclude>org/joda/time/base/BaseDateTime.class</exclude>
                  </excludes>
                </filter>
              </filters>
              <transformers>
                <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer"/>
                <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
              </transformers>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <!--
      This deliberately runs always and not just during release to break immediately when the artifact is missing
      -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>get-javadocs-for-staging-compliance</id>
            <phase>package</phase>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <artifactItems>
                <artifactItem>
                  <groupId>org.elasticsearch</groupId>
                  <artifactId>elasticsearch</artifactId>
                  <classifier>javadoc</classifier>
                  <destFileName>elasticsearch-javadoc.jar</destFileName>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <profiles>
    <profile>
      <id>release</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
              <execution>
                <phase>package</phase>
                <goals>
                  <goal>attach-artifact</goal>
                </goals>
                <configuration>
                  <artifacts>
                    <artifact>
                      <file>${project.build.directory}/dependency/elasticsearch-javadoc.jar</file>
                      <classifier>javadoc</classifier>
                      <type>jar</type>
                    </artifact>
                  </artifacts>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

</project>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy