pom.xml 38.2 KB
Newer Older
Luc Maisonobe's avatar
Luc Maisonobe committed
1
2
<project xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
4
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
5
  <groupId>org.orekit</groupId>
6
  <artifactId>orekit</artifactId>
7
  <packaging>jar</packaging>
8
  <version>11.3-SNAPSHOT</version>
9
  <name>ORbit Extrapolation KIT</name>
10
  <url>http://www.orekit.org/</url>
Luc Maisonobe's avatar
Luc Maisonobe committed
11
12
13
14
15
16
17
18
19

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

20
21
22
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
23
    <orekit.spotbugs-maven-plugin.version>4.1.4</orekit.spotbugs-maven-plugin.version>
24
25
    <orekit.jacoco-maven-plugin.version>0.8.7</orekit.jacoco-maven-plugin.version>
    <orekit.maven-bundle-plugin.version>5.1.2</orekit.maven-bundle-plugin.version>
Luc Maisonobe's avatar
Luc Maisonobe committed
26
    <orekit.maven-changes-plugin.version>2.12.1</orekit.maven-changes-plugin.version>
Luc Maisonobe's avatar
Luc Maisonobe committed
27
    <orekit.maven-checkstyle-plugin.version>3.1.2</orekit.maven-checkstyle-plugin.version>
28
    <orekit.checkstyle.version>9.0</orekit.checkstyle.version>
Luc Maisonobe's avatar
Luc Maisonobe committed
29
    <orekit.maven-clean-plugin.version>3.1.0</orekit.maven-clean-plugin.version>
30
    <orekit.maven-compiler-plugin.version>3.8.1</orekit.maven-compiler-plugin.version>
31
    <orekit.maven-javadoc-plugin.version>3.3.0</orekit.maven-javadoc-plugin.version>
32
    <orekit.maven-jar-plugin.version>3.2.0</orekit.maven-jar-plugin.version>
33
    <orekit.maven-jxr-plugin.version>3.1.1</orekit.maven-jxr-plugin.version>
Luc Maisonobe's avatar
Luc Maisonobe committed
34
    <orekit.plantuml-maven-plugin.version>1.2</orekit.plantuml-maven-plugin.version>
35
    <orekit.plantuml.version>1.2021.10</orekit.plantuml.version>
36
    <orekit.maven-project-info-reports-plugin.version>3.2.1</orekit.maven-project-info-reports-plugin.version>
37
    <orekit.maven-resources-plugin.version>3.2.0</orekit.maven-resources-plugin.version>
38
39
    <orekit.maven-site-plugin.version>3.9.1</orekit.maven-site-plugin.version>
    <orekit.maven-wagon-ssh-plugin.version>3.4.1</orekit.maven-wagon-ssh-plugin.version>
40
    <orekit.maven-source-plugin.version>3.2.1</orekit.maven-source-plugin.version>
Evan Ward's avatar
Evan Ward committed
41
42
43
    <!-- Surefire 2.22.2 is the last to support CentOS/RedHat 7 due to
         https://issues.apache.org/jira/browse/SUREFIRE-1628 -->
    <orekit.maven-surefire-plugin.version>2.22.2</orekit.maven-surefire-plugin.version>
44
    <orekit.maven-surefire-report-plugin.version>3.0.0-M5</orekit.maven-surefire-report-plugin.version>
45
    <orekit.mockito-core.version>3.12.4</orekit.mockito-core.version>
Luc Maisonobe's avatar
Luc Maisonobe committed
46
    <orekit.jgit.buildnumber.version>1.2.10</orekit.jgit.buildnumber.version>
47
    <orekit.build-helper-maven-plugin.version>3.2.0</orekit.build-helper-maven-plugin.version>
Luc Maisonobe's avatar
Luc Maisonobe committed
48
    <orekit.nexus-staging-maven-plugin.version>1.6.8</orekit.nexus-staging-maven-plugin.version>
49
    <orekit.maven-gpg-plugin.version>3.0.1</orekit.maven-gpg-plugin.version>
Luc Maisonobe's avatar
Luc Maisonobe committed
50
    <orekit.maven-install-plugin.version>3.0.0-M1</orekit.maven-install-plugin.version>
Luc Maisonobe's avatar
Luc Maisonobe committed
51
    <orekit.mathjax.config>&lt;script type=&quot;text/x-mathjax-config&quot;&gt;MathJax.Hub.Config({ TeX: { extensions: [&quot;autoload.js&quot;]}});&lt;/script&gt;</orekit.mathjax.config>
Luc Maisonobe's avatar
Luc Maisonobe committed
52
    <orekit.mathjax.enable>&lt;script type=&quot;text/javascript&quot; src=&quot;https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS_CHTML&quot;&gt;&lt;/script&gt;</orekit.mathjax.enable>
53
    <orekit.hipparchus.version>2.1</orekit.hipparchus.version>
54
55
    <orekit.junit.version>5.9.0</orekit.junit.version>
    <orekit.hamcrest.version>2.2</orekit.hamcrest.version>
56
57
    <orekit.compiler.source>1.8</orekit.compiler.source>
    <orekit.compiler.target>1.8</orekit.compiler.target>
Luc Maisonobe's avatar
Luc Maisonobe committed
58
    <orekit.implementation.build>${git.revision}; ${maven.build.timestamp}</orekit.implementation.build>
Guilhem Bonnefille's avatar
Guilhem Bonnefille committed
59
60
    <!-- sonar related properties -->
    <sonar.host.url>https://sonar.orekit.org/</sonar.host.url>
61
    <!-- for building javac plugin -->
62
63
    <tools.jar.dir>${java.home}/../lib/</tools.jar.dir>
    <tools.jar.path>${tools.jar.dir}/tools.jar</tools.jar.path>
Luc Maisonobe's avatar
Luc Maisonobe committed
64
  </properties>
65

66
67
68
69
70
71
72
  <distributionManagement>
    <site>
      <id>website</id>
      <url>scp://cochise@spoutnik.orekit.org/var/www/mvn-sites/site-orekit-${project.version}</url>
    </site>
  </distributionManagement>

Luc Maisonobe's avatar
Luc Maisonobe committed
73
  <developers>
74
    <developer>
75
76
      <name>Luc Maisonobe</name>
      <id>luc</id>
77
      <roles>
78
        <role>architect</role>
79
80
81
        <role>developer</role>
      </roles>
    </developer>
82
83
84
85
86
87
88
    <developer>
      <name>Bryan Cazabonne</name>
      <id>bryan</id>
      <roles>
        <role>developer</role>
      </roles>
    </developer>
Thierry Ceolin's avatar
Thierry Ceolin committed
89
90
91
92
93
94
95
    <developer>
      <name>Thierry Ceolin</name>
      <id>thierry</id>
      <roles>
        <role>developer</role>
      </roles>
    </developer>
Luc Maisonobe's avatar
Luc Maisonobe committed
96
    <developer>
97
98
      <name>Romain Di Costanzo</name>
      <id>romain</id>
99
100
101
      <roles>
        <role>developer</role>
      </roles>
Luc Maisonobe's avatar
Luc Maisonobe committed
102
    </developer>
103
104
105
106
107
    <developer>
      <name>Romain Garmier</name>
      <roles>
        <role>developer</role>
      </roles>
Luc Maisonobe's avatar
Luc Maisonobe committed
108
    </developer>
109
110
111
112
113
114
    <developer>
      <name>Hank Grabowski</name>
      <id>hankg</id>
      <roles>
        <role>developer</role>
      </roles>
Luc Maisonobe's avatar
Luc Maisonobe committed
115
116
117
118
119
120
121
122
    </developer>
    <developer>
      <name>Maxime Journot</name>
      <id>maxime</id>
      <roles>
        <role>developer</role>
      </roles>
    </developer>
Luc Maisonobe's avatar
Luc Maisonobe committed
123
    <developer>
124
125
126
127
      <name>Fabien Maussion</name>
      <roles>
        <role>developer</role>
      </roles>
128
129
130
131
132
133
134
    </developer>
    <developer>
      <name>Pascal Parraud</name>
      <id>pascal</id>
      <roles>
        <role>developer</role>
      </roles>
Luc Maisonobe's avatar
Luc Maisonobe committed
135
136
    </developer>
    <developer>
137
      <name>V&#233;ronique Pommier-Maurussane</name>
Luc Maisonobe's avatar
Luc Maisonobe committed
138
      <id>v&#233;ronique</id>
139
140
141
      <roles>
        <role>developer</role>
      </roles>
Luc Maisonobe's avatar
Luc Maisonobe committed
142
143
    </developer>
    <developer>
144
145
146
147
148
      <name>Guylaine Prat</name>
      <id>guylaine</id>
      <roles>
        <role>developer</role>
      </roles>
Luc Maisonobe's avatar
Luc Maisonobe committed
149
    </developer>
Luc Maisonobe's avatar
Luc Maisonobe committed
150
151
152
153
154
155
156
    <developer>
      <name>Aude Privat</name>
      <id>aude</id>
      <roles>
        <role>developer</role>
      </roles>
    </developer>
157
158
159
160
161
162
163
    <developer>
      <name>Bruno Revelin</name>
      <id>bruno</id>
      <roles>
        <role>developer</role>
      </roles>
    </developer>
164
165
166
167
168
169
    <developer>
      <name>Thomas Neidhart</name>
      <id>thomas</id>
      <roles>
        <role>developer</role>
      </roles>
Luc Maisonobe's avatar
Luc Maisonobe committed
170
171
172
173
174
175
176
177
    </developer>
    <developer>
      <name>Evan Ward</name>
      <id>evan</id>
      <roles>
        <role>developer</role>
      </roles>
    </developer>
Yannick Jeandroz's avatar
Yannick Jeandroz committed
178
179
180
181
182
183
    <developer>
      <name>Yannick Jeandroz</name>
      <id>yannick</id>
      <roles>
        <role>developer</role>
      </roles>
184
185
186
187
188
189
190
191
    </developer>
    <developer>
      <name>Cl&#233;ment Jonglez</name>
      <id>clement</id>
      <roles>
        <role>developer</role>
      </roles>
    </developer>
Luc Maisonobe's avatar
Luc Maisonobe committed
192
  </developers>
193
194

  <contributors>
Luc Maisonobe's avatar
Luc Maisonobe committed
195
196
197
    <contributor>
      <name>Roberto Alacevich</name>
    </contributor>
198
199
200
    <contributor>
      <name>Albert Alcarraz Garc&#237;a</name>
    </contributor>
201
202
203
    <contributor>
      <name>Daniel Aguilar Taboada</name>
    </contributor>
204
205
206
    <contributor>
      <name>Louis Aucouturier</name>
    </contributor>
207
    <contributor>
Luc Maisonobe's avatar
Luc Maisonobe committed
208
      <name>Lucian B&#259;rbulescu</name>
209
    </contributor>
210
211
212
    <contributor>
      <name>Julie Bayard</name>
    </contributor>
213
214
215
    <contributor>
      <name>Petre Bazavan</name>
    </contributor>
216
217
218
    <contributor>
      <name>Laurene Beauvalet</name>
    </contributor>
219
220
221
    <contributor>
      <name>Nicolas Bernard</name>
    </contributor>
222
    <contributor>
223
      <name>Espen Bj&#248;rntvedt</name>
224
225
    </contributor>
    <contributor>
226
227
228
      <name>Paul Cefola</name>
    </contributor>
    <contributor>
229
      <name>Francesco Coccoluto</name>
230
    </contributor>
231
232
233
    <contributor>
      <name>Sébastien Dinot</name>
    </contributor>
234
235
236
    <contributor>
      <name>&#201;douard Delente</name>
    </contributor>
237
238
239
    <contributor>
      <name>Rapha&#235;l Ferm&#233;</name>
    </contributor>
240
241
242
    <contributor>
      <name>Christine Fernandez-Martin</name>
    </contributor>
243
244
245
    <contributor>
      <name>Mikael Fillastre</name>
    </contributor>
246
247
248
    <contributor>
      <name>Andrew Goetz</name>
    </contributor>
249
250
251
    <contributor>
      <name>Andrea Fiorentino</name>
    </contributor>
252
253
254
    <contributor>
      <name>Romaric Her</name>
    </contributor>
255
256
257
    <contributor>
      <name>James Housden</name>
    </contributor>
258
259
260
    <contributor>
      <name>Shiva Iyer</name>
    </contributor>
Luc Maisonobe's avatar
Luc Maisonobe committed
261
    <contributor>
262
      <name>Fran&#231;ois-Xavier Laffont</name>
Luc Maisonobe's avatar
Luc Maisonobe committed
263
    </contributor>
Evan Ward's avatar
Evan Ward committed
264
265
266
    <contributor>
      <name>Anne-Laure Lugan</name>
    </contributor>
267
268
269
    <contributor>
      <name>Lukas Matt</name>
    </contributor>
270
271
272
    <contributor>
      <name>Vincent Mouraux</name>
    </contributor>
273
    <contributor>
Luc Maisonobe's avatar
Luc Maisonobe committed
274
      <name>Lars N&#230;sbye Christensen</name>
275
    </contributor>
276
277
278
    <contributor>
      <name>Emmanuel Papanagiotou</name>
    </contributor>
279
280
281
    <contributor>
      <name>Thomas Paulet</name>
    </contributor>
282
283
284
    <contributor>
      <name>Steven Ports</name>
    </contributor>
285
286
287
    <contributor>
      <name>Joseph Reed</name>
    </contributor>
288
289
290
    <contributor>
      <name>Silvia R&#237;os Berganti&#241;os</name>
    </contributor>
291
292
293
    <contributor>
      <name>Francesco Rocca</name>
    </contributor>
294
295
296
    <contributor>
      <name>Mathieu Rom&#233;ro</name>
    </contributor>
297
298
299
    <contributor>
      <name>Chiara Rusconi</name>
    </contributor>
300
301
302
    <contributor>
      <name>Mark Rutten</name>
    </contributor>
Luc Maisonobe's avatar
Luc Maisonobe committed
303
    <contributor>
Luc Maisonobe's avatar
Luc Maisonobe committed
304
      <name>Beatriz Salazar Garc&#237;a</name>
Luc Maisonobe's avatar
Luc Maisonobe committed
305
    </contributor>
306
307
308
    <contributor>
      <name>Gabriele Serafini</name>
    </contributor>
309
310
311
    <contributor>
      <name>David Soulard</name>
    </contributor>
312
    <contributor>
313
      <name>Ioanna Stypsanelli</name>
314
315
    </contributor>
    <contributor>
316
      <name>Michael Turner</name>
317
    </contributor>
Bryan Cazabonne's avatar
Bryan Cazabonne committed
318
319
320
    <contributor>
      <name>Sofia Urbina</name>
    </contributor>
321
322
323
    <contributor>
      <name>M&#233;lina Vanel</name>
    </contributor>
324
  </contributors>
325

Luc Maisonobe's avatar
Luc Maisonobe committed
326
  <organization>
327
    <name>CS GROUP</name>
Luc Maisonobe's avatar
Luc Maisonobe committed
328
329
    <url>http://www.c-s.fr/</url>
  </organization>
Luc Maisonobe's avatar
Luc Maisonobe committed
330

Luc Maisonobe's avatar
Luc Maisonobe committed
331
332
  <licenses>
    <license>
333
      <name>The Apache Software License, Version 2.0</name>
334
      <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
Luc Maisonobe's avatar
Luc Maisonobe committed
335
336
337
    </license>
  </licenses>

338
  <scm>
339
    <connection>scm:git:https://gitlab.orekit.org/orekit/orekit.git</connection>
Evan Ward's avatar
Evan Ward committed
340
    <developerConnection>scm:git:ssh://git@gitlab.orekit.org/orekit/orekit.git</developerConnection>
341
    <url>https://gitlab.orekit.org/orekit/orekit/tree/master</url>
342
343
  </scm>

344
  <issueManagement>
345
346
      <system>Gitlab</system>
      <url>https://gitlab.orekit.org/orekit/orekit/issues</url>
347
348
  </issueManagement>

349
  <dependencies>
350
    <dependency>
Evan Ward's avatar
Evan Ward committed
351
352
353
354
355
      <groupId>org.hipparchus</groupId>
      <artifactId>hipparchus-core</artifactId>
      <version>${orekit.hipparchus.version}</version>
      <type>jar</type>
      <optional>false</optional>
356
357
    </dependency>
    <dependency>
Evan Ward's avatar
Evan Ward committed
358
359
360
      <groupId>org.hipparchus</groupId>
      <artifactId>hipparchus-geometry</artifactId>
      <version>${orekit.hipparchus.version}</version>
361
362
    </dependency>
    <dependency>
Evan Ward's avatar
Evan Ward committed
363
364
365
366
367
      <groupId>org.hipparchus</groupId>
      <artifactId>hipparchus-ode</artifactId>
      <version>${orekit.hipparchus.version}</version>
      <type>jar</type>
      <optional>false</optional>
368
369
    </dependency>
    <dependency>
Evan Ward's avatar
Evan Ward committed
370
371
372
373
374
      <groupId>org.hipparchus</groupId>
      <artifactId>hipparchus-fitting</artifactId>
      <version>${orekit.hipparchus.version}</version>
      <type>jar</type>
      <optional>false</optional>
375
376
    </dependency>
    <dependency>
Evan Ward's avatar
Evan Ward committed
377
378
379
380
381
      <groupId>org.hipparchus</groupId>
      <artifactId>hipparchus-optim</artifactId>
      <version>${orekit.hipparchus.version}</version>
      <type>jar</type>
      <optional>false</optional>
382
    </dependency>
383
384
385
386
387
    <dependency>
      <groupId>org.hipparchus</groupId>
      <artifactId>hipparchus-filtering</artifactId>
      <version>${orekit.hipparchus.version}</version>
      <type>jar</type>
Evan Ward's avatar
Evan Ward committed
388
      <optional>false</optional>
389
390
    </dependency>
    <dependency>
Evan Ward's avatar
Evan Ward committed
391
392
393
394
      <groupId>org.hipparchus</groupId>
      <artifactId>hipparchus-stat</artifactId>
      <version>${orekit.hipparchus.version}</version>
    </dependency>
Evan Ward's avatar
Evan Ward committed
395
396
397
398
    <!-- test dependencies -->
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
Luc Maisonobe's avatar
Luc Maisonobe committed
399
      <version>${orekit.mockito-core.version}</version>
Evan Ward's avatar
Evan Ward committed
400
401
      <scope>test</scope>
    </dependency>
Evan Ward's avatar
Evan Ward committed
402
    <dependency>
403
404
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-api</artifactId>
Evan Ward's avatar
Evan Ward committed
405
      <version>${orekit.junit.version}</version>
406
407
408
409
410
411
412
413
      <optional>false</optional>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-engine</artifactId>
      <version>${orekit.junit.version}</version>
      <optional>false</optional>
Evan Ward's avatar
Evan Ward committed
414
      <scope>test</scope>
415
416
417
418
419
    </dependency>
    <dependency>
      <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest-library</artifactId>
      <version>${orekit.hamcrest.version}</version>
Evan Ward's avatar
Evan Ward committed
420
      <optional>false</optional>
421
      <scope>test</scope>
422
    </dependency>
423
  </dependencies>
424

425
  <build>
Luc Maisonobe's avatar
Luc Maisonobe committed
426
    <plugins>
427
428
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
429
        <artifactId>maven-compiler-plugin</artifactId>
430
        <version>${orekit.maven-compiler-plugin.version}</version>
431
        <configuration>
432
433
          <source>${orekit.compiler.source}</source>
          <target>${orekit.compiler.target}</target>
434
435
436
437
438
          <showWarnings>true</showWarnings>
          <compilerArgs>
            <arg>-Xlint:deprecation</arg>
            <arg>-Xplugin:dataContextPlugin</arg>
          </compilerArgs>
439
        </configuration>
440
441
442
        <executions>
          <execution>
            <id>default-compile</id>
443
444
445
            <goals>
              <goal>compile</goal>
            </goals>
446
447
448
449
450
451
452
            <configuration>
              <excludes>
                <!-- don't recompile the compiler plugin. -->
                <exclude>org/orekit/compiler/**</exclude>
              </excludes>
            </configuration>
          </execution>
453
          <execution>
454
            <id>default-testCompile</id>
455
456
457
458
            <goals>
              <goal>testCompile</goal>
            </goals>
            <configuration>
459
460
461
462
463
              <compilerArgs>
                <arg>-Xlint:deprecation</arg>
                <!-- don't activate the compiler plugin for Orekit own tests -->
                <!-- thousands of tests use intentionally the default context -->
              </compilerArgs>
464
465
            </configuration>
          </execution>
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
          <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>
490
      </plugin>
491
492
493
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
494
        <version>${orekit.maven-bundle-plugin.version}</version>
495
496
        <extensions>true</extensions>
        <configuration>
497
498
499
500
          <archive>
            <forced>true</forced>
          </archive>
          <manifestLocation>${project.build.directory}/osgi</manifestLocation>
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
          <instructions>
            <Export-Package>org.orekit.*;version=${project.version};-noimport:=true</Export-Package>
            <Bundle-DocURL>${project.url}</Bundle-DocURL>
          </instructions>
        </configuration>
        <executions>
          <execution>
            <id>bundle-manifest</id>
            <phase>process-classes</phase>
            <goals>
              <goal>manifest</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
Luc Maisonobe's avatar
Luc Maisonobe committed
516
517
518
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
519
        <version>${orekit.maven-resources-plugin.version}</version>
520
521
522
523
524
525
526
        <executions>
          <execution>
            <phase>process-resources</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
527
              <!-- Ensure LICENSE and NOTICE are shipped with binary jar -->
528
529
530
531
532
              <outputDirectory>${project.build.outputDirectory}/META-INF</outputDirectory>
              <resources>
                <resource>
                  <directory>.</directory>
                  <includes>
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
                    <include>LICENSE.txt</include>
                    <include>NOTICE.txt</include>
                  </includes>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>${orekit.build-helper-maven-plugin.version}</version>
        <executions>
          <execution>
            <id>add-resource</id>
            <phase>process-resources</phase>
            <goals>
              <goal>add-resource</goal>
            </goals>
            <configuration>
              <!-- Ensure LICENSE and NOTICE are shipped with sources jar -->
              <resources>
                <resource>
                  <directory>.</directory>
                  <targetPath>META-INF</targetPath>
                  <includes>
560
561
562
563
564
565
566
567
                    <include>LICENSE.txt</include>
                    <include>NOTICE.txt</include>
                  </includes>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
568
569
570
571
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-clean-plugin</artifactId>
572
        <version>${orekit.maven-clean-plugin.version}</version>
573
574
575
576
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
577
        <version>${orekit.maven-site-plugin.version}</version>
578
579
580
581
          <dependencies>
            <dependency><!-- add support for ssh/scp -->
              <groupId>org.apache.maven.wagon</groupId>
              <artifactId>wagon-ssh</artifactId>
582
              <version>${orekit.maven-wagon-ssh-plugin.version}</version>
583
584
            </dependency>
          </dependencies>
585
586
587
588
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
589
        <version>${orekit.maven-surefire-plugin.version}</version>
590
591
592
593
594
        <configuration>
          <additionalClasspathElements>
            <additionalClasspathElement>${tools.jar.path}</additionalClasspathElement>
          </additionalClasspathElements>
        </configuration>
595
596
597
598
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-changes-plugin</artifactId>
599
        <version>${orekit.maven-changes-plugin.version}</version>
600
601
602
603
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
604
        <version>${orekit.maven-jxr-plugin.version}</version>
605
      </plugin>
606
607
608
609
610
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>${orekit.maven-project-info-reports-plugin.version}</version>
      </plugin>
611
612
613
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
614
        <version>${orekit.maven-javadoc-plugin.version}</version>
Luc Maisonobe's avatar
Luc Maisonobe committed
615
616
        <configuration>
          <overview>${basedir}/src/main/java/org/orekit/overview.html</overview>
617
618
619
620
621
622
623
          <additionalOptions>
            <option>--allow-script-in-comments</option>
            <option>-header</option>
            <option>&apos;${orekit.mathjax.config} ${orekit.mathjax.enable}&apos;</option>
            <option>-extdirs</option>
            <option>${tools.jar.dir}</option>
          </additionalOptions>
624
          <bottom><![CDATA[Copyright &copy; ${project.inceptionYear}-{currentYear} <a href="http://www.c-s.fr">CS GROUP</a>. All rights reserved.]]></bottom>
Luc Maisonobe's avatar
Luc Maisonobe committed
625
          <links>
Luc Maisonobe's avatar
Luc Maisonobe committed
626
            <link>https://docs.oracle.com/javase/8/docs/api/</link>
Luc Maisonobe's avatar
Luc Maisonobe committed
627
628
629
630
            <link>https://www.hipparchus.org/apidocs/</link>
          </links>
          <source>${orekit.compiler.source}</source>
        </configuration>
631
632
633
634
      </plugin>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
635
        <version>${orekit.jacoco-maven-plugin.version}</version>
636
637
638
639
640
641
642
        <executions>
          <execution>
            <id>prepare-agent</id>
            <phase>process-test-classes</phase>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
643
644
645
646
647
            <configuration>
              <excludes>
               <exclude>fr/cs/examples/**/*.class</exclude>
              </excludes>
            </configuration>
648
649
650
651
652
653
654
          </execution>
          <execution>
            <id>report</id>
            <phase>site</phase>
            <goals>
              <goal>report</goal>
            </goals>
655
656
657
658
659
            <configuration>
              <excludes>
               <exclude>fr/cs/examples/**/*.class</exclude>
              </excludes>
            </configuration>
660
661
662
663
664
665
666
          </execution>
          <execution>
            <id>check</id>
            <goals>
              <goal>check</goal>
            </goals>
            <configuration>
Evan Ward's avatar
Evan Ward committed
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
              <rules>
                <rule>
                  <element>BUNDLE</element>
                  <limits>
                    <limit>
                      <counter>CLASS</counter>
                      <value>COVEREDRATIO</value>
                      <minimum>1.00</minimum>
                    </limit>
                    <limit>
                      <counter>INSTRUCTION</counter>
                      <value>COVEREDRATIO</value>
                      <minimum>0.90</minimum>
                    </limit>
                    <limit>
                      <counter>METHOD</counter>
                      <value>COVEREDRATIO</value>
                      <minimum>0.95</minimum>
                    </limit>
                    <limit>
                      <counter>BRANCH</counter>
                      <value>COVEREDRATIO</value>
                      <minimum>0.85</minimum>
                    </limit>
                    <limit>
                      <counter>COMPLEXITY</counter>
                      <value>COVEREDRATIO</value>
                      <minimum>0.85</minimum>
                    </limit>
                    <limit>
                      <counter>LINE</counter>
                      <value>COVEREDRATIO</value>
                      <minimum>0.90</minimum>
                    </limit>
                  </limits>
                </rule>
              </rules>
704
              <haltOnFailure>false</haltOnFailure>
705
706
707
              <excludes>
               <exclude>fr/cs/examples/**/*.class</exclude>
              </excludes>
708
709
710
711
            </configuration>
          </execution>
        </executions>
      </plugin>
712
713
      <plugin>
        <groupId>com.github.jeluard</groupId>
Luc Maisonobe's avatar
Luc Maisonobe committed
714
715
        <artifactId>plantuml-maven-plugin</artifactId>
        <version>${orekit.plantuml-maven-plugin.version}</version>
716
717
        <configuration>
          <sourceFiles>
Luc Maisonobe's avatar
Luc Maisonobe committed
718
            <directory>${basedir}/src/design</directory>
719
720
            <includes>
              <include>
Luc Maisonobe's avatar
Luc Maisonobe committed
721
                *.puml
722
723
724
725
              </include>
            </includes>
          </sourceFiles>
          <outputDirectory>
726
            ${project.build.directory}/site/images/design
727
728
          </outputDirectory>
        </configuration>
Luc Maisonobe's avatar
Luc Maisonobe committed
729
730
731
732
733
734
735
        <dependencies>
          <dependency>
            <groupId>net.sourceforge.plantuml</groupId>
            <artifactId>plantuml</artifactId>
            <version>${orekit.plantuml.version}</version>
          </dependency>
        </dependencies>
736
737
738
739
740
741
742
743
744
        <executions>
          <execution>
            <phase>pre-site</phase>
            <goals>
              <goal>generate</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
Luc Maisonobe's avatar
Luc Maisonobe committed
745
746
747
748
749
750
751
752
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>${orekit.maven-jar-plugin.version}</version>
        <configuration>
          <archive>
            <manifestFile>${project.build.directory}/osgi/MANIFEST.MF</manifestFile>
            <manifestEntries>
753
754
              <X-Compile-Source-JDK>${orekit.compiler.source}</X-Compile-Source-JDK>
              <X-Compile-Target-JDK>${orekit.compiler.target}</X-Compile-Target-JDK>
755
              <Automatic-Module-Name>org.orekit</Automatic-Module-Name>
Luc Maisonobe's avatar
Luc Maisonobe committed
756
757
758
759
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
760
761
762
763
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>${orekit.maven-checkstyle-plugin.version}</version>
Luc Maisonobe's avatar
Luc Maisonobe committed
764
765
766
767
768
769
770
        <dependencies>
          <dependency>
            <groupId>com.puppycrawl.tools</groupId>
            <artifactId>checkstyle</artifactId>
            <version>${orekit.checkstyle.version}</version>
          </dependency>
        </dependencies>
771
772
773
774
775
776
        <configuration>
          <configLocation>${basedir}/checkstyle.xml</configLocation>
          <enableRulesSummary>false</enableRulesSummary>
          <headerLocation>${basedir}/license-header.txt</headerLocation>
        </configuration>
      </plugin>
Luc Maisonobe's avatar
Luc Maisonobe committed
777
    </plugins>
778
  </build>
779

Luc Maisonobe's avatar
Luc Maisonobe committed
780
781
  <reporting>
    <plugins>
782
      <plugin>
Luc Maisonobe's avatar
Luc Maisonobe committed
783
        <groupId>org.apache.maven.plugins</groupId>
784
        <artifactId>maven-site-plugin</artifactId>
785
        <version>${orekit.maven-site-plugin.version}</version>
786
      </plugin>
Luc Maisonobe's avatar
Luc Maisonobe committed
787
      <plugin>
788
789
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
790
        <version>${orekit.maven-project-info-reports-plugin.version}</version>
Luc Maisonobe's avatar
Luc Maisonobe committed
791
792
      </plugin>
      <plugin>
Luc Maisonobe's avatar
Luc Maisonobe committed
793
794
795
          <groupId>com.github.spotbugs</groupId>
          <artifactId>spotbugs-maven-plugin</artifactId>
        <version>${orekit.spotbugs-maven-plugin.version}</version>
796
797
798
        <configuration>
          <threshold>Normal</threshold>
          <effort>Default</effort>
Luc Maisonobe's avatar
Luc Maisonobe committed
799
          <excludeFilterFile>${basedir}/spotbugs-exclude-filter.xml</excludeFilterFile>
800
       </configuration>
Luc Maisonobe's avatar
Luc Maisonobe committed
801
      </plugin>
802
      <plugin>
803
804
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
805
        <version>${orekit.maven-surefire-plugin.version}</version>
806
      </plugin>
807
808
809
810
811
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
        <version>${orekit.maven-surefire-report-plugin.version}</version>
      </plugin>
812
      <plugin>
813
814
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
815
        <version>${orekit.maven-checkstyle-plugin.version}</version>
816
        <configuration>
817
          <configLocation>${basedir}/checkstyle.xml</configLocation>
818
          <enableRulesSummary>false</enableRulesSummary>
819
          <headerLocation>${basedir}/license-header.txt</headerLocation>
820
        </configuration>
821
822
823
824
825
826
827
        <reportSets>
          <reportSet>
            <reports>
              <report>checkstyle</report>
            </reports>
          </reportSet>
        </reportSets>
Luc Maisonobe's avatar
Luc Maisonobe committed
828
829
830
831
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-changes-plugin</artifactId>
832
        <version>${orekit.maven-changes-plugin.version}</version>
833
834
835
        <configuration>
          <teamlist>team.html</teamlist>
        </configuration>
Luc Maisonobe's avatar
Luc Maisonobe committed
836
837
838
839
840
841
842
843
844
845
846
        <reportSets>
          <reportSet>
            <reports>
              <report>changes-report</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
847
        <version>${orekit.maven-jxr-plugin.version}</version>
848
        <configuration>
849
          <linkJavadoc>false</linkJavadoc>
850
          <bottom><![CDATA[Copyright &copy; ${project.inceptionYear}-{currentYear} <a href="http://www.c-s.fr">CS GROUP</a>. All rights reserved.]]></bottom>
851
        </configuration>
Luc Maisonobe's avatar
Luc Maisonobe committed
852
      </plugin>
Luc Maisonobe's avatar
Luc Maisonobe committed
853
854
855
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
856
        <version>${orekit.maven-javadoc-plugin.version}</version>
Luc Maisonobe's avatar
Luc Maisonobe committed
857
        <configuration>
858
          <overview>${basedir}/src/main/java/org/orekit/overview.html</overview>
859
860
861
862
863
864
865
          <additionalOptions>
            <option>--allow-script-in-comments</option>
            <option>-header</option>
            <option>&apos;${orekit.mathjax.config} ${orekit.mathjax.enable}&apos;</option>
            <option>-extdirs</option>
            <option>${tools.jar.dir}</option>
          </additionalOptions>
866
          <bottom><![CDATA[Copyright &copy; ${project.inceptionYear}-{currentYear} <a href="http://www.c-s.fr">CS GROUP</a>. All rights reserved.]]></bottom>
Luc Maisonobe's avatar
Luc Maisonobe committed
867
          <links>
Luc Maisonobe's avatar
Luc Maisonobe committed
868
            <link>https://docs.oracle.com/javase/8/docs/api/</link>
Luc Maisonobe's avatar
Luc Maisonobe committed
869
            <link>https://www.hipparchus.org/apidocs/</link>
Luc Maisonobe's avatar
Luc Maisonobe committed
870
          </links>
Luc Maisonobe's avatar
Luc Maisonobe committed
871
          <source>${orekit.compiler.source}</source>
872
          <doclint>none</doclint>
Luc Maisonobe's avatar
Luc Maisonobe committed
873
        </configuration>
874
875
876
877
878
879
880
        <reportSets>
          <reportSet>
            <reports>
              <report>javadoc</report>
            </reports>
          </reportSet>
        </reportSets>
Luc Maisonobe's avatar
Luc Maisonobe committed
881
      </plugin>
882
883
884
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
885
        <version>${orekit.jacoco-maven-plugin.version}</version>
886
      </plugin>
Luc Maisonobe's avatar
Luc Maisonobe committed
887
888
    </plugins>
  </reporting>
889
890

  <profiles>
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
    <profile>
      <id>git</id>
      <activation>
      <file>
        <exists>.git</exists>
      </file>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>ru.concerteza.buildnumber</groupId>
            <artifactId>maven-jgit-buildnumber-plugin</artifactId>
            <version>${orekit.jgit.buildnumber.version}</version>
            <executions>
              <execution>
                <phase>prepare-package</phase>
                <goals>
                  <goal>extract-buildnumber</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>${orekit.maven-jar-plugin.version}</version>
            <configuration>
             <archive>
              <manifestFile>${project.build.directory}/osgi/MANIFEST.MF</manifestFile>
              <manifestEntries>
                <Implementation-Build>${orekit.implementation.build}</Implementation-Build>
                <X-Compile-Source-JDK>${orekit.compiler.source}</X-Compile-Source-JDK>
                <X-Compile-Target-JDK>${orekit.compiler.target}</X-Compile-Target-JDK>
              </manifestEntries>
             </archive>
            </configuration>
          </plugin>
       </plugins>
      </build>
    </profile>
931
932
    <profile>
      <id>release</id>
Evan Ward's avatar
Evan Ward committed
933
934
935
936
937
938
939
940
941
942
      <distributionManagement>
        <repository>
          <id>ossrh</id>
          <url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
        </repository>
        <snapshotRepository>
          <id>ossrh</id>
          <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        </snapshotRepository>
      </distributionManagement>
943
944
      <build>
        <plugins>
Luc Maisonobe's avatar
Luc Maisonobe committed
945
946
947
948
949
950
951
952
953
954
955
956
957
          <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>
Luc Maisonobe's avatar
Luc Maisonobe committed
958
          <plugin>
959
            <groupId>org.apache.maven.plugins</groupId>
Luc Maisonobe's avatar
Luc Maisonobe committed
960
961
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>${orekit.maven-javadoc-plugin.version}</version>
962
963
            <executions>
              <execution>
Luc Maisonobe's avatar
Luc Maisonobe committed
964
                <id>attach-javadocs</id>
965
966
967
968
969
970
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
Luc Maisonobe's avatar
Luc Maisonobe committed
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
          <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>