pom.xml 38.8 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>12.0-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
    <!-- Spotbugs version higher than 4.2.3 will trigger numerous EI_EXPOSE_REP errors not handled by Orekit yet -->
24
25
26
    <orekit.spotbugs-maven-plugin.version>4.2.3</orekit.spotbugs-maven-plugin.version>
    <orekit.jacoco-maven-plugin.version>0.8.8</orekit.jacoco-maven-plugin.version>
    <orekit.maven-bundle-plugin.version>5.1.8</orekit.maven-bundle-plugin.version>
Luc Maisonobe's avatar
Luc Maisonobe committed
27
    <orekit.maven-changes-plugin.version>2.12.1</orekit.maven-changes-plugin.version>
28
    <orekit.maven-checkstyle-plugin.version>3.2.0</orekit.maven-checkstyle-plugin.version>
29
    <!-- Checkstyle 9.3 seems to be the last version usable with JDK 8 -->
30
31
32
33
34
35
    <orekit.checkstyle.version>9.3</orekit.checkstyle.version>
    <orekit.maven-clean-plugin.version>3.2.0</orekit.maven-clean-plugin.version>
    <orekit.maven-compiler-plugin.version>3.10.1</orekit.maven-compiler-plugin.version>
    <orekit.maven-javadoc-plugin.version>3.4.1</orekit.maven-javadoc-plugin.version>
    <orekit.maven-jar-plugin.version>3.3.0</orekit.maven-jar-plugin.version>
    <orekit.maven-jxr-plugin.version>3.3.0</orekit.maven-jxr-plugin.version>
Luc Maisonobe's avatar
Luc Maisonobe committed
36
    <orekit.plantuml-maven-plugin.version>1.2</orekit.plantuml-maven-plugin.version>
37
38
39
40
41
    <orekit.plantuml.version>1.2022.8</orekit.plantuml.version>
    <orekit.maven-project-info-reports-plugin.version>3.4.1</orekit.maven-project-info-reports-plugin.version>
    <orekit.maven-resources-plugin.version>3.3.0</orekit.maven-resources-plugin.version>
    <orekit.maven-site-plugin.version>3.12.1</orekit.maven-site-plugin.version>
    <orekit.maven-wagon-ssh-plugin.version>3.5.2</orekit.maven-wagon-ssh-plugin.version>
42
    <orekit.maven-source-plugin.version>3.2.1</orekit.maven-source-plugin.version>
Evan Ward's avatar
Evan Ward committed
43
44
45
    <!-- 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>
46
    <orekit.maven-surefire-report-plugin.version>3.0.0-M6</orekit.maven-surefire-report-plugin.version>
47
    <orekit.mockito-core.version>4.8.1</orekit.mockito-core.version>
48
49
50
    <orekit.jgit.buildnumber.version>1.2.12</orekit.jgit.buildnumber.version>
    <orekit.build-helper-maven-plugin.version>3.3.0</orekit.build-helper-maven-plugin.version>
    <orekit.nexus-staging-maven-plugin.version>1.6.13</orekit.nexus-staging-maven-plugin.version>
51
    <orekit.maven-gpg-plugin.version>3.0.1</orekit.maven-gpg-plugin.version>
52
    <orekit.maven-install-plugin.version>3.0.1</orekit.maven-install-plugin.version>
Luc Maisonobe's avatar
Luc Maisonobe committed
53
    <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
54
    <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>
55
    <orekit.hipparchus.version>3.0-SNAPSHOT</orekit.hipparchus.version>
56
    <orekit.junit.version>5.9.1</orekit.junit.version>
57
    <orekit.hamcrest.version>2.2</orekit.hamcrest.version>
58
59
    <orekit.compiler.source>1.8</orekit.compiler.source>
    <orekit.compiler.target>1.8</orekit.compiler.target>
Luc Maisonobe's avatar
Luc Maisonobe committed
60
    <orekit.implementation.build>${git.revision}; ${maven.build.timestamp}</orekit.implementation.build>
Guilhem Bonnefille's avatar
Guilhem Bonnefille committed
61
62
    <!-- sonar related properties -->
    <sonar.host.url>https://sonar.orekit.org/</sonar.host.url>
63
    <!-- for building javac plugin -->
64
65
    <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
66
  </properties>
67

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

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

Luc Maisonobe's avatar
Luc Maisonobe committed
348
  <organization>
349
    <name>CS GROUP</name>
Luc Maisonobe's avatar
Luc Maisonobe committed
350
351
    <url>http://www.c-s.fr/</url>
  </organization>
Luc Maisonobe's avatar
Luc Maisonobe committed
352

Luc Maisonobe's avatar
Luc Maisonobe committed
353
354
  <licenses>
    <license>
355
      <name>The Apache Software License, Version 2.0</name>
356
      <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
Luc Maisonobe's avatar
Luc Maisonobe committed
357
358
359
    </license>
  </licenses>

360
  <scm>
361
    <connection>scm:git:https://gitlab.orekit.org/orekit/orekit.git</connection>
Evan Ward's avatar
Evan Ward committed
362
    <developerConnection>scm:git:ssh://git@gitlab.orekit.org/orekit/orekit.git</developerConnection>
363
    <url>https://gitlab.orekit.org/orekit/orekit/tree/master</url>
364
365
  </scm>

366
  <issueManagement>
367
368
      <system>Gitlab</system>
      <url>https://gitlab.orekit.org/orekit/orekit/issues</url>
369
370
  </issueManagement>

371
  <dependencies>
372
    <dependency>
Evan Ward's avatar
Evan Ward committed
373
374
375
376
377
      <groupId>org.hipparchus</groupId>
      <artifactId>hipparchus-core</artifactId>
      <version>${orekit.hipparchus.version}</version>
      <type>jar</type>
      <optional>false</optional>
378
379
    </dependency>
    <dependency>
Evan Ward's avatar
Evan Ward committed
380
381
382
      <groupId>org.hipparchus</groupId>
      <artifactId>hipparchus-geometry</artifactId>
      <version>${orekit.hipparchus.version}</version>
383
384
    </dependency>
    <dependency>
Evan Ward's avatar
Evan Ward committed
385
386
387
388
389
      <groupId>org.hipparchus</groupId>
      <artifactId>hipparchus-ode</artifactId>
      <version>${orekit.hipparchus.version}</version>
      <type>jar</type>
      <optional>false</optional>
390
391
    </dependency>
    <dependency>
Evan Ward's avatar
Evan Ward committed
392
393
394
395
396
      <groupId>org.hipparchus</groupId>
      <artifactId>hipparchus-fitting</artifactId>
      <version>${orekit.hipparchus.version}</version>
      <type>jar</type>
      <optional>false</optional>
397
398
    </dependency>
    <dependency>
Evan Ward's avatar
Evan Ward committed
399
400
401
402
403
      <groupId>org.hipparchus</groupId>
      <artifactId>hipparchus-optim</artifactId>
      <version>${orekit.hipparchus.version}</version>
      <type>jar</type>
      <optional>false</optional>
404
    </dependency>
405
406
407
408
409
    <dependency>
      <groupId>org.hipparchus</groupId>
      <artifactId>hipparchus-filtering</artifactId>
      <version>${orekit.hipparchus.version}</version>
      <type>jar</type>
Evan Ward's avatar
Evan Ward committed
410
      <optional>false</optional>
411
412
    </dependency>
    <dependency>
Evan Ward's avatar
Evan Ward committed
413
414
415
416
      <groupId>org.hipparchus</groupId>
      <artifactId>hipparchus-stat</artifactId>
      <version>${orekit.hipparchus.version}</version>
    </dependency>
Evan Ward's avatar
Evan Ward committed
417
418
419
420
    <!-- test dependencies -->
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
Luc Maisonobe's avatar
Luc Maisonobe committed
421
      <version>${orekit.mockito-core.version}</version>
Evan Ward's avatar
Evan Ward committed
422
423
      <scope>test</scope>
    </dependency>
Evan Ward's avatar
Evan Ward committed
424
    <dependency>
425
426
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-api</artifactId>
Evan Ward's avatar
Evan Ward committed
427
      <version>${orekit.junit.version}</version>
428
429
430
431
432
433
434
435
      <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
436
      <scope>test</scope>
437
438
439
    </dependency>
    <dependency>
      <groupId>org.hamcrest</groupId>
440
      <artifactId>hamcrest</artifactId>
441
      <version>${orekit.hamcrest.version}</version>
Evan Ward's avatar
Evan Ward committed
442
      <optional>false</optional>
443
      <scope>test</scope>
444
    </dependency>
445
  </dependencies>
446

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

Luc Maisonobe's avatar
Luc Maisonobe committed
802
803
  <reporting>
    <plugins>
804
      <plugin>
Luc Maisonobe's avatar
Luc Maisonobe committed
805
        <groupId>org.apache.maven.plugins</groupId>
806
        <artifactId>maven-site-plugin</artifactId>
807
        <version>${orekit.maven-site-plugin.version}</version>
808
      </plugin>
Luc Maisonobe's avatar
Luc Maisonobe committed
809
      <plugin>
810
811
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
812
        <version>${orekit.maven-project-info-reports-plugin.version}</version>
Luc Maisonobe's avatar
Luc Maisonobe committed
813
814
      </plugin>
      <plugin>
Luc Maisonobe's avatar
Luc Maisonobe committed
815
816
817
          <groupId>com.github.spotbugs</groupId>
          <artifactId>spotbugs-maven-plugin</artifactId>
        <version>${orekit.spotbugs-maven-plugin.version}</version>
818
819
820
        <configuration>
          <threshold>Normal</threshold>
          <effort>Default</effort>
Luc Maisonobe's avatar
Luc Maisonobe committed
821
          <excludeFilterFile>${basedir}/spotbugs-exclude-filter.xml</excludeFilterFile>
822
       </configuration>
Luc Maisonobe's avatar
Luc Maisonobe committed
823
      </plugin>
824
      <plugin>
825
826
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
827
        <version>${orekit.maven-surefire-plugin.version}</version>
828
      </plugin>
829
830
831
832
833
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
        <version>${orekit.maven-surefire-report-plugin.version}</version>
      </plugin>
834
      <plugin>
835
836
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
837
        <version>${orekit.maven-checkstyle-plugin.version}</version>
838
        <configuration>
839
          <configLocation>${basedir}/checkstyle.xml</configLocation>
840
          <enableRulesSummary>false</enableRulesSummary>
841
          <headerLocation>${basedir}/license-header.txt</headerLocation>
842
        </configuration>
843
844
845
846
847
848
849
        <reportSets>
          <reportSet>
            <reports>
              <report>checkstyle</report>
            </reports>
          </reportSet>
        </reportSets>
Luc Maisonobe's avatar
Luc Maisonobe committed
850
851
852
853
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-changes-plugin</artifactId>
854
        <version>${orekit.maven-changes-plugin.version}</version>
855
856
857
        <configuration>
          <teamlist>team.html</teamlist>
        </configuration>
Luc Maisonobe's avatar
Luc Maisonobe committed
858
859
860
861
862
863
864
865
866
867
868
        <reportSets>
          <reportSet>
            <reports>
              <report>changes-report</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
869
        <version>${orekit.maven-jxr-plugin.version}</version>
870
        <configuration>
871
          <linkJavadoc>false</linkJavadoc>
872
          <bottom><![CDATA[Copyright &copy; ${project.inceptionYear}-{currentYear} <a href="http://www.c-s.fr">CS GROUP</a>. All rights reserved.]]></bottom>
873
        </configuration>
Luc Maisonobe's avatar
Luc Maisonobe committed
874
      </plugin>
Luc Maisonobe's avatar
Luc Maisonobe committed
875
876
877
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
878
        <version>${orekit.maven-javadoc-plugin.version}</version>
Luc Maisonobe's avatar
Luc Maisonobe committed
879
        <configuration>
880
          <overview>${basedir}/src/main/java/org/orekit/overview.html</overview>
881
882
883
884
885
886
887
          <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>
888
          <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
889
          <links>
Luc Maisonobe's avatar
Luc Maisonobe committed
890
            <link>https://docs.oracle.com/javase/8/docs/api/</link>
Luc Maisonobe's avatar
Luc Maisonobe committed
891
            <link>https://www.hipparchus.org/apidocs/</link>
Luc Maisonobe's avatar
Luc Maisonobe committed
892
          </links>
Luc Maisonobe's avatar
Luc Maisonobe committed
893
          <source>${orekit.compiler.source}</source>
894
          <doclint>none</doclint>
Luc Maisonobe's avatar
Luc Maisonobe committed
895
        </configuration>
896
897
898
899
900
901
902
        <reportSets>
          <reportSet>
            <reports>
              <report>javadoc</report>
            </reports>
          </reportSet>
        </reportSets>
Luc Maisonobe's avatar
Luc Maisonobe committed
903
      </plugin>
904
905
906
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
907
        <version>${orekit.jacoco-maven-plugin.version}</version>
908
      </plugin>
Luc Maisonobe's avatar
Luc Maisonobe committed
909
910
    </plugins>
  </reporting>
911
912

  <profiles>
913
914
915
916
917
918
919
920
921
922
    <profile>
      <id>git</id>
      <activation>
      <file>
        <exists>.git</exists>
      </file>
      </activation>
      <build>
        <plugins>
          <plugin>
923
            <groupId>org.bidib.buildnumber</groupId>
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
            <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>
953
954
    <profile>
      <id>release</id>
Evan Ward's avatar
Evan Ward committed
955
956
957
958
959
960
961
962
963
964
      <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>
965
966
      <build>
        <plugins>
Luc Maisonobe's avatar
Luc Maisonobe committed
967
968
969
970
971
972
973
974
975
976
977
978
979
          <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
980
          <plugin>
981
            <groupId>org.apache.maven.plugins</groupId>
Luc Maisonobe's avatar
Luc Maisonobe committed
982
983
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>${orekit.maven-javadoc-plugin.version}</version>
984
985
            <executions>
              <execution>
Luc Maisonobe's avatar
Luc Maisonobe committed
986
                <id>attach-javadocs</id>
987
988
989
990
991
992
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
Luc Maisonobe's avatar
Luc Maisonobe committed
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>