Skip to content
Snippets Groups Projects
pom.xml 38.5 KiB
Newer Older
Luc Maisonobe's avatar
Luc Maisonobe committed
<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>
  <groupId>org.orekit</groupId>
  <artifactId>orekit</artifactId>
  <version>11.3-SNAPSHOT</version>
  <name>ORbit Extrapolation KIT</name>
  <url>http://www.orekit.org/</url>
Luc Maisonobe's avatar
Luc Maisonobe committed

  <inceptionYear>2002</inceptionYear>
  <description>
    OREKIT (ORbits Extrapolation KIT) is a low level space dynamics library.
    It provides basic elements (orbits, dates, attitude, frames ...) and
    various algorithms to handle them (conversions, analytical and numerical
    propagation, pointing ...).
  </description>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <orekit.spotbugs-maven-plugin.version>4.1.4</orekit.spotbugs-maven-plugin.version>
    <orekit.jacoco-maven-plugin.version>0.8.7</orekit.jacoco-maven-plugin.version>
    <orekit.maven-bundle-plugin.version>5.1.2</orekit.maven-bundle-plugin.version>
    <orekit.maven-changes-plugin.version>2.12.1</orekit.maven-changes-plugin.version>
Luc Maisonobe's avatar
Luc Maisonobe committed
    <orekit.maven-checkstyle-plugin.version>3.1.2</orekit.maven-checkstyle-plugin.version>
    <orekit.checkstyle.version>9.0</orekit.checkstyle.version>
Luc Maisonobe's avatar
Luc Maisonobe committed
    <orekit.maven-clean-plugin.version>3.1.0</orekit.maven-clean-plugin.version>
    <orekit.maven-compiler-plugin.version>3.8.1</orekit.maven-compiler-plugin.version>
    <orekit.maven-javadoc-plugin.version>3.3.0</orekit.maven-javadoc-plugin.version>
    <orekit.maven-jar-plugin.version>3.2.0</orekit.maven-jar-plugin.version>
    <orekit.maven-jxr-plugin.version>3.1.1</orekit.maven-jxr-plugin.version>
Luc Maisonobe's avatar
Luc Maisonobe committed
    <orekit.plantuml-maven-plugin.version>1.2</orekit.plantuml-maven-plugin.version>
    <orekit.plantuml.version>1.2021.10</orekit.plantuml.version>
    <orekit.maven-project-info-reports-plugin.version>3.2.1</orekit.maven-project-info-reports-plugin.version>
    <orekit.maven-resources-plugin.version>3.2.0</orekit.maven-resources-plugin.version>
    <orekit.maven-site-plugin.version>3.9.1</orekit.maven-site-plugin.version>
    <orekit.maven-wagon-ssh-plugin.version>3.4.1</orekit.maven-wagon-ssh-plugin.version>
    <orekit.maven-source-plugin.version>3.2.1</orekit.maven-source-plugin.version>
Evan Ward's avatar
Evan Ward committed
    <!-- Surefire 2.22.2 is the last to support CentOS/RedHat 7 due to
         https://issues.apache.org/jira/browse/SUREFIRE-1628 -->
    <orekit.maven-surefire-plugin.version>2.22.2</orekit.maven-surefire-plugin.version>
    <orekit.maven-surefire-report-plugin.version>3.0.0-M5</orekit.maven-surefire-report-plugin.version>
    <orekit.mockito-core.version>3.12.4</orekit.mockito-core.version>
Luc Maisonobe's avatar
Luc Maisonobe committed
    <orekit.jgit.buildnumber.version>1.2.10</orekit.jgit.buildnumber.version>
    <orekit.build-helper-maven-plugin.version>3.2.0</orekit.build-helper-maven-plugin.version>
    <orekit.nexus-staging-maven-plugin.version>1.6.8</orekit.nexus-staging-maven-plugin.version>
    <orekit.maven-gpg-plugin.version>3.0.1</orekit.maven-gpg-plugin.version>
Luc Maisonobe's avatar
Luc Maisonobe committed
    <orekit.maven-install-plugin.version>3.0.0-M1</orekit.maven-install-plugin.version>
    <orekit.mathjax.config>&lt;script type=&quot;text/x-mathjax-config&quot;&gt;MathJax.Hub.Config({ TeX: { extensions: [&quot;autoload.js&quot;]}});&lt;/script&gt;</orekit.mathjax.config>
Luc Maisonobe's avatar
Luc Maisonobe committed
    <orekit.mathjax.enable>&lt;script type=&quot;text/javascript&quot; src=&quot;https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS_CHTML&quot;&gt;&lt;/script&gt;</orekit.mathjax.enable>
    <orekit.hipparchus.version>2.3</orekit.hipparchus.version>
    <orekit.junit.version>5.9.0</orekit.junit.version>
    <orekit.hamcrest.version>2.2</orekit.hamcrest.version>
    <orekit.compiler.source>1.8</orekit.compiler.source>
    <orekit.compiler.target>1.8</orekit.compiler.target>
Luc Maisonobe's avatar
Luc Maisonobe committed
    <orekit.implementation.build>${git.revision}; ${maven.build.timestamp}</orekit.implementation.build>
Guilhem Bonnefille's avatar
Guilhem Bonnefille committed
    <!-- sonar related properties -->
    <sonar.host.url>https://sonar.orekit.org/</sonar.host.url>
    <!-- for building javac plugin -->
    <tools.jar.dir>${java.home}/../lib/</tools.jar.dir>
    <tools.jar.path>${tools.jar.dir}/tools.jar</tools.jar.path>
Luc Maisonobe's avatar
Luc Maisonobe committed
  </properties>
  <distributionManagement>
    <site>
      <id>website</id>
      <url>scp://cochise@spoutnik.orekit.org/var/www/mvn-sites/site-orekit-${project.version}</url>
    </site>
  </distributionManagement>

Luc Maisonobe's avatar
Luc Maisonobe committed
  <developers>
    <developer>
      <name>Luc Maisonobe</name>
      <id>luc</id>
        <role>developer</role>
      </roles>
    </developer>
    <developer>
      <name>Bryan Cazabonne</name>
      <id>bryan</id>
      <roles>
        <role>developer</role>
      </roles>
    </developer>
    <developer>
      <name>Thierry Ceolin</name>
      <id>thierry</id>
      <roles>
        <role>developer</role>
      </roles>
    </developer>
    <developer>
      <name>Vincent Cucchietti</name>
      <id>vincent</id>
      <roles>
        <role>developer</role>
      </roles>
    </developer>
Luc Maisonobe's avatar
Luc Maisonobe committed
    <developer>
      <name>Romain Di Costanzo</name>
      <id>romain</id>
      <roles>
        <role>developer</role>
      </roles>
Luc Maisonobe's avatar
Luc Maisonobe committed
    </developer>
    <developer>
      <name>Romain Garmier</name>
      <roles>
        <role>developer</role>
      </roles>
Luc Maisonobe's avatar
Luc Maisonobe committed
    </developer>
    <developer>
      <name>Hank Grabowski</name>
      <id>hankg</id>
      <roles>
        <role>developer</role>
      </roles>
Luc Maisonobe's avatar
Luc Maisonobe committed
    </developer>
    <developer>
      <name>Maxime Journot</name>
      <id>maxime</id>
      <roles>
        <role>developer</role>
      </roles>
    </developer>
Luc Maisonobe's avatar
Luc Maisonobe committed
    <developer>
      <name>Fabien Maussion</name>
      <roles>
        <role>developer</role>
      </roles>
    </developer>
    <developer>
      <name>Pascal Parraud</name>
      <id>pascal</id>
      <roles>
        <role>developer</role>
      </roles>
Luc Maisonobe's avatar
Luc Maisonobe committed
    </developer>
    <developer>
      <name>V&#233;ronique Pommier-Maurussane</name>
Luc Maisonobe's avatar
Luc Maisonobe committed
      <id>v&#233;ronique</id>
      <roles>
        <role>developer</role>
      </roles>
Luc Maisonobe's avatar
Luc Maisonobe committed
    </developer>
    <developer>
      <name>Guylaine Prat</name>
      <id>guylaine</id>
      <roles>
        <role>developer</role>
      </roles>
Luc Maisonobe's avatar
Luc Maisonobe committed
    </developer>
Luc Maisonobe's avatar
Luc Maisonobe committed
    <developer>
      <name>Aude Privat</name>
      <id>aude</id>
      <roles>
        <role>developer</role>
      </roles>
    </developer>
    <developer>
      <name>Bruno Revelin</name>
      <id>bruno</id>
      <roles>
        <role>developer</role>
      </roles>
    </developer>
    <developer>
      <name>Thomas Neidhart</name>
      <id>thomas</id>
      <roles>
        <role>developer</role>
      </roles>
Luc Maisonobe's avatar
Luc Maisonobe committed
    </developer>
    <developer>
      <name>Romain Serra</name>
      <id>serrof</id>
      <roles>
        <role>developer</role>
      </roles>
    </developer>
Luc Maisonobe's avatar
Luc Maisonobe committed
    <developer>
      <name>Evan Ward</name>
      <id>evan</id>
      <roles>
        <role>developer</role>
      </roles>
    </developer>
    <developer>
      <name>Yannick Jeandroz</name>
      <id>yannick</id>
      <roles>
        <role>developer</role>
      </roles>
    </developer>
    <developer>
      <name>Cl&#233;ment Jonglez</name>
      <id>clement</id>
      <roles>
        <role>developer</role>
      </roles>
    </developer>
Luc Maisonobe's avatar
Luc Maisonobe committed
  </developers>

  <contributors>
    <contributor>
      <name>Roberto Alacevich</name>
    </contributor>
    <contributor>
      <name>Albert Alcarraz Garc&#237;a</name>
    </contributor>
    <contributor>
      <name>Daniel Aguilar Taboada</name>
    </contributor>
    <contributor>
      <name>Louis Aucouturier</name>
    </contributor>
      <name>Lucian B&#259;rbulescu</name>
    <contributor>
      <name>Julie Bayard</name>
    </contributor>
    <contributor>
      <name>Petre Bazavan</name>
    </contributor>
    <contributor>
      <name>Laurene Beauvalet</name>
    </contributor>
    <contributor>
      <name>Nicolas Bernard</name>
    </contributor>
    <contributor>
      <name>Espen Bj&#248;rntvedt</name>
      <name>Paul Cefola</name>
    </contributor>
    <contributor>
      <name>Francesco Coccoluto</name>
    </contributor>
    <contributor>
      <name>Sébastien Dinot</name>
    </contributor>
    <contributor>
      <name>&#201;douard Delente</name>
    </contributor>
    <contributor>
      <name>Rapha&#235;l Ferm&#233;</name>
    </contributor>
    <contributor>
      <name>Christine Fernandez-Martin</name>
    </contributor>
    <contributor>
      <name>Mikael Fillastre</name>
    </contributor>
    <contributor>
      <name>Andrew Goetz</name>
    </contributor>
    <contributor>
      <name>Andrea Fiorentino</name>
    </contributor>
    <contributor>
      <name>Romaric Her</name>
    </contributor>
    <contributor>
      <name>James Housden</name>
    </contributor>
    <contributor>
      <name>Shiva Iyer</name>
    </contributor>
    <contributor>
      <name>Fran&#231;ois-Xavier Laffont</name>
    </contributor>
Evan Ward's avatar
Evan Ward committed
    <contributor>
      <name>Anne-Laure Lugan</name>
    </contributor>
    <contributor>
      <name>Lukas Matt</name>
    </contributor>
    <contributor>
      <name>Vincent Mouraux</name>
    </contributor>
      <name>Lars N&#230;sbye Christensen</name>
    <contributor>
      <name>Emmanuel Papanagiotou</name>
    </contributor>
    <contributor>
      <name>Thomas Paulet</name>
    </contributor>
    <contributor>
      <name>Ga&#235;tan Pierre</name>
    </contributor>
    <contributor>
      <name>Steven Ports</name>
    </contributor>
    <contributor>
      <name>Joseph Reed</name>
    </contributor>
    <contributor>
      <name>Silvia R&#237;os Berganti&#241;os</name>
    </contributor>
    <contributor>
      <name>Francesco Rocca</name>
    </contributor>
    <contributor>
      <name>Mathieu Rom&#233;ro</name>
    </contributor>
    <contributor>
      <name>Chiara Rusconi</name>
    </contributor>
    <contributor>
      <name>Mark Rutten</name>
    </contributor>
    <contributor>
      <name>Beatriz Salazar Garc&#237;a</name>
    </contributor>
    <contributor>
      <name>Gabriele Serafini</name>
    </contributor>
    <contributor>
      <name>David Soulard</name>
    </contributor>
      <name>Ioanna Stypsanelli</name>
    </contributor>
    <contributor>
      <name>Michael Turner</name>
    <contributor>
      <name>Sofia Urbina</name>
    </contributor>
    <contributor>
      <name>M&#233;lina Vanel</name>
    </contributor>
  </contributors>
Luc Maisonobe's avatar
Luc Maisonobe committed
  <organization>
    <name>CS GROUP</name>
Luc Maisonobe's avatar
Luc Maisonobe committed
    <url>http://www.c-s.fr/</url>
  </organization>
Luc Maisonobe's avatar
Luc Maisonobe committed

  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
    </license>
  </licenses>

    <connection>scm:git:https://gitlab.orekit.org/orekit/orekit.git</connection>
Evan Ward's avatar
Evan Ward committed
    <developerConnection>scm:git:ssh://git@gitlab.orekit.org/orekit/orekit.git</developerConnection>
    <url>https://gitlab.orekit.org/orekit/orekit/tree/master</url>
      <system>Gitlab</system>
      <url>https://gitlab.orekit.org/orekit/orekit/issues</url>
  <dependencies>
Evan Ward's avatar
Evan Ward committed
      <groupId>org.hipparchus</groupId>
      <artifactId>hipparchus-core</artifactId>
      <version>${orekit.hipparchus.version}</version>
      <type>jar</type>
      <optional>false</optional>
    </dependency>
    <dependency>
Evan Ward's avatar
Evan Ward committed
      <groupId>org.hipparchus</groupId>
      <artifactId>hipparchus-geometry</artifactId>
      <version>${orekit.hipparchus.version}</version>
    </dependency>
    <dependency>
Evan Ward's avatar
Evan Ward committed
      <groupId>org.hipparchus</groupId>
      <artifactId>hipparchus-ode</artifactId>
      <version>${orekit.hipparchus.version}</version>
      <type>jar</type>
      <optional>false</optional>
    </dependency>
    <dependency>
Evan Ward's avatar
Evan Ward committed
      <groupId>org.hipparchus</groupId>
      <artifactId>hipparchus-fitting</artifactId>
      <version>${orekit.hipparchus.version}</version>
      <type>jar</type>
      <optional>false</optional>
    </dependency>
    <dependency>
Evan Ward's avatar
Evan Ward committed
      <groupId>org.hipparchus</groupId>
      <artifactId>hipparchus-optim</artifactId>
      <version>${orekit.hipparchus.version}</version>
      <type>jar</type>
      <optional>false</optional>
    </dependency>
    <dependency>
      <groupId>org.hipparchus</groupId>
      <artifactId>hipparchus-filtering</artifactId>
      <version>${orekit.hipparchus.version}</version>
      <type>jar</type>
Evan Ward's avatar
Evan Ward committed
      <optional>false</optional>
    </dependency>
    <dependency>
Evan Ward's avatar
Evan Ward committed
      <groupId>org.hipparchus</groupId>
      <artifactId>hipparchus-stat</artifactId>
      <version>${orekit.hipparchus.version}</version>
    </dependency>
    <!-- test dependencies -->
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
Luc Maisonobe's avatar
Luc Maisonobe committed
      <version>${orekit.mockito-core.version}</version>
      <scope>test</scope>
    </dependency>
Evan Ward's avatar
Evan Ward committed
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-api</artifactId>
Evan Ward's avatar
Evan Ward committed
      <version>${orekit.junit.version}</version>
      <optional>false</optional>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-engine</artifactId>
      <version>${orekit.junit.version}</version>
      <optional>false</optional>
Evan Ward's avatar
Evan Ward committed
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest-library</artifactId>
      <version>${orekit.hamcrest.version}</version>
Evan Ward's avatar
Evan Ward committed
      <optional>false</optional>
      <scope>test</scope>
  </dependencies>
Luc Maisonobe's avatar
Luc Maisonobe committed
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>${orekit.maven-compiler-plugin.version}</version>
          <source>${orekit.compiler.source}</source>
          <target>${orekit.compiler.target}</target>
          <showWarnings>true</showWarnings>
          <compilerArgs>
            <arg>-Xlint:deprecation</arg>
            <arg>-Xplugin:dataContextPlugin</arg>
          </compilerArgs>
        <executions>
          <execution>
            <id>default-compile</id>
            <goals>
              <goal>compile</goal>
            </goals>
            <configuration>
              <excludes>
                <!-- don't recompile the compiler plugin. -->
                <exclude>org/orekit/compiler/**</exclude>
              </excludes>
            </configuration>
          </execution>
            <goals>
              <goal>testCompile</goal>
            </goals>
            <configuration>
              <compilerArgs>
                <arg>-Xlint:deprecation</arg>
                <!-- don't activate the compiler plugin for Orekit own tests -->
                <!-- thousands of tests use intentionally the default context -->
              </compilerArgs>
            </configuration>
          </execution>
          <execution>
            <!-- need to compile these two packages before the rest so that the compiler
                 plugin will work. -->
            <id>plugin-compile</id>
            <goals>
              <goal>compile</goal>
            </goals>
            <!-- the phase before compile. -->
            <phase>process-resources</phase>
            <configuration>
              <includes>
                <include>org/orekit/annotation/**</include>
                <include>org/orekit/compiler/**</include>
              </includes>
              <compilerArgs>
                <arg>-Xlint:deprecation</arg>
                <!-- Add the Java compiler to the classpath. This avoids creating a system
                     dependency which is inherited by projects using Orekit. -->
                <arg>-classpath</arg>
                <arg>${tools.jar.path}</arg>
              </compilerArgs>
            </configuration>
          </execution>
        </executions>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <version>${orekit.maven-bundle-plugin.version}</version>
        <extensions>true</extensions>
        <configuration>
          <archive>
            <forced>true</forced>
          </archive>
          <manifestLocation>${project.build.directory}/osgi</manifestLocation>
          <instructions>
            <Export-Package>org.orekit.*;version=${project.version};-noimport:=true</Export-Package>
            <Bundle-DocURL>${project.url}</Bundle-DocURL>
          </instructions>
        </configuration>
        <executions>
          <execution>
            <id>bundle-manifest</id>
            <phase>process-classes</phase>
            <goals>
              <goal>manifest</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>${orekit.maven-resources-plugin.version}</version>
        <executions>
          <execution>
            <phase>process-resources</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <!-- Ensure LICENSE and NOTICE are shipped with binary jar -->
              <outputDirectory>${project.build.outputDirectory}/META-INF</outputDirectory>
              <resources>
                <resource>
                  <directory>.</directory>
                  <includes>
                    <include>LICENSE.txt</include>
                    <include>NOTICE.txt</include>
                  </includes>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>${orekit.build-helper-maven-plugin.version}</version>
        <executions>
          <execution>
            <id>add-resource</id>
            <phase>process-resources</phase>
            <goals>
              <goal>add-resource</goal>
            </goals>
            <configuration>
              <!-- Ensure LICENSE and NOTICE are shipped with sources jar -->
              <resources>
                <resource>
                  <directory>.</directory>
                  <targetPath>META-INF</targetPath>
                  <includes>
                    <include>LICENSE.txt</include>
                    <include>NOTICE.txt</include>
                  </includes>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-clean-plugin</artifactId>
        <version>${orekit.maven-clean-plugin.version}</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <version>${orekit.maven-site-plugin.version}</version>
          <dependencies>
            <dependency><!-- add support for ssh/scp -->
              <groupId>org.apache.maven.wagon</groupId>
              <artifactId>wagon-ssh</artifactId>
              <version>${orekit.maven-wagon-ssh-plugin.version}</version>
            </dependency>
          </dependencies>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>${orekit.maven-surefire-plugin.version}</version>
        <configuration>
          <additionalClasspathElements>
            <additionalClasspathElement>${tools.jar.path}</additionalClasspathElement>
          </additionalClasspathElements>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-changes-plugin</artifactId>
        <version>${orekit.maven-changes-plugin.version}</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
        <version>${orekit.maven-jxr-plugin.version}</version>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>${orekit.maven-project-info-reports-plugin.version}</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>${orekit.maven-javadoc-plugin.version}</version>
Luc Maisonobe's avatar
Luc Maisonobe committed
        <configuration>
          <overview>${basedir}/src/main/java/org/orekit/overview.html</overview>
          <additionalOptions>
            <option>--allow-script-in-comments</option>
            <option>-header</option>
            <option>&apos;${orekit.mathjax.config} ${orekit.mathjax.enable}&apos;</option>
            <option>-extdirs</option>
            <option>${tools.jar.dir}</option>
          </additionalOptions>
          <bottom><![CDATA[Copyright &copy; ${project.inceptionYear}-{currentYear} <a href="http://www.c-s.fr">CS GROUP</a>. All rights reserved.]]></bottom>
Luc Maisonobe's avatar
Luc Maisonobe committed
          <links>
            <link>https://docs.oracle.com/javase/8/docs/api/</link>
Luc Maisonobe's avatar
Luc Maisonobe committed
            <link>https://www.hipparchus.org/apidocs/</link>
          </links>
          <source>${orekit.compiler.source}</source>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>${orekit.jacoco-maven-plugin.version}</version>
        <executions>
          <execution>
            <id>prepare-agent</id>
            <phase>process-test-classes</phase>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
            <configuration>
              <excludes>
               <exclude>fr/cs/examples/**/*.class</exclude>
              </excludes>
            </configuration>
          </execution>
          <execution>
            <id>report</id>
            <phase>site</phase>
            <goals>
              <goal>report</goal>
            </goals>
            <configuration>
              <excludes>
               <exclude>fr/cs/examples/**/*.class</exclude>
              </excludes>
            </configuration>
          </execution>
          <execution>
            <id>check</id>
            <goals>
              <goal>check</goal>
            </goals>
            <configuration>
Evan Ward's avatar
Evan Ward committed
              <rules>
                <rule>
                  <element>BUNDLE</element>
                  <limits>
                    <limit>
                      <counter>CLASS</counter>
                      <value>COVEREDRATIO</value>
                      <minimum>1.00</minimum>
                    </limit>
                    <limit>
                      <counter>INSTRUCTION</counter>
                      <value>COVEREDRATIO</value>
                      <minimum>0.90</minimum>
                    </limit>
                    <limit>
                      <counter>METHOD</counter>
                      <value>COVEREDRATIO</value>
                      <minimum>0.95</minimum>
                    </limit>
                    <limit>
                      <counter>BRANCH</counter>
                      <value>COVEREDRATIO</value>
                      <minimum>0.85</minimum>
                    </limit>
                    <limit>
                      <counter>COMPLEXITY</counter>
                      <value>COVEREDRATIO</value>
                      <minimum>0.85</minimum>
                    </limit>
                    <limit>
                      <counter>LINE</counter>
                      <value>COVEREDRATIO</value>
                      <minimum>0.90</minimum>
                    </limit>
                  </limits>
                </rule>
              </rules>
              <haltOnFailure>false</haltOnFailure>
              <excludes>
               <exclude>fr/cs/examples/**/*.class</exclude>
              </excludes>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>com.github.jeluard</groupId>
Luc Maisonobe's avatar
Luc Maisonobe committed
        <artifactId>plantuml-maven-plugin</artifactId>
        <version>${orekit.plantuml-maven-plugin.version}</version>
        <configuration>
          <sourceFiles>
Luc Maisonobe's avatar
Luc Maisonobe committed
            <directory>${basedir}/src/design</directory>
Luc Maisonobe's avatar
Luc Maisonobe committed
                *.puml
              </include>
            </includes>
          </sourceFiles>
          <outputDirectory>
            ${project.build.directory}/site/images/design
          </outputDirectory>
        </configuration>
Luc Maisonobe's avatar
Luc Maisonobe committed
        <dependencies>
          <dependency>
            <groupId>net.sourceforge.plantuml</groupId>
            <artifactId>plantuml</artifactId>
            <version>${orekit.plantuml.version}</version>
          </dependency>
        </dependencies>
        <executions>
          <execution>
            <phase>pre-site</phase>
            <goals>
              <goal>generate</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
Luc Maisonobe's avatar
Luc Maisonobe committed
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>${orekit.maven-jar-plugin.version}</version>
        <configuration>
          <archive>
            <manifestFile>${project.build.directory}/osgi/MANIFEST.MF</manifestFile>
            <manifestEntries>
              <X-Compile-Source-JDK>${orekit.compiler.source}</X-Compile-Source-JDK>
              <X-Compile-Target-JDK>${orekit.compiler.target}</X-Compile-Target-JDK>
              <Automatic-Module-Name>org.orekit</Automatic-Module-Name>
Luc Maisonobe's avatar
Luc Maisonobe committed
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>${orekit.maven-checkstyle-plugin.version}</version>
        <dependencies>
          <dependency>
            <groupId>com.puppycrawl.tools</groupId>
            <artifactId>checkstyle</artifactId>
            <version>${orekit.checkstyle.version}</version>
          </dependency>
        </dependencies>
        <configuration>
          <configLocation>${basedir}/checkstyle.xml</configLocation>
          <enableRulesSummary>false</enableRulesSummary>
          <headerLocation>${basedir}/license-header.txt</headerLocation>
        </configuration>
      </plugin>
Luc Maisonobe's avatar
Luc Maisonobe committed
    </plugins>
Luc Maisonobe's avatar
Luc Maisonobe committed
  <reporting>
    <plugins>
Luc Maisonobe's avatar
Luc Maisonobe committed
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <version>${orekit.maven-site-plugin.version}</version>
Luc Maisonobe's avatar
Luc Maisonobe committed
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>${orekit.maven-project-info-reports-plugin.version}</version>
Luc Maisonobe's avatar
Luc Maisonobe committed
      </plugin>
      <plugin>
          <groupId>com.github.spotbugs</groupId>
          <artifactId>spotbugs-maven-plugin</artifactId>
        <version>${orekit.spotbugs-maven-plugin.version}</version>
        <configuration>
          <threshold>Normal</threshold>
          <effort>Default</effort>
          <excludeFilterFile>${basedir}/spotbugs-exclude-filter.xml</excludeFilterFile>
       </configuration>
Luc Maisonobe's avatar
Luc Maisonobe committed
      </plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>${orekit.maven-surefire-plugin.version}</version>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
        <version>${orekit.maven-surefire-report-plugin.version}</version>
      </plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>${orekit.maven-checkstyle-plugin.version}</version>
        <configuration>
          <configLocation>${basedir}/checkstyle.xml</configLocation>
          <enableRulesSummary>false</enableRulesSummary>
          <headerLocation>${basedir}/license-header.txt</headerLocation>
        </configuration>
        <reportSets>
          <reportSet>
            <reports>
              <report>checkstyle</report>
            </reports>
          </reportSet>
        </reportSets>
Luc Maisonobe's avatar
Luc Maisonobe committed
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-changes-plugin</artifactId>
        <version>${orekit.maven-changes-plugin.version}</version>
        <configuration>
          <teamlist>team.html</teamlist>
        </configuration>
Luc Maisonobe's avatar
Luc Maisonobe committed
        <reportSets>
          <reportSet>
            <reports>
              <report>changes-report</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
        <version>${orekit.maven-jxr-plugin.version}</version>
        <configuration>
          <linkJavadoc>false</linkJavadoc>
          <bottom><![CDATA[Copyright &copy; ${project.inceptionYear}-{currentYear} <a href="http://www.c-s.fr">CS GROUP</a>. All rights reserved.]]></bottom>
        </configuration>
Luc Maisonobe's avatar
Luc Maisonobe committed
      </plugin>
Luc Maisonobe's avatar
Luc Maisonobe committed
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>${orekit.maven-javadoc-plugin.version}</version>
Luc Maisonobe's avatar
Luc Maisonobe committed
        <configuration>
          <overview>${basedir}/src/main/java/org/orekit/overview.html</overview>
          <additionalOptions>
            <option>--allow-script-in-comments</option>
            <option>-header</option>
            <option>&apos;${orekit.mathjax.config} ${orekit.mathjax.enable}&apos;</option>
            <option>-extdirs</option>
            <option>${tools.jar.dir}</option>
          </additionalOptions>
          <bottom><![CDATA[Copyright &copy; ${project.inceptionYear}-{currentYear} <a href="http://www.c-s.fr">CS GROUP</a>. All rights reserved.]]></bottom>
Luc Maisonobe's avatar
Luc Maisonobe committed
          <links>
            <link>https://docs.oracle.com/javase/8/docs/api/</link>
Luc Maisonobe's avatar
Luc Maisonobe committed
            <link>https://www.hipparchus.org/apidocs/</link>
Luc Maisonobe's avatar
Luc Maisonobe committed
          </links>
Luc Maisonobe's avatar
Luc Maisonobe committed
          <source>${orekit.compiler.source}</source>
          <doclint>none</doclint>
Luc Maisonobe's avatar
Luc Maisonobe committed
        </configuration>
        <reportSets>
          <reportSet>
            <reports>
              <report>javadoc</report>
            </reports>
          </reportSet>
        </reportSets>
Luc Maisonobe's avatar
Luc Maisonobe committed
      </plugin>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>${orekit.jacoco-maven-plugin.version}</version>
Luc Maisonobe's avatar
Luc Maisonobe committed
    </plugins>
  </reporting>
    <profile>
      <id>git</id>
      <activation>
      <file>
        <exists>.git</exists>
      </file>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>ru.concerteza.buildnumber</groupId>
            <artifactId>maven-jgit-buildnumber-plugin</artifactId>
            <version>${orekit.jgit.buildnumber.version}</version>
            <executions>
              <execution>
                <phase>prepare-package</phase>
                <goals>
                  <goal>extract-buildnumber</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>${orekit.maven-jar-plugin.version}</version>
            <configuration>
             <archive>
              <manifestFile>${project.build.directory}/osgi/MANIFEST.MF</manifestFile>
              <manifestEntries>
                <Implementation-Build>${orekit.implementation.build}</Implementation-Build>
                <X-Compile-Source-JDK>${orekit.compiler.source}</X-Compile-Source-JDK>
                <X-Compile-Target-JDK>${orekit.compiler.target}</X-Compile-Target-JDK>
              </manifestEntries>
             </archive>
            </configuration>
          </plugin>
       </plugins>
      </build>
    </profile>
Evan Ward's avatar
Evan Ward committed
      <distributionManagement>
        <repository>
          <id>ossrh</id>
          <url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
        </repository>
        <snapshotRepository>
          <id>ossrh</id>
          <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        </snapshotRepository>
      </distributionManagement>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>${orekit.maven-source-plugin.version}</version>
            <executions>
              <execution>
                <id>attach-sources</id>
                <goals>
                  <goal>jar-no-fork</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>${orekit.maven-javadoc-plugin.version}</version>
                <id>attach-javadocs</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.sonatype.plugins</groupId>
            <artifactId>nexus-staging-maven-plugin</artifactId>
            <version>${orekit.nexus-staging-maven-plugin.version}</version>
            <extensions>true</extensions>
            <configuration>
              <serverId>ossrh</serverId>
              <nexusUrl>https://oss.sonatype.org/</nexusUrl>
              <autoReleaseAfterClose>false</autoReleaseAfterClose>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>