Commit 71546788 authored by Pascal Parraud's avatar Pascal Parraud

Merge branch 'release-10.0'

parents ab735923 16e633de
Albert Alcarraz García <albert.alcarraz-garcia@c-s.fr> Albert Alcarraz García <albert.alcarraz-garcia@c-s.fr>
Andrea Antolino <andrea.antolino@c-s.fr> Andrea Antolino <Andrea.Antolino@c-s.fr>
Andrea Antolino <andrea.antolino@c-s.fr> Andrea Antolino <andrea.antolino@c-s.fr>
Bruno Revelin <bruno.revelin@c-s.fr> Bruno Revelin <Bruno.Revelin@c-s.fr>
Bryan Cazabonne <bryan.cazabonne@c-s.fr> Bryan <bryan.cazabonne@c-s.com>
Bryan Cazabonne <bryan.cazabonne@c-s.fr> Bryan Cazabonne <bryan.cazabonne@c-s.fr>
Daniel De Sousa <dan.desousa@gmail.com> Daniel De Sousa <dan.desousa@gmail.com>
Evan Ward <evan.ward@nrl.navy.mil> Evan Ward <evan.ward@nrl.navy.mil>
Evan Ward <evan.ward@nrl.navy.mil> Evan Ward <nomail@nowhere.org>
Fabien Maussion <fabien@orekit.org> Fabien Maussion <fabien@orekit.org>
Francesco Rocca <francesco.rocca@telespazio.com> Francesco Rocca <>
Greg Carbott <gregory.carbott@nrl.navy.mil> Greg Carbott <gregory.carbott@nrl.navy.mil>
Guilhem Bonnefille <guilhem.bonnefille@c-s.fr> Guilhem Bonnefille <guilhem.bonnefille@c-s.fr>
Guylaine Prat <guylaine.prat@c-s.fr> Guylaine Prat <guylaine.prat@c-s.fr>
Hank Grabowski <hank@applieddefense.com> Hank Grabowski <hank@applieddefense.com>
Joris Olympio <joris.olympio@c-s.fr> Joris Olympio <joris.olympio@c-s.fr>
Joris Olympio <joris.olympio@c-s.fr> jolympio <joris.olympio@c-s.fr>
Luc Maisonobe <luc@orekit.org> Luc Maisonobe <Luc.Maisonobe@free.fr>
Luc Maisonobe <luc@orekit.org> Luc Maisonobe <Luc.Maisonobe@orekit.org>
Luc Maisonobe <luc@orekit.org> Luc Maisonobe <luc@orekit.org>
Luc Maisonobe <luc@orekit.org> maisonobe <maisonobe@users.noreply.github.com>
Lucian Barbulescu <lucian.barbulescu@c-s.ro> Lucian Barbulescu <lucian.barbulescu@c-s.ro>
Madalin Mamuleanu <mamuleanu.madalin@gmail.com> Madalin Mamuleanu <mamuleanu.madalin@gmail.com>
MaksimP <maksimp86@mail.ru> MaksimP <maksimp86@mail.ru>
Maxime Journot <maxime.journot@c-s.fr> Maxime Journot <Maxime.Journot@c-s.fr>
Maxime Journot <maxime.journot@c-s.fr> Maxime Journot <maxime.journot@c-s.fr>
Nicolas Bernard <nicolas.bernard@c-s.fr> Nicola Bernard <nicolas.bernard@c-s.fr>
Nicolas Bernard <nicolas.bernard@c-s.fr> Nicolas Bernard <nicolas.bernard@c-s.fr>
Pascal Parraud <pascal@orekit.org> Pascal Parraud <pascal@orekit.org>
Pavel Bludov <pbludov@gmail.com> Pavel Bludov <pbludov@gmail.com>
Piotr Listkiewicz <piotr.listkiewicz@gmail.com> Piotr Listkiewicz <piotr.listkiewicz@gmail.com>
Piotr Listkiewicz <piotr.listkiewicz@gmail.com> liscju <piotr.listkiewicz@gmail.com>
rnveach <rveach02@gmail.com> rnveach <rveach02@gmail.com>
Robert Painsi <robertpainsi@gmail.com> Robert Painsi <robertpainsi@gmail.com>
Romain di Costanzo <romain.di-costanzo@c-s.fr> Romain Di Costanzo <romain.di-costanzo@c-s.fr>
Romain di Costanzo <romain.di-costanzo@c-s.fr> rdicosta <romain.di-costanzo@c-s.fr>
Roman Ivanov <ivanov-jr@mail.ru> Roman Ivanov <ivanov-jr@mail.ru>
Sébastien Dinot <sebastien.dinot@c-s.fr> Sebastien Dinot <sebastien.dinot@c-s.fr>
Sébastien Dinot <sebastien.dinot@c-s.fr> Sebastien Dinot <sebastien@dinot.net>
Sébastien Dinot <sebastien.dinot@c-s.fr> Sébastien Dinot <Sebastien.Dinot@c-s.fr>
Sébastien Dinot <sebastien.dinot@c-s.fr> Sébastien Dinot <sebastien.dinot@c-s.fr>
Steven <sljkwsk@yahoo.com> Steven <sljkwsk@yahoo.com>
Steven Ports <steven.ports@c-s.fr> Steven Ports <steven.ports@c-s.fr>
Thierry Ceolin <thierry.ceolin@c-s.fr> Thierry Ceolin <thierry@orekit.org>
Thierry Ceolin <thierry.ceolin@c-s.fr> thierry ceolin <thierry@orekit.org>
Thierry Ceolin <thierry.ceolin@c-s.fr> thierry ceolin <thierry.ceolin@c-s.fr>
Thierry Ceolin <thierry.ceolin@c-s.fr> thierry ceolin <thierry@orekit.org>
Thomas Neidhart <thomas.neidhart@gmail.com> Thomas Neidhart <thomas.neidhart@gmail.com>
Véronique Pommier-Maurussane <vero@orekit.org> Véronique Pommier-Maurussane <vero@orekit.org>
Nicolas Bernard <nicolas.bernard@c-s.fr> Nicola Bernard <nicolas.bernard@c-s.fr>
Romain di Costanzo <romain.di-costanzo@c-s.fr> Romain Di Costanzo <romain.di-costanzo@c-s.fr>
Joris Olympio <joris.olympio@c-s.fr> jolympio <joris.olympio@c-s.fr>
Piotr Listkiewicz <piotr.listkiewicz@gmail.com> liscju <piotr.listkiewicz@gmail.com>
Yannick Jeandroz <yannick.jeandroz@airbus.com> Yannick Jeandroz <yannick.jeandroz@airbus.com>
# Contributing
This project is documented through a static site generated by Maven.
Contributing information is described in the
[contributing guidelines](src/site/markdown/contributing.md)
inside the Maven site.
......@@ -40,9 +40,21 @@ pipeline {
archiveArtifacts artifacts: 'target/*.zip', fingerprint: true
}
}
checkstyle pattern: 'target/checkstyle-result.xml'
junit 'target/surefire-reports/*.xml'
jacoco execPattern:'target/**.exec', classPattern: '**/classes', sourcePattern: '**/src/main/java'
junit testResults: '**/target/surefire-reports/*.xml'
jacoco execPattern: 'target/**.exec',
classPattern: '**/classes',
sourcePattern: '**/src/main/java',
exclusionPattern: 'fr/cs/examples/**/*.class',
changeBuildStatus: true,
minimumBranchCoverage: '80', maximumBranchCoverage: '85',
minimumClassCoverage: '95', maximumClassCoverage: '100',
minimumComplexityCoverage: '80', maximumComplexityCoverage: '85',
minimumInstructionCoverage: '85', maximumInstructionCoverage: '90',
minimumLineCoverage: '85', maximumLineCoverage: '90',
minimumMethodCoverage: '90', maximumMethodCoverage: '95'
recordIssues enabledForFailure: true, tools: [mavenConsole(), java(), javaDoc()]
recordIssues enabledForFailure: true, tool: checkStyle()
recordIssues enabledForFailure: true, tool: spotBugs()
}
}
}
![Orekit logo](https://www.orekit.org/img/orekit-logo.png)
# Orekit
> An accurate and efficient core layer for space flight dynamics applications
[Orekit](https://www.orekit.org) is a low level space dynamics library written
in Java. Orekit is designed to be easily used in very different contexts, from
quick studies up to critical operations. As a library, Orekit provides basic
elements (orbits, dates, attitude, frames, ...) and various algorithms to
handle them (conversions, propagations, pointing, ...).
## Download
### Official releases
[Official Orekit releases](https://gitlab.orekit.org/orekit/orekit/releases)
are available on our [Gitlab instance](https://gitlab.orekit.org/). They are
also available in the
[Maven repository](https://mvnrepository.com/artifact/org.orekit/orekit).
### Development version
To get the latest development version, please clone our official repository
and checkout the `develop` branch:
```bash
git clone -b develop https://gitlab.orekit.org/orekit/orekit.git
```
__Note:__ Our official repository is
[mirrored on Github](https://github.com/CS-SI/Orekit).
## Documentation
Project overview, architecture and development, detailed features list,
tutorials, Javadoc and a lot of other information is available on the
[Maven site](https://www.orekit.org/site-orekit-development/).
## Getting help
The main communication channel is our [forum](https://forum.orekit.org/). You
can report bugs and suggest new features in our
[issues tracking system](https://gitlab.orekit.org/orekit/orekit/issues). When
reporting security issues check the "This issue is confidential" box.
## Contributing
Orekit exists thanks to the contribution of
[many people](https://gitlab.orekit.org/orekit/orekit/graphs/develop).
Please take a look at our
[contributing guidelines](src/site/markdown/contributing.md) if you're
interested in helping!
## Building
Detailed information on how to build Orekit from source either using Maven or
Eclipse is provided in [building.md](src/site/markdown/building.md) file.
## Dependencies
Orekit relies on the following
[FOSS](https://en.wikipedia.org/wiki/Free_and_open-source_software) libraries,
all released under business friendly FOSS licenses.
### Compile-time/run-time dependencies
* [Hipparchus](https://hipparchus.org/), a mathematics library released under
the Apache License, version 2.0.
### Test-time dependencies
* [JUnit 4](http://www.junit.org/), a widely used unit test framework released
under the Eclipse Public License, version 1.0.
* [Mockito](https://site.mockito.org/), a mocking framework for unit tests,
released under MIT license.
More detailed information is available in the
[Maven site](https://www.orekit.org/site-orekit-development/dependencies.html).
## License
Orekit is licensed by [CS Systèmes d'Information](https://www.c-s.fr/) under
the [Apache License, version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html).
A copy of this license is provided in the [LICENSE.txt](LICENSE.txt) file.
Orekit (ORbit Extrapolation KIT) is a free java library
providing basic space dynamics objects and services.
It is licensed by CS Systèmes d'Information under the
Apache License Version 2.0. A copy of this license is
provided in the LICENSE.txt file.
The BUILDING.txt file explains how the library can be built from sources.
The src/main/java directory contains the library sources.
The src/main/resources directory contains the library data.
The src/test/java directory contains the tests sources.
The src/test/resources directory contains the tests data.
The src/tutorials/java directory contains sources for example use of the library.
The src/tutorials/resources directory contains example data.
The src/design directory contains pieces for a UML model of the library.
Orekit relies on the following free software, all released under
business friendly free licenses.
compile-time/run-time dependency:
- Hipparchus from the Hipparchus project
https://hipparchus.org/
released under the Apache Software License, version 2
test-time dependency:
- JUnit 4 from Erich Gamma and Kent Beck
http://www.junit.org/
released under the Common Public License Version 1.0
......@@ -2,7 +2,7 @@
<project name="orekit" default="jar" basedir=".">
<property name="project.version" value="9.3-SNAPSHOT" />
<property name="project.version" value="10.0" />
<property name="src.dir" location="src" />
<property name="main.src.dir" value="${src.dir}/main/java" />
......@@ -18,7 +18,7 @@
<property name="lib.dir" location="lib" />
<property name="hipparchus.version" value="1.4" />
<property name="hipparchus.version" value="1.5" />
<property name="hipparchus.core.jar" value="hipparchus-core-${hipparchus.version}.jar" />
<property name="hipparchus.geometry.jar" value="hipparchus-geometry-${hipparchus.version}.jar" />
<property name="hipparchus.ode.jar" value="hipparchus-ode-${hipparchus.version}.jar" />
......@@ -30,6 +30,17 @@
<property name="junit.version" value="4.12" />
<property name="junit.jar" value="junit-${junit.version}.jar" />
<property name="junit.maven.path" value="junit/junit" />
<property name="mockito.version" value="2.28.2" />
<property name="mockito.jar" value="mockito-core-${mockito.version}.jar" />
<property name="mockito.maven.path" value="org/mockito/mockito-core" />
<property name="bytebuddy.version" value="1.9.10" />
<property name="bytebuddy.jar" value="byte-buddy-${bytebuddy.version}.jar" />
<property name="bytebuddy.maven.path" value="net/bytebuddy/byte-buddy" />
<property name="bytebuddy.agent.jar" value="byte-buddy-agent-${bytebuddy.version}.jar" />
<property name="bytebuddy.agent.maven.path" value="net/bytebuddy/byte-buddy-agent" />
<property name="objenesis.version" value="2.6" />
<property name="objenesis.jar" value="objenesis-${objenesis.version}.jar" />
<property name="objenesis.maven.path" value="org/objenesis/objenesis" />
<property name="hamcrest.version" value="1.3" />
<property name="hamcrest.core.jar" value="hamcrest-core-${hamcrest.version}.jar" />
<property name="hamcrest.maven.path" value="org/hamcrest" />
......@@ -75,12 +86,20 @@
dest="${lib.dir}/${junit.jar}"/>
<get src="${maven.repository}/${hamcrest.maven.path}/hamcrest-core/${hamcrest.version}/${hamcrest.core.jar}"
dest="${lib.dir}/${hamcrest.core.jar}"/>
<get src="${maven.repository}/${mockito.maven.path}/${mockito.version}/${mockito.jar}"
dest="${lib.dir}/${mockito.jar}"/>
<get src="${maven.repository}/${bytebuddy.maven.path}/${bytebuddy.version}/${bytebuddy.jar}"
dest="${lib.dir}/${bytebuddy.jar}"/>
<get src="${maven.repository}/${bytebuddy.agent.maven.path}/${bytebuddy.version}/${bytebuddy.agent.jar}"
dest="${lib.dir}/${bytebuddy.agent.jar}"/>
<get src="${maven.repository}/${objenesis.maven.path}/${objenesis.version}/${objenesis.jar}"
dest="${lib.dir}/${objenesis.jar}"/>
</target>
<target name="compile" depends="get-libs" description="Compile the code">
<mkdir dir="${main.classes.dir}"/>
<javac srcdir="${main.src.dir}" destdir="${main.classes.dir}" includeantruntime="false"
classpath="${lib.dir}/${hipparchus.core.jar}:${lib.dir}/${hipparchus.geometry.jar}:${lib.dir}/${hipparchus.ode.jar}:${lib.dir}/${hipparchus.fitting.jar}:${lib.dir}/${hipparchus.optim.jar}:${lib.dir}/${hipparchus.stat.jar}"
classpath="${lib.dir}/${hipparchus.core.jar}:${lib.dir}/${hipparchus.geometry.jar}:${lib.dir}/${hipparchus.ode.jar}:${lib.dir}/${hipparchus.fitting.jar}:${lib.dir}/${hipparchus.optim.jar}:${lib.dir}/${hipparchus.stat.jar}:${lib.dir}/${hipparchus.filtering.jar}"
deprecation="true" target="1.8" source="1.8">
</javac>
<copy todir="${main.classes.dir}">
......@@ -91,7 +110,7 @@
<target name="compile-tests" depends="compile" description="Compile the test code" >
<mkdir dir="${test.classes.dir}"/>
<javac srcdir="${test.src.dir}" destdir="${test.classes.dir}" includeantruntime="false"
classpath="${main.classes.dir}:${lib.dir}/${junit.jar}:${lib.dir}/${hamcrest.core.jar}:${lib.dir}/${hipparchus.core.jar}:${lib.dir}/${hipparchus.geometry.jar}:${lib.dir}/${hipparchus.ode.jar}:${lib.dir}/${hipparchus.fitting.jar}:${lib.dir}/${hipparchus.optim.jar}:${lib.dir}/${hipparchus.filtering.jar}:${lib.dir}/${hipparchus.stat.jar}"
classpath="${main.classes.dir}:${lib.dir}/${junit.jar}:${lib.dir}/${hamcrest.core.jar}:${lib.dir}/${hipparchus.core.jar}:${lib.dir}/${hipparchus.geometry.jar}:${lib.dir}/${hipparchus.ode.jar}:${lib.dir}/${hipparchus.fitting.jar}:${lib.dir}/${hipparchus.optim.jar}:${lib.dir}/${hipparchus.filtering.jar}:${lib.dir}/${hipparchus.stat.jar}:${lib.dir}/${mockito.jar}"
deprecation="true" target="1.8" source="1.8">
</javac>
<copy todir="${test.classes.dir}">
......@@ -113,6 +132,11 @@
<pathelement location="${lib.dir}/${hipparchus.stat.jar}" />
<pathelement location="${lib.dir}/${junit.jar}" />
<pathelement location="${lib.dir}/${hamcrest.core.jar}" />
<pathelement location="${lib.dir}/${hipparchus.filtering.jar}"/>
<pathelement location="${lib.dir}/${mockito.jar}" />
<pathelement location="${lib.dir}/${objenesis.jar}" />
<pathelement location="${lib.dir}/${bytebuddy.jar}" />
<pathelement location="${lib.dir}/${bytebuddy.agent.jar}" />
</classpath>
<formatter type="plain" usefile="false"/>
<batchtest todir="${tests.reports}">
......
......@@ -43,7 +43,7 @@
<module name="MissingSwitchDefault"/>
<module name="ModifierOrder"/>
<module name="MultipleStringLiterals">
<property name="ignoreStringsRegexp" value='^(("")|("."))$'/>
<property name="ignoreStringsRegexp" value='^(("")|(".")|("\\\\"))$'/>
</module>
<module name="MultipleVariableDeclarations"/>
<module name="NoWhitespaceAfter"/>
......@@ -96,6 +96,11 @@
<property name="onCommentFormat" value="CHECKSTYLE\: resume MultipleStringLiterals check"/>
<property name="checkFormat" value="MultipleStringLiteralsCheck"/>
</module>
<module name="SuppressionCommentFilter">
<property name="offCommentFormat" value="CHECKSTYLE\: stop IllegalCatch check"/>
<property name="onCommentFormat" value="CHECKSTYLE\: resume IllegalCatch check"/>
<property name="checkFormat" value="IllegalCatchCheck"/>
</module>
</module>
<module name="RegexpHeader">
<property name="headerFile" value="${checkstyle.header.file}" />
......
......@@ -5,7 +5,7 @@
<groupId>org.orekit</groupId>
<artifactId>orekit</artifactId>
<packaging>jar</packaging>
<version>9.3.1</version>
<version>10.0</version>
<name>ORbit Extrapolation KIT</name>
<url>http://www.orekit.org/</url>
......@@ -20,33 +20,33 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<orekit.spotbugs-maven-plugin.version>3.1.7</orekit.spotbugs-maven-plugin.version>
<orekit.jacoco-maven-plugin.version>0.8.2</orekit.jacoco-maven-plugin.version>
<orekit.maven-assembly-plugin.version>3.1.0</orekit.maven-assembly-plugin.version>
<orekit.maven-bundle-plugin.version>4.1.0</orekit.maven-bundle-plugin.version>
<orekit.spotbugs-maven-plugin.version>3.1.12</orekit.spotbugs-maven-plugin.version>
<orekit.jacoco-maven-plugin.version>0.8.4</orekit.jacoco-maven-plugin.version>
<orekit.maven-assembly-plugin.version>3.1.1</orekit.maven-assembly-plugin.version>
<orekit.maven-bundle-plugin.version>4.2.0</orekit.maven-bundle-plugin.version>
<orekit.maven-changes-plugin.version>2.12.1</orekit.maven-changes-plugin.version>
<orekit.maven-checkstyle-plugin.version>3.0.0</orekit.maven-checkstyle-plugin.version>
<orekit.checkstyle.version>8.14</orekit.checkstyle.version>
<orekit.maven-checkstyle-plugin.version>3.1.0</orekit.maven-checkstyle-plugin.version>
<orekit.checkstyle.version>8.18</orekit.checkstyle.version>
<orekit.maven-clean-plugin.version>3.1.0</orekit.maven-clean-plugin.version>
<orekit.maven-compiler-plugin.version>3.8.0</orekit.maven-compiler-plugin.version>
<orekit.maven-javadoc-plugin.version>3.0.1</orekit.maven-javadoc-plugin.version>
<orekit.maven-jar-plugin.version>3.1.0</orekit.maven-jar-plugin.version>
<orekit.maven-compiler-plugin.version>3.8.1</orekit.maven-compiler-plugin.version>
<orekit.maven-javadoc-plugin.version>3.1.0</orekit.maven-javadoc-plugin.version>
<orekit.maven-jar-plugin.version>3.1.1</orekit.maven-jar-plugin.version>
<orekit.maven-jxr-plugin.version>3.0.0</orekit.maven-jxr-plugin.version>
<orekit.plantuml-maven-plugin.version>1.2</orekit.plantuml-maven-plugin.version>
<orekit.plantuml.version>1.2018.12</orekit.plantuml.version>
<orekit.maven-project-info-reports-plugin.version>3.0.0</orekit.maven-project-info-reports-plugin.version>
<orekit.maven-resources-plugin.version>3.1.0</orekit.maven-resources-plugin.version>
<orekit.maven-site-plugin.version>3.7.1</orekit.maven-site-plugin.version>
<orekit.maven-source-plugin.version>3.0.1</orekit.maven-source-plugin.version>
<orekit.maven-surefire-plugin.version>2.22.1</orekit.maven-surefire-plugin.version>
<orekit.maven-surefire-report-plugin.version>2.22.1</orekit.maven-surefire-report-plugin.version>
<orekit.mockito-core.version>2.23.0</orekit.mockito-core.version>
<orekit.maven-source-plugin.version>3.1.0</orekit.maven-source-plugin.version>
<orekit.maven-surefire-plugin.version>2.22.2</orekit.maven-surefire-plugin.version>
<orekit.maven-surefire-report-plugin.version>2.22.2</orekit.maven-surefire-report-plugin.version>
<orekit.mockito-core.version>2.28.2</orekit.mockito-core.version>
<orekit.jgit.buildnumber.version>1.2.10</orekit.jgit.buildnumber.version>
<orekit.build-helper-maven-plugin.version>3.0.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>1.6</orekit.maven-gpg-plugin.version>
<orekit.maven-install-plugin.version>3.0.0-M1</orekit.maven-install-plugin.version>
<orekit.hipparchus.version>1.4</orekit.hipparchus.version>
<orekit.hipparchus.version>1.5</orekit.hipparchus.version>
<orekit.junit.version>4.12</orekit.junit.version>
<orekit.compiler.source>1.8</orekit.compiler.source>
<orekit.compiler.target>1.8</orekit.compiler.target>
......@@ -62,6 +62,13 @@
<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>
......@@ -170,13 +177,13 @@
<name>Petre Bazavan</name>
</contributor>
<contributor>
<name>Nicolas Bernard</name>
<name>Laurene Beauvalet</name>
</contributor>
<contributor>
<name>Espen Bj&#248;rntvedt</name>
<name>Nicolas Bernard</name>
</contributor>
<contributor>
<name>Bryan Cazabonne</name>
<name>Espen Bj&#248;rntvedt</name>
</contributor>
<contributor>
<name>Paul Cefola</name>
......@@ -184,12 +191,18 @@
<contributor>
<name>Francesco Coccoluto</name>
</contributor>