Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • 1202-remove-public-keyword-for-test-classes-and-methods
  • develop
  • issue-1103
  • issue-1146-mr-233-tommy-fryer
  • issue-1218
  • issue-1546
  • issue-1596
  • issue-1630
  • issue-1772
  • issue-1774
  • issue-947
  • main
  • release-10.0
  • release-10.1
  • release-10.2
  • release-10.3
  • release-11.0
  • release-11.1
  • release-11.2
  • release-11.3
  • release-12.0
  • release-12.1
  • release-12.2
  • release-13.0
  • release-13.1
  • release-7.2
  • release-8.0
  • release-9.0
  • release-9.1
  • release-9.2
  • release-9.3
  • rinex-clock-revamp
  • 1.1
  • 10.0
  • 10.0-RC1
  • 10.0-RC2
  • 10.0-RC3
  • 10.0-RC4
  • 10.1
  • 10.1-RC1
  • 10.1-RC2
  • 10.1-RC3
  • 10.1-RC4
  • 10.2
  • 10.2-RC1
  • 10.2-RC2
  • 10.2-RC3
  • 10.3
  • 10.3-RC1
  • 10.3.1
  • 10.3.1-RC1
  • 10.3.1-RC2
  • 10.3.2
  • 10.3.2-RC1
  • 11.0
  • 11.0-RC1
  • 11.0-RC2
  • 11.0-RC3
  • 11.0.1
  • 11.0.1-RC1
  • 11.0.2
  • 11.0.2-RC1
  • 11.1
  • 11.1-RC1
  • 11.1.1
  • 11.1.1-RC1
  • 11.1.1-RC2
  • 11.1.2
  • 11.1.2-RC1
  • 11.2
  • 11.2-RC1
  • 11.2.1
  • 11.2.1-RC1
  • 11.3
  • 11.3-RC1
  • 11.3.1
  • 11.3.1-RC1
  • 11.3.2
  • 11.3.2-RC1
  • 11.3.3
  • 11.3.3-RC1
  • 12.0
  • 12.0-RC1
  • 12.0-RC2
  • 12.0.1
  • 12.0.1-RC1
  • 12.0.2
  • 12.0.2-RC1
  • 12.1
  • 12.1-RC1
  • 12.1.1
  • 12.1.2
  • 12.1.2-RC1
  • 12.1.3
  • 12.2
  • 12.2-RC1
  • 12.2-RC2
  • 12.2.1
  • 12.2.1-RC1
  • 13.0
  • 13.0-RC1
  • 13.0-RC2
  • 13.0.1
  • 13.0.2
  • 13.0.3
  • 13.1-RC1
  • 13.1-RC2
  • 2.0
  • 2.1
  • 2.1.1
  • 3.0
  • 3.1
  • 3.2
  • 3.3
  • 3.3.1
  • 3.3.2
  • 3.3.3
  • 3.4
  • 4.0
  • 4.1
  • 5.0
  • 5.0.1
  • 5.0.2
  • 5.0.3
  • 6.0
  • 6.1
  • 7.0
  • 7.1
  • 7.2
  • 7.2.1
  • 8.0
  • 8.0.1
132 results

Target

Select target project
  • orekit/orekit
  • gbonnefille/orekit
  • sdinot/orekit
  • vmouraux/orekit
  • Petrush/orekit
  • gprat/orekit
  • Shiva_Iyer/orekit
  • yzokras/orekit
  • hankg/orekit
  • markrutten/orekit
  • ThomasP/orekit
  • mikael/orekit
  • AmirAllahvirdi/orekit
  • rferme/orekit
  • plan3d/orekit
  • andrewsgoetz/orekit
  • Vyom-Yadav/orekit
  • crusconi/orekit
  • afossa/orekit
  • julie.bayard/orekit
  • polmes/orekit
  • kendra.hale/orekit
  • mvanel73/orekit
  • ShippingEnjoyer/orekit
  • tommyfryer/orekit
  • bpfoster/orekit
  • louis_aucouturier/orekit
  • pascal/orekit
  • gaetanpierre0/orekit
  • bryan/orekit
  • vcucchie/orekit
  • lirw1984/orekit
  • bradh/orekit
  • qmor/orekit
  • Jasquier/orekit
  • jfraserh/orekit
  • Rafael-Ayala/orekit
  • guillermojanner/orekit
  • Sohnny/orekit
  • laura.garcia/orekit
  • nick.lafarge/orekit
  • whigg/orekit
  • bullat/orekit
  • Zudo/orekit
  • Geckonoid/orekit
  • derekkayhan/orekit
  • simon-van-hulle/orekit
  • briannaaubin/orekit
  • quentin.gegoue/orekit
  • alexbm/orekit
  • rocuv/orekit
  • akilgore-he360/orekit-austin
  • RyanMoser/orekit
  • GuillaumeFiorello/orekit
  • Machine-Maker/orekit
  • pkoch/orekit
56 results
Select Git revision
  • B1950-frame
  • bug-fix-setmu
  • develop
  • dtc-tostring-590
  • field-static-transform
  • issue-698
  • issue-841
  • issue-856
  • issue-892
  • issue-909
  • issue-910
  • kalman-builder-optimisation
  • maneuvers-dates-derivatives
  • master
  • port-fix-hipparchus-184
  • release-10.0
  • release-10.1
  • release-10.2
  • release-10.3
  • release-11.0
  • release-11.1
  • release-7.2
  • release-8.0
  • release-9.0
  • release-9.1
  • release-9.2
  • release-9.3
  • state-shift-with-additional-derivatives
  • ukf
  • 10.0
  • 10.0-RC1
  • 10.0-RC2
  • 10.0-RC3
  • 10.0-RC4
  • 10.1
  • 10.1-RC1
  • 10.1-RC2
  • 10.1-RC3
  • 10.1-RC4
  • 10.2
  • 10.2-RC1
  • 10.2-RC2
  • 10.2-RC3
  • 10.3
  • 10.3-RC1
  • 10.3.1
  • 10.3.1-RC1
  • 10.3.1-RC2
  • 10.3.2
  • 10.3.2-RC1
  • 11.0
  • 11.0-RC1
  • 11.0-RC2
  • 11.0-RC3
  • 11.0.1
  • 11.0.1-RC1
  • 11.0.2
  • 11.0.2-RC1
  • 11.1
  • 11.1-RC1
  • 11.1.1
  • 11.1.1-RC1
  • 11.1.1-RC2
  • 3.1
  • 4.0
  • 4.1
  • 5.0
  • 5.0.1
  • 5.0.2
  • 5.0.3
  • 6.0
  • 6.1
  • 7.0
  • 7.1
  • 7.2
  • 7.2.1
  • 8.0
  • 8.0.1
  • 9.0
  • 9.0.1
  • 9.1
  • 9.2
  • 9.2-RC1
  • 9.2-RC2
  • 9.3
  • 9.3-RC1
  • 9.3-RC2
  • 9.3-RC3
  • 9.3-RC4
  • 9.3-RC5
  • 9.3.1
  • SIS_V1
92 results
Show changes

Commits on Source 6206

6,106 additional commits have been omitted to prevent performance issues.
A directory for Continuous Integration tooling.
\ No newline at end of file
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
<mirrors>
<!-- mirror
| Specifies a repository mirror site to use instead of a given repository. The repository that
| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
|
<mirror>
<id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://my.repository.com/repo/path</url>
</mirror>
-->
<mirror>
<id>Nexus-Orekit</id>
<name>Maven Repository Manager</name>
<url>https://packages.orekit.org/repository/maven-public/</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
<servers>
<server>
<id>ci-releases</id>
<username>${env.NEXUS_USERNAME}</username>
<password>${env.NEXUS_PASSWORD}</password>
</server>
<server>
<id>ci-snapshots</id>
<username>${env.NEXUS_USERNAME}</username>
<password>${env.NEXUS_PASSWORD}</password>
</server>
<server>
<id>website</id>
<privateKey>${user.home}/.ssh/id_website</privateKey>
</server>
</servers>
<profiles>
<profile>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>Nexus-Orekit</id>
<name>Nexus Public Repository</name>
<url>https://packages.orekit.org/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
</settings>
......@@ -49,6 +49,8 @@ src/*/resources/*/unx*.405 -text
src/*/resources/*/*/unx*.405 -text
src/*/resources/*/unx*.406 -text
src/*/resources/*/*/unx*.406 -text
src/*/resources/*/lnx*.431 -text
src/*/resources/*/*/lnx*.431 -text
src/*/resources/inpop/*.dat -text
src/*/resources/gnss/ntrip/*.dat -text
......@@ -2,8 +2,13 @@
.project
.settings
.checkstyle
.idea
bin
target
/build
/lib
*.class
.idea/
orekit.iml
hs_err_pid*
replay_pid*
stages:
- verify
- visualize
- deploy
- release
default:
# Default image
image: registry.orekit.org/orekit/ci-utils/maven:3.9.6-eclipse-temurin-11
# Cache downloaded dependencies and plugins between builds.
# To keep cache across branches add 'key: "$CI_JOB_REF_NAME"'
cache:
paths:
- .m2/repository
variables:
# This will suppress any download for dependencies and plugins or upload
# messages which would clutter the console log. `showDateTime` will show the
# passed time in milliseconds. You need to specify `--batch-mode` to make
# this work.
MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true"
# As of Maven 3.3.0 instead of this you may define these options in
# `.mvn/maven.config` so the same config is used when running from the
# command line.
# `installAtEnd` and `deployAtEnd` are only effective with recent version of
# the corresponding plugins.
MAVEN_CLI_OPTS: "-s .CI/maven-settings.xml --batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true"
SONAR_PROJECT_KEY: "${CI_PROJECT_NAMESPACE}:${CI_PROJECT_NAME}"
SONAR_PROJECT_NAME: "${CI_PROJECT_TITLE} (${CI_PROJECT_NAMESPACE}:${CI_PROJECT_NAME})"
# Deployment target properties
TARGET_URL_PREFIX: "cochise@ganymede.orekit.org:/var/www/mvn-sites/site-orekit"
# Default number of CPUs required for a job
KUBERNETES_CPU_REQUEST: "2"
verify:
stage: verify
variables:
# This is a heavy job, requiring all the CPUs available. VMs have 8 cores,
# but we need to save some for the K8S core services.
KUBERNETES_CPU_REQUEST: "7"
script:
- mvn $MAVEN_CLI_OPTS checkstyle:check verify site
- test -z "$SONAR_TOKEN" || mvn $MAVEN_CLI_OPTS sonar:sonar
-Dsonar.host.url=${SONAR_HOST_URL}
-Dsonar.login=${SONAR_TOKEN}
-Dsonar.branch.name=${CI_COMMIT_REF_NAME}
-Dsonar.projectKey="$SONAR_PROJECT_KEY"
-Dsonar.projectName="$SONAR_PROJECT_NAME"
-Dsonar.qualitygate.wait=true
artifacts:
paths:
- target/*.jar
- target/site
- target/bom.*
reports:
junit:
- target/surefire-reports/*.xml
rules:
- if: $CI_COMMIT_BEFORE_SHA =~ /^0+$/ && $CI_COMMIT_BRANCH =~ /^release-[.0-9]+$/
when: never
- if: $CI_COMMIT_TAG =~ /^[.0-9]+-RC[0-9]+$/
when: never
- if: $CI_COMMIT_BRANCH =~ /^RC[0-9]+-[.0-9]+$/
when: never
- if: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^RC[0-9]+-[.0-9]+$/
when: never
- when: always
verify:warning:
stage: verify
script:
- echo "Please, configure SonarQube by following steps described in the contribution guide:"
- echo "https://www.orekit.org/site-orekit-development/contributing.html"
- exit 1
allow_failure: true
rules:
- if: $SONAR_TOKEN == null
# Convert and import in GitLab coverage data.
# The information is then available directly in merge-request view.
# Cf. https://docs.gitlab.com/ee/user/project/merge_requests/test_coverage_visualization.html
coverage-import:
stage: visualize
image: haynes/jacoco2cobertura:1.0.8
script:
# Display total coverage
- "grep -o '<tfoot.*tfoot>' target/site/jacoco/index.html | sed 's:<[^>]*>: :g'"
# Convert report from jacoco to cobertura
- 'python /opt/cover2cover.py target/site/jacoco/jacoco.xml src/main/java > target/site/cobertura.xml'
# Read the <source></source> tag and prepend the path to every filename
# attribute
- 'python /opt/source2filename.py target/site/cobertura.xml'
needs:
- verify
dependencies:
- verify
artifacts:
reports:
coverage_report:
coverage_format: cobertura
path: target/site/cobertura.xml
coverage: '/Total.*?([0-9]{1,3})%/'
rules:
- if: $CI_COMMIT_BEFORE_SHA =~ /^0+$/ && $CI_COMMIT_BRANCH =~ /^release-[.0-9]+$/
when: never
- if: $CI_COMMIT_TAG =~ /^[.0-9]+-RC[0-9]+$/
when: never
- if: $CI_COMMIT_BRANCH =~ /^RC[0-9]+-[.0-9]+$/
when: never
- if: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^RC[0-9]+-[.0-9]+$/
when: never
- when: always
changelog:
stage: verify
image: alpine:latest
before_script:
- apk add libxslt
script:
- xsltproc scripts/changes2release.xsl src/changes/changes.xml > CHANGELOG.md
artifacts:
paths:
- CHANGELOG.md
rules:
- if: $CI_COMMIT_BEFORE_SHA =~ /^0+$/ && $CI_COMMIT_BRANCH =~ /^release-[.0-9]+$/
when: never
- if: $CI_COMMIT_TAG =~ /^[.0-9]+-RC[0-9]+$/
when: never
- if: $CI_COMMIT_BRANCH =~ /^RC[0-9]+-[.0-9]+$/
when: never
- if: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^RC[0-9]+-[.0-9]+$/
when: never
- when: always
# On main branches (develop, release-*, main) the produced artifacts are
# deployed on the Nexus of the project (https://packages.orekit.org/)
deploy:artifacts:
stage: deploy
script:
- mvn $MAVEN_CLI_OPTS javadoc:jar source:jar deploy -DskipTests=true -Prelease,ci-deploy
artifacts:
paths:
- target/*.jar
- target/*.asc
rules:
- if: $CI_COMMIT_BEFORE_SHA =~ /^0+$/ && $CI_COMMIT_BRANCH =~ /^release-[.0-9]+$/
when: never
- if: $CI_PROJECT_NAMESPACE == "orekit" && $CI_COMMIT_BRANCH == "main"
- if: $CI_PROJECT_NAMESPACE == "orekit" && $CI_COMMIT_BRANCH =~ /^release-[.0-9]+$/
- if: $CI_PROJECT_NAMESPACE == "orekit" && $CI_COMMIT_BRANCH == "develop"
deploy:site:
stage: deploy
before_script:
# Prepare the SSH environment required to push documentation onto the server
- eval $(ssh-agent -s)
- echo "$SSH_SECRET_KEY" | ssh-add -
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- cp $SSH_KNOWN_HOSTS ~/.ssh/known_hosts
script:
- PROJECT_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
- rsync -rz --links --checksum --no-perms --chmod=u=rwX,go=rX --delete-after
target/site/ ${TARGET_URL_PREFIX}-${PROJECT_VERSION}
rules:
- if: $CI_COMMIT_BEFORE_SHA =~ /^0+$/ && $CI_COMMIT_BRANCH =~ /^release-[.0-9]+$/
when: never
- if: $CI_PROJECT_NAMESPACE == "orekit" && $CI_COMMIT_BRANCH == "main"
- if: $CI_PROJECT_NAMESPACE == "orekit" && $CI_COMMIT_BRANCH =~ /^release-[.0-9]+$/
- if: $CI_PROJECT_NAMESPACE == "orekit" && $CI_COMMIT_BRANCH == "develop"
# trigger performance tests after artifacts are deployed to Nexus
# similar to Jenkins' "build after a snapshot dependency is built"
performance:
stage: deploy
# don't fail the build if this doesn't work
allow_failure: true
needs:
- job: deploy:artifacts
artifacts: false
trigger: orekit/orekit-performance
rules:
- if: $CI_PROJECT_NAMESPACE == "orekit" && $CI_COMMIT_BRANCH == "develop"
release:
stage: release
image: registry.gitlab.com/gitlab-org/release-cli:latest
script:
- cat CHANGELOG.md
release:
tag_name: $CI_COMMIT_TAG
description: './CHANGELOG.md'
assets:
links:
- name: orekit-${CI_COMMIT_TAG}.jar
url: https://packages.orekit.org/repository/maven-releases/org/orekit/orekit/${CI_COMMIT_TAG}/orekit-${CI_COMMIT_TAG}.jar
- name: orekit-${CI_COMMIT_TAG}-javadoc.jar
url: https://packages.orekit.org/repository/maven-releases/org/orekit/orekit/${CI_COMMIT_TAG}/orekit-${CI_COMMIT_TAG}-javadoc.jar
- name: orekit-${CI_COMMIT_TAG}-sources.jar
url: https://packages.orekit.org/repository/maven-releases/org/orekit/orekit/${CI_COMMIT_TAG}/orekit-${CI_COMMIT_TAG}-sources.jar
rules:
- if: $CI_COMMIT_TAG =~ /^[.0-9]+$/
Bruno Revelin <bruno.revelin@c-s.fr> Bruno Revelin <Bruno.Revelin@c-s.fr>
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 <>
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>
Albert Alcarraz García <albert.alcarraz-garcia@csgroup.eu> albert alcarraz garcía <albert.alcarraz-garcia@c-s.fr>
Alexandr Puzeyev <puzeyev.a@gmail.com> alexandr <puzeyev.a@gmail.com>
Andrea Antolino <andrea.antolino@csgroup.eu> andrea antolino <andrea.antolino@c-s.fr>
Andrew Goetz <andrew@goetz.space> andrew goetz <andrew.s.goetz@lmco.com>
Anne-Laure Lugan <anne-laure.lugan@airbus.com> anne-laure lugan <anne-laure.lugan@airbus.com>
Anne-Laure Lugan <anne-laure.lugan@airbus.com> anne-laure lugan <anne-laure.lugan@fr.airbus.com>
Bruno Revelin <bruno.revelin@csgroup.eu> bruno revelin <bruno.revelin@c-s.fr>
Bryan Cazabonne <bryan.cazabonne@gmail.com> bryan cazabonne <bryan.cazabonne@csgroup.eu>
Bryan Cazabonne <bryan.cazabonne@gmail.com> bryan cazabonne <bryan.cazabonne@c-s.fr>
Bryan Cazabonne <bryan.cazabonne@gmail.com> bryan <bryan.cazabonne@c-s.com>
Bryan Cazabonne <bryan.cazabonne@gmail.com> Bryan CAZABONNE <bryan.cazabonne@fr.airbus.com>
Bulat Sagdullin <bulat.sagdullin@gmail.com> bullat <bulat.sagdullin@gmail.com>
Chiara Rusconi <chiara.rusconi@csgroup.eu> chiara rusconi <chiara.rusconi@csgroup.eu>
Chiara Rusconi <chiara.rusconi@csgroup.eu> crusconi <chiara.rusconi@csgroup.eu>
David Gondelach <davidgondelach@gmail.com> David Gondelach <davidgondelach@gmail.com>
David Soulard <david.soulard@csgroup.eu> david soulard <david.soulard@c-s.fr>
Dorian Gegout <dorian.gegout@fr.airbus.com> dorian gegout <dorian.gegout@fr.airbus.com>
Dylan Gautreau <dylan.gautreau@csgroup.eu> dylan gautreau <dylan.gautreau@c-s.fr>
Evan Ward <evan.ward@nrl.navy.mil> Evan Ward <evan.m.ward3.civ@us.navy.mil>
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>
Francesco Rocca <francesco.rocca@telespazio.com> francesco rocca <>
Gaëtan Pierre <gaetan.pierre@csgroup.eu> gpierre <gaetan.pierre@csgroup.eu>
Gaëtan Pierre <gaetan.pierre@csgroup.eu> gpierre <gpierre@PO18517LX>
GeoTurkey <64136413+GeoTurkey@users.noreply.github.com> geomatics <64136413+GeoTurkey@users.noreply.github.com>
Giuseppe Cavallaro <giuseppe.cavallaro@cnes.fr> gc <865-g.c@users.noreply.gitlab.orekit.org>
Giuseppe Cavallaro <giuseppe.cavallaro@cnes.fr> gc <865-gc@users.noreply.gitlab.orekit.org>
Guilhem Bonnefille <guilhem.bonnefille@csgroup.eu> guilhem bonnefille <guilhem.bonnefille@c-s.fr>
Guylaine Prat <guylaine.prat@csgroup.eu> guylaine prat <guylaine.prat@c-s.fr>
Hank Grabowski <hankgrabowski@gmail.com> hank grabowski <hank@applieddefense.com>
Jean-Baptiste Valet <jean-baptiste.valet@csgroup.eu> jean-baptiste valet <valetjeanbaptiste@hotmail.com>
Jérôme Tabeaud <jerome.tabeaud@cs-soprasteria.com> Jérôme TABEAUD <jerome.tabeaud@cs-soprasteria.com>
Joe Reed <josephreed@gmail.com> joe <josephreed@gmail.com>
Joe Reed <josephreed@gmail.com> joe reed <joseph.reed@gmail.com>
Joris Olympio <joris.olympio@csgroup.eu> joris olympio <joris.olympio@c-s.fr>
Joris Olympio <joris.olympio@csgroup.eu> jolympio <joris.olympio@c-s.fr>
Julie Bayard <julie.bayard@csgroup.eu> jbayard <jbayard@po18076lx>
Julien Leblond <julien.leblond@cs-soprasteria.com> julien leblond <julien.leblond@cs-soprasteria.com>
Julien Leblond <julien.leblond@cs-soprasteria.com> julien leblond <julien.leblond@student.isae-supaero.fr>
Kevin Patel <kevinpatel222004@gmail.com> kevin222004 <kevinpatel222004@gmail.com>
Lara Hue <lara.hue@airbus.com> lara hue <lara.hue@airbus.com>
Laurene Beauvalet <laurene.beauvalet@csgroup.eu> laurene beauvalet <laurene.beauvalet@c-s.fr>
Louis Aucouturier <louis.aucouturier@csgroup.eu> louis aucouturier <laucoutu@PO20207LX>
Luc Maisonobe <luc@orekit.org> luc maisonobe <luc.maisonobe@csgroup.eu>
Luc Maisonobe <luc@orekit.org> luc maisonobe <luc.maisonobe@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> maisonobe <maisonobe@users.noreply.github.com>
Pascal Parraud <pascal@orekit.org> Pascal Parraud <pascal@orekit.org>
Romain di Costanzo <romain.di-costanzo@c-s.fr> rdicosta <romain.di-costanzo@c-s.fr>
Steven <sljkwsk@yahoo.com> Steven <sljkwsk@yahoo.com>
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>
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>
Luc Maisonobe <luc@orekit.org> luc maisonobe <luc.maisonobe@thalesaleniaspace.com>
Lucian Barbulescu <lucian.barbulescu@c-s.ro> lucian barbulescu <lucian.barbulescu@edu.ucv.ro>
Mark Rutten <mark@intrack.solutions> mark rutten <markgrutten@yahoo.com.au>
Maxime Journot <maxime.journot@csgroup.eu> maxime journot <maxime.journot@c-s.fr>
Maxime Journot <maxime.journot@csgroup.eu> maxime journot <maxime.journot@gmail.com>
Mélina Vanel <melina.vanel@csgroup.eu> mélina vanel <melina.vanel@c-s.fr>
Mélina Vanel <melina.vanel@csgroup.eu> mvanel <mélina vanel>
Mélina Vanel <melina.vanel@csgroup.eu> mvanel <mvanel@po18485lx>
Nick LaFarge <nick.lafarge@jhuapl.edu> Nick LaFarge <Nick.LaFarge@jhuapl.edu>
Nicolas Bernard <nicolas.bernard@csgroup.eu> nicola bernard <nicolas.bernard@c-s.fr>
Nicolas Bernard <nicolas.bernard@csgroup.eu> nicolas bernard <nicolas.bernard@c-s.fr>
Nicolas Fialton <nicolas.fialton@csgroup.eu> nfialton <nfialton@pc16565lx>
Pascal Parraud <pascal@orekit.org> pparraud <pascal@orekit.org>
Pascal Parraud <pascal@orekit.org> pascal parraud <pascal.parraud@csgroup.eu>
Pascal Parraud <pascal@orekit.org> pascal parraud <pascal.parraud@c-s.fr>
Petrus Hyvönen <petrus.hyvonen@sscspace.com> petrus hyvönen <petrus.hyvonen@sscspace.com>
Piotr Listkiewicz <piotr.listkiewicz@gmail.com> liscju <piotr.listkiewicz@gmail.com>
Rafael Ayala <rafael.ayala@oist.jp> rafael-ayala <rafael.ayala@oist.jp>
Raphaël Fermé <raphael.ferme@csgroup.eu> ferme raphael <rferme@idsi0.si.c-s.fr>
Raphaël Fermé <raphael.ferme@csgroup.eu> raphael ferme <rferme@csgroup.eu>
Raphaël Fermé <raphael.ferme@csgroup.eu> raphael ferme <rferme@c-s.fr>
Romain di Costanzo <romain.di-costanzo@csgroup.eu> romain di costanzo <romain.di-costanzo@c-s.fr>
Romain di Costanzo <romain.di-costanzo@csgroup.eu> rdicosta <romain.di-costanzo@c-s.fr>
Romain Serra <serra.romain@gmail.com> serrof <serra.romain@gmail.com>
Romaric Her <romaric.her@csgroup.eu> romaric her <romaric.her@c-s.fr>
Sébastien Dinot <sebastien.dinot@cs-soprasteria.com> Sébastien Dinot <sebastien.dinot@csgroup.eu>
Sébastien Dinot <sebastien.dinot@cs-soprasteria.com> sebastien dinot <sebastien.dinot@csgroup.eu>
Sébastien Dinot <sebastien.dinot@cs-soprasteria.com> sébastien dinot <sebastien.dinot@c-s.fr>
Sébastien Dinot <sebastien.dinot@cs-soprasteria.com> sebastien dinot <sebastien.dinot@c-s.fr>
Sébastien Dinot <sebastien.dinot@cs-soprasteria.com> sebastien dinot <sebastien.dinot@free.fr>
Sébastien Dinot <sebastien.dinot@cs-soprasteria.com> sebastien dinot <sebastien@dinot.net>
Sébastien Dinot <sebastien.dinot@cs-soprasteria.com> sebastien dinot <sebastien@palabritudes.net>
Shipping Enjoyer <ezp33940@zwoho.com> user <user@user.user>
Shiva Iyer <shiva.iyer@gmail.com> shiva_iyer <shiva.iyer@gmail.com>
Steven Ports <steven.ports@csgroup.eu> steven ports <steven.ports@c-s.fr>
Theo Nguyen <theo.nguyen@fr.airbus.com> theo nguyen <theo.nguyen@fr.airbus.com>
Thierry Ceolin <thierry.ceolin@csgroup.eu> thierry ceolin <thierry.ceolin@c-s.fr>
Thierry Ceolin <thierry.ceolin@csgroup.eu> thierry ceolin <thierry@orekit.org>
Thomas Neidhart <thomas.neidhart@gmail.com> thomas neidhart <thomas.neidhart@gmail.com>
Thomas Paulet <thomas.paulet@csgroup.eu> thomas paulet <thomas.paulet@c-s.fr>
Thomas Paulet <thomas.paulet@csgroup.eu> root <root@po18481lx>
Véronique Pommier-Maurussane <vero@orekit.org> véronique pommier-maurussane <vero@orekit.org>
Vincent Cucchietti <vincent.cucchietti@cs-soprasteria.com> Vincent CUCCHIETTI <vincent.cucchietti@cs-soprasteria.com>
Vincent Cucchietti <vincent.cucchietti@cs-soprasteria.com> pallepup <vincent.cucchietti@gmail.com>
Vincent Cucchietti <vincent.cucchietti@cs-soprasteria.com> vcucchie <vincent.cucchietti@csgroup.eu>
Vincent Cucchietti <vincent.cucchietti@cs-soprasteria.com> vincent cucchietti <vincent.cucchietti@csgroup.eu>
Vincent Mouraux <vincent.mouraux@csgroup.eu> vincent mouraux <vincent.mouraux@c-s.fr>
Vyom Yadav <jackhammervyom@gmail.com> vyom-yadav <jackhammervyom@gmail.com>
Vyom Yadav <jackhammervyom@gmail.com> vyomyadav <jackhammervyom@gmail.com>
William Desprats <william.desprats@csgroup.eu> william desprats <william.desprats@c-s.fr>
Yannick Jeandroz <yannick.jeandroz@airbus.com> yannick jeandroz <yannick.jeandroz@airbus.com>
Yannick Jeandroz <yannick.jeandroz@airbus.com> yannick jeandroz <yannick.jeandroz@gmail.com>
Orekit can be built from source either using maven 3,
ant or eclipse.
Building with Maven 3:
- Maven 3 can be downloaded here:
http://maven.apache.org/download.html
- If you are behind a proxy (which is a traditional
setting in a corporate environment), then you need
to configure maven to use it. This is explained
in the maven documentation here:
http://maven.apache.org/guides/mini/guide-proxies.html
- run "mvn package" to automatically download all
the required dependencies listed in the pom.xml file
and create a file named target/orekit-x.y.jar where
x.y is the version number
Building with Ant:
- Ant can be downloaded here:
http://ant.apache.org/bindownload.cgi
- If you are behind a proxy (which is a traditional
setting in a corporate environment), then you need
to configure ant to use it. This is explained
in the ant documentation here:
http://ant.apache.org/manual/proxy.html
- either download the Hipparchus jars from the Hipparchus project and
put it in a lib directory just below the top-level orekit
directory or edit the ant build.xml file to edit the get-hipparchus
target that can automatically download Hipparchus
- run "ant jar" to create a file named
build/orekit-x.y.jar where x.y is the version number
Building with Eclipse:
- Eclipse can be downloaded here:
http://www.eclipse.org/downloads/
- using your operating system tools, unpack the source distribution directly
inside your Eclipse workspace
- using Eclipse, import the project by selecting in the top level "File" menu
the entry "Import..."
- in the wizard that should appear, select "Maven -> Existing Maven Projects"
- select the folder you just created in your workspace by unpacking the
source distribution. The "pom.xml" file describing the project will be
automatically selected. Click finish
# 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.
pipeline {
agent any
tools {
maven 'mvn-default'
jdk 'openjdk-8'
}
options {
timeout(time: 60, unit: 'MINUTES')
}
stages {
stage('Cleaning') {
steps {
sh 'git clean -fdx'
}
}
stage('Build') {
steps {
script {
if ( env.BRANCH_NAME ==~ /^release-[.0-9]+$/ ) {
sh 'mvn verify assembly:single'
}
else {
sh 'mvn verify site'
}
}
}
}
}
post {
always {
archiveArtifacts artifacts: 'target/*.jar', fingerprint: true
script {
if ( env.BRANCH_NAME ==~ /^release-[.0-9]+$/ ) {
archiveArtifacts artifacts: 'target/*.zip', fingerprint: true
}
}
junit testResults: '**/target/surefire-reports/*.xml'
jacoco execPattern:'target/**.exec', classPattern: '**/classes', sourcePattern: '**/src/main/java'
recordIssues enabledForFailure: true, tools: [mavenConsole(), java(), javaDoc()]
recordIssues enabledForFailure: true, tool: checkStyle()
recordIssues enabledForFailure: true, tool: spotBugs()
}
}
}
OREKIT
Copyright 2002-2019 CS Systèmes d'Information
Copyright 2002-2025 CS GROUP
This product includes software developed by
CS Systèmes d'Information (http://www.c-s.fr/)
CS GROUP (https://www.csgroup.eu/)
This product includes software developed by
Bruce R. Bowman (HQ AFSPC, Space Analysis Division)
This product includes software developed by
Luc Maisonobe (Thales Alenia Space)
This product includes software translated from original work developed by
David A. Vallado, Paul Crawford, Richard Hujsak, T.S. Kelso
......
![Orekit logo](https://www.orekit.org/img/orekit-logo.png)
<h1 align="center">
<img src="https://www.orekit.org/img/orekit-logo.png" alt="Orekit">
# Orekit
<a href="https://www.orekit.org/doc-javadoc.html">API</a> |
<a href="https://www.orekit.org/doc-maven.html">Documentation</a> |
<a href="https://forum.orekit.org/">Forum</a>
</h1>
> An accurate and efficient core layer for space flight dynamics applications
[![](http://img.shields.io/:license-apache-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0.html)
[![](https://sonar.orekit.org/api/project_badges/measure?project=orekit%3Aorekit&metric=alert_status)](https://sonar.orekit.org/dashboard?id=orekit%3Aorekit)
[![](https://sonar.orekit.org/api/project_badges/measure?project=orekit%3Aorekit&metric=coverage)](https://sonar.orekit.org/dashboard?id=orekit%3Aorekit)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7249096.svg)](https://doi.org/10.5281/zenodo.7249096)
[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
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, ...).
handle them (conversions, propagations, pointing, events detection, orbit determination ...).
# Features
- **Accurate Orbit Propagation:**
Supports analytical, semianalytical, numerical, and TLE-based propagation.
- **Flexible Orbit and Attitude Models:**
Easily switch between Cartesian, Keplerian, circular, and equinoctial orbit representations.
Includes standard and customizable attitude laws (e.g., nadir, target pointing...).
- **Event Detection:**
Built-in detectors for eclipses, ground station visibility...
- **Maneuver Modeling:**
Supports impulse and continuous maneuvers with integration into propagation and event detection.
- **Robust Time and Reference Frames:**
High-precision time handling with multiple time scales and leap second support.
Reference frames for Earth-centered and inertial calculations.
- **Orbit Determination:**
Tools for orbit fitting, parameter estimation, and measurement processing.
- **Reliable Earth and Environmental Models:**
Includes Earth shape and potential for realistic simulations.
- **Standard Format and Data Handling:**
Supports reading and writing common space data formats for easy integration and interoperability.
- **Open Source and Easy Integration:**
Thanks to its Apache License 2.0.
- [**And much more !**](https://www.orekit.org/site-orekit-development/index.html)
# Installation
## 1. Requirements
Before you begin, make sure you have the following installed:
| Requirement | Suggested link |
|--------------------------------------------|---------------------------------------|
| **Java Development Kit (JDK)** 8 or higher | https://openjdk.org/install/ |
| **Apache Maven** (build automation) | https://maven.apache.org/download.cgi |
## 2. Add Orekit as a Dependency
For **Maven**, add the following to your `pom.xml` inside the `<dependencies>` section:
```xml
<!-- https://mvnrepository.com/artifact/org.orekit/orekit -->
<dependency>
<groupId>org.orekit</groupId>
<artifactId>orekit</artifactId>
<version>VERSION_NUMBER</version>
</dependency>
```
> **Note:** You can find the available versions
> on [the maven repository](https://mvnrepository.com/artifact/org.orekit/orekit)
## 3. Download Orekit Data
Orekit requires external data files (Earth orientation parameters, leap seconds, etc.). To get these data, you can
either:
* Download the `Physical Data` on the [Official Orekit website](https://www.orekit.org/download.html) and extract the
archive
* Clone the [Official Orekit data repository](https://gitlab.orekit.org/orekit/orekit-data)
## 4. Load Orekit data
Your Orekit-dependant application will most likely require you to load previously downloaded Orekit data. A simple way
to do this is to use the following code snippet:
```java
final File orekitData = new File("path/to/orekit/data/folder");
final DataProvider dirCrawler = new DirectoryCrawler(orekitData);
DataContext.getDefault().getDataProvidersManager().addProvider(dirCrawler);
```
Replace `/path/to/orekit-data` with the actual path to your unzipped data folder.
# Getting Started
## Keplerian propagation
In this section, you will learn the building blocks to create a ```KeplerianPropagator```.
> **Note:** It is assumed that the code necessary to load the Orekit data is written at the beginning of your script as
> explained in [Installation](#3-load-the-orekit-data)
### 1. Create an `Orbit`
The first step is to create an `Orbit`. Several types are available in Orekit:
* `KeplerianOrbit`
* `CartesianOrbit`
* `EquinoctialOrbit`
* `CircularOrbit`
For the sake of this example, we will build a `KeplerianOrbit`
```java
double sma = 7000e3; // Semi-major axis [m]
double ecc = 0.001; // Eccentricity [-]
double inc = FastMath.toRadians(15); // Inclination [rad]
double pa = FastMath.toRadians(30); // Perigee Argument [rad]
double raan = FastMath.toRadians(45); // Right Ascension of the Ascending Node[rad]
double anomaly = FastMath.toRadians(60); // Anomaly [rad]
PositionAngleType positionAngleType = PositionAngleType.MEAN; // Type of anomaly angle used (MEAN, TRUE, ECCENTRIC)
Frame inertialFrame = FramesFactory.getGCRF(); // Earth-Centered Inertial frame
AbsoluteDate date = new AbsoluteDate(2002, 1, 1, 0, 0, 0, TimeScalesFactory.getUTC()); // Date of the orbit
double mu = Constants.EIGEN5C_EARTH_MU; // Earth's standard gravitational parameter used in EIGEN-5C gravity field model
Orbit orbit = new KeplerianOrbit(sma, ecc, inc, pa, raan, anomaly,
positionAngleType, inertialFrame, date, mu);
```
<details>
<summary>Output</summary>
Displaying this orbit using:
```java
System.out.println(orbit);
```
should output:
```text
Keplerian parameters: {a: 7000000.0; e: 0.001; i: 15.000000000000002; pa: 30.000000000000004; raan: 45.0; v: 60.09930121319573;}
```
</details>
### 2. Create a `Propagator`
Now that we have defined an orbit, we can create a `Propagator` to specify how the orbit will be propagated through
time.
In this case we will create a basic `KeplerianPropagator`:
```java
Propagator propagator = new KeplerianPropagator(orbit);
```
### 3. Propagate !
You are now ready to propagate this orbit through time. To do so you can specify:
* The initial and final propagation dates, the propagator will propagate in this time interval
* The final propagation date only, the propagator will propagate between internal state date and this final propagation
date
We will propagate for one `Constants.JULIAN_DAY` starting from the initial orbit date:
```java
AbsoluteDate targetDate = date.shiftedBy(Constants.JULIAN_DAY);
SpacecraftState propagatedState = propagator.propagate(targetDate);
```
> **Note:** The propagator outputs a `SpacecraftState` which holds the propagated `Orbit`
<details>
<summary>Output</summary>
Displaying final state's orbit using:
```java
System.out.println(propagatedState.getOrbit());
```
should output:
```text
Keplerian parameters: {a: 7000000.0; e: 0.001; i: 15.000000000000002; pa: 30.000000000000004; raan: 45.0; v: 5396.513788732658;}
```
</details>
<details>
<summary>Full java code</summary>
```java
import org.hipparchus.util.FastMath;
import org.orekit.data.DataContext;
import org.orekit.data.DataProvider;
import org.orekit.data.DirectoryCrawler;
import org.orekit.frames.Frame;
import org.orekit.frames.FramesFactory;
import org.orekit.orbits.KeplerianOrbit;
import org.orekit.orbits.Orbit;
import org.orekit.orbits.PositionAngleType;
import org.orekit.propagation.Propagator;
import org.orekit.propagation.SpacecraftState;
import org.orekit.propagation.analytical.KeplerianPropagator;
import org.orekit.time.AbsoluteDate;
import org.orekit.time.TimeScalesFactory;
import org.orekit.utils.Constants;
import java.io.File;
public class KeplerianPropagation {
public static void main(String[] args) {
// Load the Orekit data
final File orekitData = new File("/path/to/orekit/data/folder");
if (!orekitData.exists()) {
System.err.format("Orekit data file not found: %s\n", orekitData.getAbsolutePath());
}
final DataProvider dirCrawler = new DirectoryCrawler(orekitData);
DataContext.getDefault().getDataProvidersManager().addProvider(dirCrawler);
// Define an arbitrary orbit
double sma = 7000e3; // Semi-major axis [m]
double ecc = 0.001; // Eccentricity [-]
double inc = FastMath.toRadians(15); // Inclination [rad]
double pa = FastMath.toRadians(30); // Perigee Argument [rad]
double raan = FastMath.toRadians(45); // Right Ascension of the Ascending Node[rad]
double anomaly = FastMath.toRadians(60); // Anomaly [rad]
PositionAngleType positionAngleType = PositionAngleType.MEAN; // Type of anomaly angle used (MEAN, TRUE, ECCENTRIC)
Frame inertialFrame = FramesFactory.getGCRF(); // Earth-Centered Inertial frame
AbsoluteDate date = new AbsoluteDate(2002, 1, 1, 0, 0, 0, TimeScalesFactory.getUTC()); // Date of the orbit
double mu = Constants.EIGEN5C_EARTH_MU; // Earth's standard gravitational parameter used in EIGEN-5C gravity field model
Orbit orbit = new KeplerianOrbit(sma, ecc, inc, pa, raan, anomaly,
positionAngleType, inertialFrame, date, mu);
System.out.println(orbit);
// Set up sma Keplerian propagator
Propagator propagator = new KeplerianPropagator(orbit);
// Propagate to one day later
AbsoluteDate targetDate = date.shiftedBy(Constants.JULIAN_DAY);
SpacecraftState propagatedState = propagator.propagate(targetDate);
System.out.println(propagatedState.getOrbit());
}
}
```
</details>
# Going further
## Tutorials
For more advanced usage of Orekit, check out
the [Official Orekit tutorials repository](https://gitlab.orekit.org/orekit/orekit-tutorials).
## Documentation
The following documentation is available:
* [Latest API documentation](https://www.orekit.org/site-orekit-development/apidocs/index.html)
* [Latest Maven site](https://www.orekit.org/site-orekit-development/) for the project overview, architecture and development,
detailed features list, Javadoc and a lot of other information
## 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).
> **Note:** When
> reporting security issues check the "This issue is confidential" box.
## Build & Run locally
Want to include your own modifications to Orekit rather than simply relying on it as a dependency ? Please check
out [building.md](src/site/markdown/building.md)
## Python wrapper
If interested in Official Orekit Python wrappers, please check
out:
* [The JCC wrapper](https://gitlab.orekit.org/orekit-labs/python-wrapper/-/wikis/home)
* [The JPype wrapper](https://gitlab.orekit.org/orekit/orekit_jpype/-/tree/master)
## Download
### Official releases
[Official Orekit releases](https://gitlab.orekit.org/orekit/orekit/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).
......@@ -27,64 +315,48 @@ 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).
## Contributing
Orekit exists thanks to the contribution of
[many people](https://gitlab.orekit.org/orekit/orekit/graphs/develop).
If you are interested in participating in the development effort, subscribe to
the [forum](https://forum.orekit.org/) and step up to discuss it. The larger
the community is, the better Orekit will be. The main rule is that everything
intended to be included in Orekit core must be distributed under the Apache
License, version 2.0 (you will be asked to sign a contributor license
agreement).
More information is available in our
[development guidelines](https://www.orekit.org/site-orekit-development/guidelines.html).
## 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.
Please take a look at our
[contributing guidelines](src/site/markdown/contributing.md) if you're
interested in helping!
## Dependencies
Orekit relies on the following free software, all released under business
friendly free licenses.
Orekit relies on the following
[Free and Open-Source Software](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/) from the Hipparchus project released
under the Apache Software License, version 2
* [Hipparchus](https://hipparchus.org/), a mathematics library released under
the Apache License, version 2.0.
### Test-time dependencies
* [JUnit 4](http://www.junit.org/) from Erich Gamma and Kent Beck released
under the Eclipse Public License, version 1.0
* [JUnit 5](http://www.junit.org/), a widely used unit test framework released
under the Eclipse Public License, version 1.0.
* [Mockito](https://site.mockito.org/) from Szczepan Faber and others,
* [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
# How to cite
To cite Orekit in publications, please refer to the following Digital Object Identifier for the latest release: [10.5281/zenodo.7249096](https://doi.org/10.5281/zenodo.7249096)
For a specific version, search the zenodo website for their respective DOI.
# License
Orekit is licensed by [CS Systèmes d'Information](https://www.c-s.fr/) under
Orekit is licensed by [CS GROUP](https://www.cs-soprasteria.com/) 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.
<?xml version="1.0" encoding="UTF-8"?>
<project name="orekit" default="jar" basedir=".">
<property name="project.version" value="9.4-SNAPSHOT" />
<property name="src.dir" location="src" />
<property name="main.src.dir" value="${src.dir}/main/java" />
<property name="main.resources.dir" value="${src.dir}/main/resources" />
<property name="test.src.dir" value="${src.dir}/test/java" />
<property name="test.resources.dir" value="${src.dir}/test/resources" />
<property name="build.dir" location="build" />
<property name="main.classes.dir" value="${build.dir}/classes" />
<property name="test.classes.dir" value="${build.dir}/test-classes" />
<property name="javadoc.dir" value="${build.dir}/javadoc" />
<property name="tests.reports" value="${build.dir}/test-reports" />
<property name="lib.dir" location="lib" />
<property name="hipparchus.version" value="1.4" />
<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" />
<property name="hipparchus.fitting.jar" value="hipparchus-fitting-${hipparchus.version}.jar" />
<property name="hipparchus.optim.jar" value="hipparchus-optim-${hipparchus.version}.jar" />
<property name="hipparchus.filtering.jar" value="hipparchus-filtering-${hipparchus.version}.jar" />
<property name="hipparchus.stat.jar" value="hipparchus-stat-${hipparchus.version}.jar" />
<property name="hipparchus.maven.path" value="org/hipparchus" />
<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="hamcrest.version" value="1.3" />
<property name="hamcrest.core.jar" value="hamcrest-core-${hamcrest.version}.jar" />
<property name="hamcrest.maven.path" value="org/hamcrest" />
<property name="maven.repository" value="http://repo1.maven.org/maven2" />
<property name="copyright" value="2002-2019 CS Syst&#232;mes d&#039;Information" />
<available file="${lib.dir}/${hipparchus.core.jar}" property="libs.present" />
<target name="clean" description="Clean the build directory">
<delete dir="${build.dir}"/>
</target>
<target name="clean-lib" description="Clean the lib directory">
<delete dir="${lib.dir}"/>
</target>
<target name="clean-all" depends="clean,clean-lib"
description="Clean the build and lib directories">
</target>
<target name="get-libs" description="Get libraries" unless="libs.present">
<!-- if you need to set up a proxy to download artifacts,
uncomment and edit the following setproxy task -->
<!-- <setproxy proxyhost="my-proxy.my-company.com" proxyport="8080"
proxyUser="username" proxyPassword="password"/> -->
<mkdir dir="${lib.dir}"/>
<get src="${maven.repository}/${hipparchus.maven.path}/hipparchus-core/${hipparchus.version}/${hipparchus.core.jar}"
dest="${lib.dir}/${hipparchus.core.jar}"/>
<get src="${maven.repository}/${hipparchus.maven.path}/hipparchus-geometry/${hipparchus.version}/${hipparchus.geometry.jar}"
dest="${lib.dir}/${hipparchus.geometry.jar}"/>
<get src="${maven.repository}/${hipparchus.maven.path}/hipparchus-ode/${hipparchus.version}/${hipparchus.ode.jar}"
dest="${lib.dir}/${hipparchus.ode.jar}"/>
<get src="${maven.repository}/${hipparchus.maven.path}/hipparchus-fitting/${hipparchus.version}/${hipparchus.fitting.jar}"
dest="${lib.dir}/${hipparchus.fitting.jar}"/>
<get src="${maven.repository}/${hipparchus.maven.path}/hipparchus-optim/${hipparchus.version}/${hipparchus.optim.jar}"
dest="${lib.dir}/${hipparchus.optim.jar}"/>
<get src="${maven.repository}/${hipparchus.maven.path}/hipparchus-filtering/${hipparchus.version}/${hipparchus.filtering.jar}"
dest="${lib.dir}/${hipparchus.filtering.jar}"/>
<get src="${maven.repository}/${hipparchus.maven.path}/hipparchus-stat/${hipparchus.version}/${hipparchus.stat.jar}"
dest="${lib.dir}/${hipparchus.stat.jar}"/>
<get src="${maven.repository}/${junit.maven.path}/${junit.version}/${junit.jar}"
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}"/>
</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}"
deprecation="true" target="1.8" source="1.8">
</javac>
<copy todir="${main.classes.dir}">
<fileset dir="${main.resources.dir}"/>
</copy>
</target>
<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}"
deprecation="true" target="1.8" source="1.8">
</javac>
<copy todir="${test.classes.dir}">
<fileset dir="${test.resources.dir}"/>
</copy>
</target>
<target name="test" depends="compile-tests" description="Run the tests">
<mkdir dir="${tests.reports}"/>
<junit fork="yes" haltonerror="yes" haltonfailure="yes">
<classpath>
<pathelement location="${main.classes.dir}" />
<pathelement location="${test.classes.dir}" />
<pathelement location="${lib.dir}/${hipparchus.core.jar}" />
<pathelement location="${lib.dir}/${hipparchus.geometry.jar}" />
<pathelement location="${lib.dir}/${hipparchus.ode.jar}" />
<pathelement location="${lib.dir}/${hipparchus.fitting.jar}" />
<pathelement location="${lib.dir}/${hipparchus.optim.jar}" />
<pathelement location="${lib.dir}/${hipparchus.stat.jar}" />
<pathelement location="${lib.dir}/${junit.jar}" />
<pathelement location="${lib.dir}/${hamcrest.core.jar}" />
</classpath>
<formatter type="plain" usefile="false"/>
<batchtest todir="${tests.reports}">
<fileset dir="${test.src.dir}">
<include name="**/*Test.java"/>
<exclude name="**/*Abstract*.java"/>
</fileset>
</batchtest>
</junit>
</target>
<target name="jar" depends="compile,test" description="create the jar file">
<jar jarfile="${build.dir}/${ant.project.name}-${project.version}.jar"
basedir="${main.classes.dir}"/>
</target>
<target name="javadoc" description="create javadoc">
<javadoc sourcepath="${main.src.dir}" destdir="${javadoc.dir}"
overview="${main.src.dir}/org/orekit/overview.html"
encoding="UTF-8" version="true" use="true" author="true"
charset="UTF-8" docencoding="UTF-8"
bottom="&lt;i&gt;Copyright &#169; ${copyright}. All Rights Reserved.&lt;/i&gt;">
<link href="http://docs.oracle.com/javase/8/docs/api/"/>
<link href="https://www.hipparchus.org/apidocs/"/>
</javadoc>
</target>
</project>
<?xml version="1.0"?>
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
"http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
<!DOCTYPE module PUBLIC
"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
"https://checkstyle.org/dtds/configuration_1_3.dtd">
<module name="Checker">
<module name="TreeWalker">
......@@ -34,8 +35,6 @@
<property name="caseIndent" value="4"/>
</module>
<module name="JavadocMethod">
<property name="allowUndeclaredRTE" value="true"/>
<property name="allowMissingPropertyJavadoc" value="true"/>
<property name="validateThrows" value="false"/>
</module>
<module name="JavadocStyle"/>
......@@ -43,10 +42,14 @@
<module name="MissingSwitchDefault"/>
<module name="ModifierOrder"/>
<module name="MultipleStringLiterals">
<property name="ignoreStringsRegexp" value='^(("")|("."))$'/>
<property name="ignoreStringsRegexp" value='^(("")|(".")|("\\\\"))$'/>
</module>
<module name="MultipleVariableDeclarations"/>
<module name="NoWhitespaceAfter"/>
<module name="NoWhitespaceAfter">
<property name="tokens"
value="AT, INC, DEC, UNARY_MINUS, UNARY_PLUS, BNOT, LNOT, DOT,
ARRAY_DECLARATOR, INDEX_OP"/>
</module>
<module name="NoWhitespaceBefore"/>
<module name="OperatorWrap">
<property name="option" value="eol"/>
......@@ -56,13 +59,22 @@
<module name="TodoComment">
<property name="severity" value="warning"/>
</module>
<module name="UnnecessaryParentheses"/>
<module name="UnnecessaryParentheses">
<property name="tokens"
value="EXPR, IDENT, NUM_DOUBLE, NUM_FLOAT, NUM_INT, NUM_LONG, STRING_LITERAL,
LITERAL_NULL, LITERAL_FALSE, LITERAL_TRUE, ASSIGN, BAND_ASSIGN, BOR_ASSIGN,
BSR_ASSIGN, BXOR_ASSIGN, DIV_ASSIGN, MINUS_ASSIGN, MOD_ASSIGN, PLUS_ASSIGN,
SL_ASSIGN, SR_ASSIGN, STAR_ASSIGN, LAMBDA, TEXT_BLOCK_LITERAL_BEGIN, LAND,
LOR, LITERAL_INSTANCEOF, GT, LT, GE, LE, EQUAL, NOT_EQUAL, UNARY_MINUS,
UNARY_PLUS, INC, DEC, LNOT, BNOT, POST_INC, POST_DEC"/>
</module>
<module name="NeedBraces"/>
<module name="UnusedImports"/>
<module name="VisibilityModifier"/>
<module name="WhitespaceAfter"/>
<module name="WhitespaceAround">
<property name="tokens"
value="ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN,
value="ASSIGN, ARRAY_INIT, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN,
BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT,
LAND, LCURLY, LE, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE,
LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_RETURN,
......@@ -70,6 +82,18 @@
MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL, PLUS,
PLUS_ASSIGN, QUESTION, RCURLY, SL, SLIST, SL_ASSIGN, SR,
SR_ASSIGN, STAR, STAR_ASSIGN"/>
</module>
<!-- Avoid Python keywords in method, class, interface and enum names -->
<module name="IllegalIdentifierName">
<property name="format"
value="(?i)^(?!(del|elif|except|from|global|in|is|lambda|nonlocal|not|or|pass|raise|with|yield)$).+$"/>
<property name="tokens" value="CLASS_DEF, INTERFACE_DEF, METHOD_DEF, ENUM_DEF"/>
<message key="name.invalidPattern" value="Name ''{0}'' is not allowed."/>
</module>
<module name="SuppressionCommentFilter">
<property name="offCommentFormat" value="CHECKSTYLE\: stop ConstantName"/>
<property name="onCommentFormat" value="CHECKSTYLE\: resume ConstantName"/>
<property name="checkFormat" value="ConstantName"/>
</module>
<module name="SuppressionCommentFilter">
<property name="offCommentFormat" value="CHECKSTYLE\: stop JavadocVariable check"/>
......@@ -104,7 +128,10 @@
</module>
<module name="RegexpHeader">
<property name="headerFile" value="${checkstyle.header.file}" />
<property name="fileExtensions" value="java" />
</module>
<module name="FileTabCharacter"/>
<module name="NewlineAtEndOfFile"/>
<module name="NewlineAtEndOfFile">
<property name="lineSeparator" value="LF_CR_CRLF"/>
</module>
</module>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<profiles version="12">
<profile kind="CodeFormatterProfile" name="Orekit-profile" version="12">
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_javadoc_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.indentation.size" value="4"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.disabling_tag" value="@formatter:off"/>
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="4"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="18"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_binary_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_root_tags" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.enabling_tag" value="@formatter:on"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="69"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column" value="false"/>
<setting id="org.eclipse.jdt.core.compiler.problem.enumIdentifier" value="error"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_block" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="80"/>
<setting id="org.eclipse.jdt.core.formatter.use_on_off_tags" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_binary_expression" value="34"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call" value="18"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_lambda_body" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.compact_else_if" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="18"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_type_parameters" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="18"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="69"/>
<setting id="org.eclipse.jdt.core.compiler.problem.assertIdentifier" value="error"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_binary_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="36"/>
<setting id="org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_ellipsis" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_line_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_assignment" value="68"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="21"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="34"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="18"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value="insert"/>
<setting id="org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode" value="enabled"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_method_declaration" value="20"/>
<setting id="org.eclipse.jdt.core.formatter.join_wrapped_lines" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_conditional_operator" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines" value="2147483647"/>
<setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_resources_in_try" value="82"/>
<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="20"/>
<setting id="org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column" value="false"/>
<setting id="org.eclipse.jdt.core.compiler.source" value="1.8"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="4"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_source_code" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_field" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer" value="4"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="21"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="21"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_assignment_operator" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.compiler.codegen.targetPlatform" value="1.8"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_html" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="20"/>
<setting id="org.eclipse.jdt.core.formatter.indent_empty_lines" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_type_arguments" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_unary_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation" value="18"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_label" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_member_type" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="18"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_block_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration" value="18"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_binary_operator" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.compiler.compliance" value="1.8"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_constant" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header" value="18"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.join_lines_in_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="space"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_import_groups" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="80"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" value="insert"/>
</profile>
</profiles>
<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">
<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>
<packaging>jar</packaging>
<version>10.0-SNAPSHOT</version>
<name>ORbit Extrapolation KIT</name>
<url>http://www.orekit.org/</url>
<version>13.1-SNAPSHOT</version>
<name>OREKIT</name>
<url>https://www.orekit.org/</url>
<inceptionYear>2002</inceptionYear>
<description>
OREKIT (ORbits Extrapolation KIT) is a low level space dynamics library.
OREKIT 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 ...).
......@@ -20,37 +18,46 @@
<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.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.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-jxr-plugin.version>3.0.0</orekit.maven-jxr-plugin.version>
<!-- Spotbugs version higher than 4.2.3 will trigger numerous EI_EXPOSE_REP errors not handled by Orekit yet -->
<orekit.spotbugs-maven-plugin.version>4.2.3</orekit.spotbugs-maven-plugin.version>
<orekit.jacoco-maven-plugin.version>0.8.12</orekit.jacoco-maven-plugin.version>
<orekit.maven-bundle-plugin.version>5.1.9</orekit.maven-bundle-plugin.version>
<orekit.maven-changes-plugin.version>3.0.0-M3</orekit.maven-changes-plugin.version>
<orekit.maven-checkstyle-plugin.version>3.6.0</orekit.maven-checkstyle-plugin.version>
<!-- Checkstyle 9.3 seems to be the last version usable with JDK 8 -->
<orekit.checkstyle.version>9.3</orekit.checkstyle.version>
<orekit.maven-clean-plugin.version>3.4.1</orekit.maven-clean-plugin.version>
<orekit.maven-compiler-plugin.version>3.14.0</orekit.maven-compiler-plugin.version>
<orekit.maven-javadoc-plugin.version>3.11.2</orekit.maven-javadoc-plugin.version>
<orekit.maven-jar-plugin.version>3.4.2</orekit.maven-jar-plugin.version>
<orekit.maven-jxr-plugin.version>3.6.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.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.5-SNAPSHOT</orekit.hipparchus.version>
<orekit.junit.version>4.12</orekit.junit.version>
<orekit.plantuml.version>1.2025.2</orekit.plantuml.version>
<orekit.maven-resources-plugin.version>3.3.1</orekit.maven-resources-plugin.version>
<orekit.maven-site-plugin.version>3.21.0</orekit.maven-site-plugin.version>
<orekit.maven-project-info-reports-plugin.version>3.9.0</orekit.maven-project-info-reports-plugin.version>
<orekit.maven-wagon-ssh-external-plugin.version>3.5.3</orekit.maven-wagon-ssh-external-plugin.version>
<orekit.maven-source-plugin.version>3.3.1</orekit.maven-source-plugin.version>
<orekit.maven-surefire-plugin.version>3.5.3</orekit.maven-surefire-plugin.version>
<orekit.maven-surefire-report-plugin.version>3.5.2</orekit.maven-surefire-report-plugin.version>
<!-- Mockito 4.11.0 is the last supported version with java 8
https://github.com/mockito/mockito/releases -->
<orekit.mockito-core.version>4.11.0</orekit.mockito-core.version>
<orekit.jgit.buildnumber.version>1.2.12</orekit.jgit.buildnumber.version>
<orekit.build-helper-maven-plugin.version>3.6.0</orekit.build-helper-maven-plugin.version>
<orekit.maven-gpg-plugin.version>3.2.7</orekit.maven-gpg-plugin.version>
<orekit.maven-install-plugin.version>3.1.4</orekit.maven-install-plugin.version>
<orekit.orekit.cyclonedx-maven-plugin.version>2.9.1</orekit.orekit.cyclonedx-maven-plugin.version>
<orekit.mathjax.config>&lt;script type="text/x-mathjax-config"&gt;MathJax.Hub.Config({ TeX: { extensions: ["autoload.js"]}});&lt;/script&gt;</orekit.mathjax.config>
<orekit.mathjax.enable>&lt;script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS_CHTML"&gt;&lt;/script&gt;</orekit.mathjax.enable>
<orekit.hipparchus.version>4.0.1</orekit.hipparchus.version>
<orekit.junit.version>5.13.2</orekit.junit.version>
<orekit.hamcrest.version>3.0</orekit.hamcrest.version>
<orekit.compiler.source>1.8</orekit.compiler.source>
<orekit.compiler.target>1.8</orekit.compiler.target>
<orekit.implementation.build>${git.revision}; ${maven.build.timestamp}</orekit.implementation.build>
<tools.jar.dir>${java.home}/../lib/</tools.jar.dir>
<tools.jar.path>${tools.jar.dir}/tools.jar</tools.jar.path>
</properties>
<developers>
......@@ -62,6 +69,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>
......@@ -69,6 +83,13 @@
<role>developer</role>
</roles>
</developer>
<developer>
<name>Vincent Cucchietti</name>
<id>vincent</id>
<roles>
<role>developer</role>
</roles>
</developer>
<developer>
<name>Romain Di Costanzo</name>
<id>romain</id>
......@@ -110,8 +131,8 @@
</roles>
</developer>
<developer>
<name>V&#233;ronique Pommier-Maurussane</name>
<id>v&#233;ronique</id>
<name>Véronique Pommier-Maurussane</name>
<id>véronique</id>
<roles>
<role>developer</role>
</roles>
......@@ -144,6 +165,13 @@
<role>developer</role>
</roles>
</developer>
<developer>
<name>Romain Serra</name>
<id>serrof</id>
<roles>
<role>developer</role>
</roles>
</developer>
<developer>
<name>Evan Ward</name>
<id>evan</id>
......@@ -151,71 +179,224 @@
<role>developer</role>
</roles>
</developer>
<developer>
<name>Yannick Jeandroz</name>
<id>yannick</id>
<roles>
<role>developer</role>
</roles>
</developer>
<developer>
<name>Clément Jonglez</name>
<id>clement</id>
<roles>
<role>developer</role>
</roles>
</developer>
<developer>
<name>Mark Rutten</name>
<id>markrutten</id>
<roles>
<role>developer</role>
</roles>
</developer>
</developers>
<contributors>
<contributor>
<name>John Ajamian</name>
</contributor>
<contributor>
<name>Roberto Alacevich</name>
</contributor>
<contributor>
<name>Albert Alcarraz Garc&#237;a</name>
<name>Albert Alcarraz García</name>
</contributor>
<contributor>
<name>Daniel Aguilar Taboada</name>
</contributor>
<contributor>
<name>Lucian B&#259;rbulescu</name>
<name>Julien Asquier</name>
</contributor>
<contributor>
<name>Brianna Aubin</name>
</contributor>
<contributor>
<name>Louis Aucouturier</name>
</contributor>
<contributor>
<name>Rafael Ayala</name>
</contributor>
<contributor>
<name>Lucian Bărbulescu</name>
</contributor>
<contributor>
<name>Julie Bayard</name>
</contributor>
<contributor>
<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ørntvedt</name>
</contributor>
<contributor>
<name>Paul Cefola</name>
</contributor>
<contributor>
<name>Elisabet Cid-Borobia</name>
</contributor>
<contributor>
<name>Francesco Coccoluto</name>
</contributor>
<contributor>
<name>&#201;douard Delente</name>
<name>Sébastien Dinot</name>
</contributor>
<contributor>
<name>Édouard Delente</name>
</contributor>
<contributor>
<name>Raphaël Fermé</name>
</contributor>
<contributor>
<name>Christine Fernandez-Martin</name>
</contributor>
<contributor>
<name>Alberto Ferrero</name>
</contributor>
<contributor>
<name>Mikael Fillastre</name>
</contributor>
<contributor>
<name>Guillaume Fiorello</name>
</contributor>
<contributor>
<name>Andrea Fiorentino</name>
</contributor>
<contributor>
<name>Alberto Fossà</name>
</contributor>
<contributor>
<name>Laura Garcia</name>
</contributor>
<contributor>
<name>Quentin Gegoue</name>
</contributor>
<contributor>
<name>Dorian Gegout</name>
</contributor>
<contributor>
<name>Lucas Girodet</name>
</contributor>
<contributor>
<name>Andrew Goetz</name>
</contributor>
<contributor>
<name>David Gondelach</name>
</contributor>
<contributor>
<name>Brad Hards</name>
</contributor>
<contributor>
<name>Romaric Her</name>
</contributor>
<contributor>
<name>Jonathan Hood</name>
</contributor>
<contributor>
<name>James Housden</name>
</contributor>
<contributor>
<name>Yannick Jeandroz</name>
<name>Shiva Iyer</name>
</contributor>
<contributor>
<name>Juwan Jacobe</name>
</contributor>
<contributor>
<name>Dimuthu Jayasingha</name>
</contributor>
<contributor>
<name>Pierrick Koch</name>
</contributor>
<contributor>
<name>Nick LaFarge</name>
</contributor>
<contributor>
<name>François-Xavier Laffont</name>
</contributor>
<contributor>
<name>Julien Leblond</name>
</contributor>
<contributor>
<name>Anne-Laure Lugan</name>
</contributor>
<contributor>
<name>Lukas Matt</name>
</contributor>
<contributor>
<name>Tanner Mills</name>
</contributor>
<contributor>
<name>Vincent Mouraux</name>
</contributor>
<contributor>
<name>Theo Nguyen</name>
</contributor>
<contributor>
<name>Lars Næsbye Christensen</name>
</contributor>
<contributor>
<name>Emmanuel Papanagiotou</name>
</contributor>
<contributor>
<name>Fran&#231;ois-Xavier Laffont</name>
<name>Thomas Paulet</name>
</contributor>
<contributor>
<name>Lars N&#230;sbye Christensen</name>
<name>Gaëtan Pierre</name>
</contributor>
<contributor>
<name>Steven Ports</name>
</contributor>
<contributor>
<name>Silvia R&#237;os Berganti&#241;os</name>
<name>Joseph Reed</name>
</contributor>
<contributor>
<name>Silvia Ríos Bergantiños</name>
</contributor>
<contributor>
<name>Francesco Rocca</name>
</contributor>
<contributor>
<name>Mathieu Rom&#233;ro</name>
<name>Mathieu Roméro</name>
</contributor>
<contributor>
<name>Li Rongwang</name>
</contributor>
<contributor>
<name>Chiara Rusconi</name>
</contributor>
<contributor>
<name>Beatriz Salazar García</name>
</contributor>
<contributor>
<name>Pascal Sauer</name>
</contributor>
<contributor>
<name>Christopher Schank</name>
</contributor>
<contributor>
<name>Gabriele Serafini</name>
</contributor>
<contributor>
<name>David Soulard</name>
</contributor>
<contributor>
<name>Beatriz Salazar Garc&#237;a</name>
<name>Derek Strobel</name>
</contributor>
<contributor>
<name>Ioanna Stypsanelli</name>
......@@ -223,17 +404,26 @@
<contributor>
<name>Michael Turner</name>
</contributor>
<contributor>
<name>Sofia Urbina</name>
</contributor>
<contributor>
<name>Jean-Baptiste Valet</name>
</contributor>
<contributor>
<name>Mélina Vanel</name>
</contributor>
</contributors>
<organization>
<name>CS Syst&#232;mes d&#039;Information</name>
<url>http://www.c-s.fr/</url>
<name>CS GROUP</name>
<url>https://www.cs-soprasteria.com/</url>
</organization>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license>
</licenses>
......@@ -260,8 +450,6 @@
<groupId>org.hipparchus</groupId>
<artifactId>hipparchus-geometry</artifactId>
<version>${orekit.hipparchus.version}</version>
<type>jar</type>
<optional>false</optional>
</dependency>
<dependency>
<groupId>org.hipparchus</groupId>
......@@ -295,8 +483,6 @@
<groupId>org.hipparchus</groupId>
<artifactId>hipparchus-stat</artifactId>
<version>${orekit.hipparchus.version}</version>
<type>jar</type>
<optional>false</optional>
</dependency>
<!-- test dependencies -->
<dependency>
......@@ -306,12 +492,18 @@
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>${orekit.junit.version}</version>
<type>jar</type>
<optional>false</optional>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest</artifactId>
<version>${orekit.hamcrest.version}</version>
<optional>false</optional>
<scope>test</scope>
</dependency>
</dependencies>
......@@ -324,18 +516,64 @@
<configuration>
<source>${orekit.compiler.source}</source>
<target>${orekit.compiler.target}</target>
<compilerArgument>-Xlint:deprecation</compilerArgument>
<showWarnings>true</showWarnings>
<compilerArgs>
<arg>-Xlint:deprecation</arg>
<arg>-Xlint:unchecked</arg>
<arg>-Xplugin:dataContextPlugin</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>${orekit.maven-assembly-plugin.version}</version>
<executions>
<execution>
<id>default-compile</id>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<descriptors>
<descriptor>src/main/assembly/source-jar-assembly.xml</descriptor>
<descriptor>src/main/assembly/source-distribution-assembly.xml</descriptor>
</descriptors>
<excludes>
<!-- don't recompile the compiler plugin. -->
<exclude>org/orekit/compiler/**</exclude>
</excludes>
</configuration>
</execution>
<execution>
<id>default-testCompile</id>
<goals>
<goal>testCompile</goal>
</goals>
<configuration>
<compilerArgs>
<arg>-Xlint:deprecation</arg>
<arg>-Xlint:unchecked</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>
<plugin>
<groupId>org.apache.felix</groupId>
......@@ -366,6 +604,9 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>${orekit.maven-resources-plugin.version}</version>
<configuration>
<propertiesEncoding>${project.build.sourceEncoding}</propertiesEncoding>
</configuration>
<executions>
<execution>
<phase>process-resources</phase>
......@@ -373,6 +614,7 @@
<goal>copy-resources</goal>
</goals>
<configuration>
<!-- Ensure LICENSE and NOTICE are shipped with binary jar -->
<outputDirectory>${project.build.outputDirectory}/META-INF</outputDirectory>
<resources>
<resource>
......@@ -387,6 +629,33 @@
</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>
......@@ -396,11 +665,24 @@
<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-external</artifactId>
<version>${orekit.maven-wagon-ssh-external-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>
<argLine>@{argLine} -Xmx2048m</argLine>
<additionalClasspathElements>
<additionalClasspathElement>${tools.jar.path}</additionalClasspathElement>
</additionalClasspathElements>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
......@@ -412,13 +694,25 @@
<artifactId>maven-jxr-plugin</artifactId>
<version>${orekit.maven-jxr-plugin.version}</version>
</plugin>
<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>
<configuration>
<overview>${basedir}/src/main/java/org/orekit/overview.html</overview>
<bottom><![CDATA[Copyright &copy; ${project.inceptionYear}-{currentYear} <a href="http://www.c-s.fr">CS Syst&egrave;mes d&apos;information</a>. All rights reserved.]]></bottom>
<additionalOptions>
<option>--allow-script-in-comments</option>
<option>-header</option>
<option>'${orekit.mathjax.config} ${orekit.mathjax.enable}'</option>
<option>-extdirs</option>
<option>${tools.jar.dir}</option>
</additionalOptions>
<bottom>Copyright &amp;copy; ${project.inceptionYear}-{currentYear} &lt;a href="https://www.csgroup.eu"&gt;CS GROUP&lt;/a&gt;. All rights reserved.</bottom>
<links>
<link>https://docs.oracle.com/javase/8/docs/api/</link>
<link>https://www.hipparchus.org/apidocs/</link>
......@@ -549,6 +843,7 @@
<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>
</manifestEntries>
</archive>
</configuration>
......@@ -570,7 +865,26 @@
<headerLocation>${basedir}/license-header.txt</headerLocation>
</configuration>
</plugin>
<plugin>
<groupId>org.cyclonedx</groupId>
<artifactId>cyclonedx-maven-plugin</artifactId>
<version>${orekit.orekit.cyclonedx-maven-plugin.version}</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>makeAggregateBom</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
<reporting>
......@@ -626,10 +940,13 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-changes-plugin</artifactId>
<version>${orekit.maven-changes-plugin.version}</version>
<configuration>
<teamlist>team.html</teamlist>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>changes-report</report>
<report>changes</report>
</reports>
</reportSet>
</reportSets>
......@@ -640,7 +957,7 @@
<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 Syst&egrave;mes d&apos;information</a>. All rights reserved.]]></bottom>
<bottom>Copyright &amp;copy; ${project.inceptionYear}-{currentYear} &lt;a href="https://www.csgroup.eu"&gt;CS GROUP&lt;/a&gt;. All rights reserved.</bottom>
</configuration>
</plugin>
<plugin>
......@@ -649,12 +966,20 @@
<version>${orekit.maven-javadoc-plugin.version}</version>
<configuration>
<overview>${basedir}/src/main/java/org/orekit/overview.html</overview>
<bottom><![CDATA[Copyright &copy; ${project.inceptionYear}-{currentYear} <a href="http://www.c-s.fr">CS Syst&egrave;mes d&apos;information</a>. All rights reserved.]]></bottom>
<additionalOptions>
<option>--allow-script-in-comments</option>
<option>-header</option>
<option>'${orekit.mathjax.config} ${orekit.mathjax.enable}'</option>
<option>-extdirs</option>
<option>${tools.jar.dir}</option>
</additionalOptions>
<bottom>Copyright &amp;copy; ${project.inceptionYear}-{currentYear} &lt;a href="https://www.csgroup.eu"&gt;CS GROUP&lt;/a&gt;. All rights reserved.</bottom>
<links>
<link>https://docs.oracle.com/javase/8/docs/api/</link>
<link>https://www.hipparchus.org/apidocs/</link>
</links>
<source>${orekit.compiler.source}</source>
<doclint>none</doclint>
</configuration>
<reportSets>
<reportSet>
......@@ -683,7 +1008,7 @@
<build>
<plugins>
<plugin>
<groupId>ru.concerteza.buildnumber</groupId>
<groupId>org.bidib.buildnumber</groupId>
<artifactId>maven-jgit-buildnumber-plugin</artifactId>
<version>${orekit.jgit.buildnumber.version}</version>
<executions>
......@@ -717,19 +1042,6 @@
<id>release</id>
<build>
<plugins>
<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>
......@@ -743,47 +1055,13 @@
</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>
<artifactId>build-helper-maven-plugin</artifactId>
<version>${orekit.build-helper-maven-plugin.version}</version>
<executions>
<execution>
<id>attach-artifacts</id>
<phase>verify</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>${basedir}/target/orekit-${project.version}-sources.jar</file>
<type>source-jar</type>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>${orekit.maven-gpg-plugin.version}</version>
<configuration>
<gpgArguments>
<arg>--digest-algo=SHA512</arg>
</gpgArguments>
<signer>bc</signer>
<useAgent>false</useAgent>
</configuration>
<executions>
<execution>
......@@ -799,13 +1077,48 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>${orekit.maven-install-plugin.version}</version>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>continuous-integration</id>
<activation>
<property>
<!-- Var Env set by GitLab-CI -->
<name>env.CI</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${orekit.maven-surefire-plugin.version}</version>
<configuration>
<createChecksum>true</createChecksum>
<!-- Orekit is mostly a computational library. -->
<!-- As there is not a lot of I/O it is better to not override the number of CPU. -->
<forkCount>0.5C</forkCount>
<argLine>@{argLine} -Xmx2048m</argLine>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<!-- A profile to configure staging deployment (for continuous integration process) -->
<id>ci-deploy</id>
<distributionManagement>
<repository>
<id>ci-releases</id>
<url>https://packages.orekit.org/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>ci-snapshots</id>
<url>https://packages.orekit.org/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
</profile>
<profile>
<id>eclipse</id>
<activation>
......@@ -834,7 +1147,7 @@
</goals>
</pluginExecutionFilter>
<action>
<ignore></ignore>
<ignore/>
</action>
</pluginExecution>
</pluginExecutions>
......
This directory contains various scripts used only for development purposes,
like release management.
Please refer to the [release guide](https://www.orekit.org/site-orekit-development/release-guide.html)
to understand how and when these scripts should be used.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:c="http://maven.apache.org/changes/2.0.0"
xmlns="http://www.w3.org/1999/xhtml">
<xsl:output
method="text"
encoding="UTF-8"/>
<xsl:template match="/">
<xsl:apply-templates select="c:document/c:body/c:release[1]"/>
</xsl:template>
<xsl:template match="c:document/c:body/c:release">
<xsl:text>Orekit version </xsl:text><xsl:value-of select="@version"/><xsl:text>. The main changes are:
</xsl:text>
<xsl:apply-templates select="c:action"/>
<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template match="c:document/c:body/c:release/c:action">
* <xsl:value-of select="normalize-space()"/>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:c="http://maven.apache.org/changes/2.0.0" version="1.0">
<xsl:output method="text"/>
<xsl:template match="node()|@*">
<xsl:apply-templates select="node()|@*"/>
</xsl:template>
<xsl:template match="/c:document/c:body/c:release[1]/@version">
<xsl:value-of select="."/>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:p="http://maven.apache.org/POM/4.0.0" version="1.0">
<xsl:output method="xml" omit-xml-declaration="yes" />
<xsl:template match="node()|@*">
<xsl:apply-templates select="node()|@*"/>
</xsl:template>
<xsl:template match="/p:project/p:properties">
<xsl:value-of select="p:orekit.hipparchus.version/text()"/>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:p="http://maven.apache.org/POM/4.0.0" version="1.0">
<xsl:output method="text"/>
<xsl:template match="node()|@*">
<xsl:apply-templates select="node()|@*"/>
</xsl:template>
<xsl:template match="/p:project/p:version/text()">
<xsl:value-of select="."/>
</xsl:template>
</xsl:stylesheet>