From b47495abe76637ad6a621fb8d413a383634611a9 Mon Sep 17 00:00:00 2001
From: Luc Maisonobe <luc@orekit.org>
Date: Tue, 27 May 2014 14:19:00 +0200
Subject: [PATCH] Swtiched maven configuration to multi-modules.

---
 BUILDING.txt                                  |  37 +++
 aster/pom.xml                                 |  88 +++++
 .../src/main/assembly/binary-assembly.xml     |   0
 .../src/main/assembly/building-files.xml      |   0
 .../src/main/assembly/jar-files.xml           |   0
 .../src/main/assembly/misc-files.xml          |   0
 .../src/main/assembly/source-assembly.xml     |   0
 .../orekit/rugged/aster}/AngulerUnits.java    |   2 +-
 .../orekit/rugged/aster}/AsterMessages.java   |   2 +-
 .../rugged/aster}/AsterTileUpdater.java       |   2 +-
 .../java/org/orekit/rugged/aster}/GeoKey.java |   2 +-
 .../GeographicCoordinateSystemType.java       |   2 +-
 .../org/orekit/rugged/aster}/LinearUnits.java |   2 +-
 .../org/orekit/rugged/aster}/ModelType.java   |   2 +-
 .../org/orekit/rugged/aster}/RasterType.java  |   2 +-
 .../org/orekit/rugged/AsterMessages_en.utf8   |   0
 .../org/orekit/rugged/AsterMessages_fr.utf8   |   0
 .../rugged/aster}/AsterMessagesTest.java      |   2 +-
 .../rugged/aster}/AsterTileUpdaterTest.java   |   2 +-
 .../rugged/geotiff/ASTER-files-warning.txt    |   0
 .../org/orekit/rugged/api/AlgorithmId.java    |   0
 .../rugged/api/BodyRotatingFrameId.java       |   0
 .../org/orekit/rugged/api/EllipsoidId.java    |   0
 .../orekit/rugged/api/InertialFrameId.java    |   0
 .../org/orekit/rugged/api/LineDatation.java   |   0
 .../org/orekit/rugged/api/LineSensor.java     |   0
 .../orekit/rugged/api/LinearLineDatation.java |   0
 .../java/org/orekit/rugged/api/Rugged.java    |   0
 .../orekit/rugged/api/RuggedException.java    |   0
 .../org/orekit/rugged/api/RuggedMessages.java |   0
 .../rugged/api/SensorMeanPlaneCrossing.java   |   0
 .../org/orekit/rugged/api/SensorPixel.java    |   0
 .../rugged/api/SensorPixelCrossing.java       |   0
 .../intersection/BasicScanAlgorithm.java      |   0
 .../intersection/IgnoreDEMAlgorithm.java      |   0
 .../intersection/IntersectionAlgorithm.java   |   0
 .../duvenhage/DuvenhageAlgorithm.java         |   0
 .../duvenhage/MinMaxTreeTile.java             |   0
 .../duvenhage/MinMaxTreeTileFactory.java      |   0
 .../org/orekit/rugged/raster/SimpleTile.java  |   0
 .../rugged/raster/SimpleTileFactory.java      |   0
 .../java/org/orekit/rugged/raster/Tile.java   |   0
 .../org/orekit/rugged/raster/TileFactory.java |   0
 .../org/orekit/rugged/raster/TileUpdater.java |   0
 .../org/orekit/rugged/raster/TilesCache.java  |   0
 .../orekit/rugged/raster/UpdatableTile.java   |   0
 .../rugged/utils/ExtendedEllipsoid.java       |   0
 .../utils/SpacecraftToObservedBody.java       |   0
 .../org/orekit/rugged/RuggedMessages_en.utf8  |   0
 .../org/orekit/rugged/RuggedMessages_fr.utf8  |   0
 .../org/orekit/rugged/api/LineSensorTest.java |   0
 .../orekit/rugged/api/RuggedMessagesTest.java |   0
 .../org/orekit/rugged/api/RuggedTest.java     |   0
 .../intersection/AbstractAlgorithmTest.java   |   0
 .../intersection/BasicScanAlgorithmTest.java  |   0
 .../duvenhage/DuvenhageAlgorithmTest.java     |   0
 .../duvenhage/MinMaxTreeTileTest.java         |   0
 .../CheckedPatternElevationUpdater.java       |   0
 .../rugged/raster/CliffsElevationUpdater.java |   0
 .../orekit/rugged/raster/CountingFactory.java |   0
 .../rugged/raster/RandomLandscapeUpdater.java |   0
 .../orekit/rugged/raster/SimpleTileTest.java  |   0
 .../orekit/rugged/raster/TilesCacheTest.java  |   0
 .../raster/VolcanicConeElevationUpdater.java  |   0
 .../rugged/utils/ExtendedEllipsoidTest.java   |   0
 .../resources/orekit-data/UTC-TAI.history     |   0
 .../orekit-data/eigen-6s-truncated.gfc        |   0
 .../test/resources/orekit-data/eopc04_08.12   |   0
 .../orekit-data/eopc04_08_IAU2000.12          |   0
 .../test/resources/orekit-data/unxp2012.406   | Bin
 geotiff/pom.xml                               | 306 -----------------
 pom.xml                                       | 313 ++++++++----------
 src/main/assembly/binary-assembly.xml         |  10 +
 src/main/assembly/building-files.xml          |  19 ++
 src/main/assembly/jar-files.xml               |  11 +
 src/main/assembly/misc-files.xml              |  11 +
 src/main/assembly/source-assembly.xml         |  10 +
 77 files changed, 342 insertions(+), 483 deletions(-)
 create mode 100644 BUILDING.txt
 create mode 100644 aster/pom.xml
 rename {geotiff => aster}/src/main/assembly/binary-assembly.xml (100%)
 rename {geotiff => aster}/src/main/assembly/building-files.xml (100%)
 rename {geotiff => aster}/src/main/assembly/jar-files.xml (100%)
 rename {geotiff => aster}/src/main/assembly/misc-files.xml (100%)
 rename {geotiff => aster}/src/main/assembly/source-assembly.xml (100%)
 rename {geotiff/src/main/java/org/orekit/rugged/geotiff => aster/src/main/java/org/orekit/rugged/aster}/AngulerUnits.java (99%)
 rename {geotiff/src/main/java/org/orekit/rugged/geotiff => aster/src/main/java/org/orekit/rugged/aster}/AsterMessages.java (99%)
 rename {geotiff/src/main/java/org/orekit/rugged/geotiff => aster/src/main/java/org/orekit/rugged/aster}/AsterTileUpdater.java (99%)
 rename {geotiff/src/main/java/org/orekit/rugged/geotiff => aster/src/main/java/org/orekit/rugged/aster}/GeoKey.java (98%)
 rename {geotiff/src/main/java/org/orekit/rugged/geotiff => aster/src/main/java/org/orekit/rugged/aster}/GeographicCoordinateSystemType.java (99%)
 rename {geotiff/src/main/java/org/orekit/rugged/geotiff => aster/src/main/java/org/orekit/rugged/aster}/LinearUnits.java (98%)
 rename {geotiff/src/main/java/org/orekit/rugged/geotiff => aster/src/main/java/org/orekit/rugged/aster}/ModelType.java (98%)
 rename {geotiff/src/main/java/org/orekit/rugged/geotiff => aster/src/main/java/org/orekit/rugged/aster}/RasterType.java (98%)
 rename {geotiff => aster}/src/main/resources/assets/org/orekit/rugged/AsterMessages_en.utf8 (100%)
 rename {geotiff => aster}/src/main/resources/assets/org/orekit/rugged/AsterMessages_fr.utf8 (100%)
 rename {geotiff/src/test/java/org/orekit/rugged/geotiff => aster/src/test/java/org/orekit/rugged/aster}/AsterMessagesTest.java (99%)
 rename {geotiff/src/test/java/org/orekit/rugged/geotiff => aster/src/test/java/org/orekit/rugged/aster}/AsterTileUpdaterTest.java (99%)
 rename {geotiff => aster}/src/test/resources/org/orekit/rugged/geotiff/ASTER-files-warning.txt (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/api/AlgorithmId.java (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/api/BodyRotatingFrameId.java (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/api/EllipsoidId.java (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/api/InertialFrameId.java (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/api/LineDatation.java (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/api/LineSensor.java (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/api/LinearLineDatation.java (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/api/Rugged.java (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/api/RuggedException.java (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/api/RuggedMessages.java (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/api/SensorMeanPlaneCrossing.java (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/api/SensorPixel.java (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/api/SensorPixelCrossing.java (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/intersection/BasicScanAlgorithm.java (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/intersection/IgnoreDEMAlgorithm.java (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/intersection/IntersectionAlgorithm.java (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/intersection/duvenhage/DuvenhageAlgorithm.java (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/intersection/duvenhage/MinMaxTreeTile.java (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/intersection/duvenhage/MinMaxTreeTileFactory.java (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/raster/SimpleTile.java (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/raster/SimpleTileFactory.java (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/raster/Tile.java (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/raster/TileFactory.java (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/raster/TileUpdater.java (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/raster/TilesCache.java (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/raster/UpdatableTile.java (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/utils/ExtendedEllipsoid.java (100%)
 rename {src => core/src}/main/java/org/orekit/rugged/utils/SpacecraftToObservedBody.java (100%)
 rename {src => core/src}/main/resources/assets/org/orekit/rugged/RuggedMessages_en.utf8 (100%)
 rename {src => core/src}/main/resources/assets/org/orekit/rugged/RuggedMessages_fr.utf8 (100%)
 rename {src => core/src}/test/java/org/orekit/rugged/api/LineSensorTest.java (100%)
 rename {src => core/src}/test/java/org/orekit/rugged/api/RuggedMessagesTest.java (100%)
 rename {src => core/src}/test/java/org/orekit/rugged/api/RuggedTest.java (100%)
 rename {src => core/src}/test/java/org/orekit/rugged/intersection/AbstractAlgorithmTest.java (100%)
 rename {src => core/src}/test/java/org/orekit/rugged/intersection/BasicScanAlgorithmTest.java (100%)
 rename {src => core/src}/test/java/org/orekit/rugged/intersection/duvenhage/DuvenhageAlgorithmTest.java (100%)
 rename {src => core/src}/test/java/org/orekit/rugged/intersection/duvenhage/MinMaxTreeTileTest.java (100%)
 rename {src => core/src}/test/java/org/orekit/rugged/raster/CheckedPatternElevationUpdater.java (100%)
 rename {src => core/src}/test/java/org/orekit/rugged/raster/CliffsElevationUpdater.java (100%)
 rename {src => core/src}/test/java/org/orekit/rugged/raster/CountingFactory.java (100%)
 rename {src => core/src}/test/java/org/orekit/rugged/raster/RandomLandscapeUpdater.java (100%)
 rename {src => core/src}/test/java/org/orekit/rugged/raster/SimpleTileTest.java (100%)
 rename {src => core/src}/test/java/org/orekit/rugged/raster/TilesCacheTest.java (100%)
 rename {src => core/src}/test/java/org/orekit/rugged/raster/VolcanicConeElevationUpdater.java (100%)
 rename {src => core/src}/test/java/org/orekit/rugged/utils/ExtendedEllipsoidTest.java (100%)
 rename {src => core/src}/test/resources/orekit-data/UTC-TAI.history (100%)
 rename {src => core/src}/test/resources/orekit-data/eigen-6s-truncated.gfc (100%)
 rename {src => core/src}/test/resources/orekit-data/eopc04_08.12 (100%)
 rename {src => core/src}/test/resources/orekit-data/eopc04_08_IAU2000.12 (100%)
 rename {src => core/src}/test/resources/orekit-data/unxp2012.406 (100%)
 delete mode 100644 geotiff/pom.xml
 create mode 100644 src/main/assembly/binary-assembly.xml
 create mode 100644 src/main/assembly/building-files.xml
 create mode 100644 src/main/assembly/jar-files.xml
 create mode 100644 src/main/assembly/misc-files.xml
 create mode 100644 src/main/assembly/source-assembly.xml

diff --git a/BUILDING.txt b/BUILDING.txt
new file mode 100644
index 00000000..0b6934e5
--- /dev/null
+++ b/BUILDING.txt
@@ -0,0 +1,37 @@
+Rugged can be built from source either using maven 3 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/rugged-x.y.jar where
+   x.y is the version number
+
+Building with Eclipse:
+ - Eclipse can be downloaded here:
+       http://www.eclipse.org/downloads/
+ - extract the rugged source jar in your eclipse workspace
+ - create a new java project from existing sources and direct
+   Eclipse to the directory where you unpacked Rugged
+ - set the source folders to rugged/src/main/java,
+   rugged/src/main/resources, rugged/src/test/java,
+   rugged/src/test/resources in
+   the source tab of the Configure Build Path dialog
+ - set the external libraries to JRE system library (provided by Eclipse),
+   Junit 4.x (provided by Eclipse) orekit (available at Orekit website
+   https://www.orekit.org/) and Apache Commons Math (available at
+   Apache Software Foundation commons-math
+   http://commons.apache.org/proper/commons-math/download_math.cgi
+   in the libraries tab of the Configure Build Path dialog
+ - if you want to also build the optional geotiff module, you should
+   add rugged/geotiff/src/main/java, rugged/geotiff/src/main/resources,
+   rugged/geotiff/src/test/java, rugged/geotiff/src/test/resources in
+   the source tab of the Configure Build Path dialog and add the
+   Apache Commons Imaging library to the external libraries
+
diff --git a/aster/pom.xml b/aster/pom.xml
new file mode 100644
index 00000000..c7b50993
--- /dev/null
+++ b/aster/pom.xml
@@ -0,0 +1,88 @@
+<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>
+  <parent>
+    <groupId>org.orekit</groupId>
+    <artifactId>rugged-parent</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>rugged-aster</artifactId>
+  <packaging>bundle</packaging>
+  <name>Rugged Aster support</name>
+
+  <inceptionYear>2014</inceptionYear>
+  <description>
+    This module provides support for ASTER Digital Elevation Models.
+  </description>
+
+  <developers>
+    <developer>
+      <name>Luc Maisonobe</name>
+      <id>luc</id>
+      <roles>
+        <role>architect</role>
+        <role>developer</role>
+      </roles>
+    </developer>
+  </developers>
+
+  <contributors>
+    <contributor>
+      <name>Aude Espesset</name>
+    </contributor>
+  </contributors>
+
+  <organization>
+    <name>CS Syst&#232;mes d&#039;Information</name>
+    <url>http://www.c-s.fr/</url>
+  </organization>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.orekit</groupId>
+      <artifactId>rugged-core</artifactId>
+      <version>1.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-imaging</artifactId>
+      <version>1.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.11</version>
+      <type>jar</type>
+      <scope>test</scope>
+      <optional>false</optional>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <version>${rugged.maven-bundle-plugin.version}</version>
+        <extensions>true</extensions>
+        <configuration>
+          <instructions>
+            <Export-Package>org.orekit.rugged.aster.*;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>
+    </plugins>
+  </build>
+
+</project>
diff --git a/geotiff/src/main/assembly/binary-assembly.xml b/aster/src/main/assembly/binary-assembly.xml
similarity index 100%
rename from geotiff/src/main/assembly/binary-assembly.xml
rename to aster/src/main/assembly/binary-assembly.xml
diff --git a/geotiff/src/main/assembly/building-files.xml b/aster/src/main/assembly/building-files.xml
similarity index 100%
rename from geotiff/src/main/assembly/building-files.xml
rename to aster/src/main/assembly/building-files.xml
diff --git a/geotiff/src/main/assembly/jar-files.xml b/aster/src/main/assembly/jar-files.xml
similarity index 100%
rename from geotiff/src/main/assembly/jar-files.xml
rename to aster/src/main/assembly/jar-files.xml
diff --git a/geotiff/src/main/assembly/misc-files.xml b/aster/src/main/assembly/misc-files.xml
similarity index 100%
rename from geotiff/src/main/assembly/misc-files.xml
rename to aster/src/main/assembly/misc-files.xml
diff --git a/geotiff/src/main/assembly/source-assembly.xml b/aster/src/main/assembly/source-assembly.xml
similarity index 100%
rename from geotiff/src/main/assembly/source-assembly.xml
rename to aster/src/main/assembly/source-assembly.xml
diff --git a/geotiff/src/main/java/org/orekit/rugged/geotiff/AngulerUnits.java b/aster/src/main/java/org/orekit/rugged/aster/AngulerUnits.java
similarity index 99%
rename from geotiff/src/main/java/org/orekit/rugged/geotiff/AngulerUnits.java
rename to aster/src/main/java/org/orekit/rugged/aster/AngulerUnits.java
index cca133b0..e94b35b2 100644
--- a/geotiff/src/main/java/org/orekit/rugged/geotiff/AngulerUnits.java
+++ b/aster/src/main/java/org/orekit/rugged/aster/AngulerUnits.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.orekit.rugged.geotiff;
+package org.orekit.rugged.aster;
 
 import org.apache.commons.math3.util.FastMath;
 
diff --git a/geotiff/src/main/java/org/orekit/rugged/geotiff/AsterMessages.java b/aster/src/main/java/org/orekit/rugged/aster/AsterMessages.java
similarity index 99%
rename from geotiff/src/main/java/org/orekit/rugged/geotiff/AsterMessages.java
rename to aster/src/main/java/org/orekit/rugged/aster/AsterMessages.java
index aac358bd..f358fd93 100644
--- a/geotiff/src/main/java/org/orekit/rugged/geotiff/AsterMessages.java
+++ b/aster/src/main/java/org/orekit/rugged/aster/AsterMessages.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.orekit.rugged.geotiff;
+package org.orekit.rugged.aster;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/geotiff/src/main/java/org/orekit/rugged/geotiff/AsterTileUpdater.java b/aster/src/main/java/org/orekit/rugged/aster/AsterTileUpdater.java
similarity index 99%
rename from geotiff/src/main/java/org/orekit/rugged/geotiff/AsterTileUpdater.java
rename to aster/src/main/java/org/orekit/rugged/aster/AsterTileUpdater.java
index 93e2c83e..07c58bc6 100644
--- a/geotiff/src/main/java/org/orekit/rugged/geotiff/AsterTileUpdater.java
+++ b/aster/src/main/java/org/orekit/rugged/aster/AsterTileUpdater.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.orekit.rugged.geotiff;
+package org.orekit.rugged.aster;
 
 import java.io.File;
 import java.io.IOException;
diff --git a/geotiff/src/main/java/org/orekit/rugged/geotiff/GeoKey.java b/aster/src/main/java/org/orekit/rugged/aster/GeoKey.java
similarity index 98%
rename from geotiff/src/main/java/org/orekit/rugged/geotiff/GeoKey.java
rename to aster/src/main/java/org/orekit/rugged/aster/GeoKey.java
index c1a3b7bf..0263bfd4 100644
--- a/geotiff/src/main/java/org/orekit/rugged/geotiff/GeoKey.java
+++ b/aster/src/main/java/org/orekit/rugged/aster/GeoKey.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.orekit.rugged.geotiff;
+package org.orekit.rugged.aster;
 
 
 /** Enumerate for GeoTIFF keys.
diff --git a/geotiff/src/main/java/org/orekit/rugged/geotiff/GeographicCoordinateSystemType.java b/aster/src/main/java/org/orekit/rugged/aster/GeographicCoordinateSystemType.java
similarity index 99%
rename from geotiff/src/main/java/org/orekit/rugged/geotiff/GeographicCoordinateSystemType.java
rename to aster/src/main/java/org/orekit/rugged/aster/GeographicCoordinateSystemType.java
index ada43c73..0a4a73e4 100644
--- a/geotiff/src/main/java/org/orekit/rugged/geotiff/GeographicCoordinateSystemType.java
+++ b/aster/src/main/java/org/orekit/rugged/aster/GeographicCoordinateSystemType.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.orekit.rugged.geotiff;
+package org.orekit.rugged.aster;
 
 
 /** Enumerate for geographic coordinate system type.
diff --git a/geotiff/src/main/java/org/orekit/rugged/geotiff/LinearUnits.java b/aster/src/main/java/org/orekit/rugged/aster/LinearUnits.java
similarity index 98%
rename from geotiff/src/main/java/org/orekit/rugged/geotiff/LinearUnits.java
rename to aster/src/main/java/org/orekit/rugged/aster/LinearUnits.java
index af1bba34..3212bf2c 100644
--- a/geotiff/src/main/java/org/orekit/rugged/geotiff/LinearUnits.java
+++ b/aster/src/main/java/org/orekit/rugged/aster/LinearUnits.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.orekit.rugged.geotiff;
+package org.orekit.rugged.aster;
 
 
 /** Enumerate for linear units.
diff --git a/geotiff/src/main/java/org/orekit/rugged/geotiff/ModelType.java b/aster/src/main/java/org/orekit/rugged/aster/ModelType.java
similarity index 98%
rename from geotiff/src/main/java/org/orekit/rugged/geotiff/ModelType.java
rename to aster/src/main/java/org/orekit/rugged/aster/ModelType.java
index 7f472cc6..e7c34a03 100644
--- a/geotiff/src/main/java/org/orekit/rugged/geotiff/ModelType.java
+++ b/aster/src/main/java/org/orekit/rugged/aster/ModelType.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.orekit.rugged.geotiff;
+package org.orekit.rugged.aster;
 
 
 /** Enumerate for model type.
diff --git a/geotiff/src/main/java/org/orekit/rugged/geotiff/RasterType.java b/aster/src/main/java/org/orekit/rugged/aster/RasterType.java
similarity index 98%
rename from geotiff/src/main/java/org/orekit/rugged/geotiff/RasterType.java
rename to aster/src/main/java/org/orekit/rugged/aster/RasterType.java
index 619f3c66..85968e38 100644
--- a/geotiff/src/main/java/org/orekit/rugged/geotiff/RasterType.java
+++ b/aster/src/main/java/org/orekit/rugged/aster/RasterType.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.orekit.rugged.geotiff;
+package org.orekit.rugged.aster;
 
 
 /** Enumerate for raster types.
diff --git a/geotiff/src/main/resources/assets/org/orekit/rugged/AsterMessages_en.utf8 b/aster/src/main/resources/assets/org/orekit/rugged/AsterMessages_en.utf8
similarity index 100%
rename from geotiff/src/main/resources/assets/org/orekit/rugged/AsterMessages_en.utf8
rename to aster/src/main/resources/assets/org/orekit/rugged/AsterMessages_en.utf8
diff --git a/geotiff/src/main/resources/assets/org/orekit/rugged/AsterMessages_fr.utf8 b/aster/src/main/resources/assets/org/orekit/rugged/AsterMessages_fr.utf8
similarity index 100%
rename from geotiff/src/main/resources/assets/org/orekit/rugged/AsterMessages_fr.utf8
rename to aster/src/main/resources/assets/org/orekit/rugged/AsterMessages_fr.utf8
diff --git a/geotiff/src/test/java/org/orekit/rugged/geotiff/AsterMessagesTest.java b/aster/src/test/java/org/orekit/rugged/aster/AsterMessagesTest.java
similarity index 99%
rename from geotiff/src/test/java/org/orekit/rugged/geotiff/AsterMessagesTest.java
rename to aster/src/test/java/org/orekit/rugged/aster/AsterMessagesTest.java
index ba19843f..d4aa930b 100644
--- a/geotiff/src/test/java/org/orekit/rugged/geotiff/AsterMessagesTest.java
+++ b/aster/src/test/java/org/orekit/rugged/aster/AsterMessagesTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.orekit.rugged.geotiff;
+package org.orekit.rugged.aster;
 
 
 import java.text.MessageFormat;
diff --git a/geotiff/src/test/java/org/orekit/rugged/geotiff/AsterTileUpdaterTest.java b/aster/src/test/java/org/orekit/rugged/aster/AsterTileUpdaterTest.java
similarity index 99%
rename from geotiff/src/test/java/org/orekit/rugged/geotiff/AsterTileUpdaterTest.java
rename to aster/src/test/java/org/orekit/rugged/aster/AsterTileUpdaterTest.java
index a17ba47d..b27c311c 100644
--- a/geotiff/src/test/java/org/orekit/rugged/geotiff/AsterTileUpdaterTest.java
+++ b/aster/src/test/java/org/orekit/rugged/aster/AsterTileUpdaterTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.orekit.rugged.geotiff;
+package org.orekit.rugged.aster;
 
 import java.io.BufferedReader;
 import java.io.File;
diff --git a/geotiff/src/test/resources/org/orekit/rugged/geotiff/ASTER-files-warning.txt b/aster/src/test/resources/org/orekit/rugged/geotiff/ASTER-files-warning.txt
similarity index 100%
rename from geotiff/src/test/resources/org/orekit/rugged/geotiff/ASTER-files-warning.txt
rename to aster/src/test/resources/org/orekit/rugged/geotiff/ASTER-files-warning.txt
diff --git a/src/main/java/org/orekit/rugged/api/AlgorithmId.java b/core/src/main/java/org/orekit/rugged/api/AlgorithmId.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/api/AlgorithmId.java
rename to core/src/main/java/org/orekit/rugged/api/AlgorithmId.java
diff --git a/src/main/java/org/orekit/rugged/api/BodyRotatingFrameId.java b/core/src/main/java/org/orekit/rugged/api/BodyRotatingFrameId.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/api/BodyRotatingFrameId.java
rename to core/src/main/java/org/orekit/rugged/api/BodyRotatingFrameId.java
diff --git a/src/main/java/org/orekit/rugged/api/EllipsoidId.java b/core/src/main/java/org/orekit/rugged/api/EllipsoidId.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/api/EllipsoidId.java
rename to core/src/main/java/org/orekit/rugged/api/EllipsoidId.java
diff --git a/src/main/java/org/orekit/rugged/api/InertialFrameId.java b/core/src/main/java/org/orekit/rugged/api/InertialFrameId.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/api/InertialFrameId.java
rename to core/src/main/java/org/orekit/rugged/api/InertialFrameId.java
diff --git a/src/main/java/org/orekit/rugged/api/LineDatation.java b/core/src/main/java/org/orekit/rugged/api/LineDatation.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/api/LineDatation.java
rename to core/src/main/java/org/orekit/rugged/api/LineDatation.java
diff --git a/src/main/java/org/orekit/rugged/api/LineSensor.java b/core/src/main/java/org/orekit/rugged/api/LineSensor.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/api/LineSensor.java
rename to core/src/main/java/org/orekit/rugged/api/LineSensor.java
diff --git a/src/main/java/org/orekit/rugged/api/LinearLineDatation.java b/core/src/main/java/org/orekit/rugged/api/LinearLineDatation.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/api/LinearLineDatation.java
rename to core/src/main/java/org/orekit/rugged/api/LinearLineDatation.java
diff --git a/src/main/java/org/orekit/rugged/api/Rugged.java b/core/src/main/java/org/orekit/rugged/api/Rugged.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/api/Rugged.java
rename to core/src/main/java/org/orekit/rugged/api/Rugged.java
diff --git a/src/main/java/org/orekit/rugged/api/RuggedException.java b/core/src/main/java/org/orekit/rugged/api/RuggedException.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/api/RuggedException.java
rename to core/src/main/java/org/orekit/rugged/api/RuggedException.java
diff --git a/src/main/java/org/orekit/rugged/api/RuggedMessages.java b/core/src/main/java/org/orekit/rugged/api/RuggedMessages.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/api/RuggedMessages.java
rename to core/src/main/java/org/orekit/rugged/api/RuggedMessages.java
diff --git a/src/main/java/org/orekit/rugged/api/SensorMeanPlaneCrossing.java b/core/src/main/java/org/orekit/rugged/api/SensorMeanPlaneCrossing.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/api/SensorMeanPlaneCrossing.java
rename to core/src/main/java/org/orekit/rugged/api/SensorMeanPlaneCrossing.java
diff --git a/src/main/java/org/orekit/rugged/api/SensorPixel.java b/core/src/main/java/org/orekit/rugged/api/SensorPixel.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/api/SensorPixel.java
rename to core/src/main/java/org/orekit/rugged/api/SensorPixel.java
diff --git a/src/main/java/org/orekit/rugged/api/SensorPixelCrossing.java b/core/src/main/java/org/orekit/rugged/api/SensorPixelCrossing.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/api/SensorPixelCrossing.java
rename to core/src/main/java/org/orekit/rugged/api/SensorPixelCrossing.java
diff --git a/src/main/java/org/orekit/rugged/intersection/BasicScanAlgorithm.java b/core/src/main/java/org/orekit/rugged/intersection/BasicScanAlgorithm.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/intersection/BasicScanAlgorithm.java
rename to core/src/main/java/org/orekit/rugged/intersection/BasicScanAlgorithm.java
diff --git a/src/main/java/org/orekit/rugged/intersection/IgnoreDEMAlgorithm.java b/core/src/main/java/org/orekit/rugged/intersection/IgnoreDEMAlgorithm.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/intersection/IgnoreDEMAlgorithm.java
rename to core/src/main/java/org/orekit/rugged/intersection/IgnoreDEMAlgorithm.java
diff --git a/src/main/java/org/orekit/rugged/intersection/IntersectionAlgorithm.java b/core/src/main/java/org/orekit/rugged/intersection/IntersectionAlgorithm.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/intersection/IntersectionAlgorithm.java
rename to core/src/main/java/org/orekit/rugged/intersection/IntersectionAlgorithm.java
diff --git a/src/main/java/org/orekit/rugged/intersection/duvenhage/DuvenhageAlgorithm.java b/core/src/main/java/org/orekit/rugged/intersection/duvenhage/DuvenhageAlgorithm.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/intersection/duvenhage/DuvenhageAlgorithm.java
rename to core/src/main/java/org/orekit/rugged/intersection/duvenhage/DuvenhageAlgorithm.java
diff --git a/src/main/java/org/orekit/rugged/intersection/duvenhage/MinMaxTreeTile.java b/core/src/main/java/org/orekit/rugged/intersection/duvenhage/MinMaxTreeTile.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/intersection/duvenhage/MinMaxTreeTile.java
rename to core/src/main/java/org/orekit/rugged/intersection/duvenhage/MinMaxTreeTile.java
diff --git a/src/main/java/org/orekit/rugged/intersection/duvenhage/MinMaxTreeTileFactory.java b/core/src/main/java/org/orekit/rugged/intersection/duvenhage/MinMaxTreeTileFactory.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/intersection/duvenhage/MinMaxTreeTileFactory.java
rename to core/src/main/java/org/orekit/rugged/intersection/duvenhage/MinMaxTreeTileFactory.java
diff --git a/src/main/java/org/orekit/rugged/raster/SimpleTile.java b/core/src/main/java/org/orekit/rugged/raster/SimpleTile.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/raster/SimpleTile.java
rename to core/src/main/java/org/orekit/rugged/raster/SimpleTile.java
diff --git a/src/main/java/org/orekit/rugged/raster/SimpleTileFactory.java b/core/src/main/java/org/orekit/rugged/raster/SimpleTileFactory.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/raster/SimpleTileFactory.java
rename to core/src/main/java/org/orekit/rugged/raster/SimpleTileFactory.java
diff --git a/src/main/java/org/orekit/rugged/raster/Tile.java b/core/src/main/java/org/orekit/rugged/raster/Tile.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/raster/Tile.java
rename to core/src/main/java/org/orekit/rugged/raster/Tile.java
diff --git a/src/main/java/org/orekit/rugged/raster/TileFactory.java b/core/src/main/java/org/orekit/rugged/raster/TileFactory.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/raster/TileFactory.java
rename to core/src/main/java/org/orekit/rugged/raster/TileFactory.java
diff --git a/src/main/java/org/orekit/rugged/raster/TileUpdater.java b/core/src/main/java/org/orekit/rugged/raster/TileUpdater.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/raster/TileUpdater.java
rename to core/src/main/java/org/orekit/rugged/raster/TileUpdater.java
diff --git a/src/main/java/org/orekit/rugged/raster/TilesCache.java b/core/src/main/java/org/orekit/rugged/raster/TilesCache.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/raster/TilesCache.java
rename to core/src/main/java/org/orekit/rugged/raster/TilesCache.java
diff --git a/src/main/java/org/orekit/rugged/raster/UpdatableTile.java b/core/src/main/java/org/orekit/rugged/raster/UpdatableTile.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/raster/UpdatableTile.java
rename to core/src/main/java/org/orekit/rugged/raster/UpdatableTile.java
diff --git a/src/main/java/org/orekit/rugged/utils/ExtendedEllipsoid.java b/core/src/main/java/org/orekit/rugged/utils/ExtendedEllipsoid.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/utils/ExtendedEllipsoid.java
rename to core/src/main/java/org/orekit/rugged/utils/ExtendedEllipsoid.java
diff --git a/src/main/java/org/orekit/rugged/utils/SpacecraftToObservedBody.java b/core/src/main/java/org/orekit/rugged/utils/SpacecraftToObservedBody.java
similarity index 100%
rename from src/main/java/org/orekit/rugged/utils/SpacecraftToObservedBody.java
rename to core/src/main/java/org/orekit/rugged/utils/SpacecraftToObservedBody.java
diff --git a/src/main/resources/assets/org/orekit/rugged/RuggedMessages_en.utf8 b/core/src/main/resources/assets/org/orekit/rugged/RuggedMessages_en.utf8
similarity index 100%
rename from src/main/resources/assets/org/orekit/rugged/RuggedMessages_en.utf8
rename to core/src/main/resources/assets/org/orekit/rugged/RuggedMessages_en.utf8
diff --git a/src/main/resources/assets/org/orekit/rugged/RuggedMessages_fr.utf8 b/core/src/main/resources/assets/org/orekit/rugged/RuggedMessages_fr.utf8
similarity index 100%
rename from src/main/resources/assets/org/orekit/rugged/RuggedMessages_fr.utf8
rename to core/src/main/resources/assets/org/orekit/rugged/RuggedMessages_fr.utf8
diff --git a/src/test/java/org/orekit/rugged/api/LineSensorTest.java b/core/src/test/java/org/orekit/rugged/api/LineSensorTest.java
similarity index 100%
rename from src/test/java/org/orekit/rugged/api/LineSensorTest.java
rename to core/src/test/java/org/orekit/rugged/api/LineSensorTest.java
diff --git a/src/test/java/org/orekit/rugged/api/RuggedMessagesTest.java b/core/src/test/java/org/orekit/rugged/api/RuggedMessagesTest.java
similarity index 100%
rename from src/test/java/org/orekit/rugged/api/RuggedMessagesTest.java
rename to core/src/test/java/org/orekit/rugged/api/RuggedMessagesTest.java
diff --git a/src/test/java/org/orekit/rugged/api/RuggedTest.java b/core/src/test/java/org/orekit/rugged/api/RuggedTest.java
similarity index 100%
rename from src/test/java/org/orekit/rugged/api/RuggedTest.java
rename to core/src/test/java/org/orekit/rugged/api/RuggedTest.java
diff --git a/src/test/java/org/orekit/rugged/intersection/AbstractAlgorithmTest.java b/core/src/test/java/org/orekit/rugged/intersection/AbstractAlgorithmTest.java
similarity index 100%
rename from src/test/java/org/orekit/rugged/intersection/AbstractAlgorithmTest.java
rename to core/src/test/java/org/orekit/rugged/intersection/AbstractAlgorithmTest.java
diff --git a/src/test/java/org/orekit/rugged/intersection/BasicScanAlgorithmTest.java b/core/src/test/java/org/orekit/rugged/intersection/BasicScanAlgorithmTest.java
similarity index 100%
rename from src/test/java/org/orekit/rugged/intersection/BasicScanAlgorithmTest.java
rename to core/src/test/java/org/orekit/rugged/intersection/BasicScanAlgorithmTest.java
diff --git a/src/test/java/org/orekit/rugged/intersection/duvenhage/DuvenhageAlgorithmTest.java b/core/src/test/java/org/orekit/rugged/intersection/duvenhage/DuvenhageAlgorithmTest.java
similarity index 100%
rename from src/test/java/org/orekit/rugged/intersection/duvenhage/DuvenhageAlgorithmTest.java
rename to core/src/test/java/org/orekit/rugged/intersection/duvenhage/DuvenhageAlgorithmTest.java
diff --git a/src/test/java/org/orekit/rugged/intersection/duvenhage/MinMaxTreeTileTest.java b/core/src/test/java/org/orekit/rugged/intersection/duvenhage/MinMaxTreeTileTest.java
similarity index 100%
rename from src/test/java/org/orekit/rugged/intersection/duvenhage/MinMaxTreeTileTest.java
rename to core/src/test/java/org/orekit/rugged/intersection/duvenhage/MinMaxTreeTileTest.java
diff --git a/src/test/java/org/orekit/rugged/raster/CheckedPatternElevationUpdater.java b/core/src/test/java/org/orekit/rugged/raster/CheckedPatternElevationUpdater.java
similarity index 100%
rename from src/test/java/org/orekit/rugged/raster/CheckedPatternElevationUpdater.java
rename to core/src/test/java/org/orekit/rugged/raster/CheckedPatternElevationUpdater.java
diff --git a/src/test/java/org/orekit/rugged/raster/CliffsElevationUpdater.java b/core/src/test/java/org/orekit/rugged/raster/CliffsElevationUpdater.java
similarity index 100%
rename from src/test/java/org/orekit/rugged/raster/CliffsElevationUpdater.java
rename to core/src/test/java/org/orekit/rugged/raster/CliffsElevationUpdater.java
diff --git a/src/test/java/org/orekit/rugged/raster/CountingFactory.java b/core/src/test/java/org/orekit/rugged/raster/CountingFactory.java
similarity index 100%
rename from src/test/java/org/orekit/rugged/raster/CountingFactory.java
rename to core/src/test/java/org/orekit/rugged/raster/CountingFactory.java
diff --git a/src/test/java/org/orekit/rugged/raster/RandomLandscapeUpdater.java b/core/src/test/java/org/orekit/rugged/raster/RandomLandscapeUpdater.java
similarity index 100%
rename from src/test/java/org/orekit/rugged/raster/RandomLandscapeUpdater.java
rename to core/src/test/java/org/orekit/rugged/raster/RandomLandscapeUpdater.java
diff --git a/src/test/java/org/orekit/rugged/raster/SimpleTileTest.java b/core/src/test/java/org/orekit/rugged/raster/SimpleTileTest.java
similarity index 100%
rename from src/test/java/org/orekit/rugged/raster/SimpleTileTest.java
rename to core/src/test/java/org/orekit/rugged/raster/SimpleTileTest.java
diff --git a/src/test/java/org/orekit/rugged/raster/TilesCacheTest.java b/core/src/test/java/org/orekit/rugged/raster/TilesCacheTest.java
similarity index 100%
rename from src/test/java/org/orekit/rugged/raster/TilesCacheTest.java
rename to core/src/test/java/org/orekit/rugged/raster/TilesCacheTest.java
diff --git a/src/test/java/org/orekit/rugged/raster/VolcanicConeElevationUpdater.java b/core/src/test/java/org/orekit/rugged/raster/VolcanicConeElevationUpdater.java
similarity index 100%
rename from src/test/java/org/orekit/rugged/raster/VolcanicConeElevationUpdater.java
rename to core/src/test/java/org/orekit/rugged/raster/VolcanicConeElevationUpdater.java
diff --git a/src/test/java/org/orekit/rugged/utils/ExtendedEllipsoidTest.java b/core/src/test/java/org/orekit/rugged/utils/ExtendedEllipsoidTest.java
similarity index 100%
rename from src/test/java/org/orekit/rugged/utils/ExtendedEllipsoidTest.java
rename to core/src/test/java/org/orekit/rugged/utils/ExtendedEllipsoidTest.java
diff --git a/src/test/resources/orekit-data/UTC-TAI.history b/core/src/test/resources/orekit-data/UTC-TAI.history
similarity index 100%
rename from src/test/resources/orekit-data/UTC-TAI.history
rename to core/src/test/resources/orekit-data/UTC-TAI.history
diff --git a/src/test/resources/orekit-data/eigen-6s-truncated.gfc b/core/src/test/resources/orekit-data/eigen-6s-truncated.gfc
similarity index 100%
rename from src/test/resources/orekit-data/eigen-6s-truncated.gfc
rename to core/src/test/resources/orekit-data/eigen-6s-truncated.gfc
diff --git a/src/test/resources/orekit-data/eopc04_08.12 b/core/src/test/resources/orekit-data/eopc04_08.12
similarity index 100%
rename from src/test/resources/orekit-data/eopc04_08.12
rename to core/src/test/resources/orekit-data/eopc04_08.12
diff --git a/src/test/resources/orekit-data/eopc04_08_IAU2000.12 b/core/src/test/resources/orekit-data/eopc04_08_IAU2000.12
similarity index 100%
rename from src/test/resources/orekit-data/eopc04_08_IAU2000.12
rename to core/src/test/resources/orekit-data/eopc04_08_IAU2000.12
diff --git a/src/test/resources/orekit-data/unxp2012.406 b/core/src/test/resources/orekit-data/unxp2012.406
similarity index 100%
rename from src/test/resources/orekit-data/unxp2012.406
rename to core/src/test/resources/orekit-data/unxp2012.406
diff --git a/geotiff/pom.xml b/geotiff/pom.xml
deleted file mode 100644
index 68c92cef..00000000
--- a/geotiff/pom.xml
+++ /dev/null
@@ -1,306 +0,0 @@
-<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>rugged-geotiff</artifactId>
-  <version>1.0-SNAPSHOT</version>
-  <packaging>jar</packaging>
-  <name>Rugged GeoTIFF</name>
-
-  <inceptionYear>2014</inceptionYear>
-  <description>
-    Rugged is an Orekit add-on handling Digital Elevation Models
-    contribution to line of sight computation
-  </description>
-
-  <developers>
-    <developer>
-      <name>Luc Maisonobe</name>
-      <id>luc</id>
-      <roles>
-        <role>architect</role>
-        <role>developer</role>
-      </roles>
-    </developer>
-  </developers>
-
-  <contributors>
-    <contributor>
-      <name>Aude Espesset</name>
-    </contributor>
-  </contributors>
-
-  <organization>
-    <name>CS Syst&#232;mes d&#039;Information</name>
-    <url>http://www.c-s.fr/</url>
-  </organization>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.orekit</groupId>
-      <artifactId>rugged</artifactId>
-      <version>1.0-SNAPSHOT</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.commons</groupId>
-      <artifactId>commons-imaging</artifactId>
-      <version>1.0-SNAPSHOT</version>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.8.2</version>
-      <type>jar</type>
-      <scope>test</scope>
-      <optional>false</optional>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <version>2.3.2</version>
-        <configuration>
-          <source>1.6</source>
-          <target>1.6</target>
-          <encoding>UTF-8</encoding>
-        </configuration>
-      </plugin>
-	<plugin>
-      <groupId>org.apache.maven.plugins</groupId>
-      <artifactId>maven-jar-plugin</artifactId>
-        <version>2.4</version>
-      <configuration>
-        <archive>
-          <manifest>
-            <addClasspath>true</addClasspath>
-            <classpathPrefix>lib/</classpathPrefix>
-          </manifest>
-        </archive>
-      </configuration>
-    </plugin>
-	<plugin>
-		<artifactId>maven-assembly-plugin</artifactId>
-		<version>2.2.1</version>
-		<configuration>
-          <descriptors>
-            <descriptor>src/main/assembly/source-assembly.xml</descriptor>
-            <descriptor>src/main/assembly/binary-assembly.xml</descriptor>
-          </descriptors>
-        </configuration>
-        <executions>
-          <execution>
-            <id>make-assembly</id>
-            <phase>package</phase>
-            <goals>
-              <goal>single</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.jacoco</groupId>
-        <artifactId>jacoco-maven-plugin</artifactId>
-        <version>0.6.3.201306030806</version>
-        <executions>
-          <execution>
-            <id>prepare-agent</id>
-            <phase>process-test-classes</phase>
-            <goals>
-              <goal>prepare-agent</goal>
-            </goals>
-          </execution>
-          <execution>
-            <id>report</id>
-            <phase>site</phase>
-            <goals>
-              <goal>report</goal>
-            </goals>
-          </execution>
-          <execution>
-            <id>check</id>
-            <goals>
-              <goal>check</goal>
-            </goals>
-            <configuration>
-              <rules>
-                <rule>
-                  <element>BUNDLE</element>
-                  <limits>
-                    <limit>
-                      <counter>CLASS</counter>
-                      <value>COVEREDRATIO</value>
-                      <minimum>1.00</minimum>
-                    </limit>
-                    <limit>
-                      <counter>INSTRUCTION</counter>
-                      <value>COVEREDRATIO</value>
-                      <minimum>0.90</minimum>
-                    </limit>
-                    <limit>
-                      <counter>METHOD</counter>
-                      <value>COVEREDRATIO</value>
-                      <minimum>0.95</minimum>
-                    </limit>
-                    <limit>
-                      <counter>BRANCH</counter>
-                      <value>COVEREDRATIO</value>
-                      <minimum>0.85</minimum>
-                    </limit>
-                    <limit>
-                      <counter>COMPLEXITY</counter>
-                      <value>COVEREDRATIO</value>
-                      <minimum>0.85</minimum>
-                    </limit>
-                    <limit>
-                      <counter>LINE</counter>
-                      <value>COVEREDRATIO</value>
-                      <minimum>0.90</minimum>
-                    </limit>
-                  </limits>
-                </rule>
-              </rules>
-              <haltOnFailure>false</haltOnFailure>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>com.github.jeluard</groupId>
-        <artifactId>maven-plantuml-plugin</artifactId>
-        <version>7940</version>
-        <configuration>
-          <sourceFiles>
-            <directory>${basedir}</directory>
-            <includes>
-              <include>
-                design/**/*.puml
-              </include>
-            </includes>
-          </sourceFiles>
-          <outputDirectory>
-            ${basedir}/target/site/images/design
-          </outputDirectory>
-        </configuration>
-        <executions>
-          <execution>
-            <phase>pre-site</phase>
-            <goals>
-              <goal>generate</goal>
-            </goals>
-          </execution>
-        </executions>
-        <dependencies>
-          <dependency>
-            <groupId>net.sourceforge.plantuml</groupId>
-            <artifactId>plantuml</artifactId>
-            <version>7986</version>
-          </dependency>
-        </dependencies>
-      </plugin>
-    </plugins>
-  </build>
-
-  <reporting>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-site-plugin</artifactId>
-        <version>3.3</version>
-        <configuration>
-          <inputEncoding>UTF-8</inputEncoding>
-          <outputEncoding>UTF-8</outputEncoding>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.jacoco</groupId>
-        <artifactId>jacoco-maven-plugin</artifactId>
-        <version>0.6.3.201306030806</version>
-      </plugin>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>findbugs-maven-plugin</artifactId>
-        <version>2.5.3</version>
-        <configuration>
-          <threshold>Normal</threshold>
-          <effort>Default</effort>
-          <excludeFilterFile>${basedir}/findbugs-exclude-filter.xml</excludeFilterFile>
-       </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <version>2.16</version>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-checkstyle-plugin</artifactId>
-        <version>2.11</version>
-        <configuration>
-          <encoding>UTF-8</encoding>
-          <configLocation>${basedir}/checkstyle.xml</configLocation>
-          <enableRulesSummary>false</enableRulesSummary>
-          <headerLocation>${basedir}/license-header.txt</headerLocation>
-        </configuration>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>checkstyle</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <version>2.9</version>
-        <configuration>
-          <xmlPath>${basedir}/src/site/xdoc/changes.xml</xmlPath>
-        </configuration>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jxr-plugin</artifactId>
-        <version>2.3</version>
-        <configuration>
-          <outputEncoding>UTF-8</outputEncoding>
-          <linkJavadoc>false</linkJavadoc>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-javadoc-plugin</artifactId>
-        <version>2.9.1</version>
-        <configuration>
-          <overview>${basedir}/src/main/java/org/orekit/rugged/overview.html</overview>
-          <links>
-            <link>http://download.oracle.com/javase/1.6.0/docs/api/</link>
-            <link>http://commons.apache.org/math/apidocs/</link>
-            <link>https://www.orekit.org/static/apidocs/index.html</link>
-          </links>
-          <charset>UTF-8</charset>
-          <docencoding>UTF-8</docencoding>
-          <encoding>UTF-8</encoding>
-        </configuration>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>javadoc</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-      </plugin>
-    </plugins>
-  </reporting>
-
-</project>
diff --git a/pom.xml b/pom.xml
index d8b6c54f..47a438c7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,10 +3,10 @@
   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>rugged</artifactId>
+  <artifactId>rugged-parent</artifactId>
   <version>1.0-SNAPSHOT</version>
-  <packaging>bundle</packaging>
-  <name>Rugged Core</name>
+  <packaging>pom</packaging>
+  <name>Rugged Parent</name>
 
   <inceptionYear>2014</inceptionYear>
   <description>
@@ -63,171 +63,144 @@
     <url>http://www.c-s.fr/</url>
   </organization>
 
-  <dependencies>
-    <dependency>
-        <groupId>org.orekit</groupId>
-        <artifactId>orekit</artifactId>
-        <version>7.0-SNAPSHOT</version>
-        <type>jar</type>
-        <optional>false</optional>
-    </dependency>
-    <dependency>
-        <groupId>org.apache.commons</groupId>
-        <artifactId>commons-math3</artifactId>
-        <version>3.3</version>
-        <type>jar</type>
-        <optional>false</optional>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.11</version>
-      <type>jar</type>
-      <scope>test</scope>
-      <optional>false</optional>
-    </dependency>
-  </dependencies>
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+    </license>
+  </licenses>
+
+  <scm>
+    <connection>scm:git:http://www.orekit.org/git/rugged</connection>
+    <developerConnection>scm:git:ssh://git@www.orekit.org/rugged.git</developerConnection>
+    <url>https://www.orekit.org/forge/projects/rugged/repository</url>
+  </scm>
+
+  <modules>
+    <module>core</module>
+    <module>aster</module>
+  </modules>
 
   <build>
-    <plugins>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <version>${rugged.maven-compiler-plugin.version}</version>
+        </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+          <version>${rugged.maven-jar-plugin.version}</version>
+        <configuration>
+          <archive>
+            <manifest>
+              <addClasspath>true</addClasspath>
+              <classpathPrefix>lib/</classpathPrefix>
+            </manifest>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <version>${rugged.maven-assembly-plugin.version}</version>
+        <configuration>
+          <descriptors>
+            <descriptor>src/main/assembly/source-assembly.xml</descriptor>
+            <descriptor>src/main/assembly/binary-assembly.xml</descriptor>
+          </descriptors>
+        </configuration>
+        <executions>
+          <execution>
+            <id>make-assembly</id>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-resources-plugin</artifactId>
+        <version>${rugged.maven-resources-plugin.version}</version>
+      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <version>${rugged.maven-compiler-plugin.version}</version>
+        <artifactId>maven-clean-plugin</artifactId>
+        <version>${rugged.maven-clean-plugin.version}</version>
       </plugin>
-    <plugin>
-      <groupId>org.apache.maven.plugins</groupId>
-      <artifactId>maven-jar-plugin</artifactId>
-        <version>${rugged.maven-jar-plugin.version}</version>
-      <configuration>
-        <archive>
-          <manifest>
-            <addClasspath>true</addClasspath>
-            <classpathPrefix>lib/</classpathPrefix>
-          </manifest>
-        </archive>
-      </configuration>
-    </plugin>
-    <plugin>
-      <groupId>org.apache.maven.plugins</groupId>
-      <artifactId>maven-assembly-plugin</artifactId>
-      <version>${rugged.maven-assembly-plugin.version}</version>
-      <configuration>
-        <descriptors>
-          <descriptor>src/main/assembly/source-assembly.xml</descriptor>
-          <descriptor>src/main/assembly/binary-assembly.xml</descriptor>
-        </descriptors>
-      </configuration>
-      <executions>
-        <execution>
-          <id>make-assembly</id>
-          <phase>package</phase>
-          <goals>
-            <goal>single</goal>
-          </goals>
-        </execution>
-      </executions>
-    </plugin>
-    <plugin>
-      <groupId>org.apache.felix</groupId>
-      <artifactId>maven-bundle-plugin</artifactId>
-      <version>${rugged.maven-bundle-plugin.version}</version>
-      <extensions>true</extensions>
-      <configuration>
-        <instructions>
-          <Export-Package>org.orekit.rugged.api.*;version=${project.version};-noimport:=true</Export-Package>
-          <Bundle-DocURL>${project.url}</Bundle-DocURL>
-        </instructions>
-      </configuration>
-      <executions>
-        <execution>
-          <id>bundle-manifest</id>
-          <phase>process-classes</phase>
-          <goals>
-            <goal>manifest</goal>
-          </goals>
-        </execution>
-      </executions>
-    </plugin>
-    <plugin>
-      <groupId>org.apache.maven.plugins</groupId>
-      <artifactId>maven-resources-plugin</artifactId>
-      <version>${rugged.maven-resources-plugin.version}</version>
-    </plugin>
-    <plugin>
-      <groupId>org.apache.maven.plugins</groupId>
-      <artifactId>maven-clean-plugin</artifactId>
-      <version>${rugged.maven-clean-plugin.version}</version>
-    </plugin>
-    <plugin>
-      <groupId>org.jacoco</groupId>
-      <artifactId>jacoco-maven-plugin</artifactId>
-      <version>${rugged.jacoco-maven-plugin.version}</version>
-      <executions>
-        <execution>
-          <id>prepare-agent</id>
-          <phase>process-test-classes</phase>
-          <goals>
-            <goal>prepare-agent</goal>
-          </goals>
-        </execution>
-        <execution>
-          <id>report</id>
-          <phase>site</phase>
-          <goals>
-            <goal>report</goal>
-          </goals>
-        </execution>
-        <execution>
-          <id>check</id>
-          <goals>
-            <goal>check</goal>
-          </goals>
-          <configuration>
-            <rules>
-              <rule>
-                <element>BUNDLE</element>
-                <limits>
-                  <limit>
-                    <counter>CLASS</counter>
-                    <value>COVEREDRATIO</value>
-                    <minimum>1.00</minimum>
-                  </limit>
-                  <limit>
-                    <counter>INSTRUCTION</counter>
-                    <value>COVEREDRATIO</value>
-                    <minimum>0.90</minimum>
-                  </limit>
-                  <limit>
-                    <counter>METHOD</counter>
-                    <value>COVEREDRATIO</value>
-                    <minimum>0.95</minimum>
-                  </limit>
-                  <limit>
-                    <counter>BRANCH</counter>
-                    <value>COVEREDRATIO</value>
-                    <minimum>0.85</minimum>
-                  </limit>
-                  <limit>
-                    <counter>COMPLEXITY</counter>
-                    <value>COVEREDRATIO</value>
-                    <minimum>0.85</minimum>
-                  </limit>
-                  <limit>
-                    <counter>LINE</counter>
-                    <value>COVEREDRATIO</value>
-                    <minimum>0.90</minimum>
-                  </limit>
-                </limits>
-              </rule>
-            </rules>
-            <haltOnFailure>false</haltOnFailure>
-          </configuration>
-        </execution>
-      </executions>
-    </plugin>
-    <plugin>
-      <groupId>com.github.jeluard</groupId>
+      <plugin>
+        <groupId>org.jacoco</groupId>
+        <artifactId>jacoco-maven-plugin</artifactId>
+        <version>${rugged.jacoco-maven-plugin.version}</version>
+        <executions>
+          <execution>
+            <id>prepare-agent</id>
+            <phase>process-test-classes</phase>
+            <goals>
+              <goal>prepare-agent</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>report</id>
+            <phase>site</phase>
+            <goals>
+              <goal>report</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>check</id>
+            <goals>
+              <goal>check</goal>
+            </goals>
+            <configuration>
+              <rules>
+                <rule>
+                  <element>BUNDLE</element>
+                  <limits>
+                    <limit>
+                      <counter>CLASS</counter>
+                      <value>COVEREDRATIO</value>
+                      <minimum>1.00</minimum>
+                    </limit>
+                    <limit>
+                      <counter>INSTRUCTION</counter>
+                      <value>COVEREDRATIO</value>
+                      <minimum>0.90</minimum>
+                    </limit>
+                    <limit>
+                      <counter>METHOD</counter>
+                      <value>COVEREDRATIO</value>
+                      <minimum>0.95</minimum>
+                    </limit>
+                    <limit>
+                      <counter>BRANCH</counter>
+                      <value>COVEREDRATIO</value>
+                      <minimum>0.85</minimum>
+                    </limit>
+                    <limit>
+                      <counter>COMPLEXITY</counter>
+                      <value>COVEREDRATIO</value>
+                      <minimum>0.85</minimum>
+                    </limit>
+                    <limit>
+                      <counter>LINE</counter>
+                      <value>COVEREDRATIO</value>
+                      <minimum>0.90</minimum>
+                    </limit>
+                  </limits>
+                </rule>
+              </rules>
+              <haltOnFailure>false</haltOnFailure>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>com.github.jeluard</groupId>
         <artifactId>maven-plantuml-plugin</artifactId>
         <version>${rugged.maven-plantuml-plugin.version}</version>
         <configuration>
@@ -259,7 +232,13 @@
           </dependency>
         </dependencies>
       </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-site-plugin</artifactId>
+        <version>${rugged.maven-site-plugin.version}</version>
+      </plugin>
     </plugins>
+  </pluginManagement>
   </build>
 
   <reporting>
@@ -286,7 +265,7 @@
         <configuration>
           <threshold>Normal</threshold>
           <effort>Default</effort>
-          <excludeFilterFile>${basedir}/findbugs-exclude-filter.xml</excludeFilterFile>
+          <excludeFilterFile>${project.parent.basedir}/findbugs-exclude-filter.xml</excludeFilterFile>
        </configuration>
       </plugin>
       <plugin>
@@ -304,9 +283,9 @@
         <artifactId>maven-checkstyle-plugin</artifactId>
         <version>${rugged.maven-checkstyle-plugin.version}</version>
         <configuration>
-          <configLocation>${basedir}/checkstyle.xml</configLocation>
+          <configLocation>${project.parent.basedir}/checkstyle.xml</configLocation>
           <enableRulesSummary>false</enableRulesSummary>
-          <headerLocation>${basedir}/license-header.txt</headerLocation>
+          <headerLocation>${project.parent.basedir}/license-header.txt</headerLocation>
         </configuration>
         <reportSets>
           <reportSet>
@@ -344,7 +323,7 @@
         <artifactId>maven-javadoc-plugin</artifactId>
         <version>${rugged.maven-javadoc-plugin.version}</version>
         <configuration>
-          <overview>${basedir}/src/main/java/org/orekit/rugged/overview.html</overview>
+          <overview>${basedir}/core/src/main/java/org/orekit/rugged/overview.html</overview>
           <links>
             <link>http://download.oracle.com/javase/1.6.0/docs/api/</link>
             <link>http://commons.apache.org/math/apidocs/</link>
diff --git a/src/main/assembly/binary-assembly.xml b/src/main/assembly/binary-assembly.xml
new file mode 100644
index 00000000..a18df15b
--- /dev/null
+++ b/src/main/assembly/binary-assembly.xml
@@ -0,0 +1,10 @@
+<assembly>
+  <id>bin</id>
+  <formats>
+    <format>zip</format>
+  </formats>
+  <componentDescriptors>
+    <componentDescriptor>src/main/assembly/misc-files.xml</componentDescriptor>
+    <componentDescriptor>src/main/assembly/jar-files.xml</componentDescriptor>
+  </componentDescriptors>
+</assembly>
\ No newline at end of file
diff --git a/src/main/assembly/building-files.xml b/src/main/assembly/building-files.xml
new file mode 100644
index 00000000..9c3f9cbf
--- /dev/null
+++ b/src/main/assembly/building-files.xml
@@ -0,0 +1,19 @@
+<component>
+  <fileSets>
+    <fileSet>
+      <includes>
+        <include>BUILDING.txt</include>
+        <include>pom.xml</include>
+        <include>build.xml</include>
+        <include>checkstyle.xml</include>
+        <include>findbugs-exclude-filter.xml</include>
+        <include>license-header.txt</include>
+      </includes>
+      <useDefaultExcludes>true</useDefaultExcludes>
+    </fileSet>
+    <fileSet>
+      <directory>src</directory>
+      <useDefaultExcludes>true</useDefaultExcludes>
+    </fileSet>
+  </fileSets>
+</component>
\ No newline at end of file
diff --git a/src/main/assembly/jar-files.xml b/src/main/assembly/jar-files.xml
new file mode 100644
index 00000000..e89c65b0
--- /dev/null
+++ b/src/main/assembly/jar-files.xml
@@ -0,0 +1,11 @@
+<component>
+  <fileSets>
+    <fileSet>
+      <directory>target</directory>
+      <outputDirectory></outputDirectory>
+      <includes>
+        <include>*.jar</include>
+      </includes>
+    </fileSet>
+  </fileSets>
+</component>
\ No newline at end of file
diff --git a/src/main/assembly/misc-files.xml b/src/main/assembly/misc-files.xml
new file mode 100644
index 00000000..8e565755
--- /dev/null
+++ b/src/main/assembly/misc-files.xml
@@ -0,0 +1,11 @@
+<component>
+  <fileSets>
+    <fileSet>
+      <includes>
+       <include>README.txt</include>
+       <include>LICENSE.txt</include>
+       <include>NOTICE.txt</include>
+      </includes>
+    </fileSet>
+  </fileSets>
+</component>
diff --git a/src/main/assembly/source-assembly.xml b/src/main/assembly/source-assembly.xml
new file mode 100644
index 00000000..d68ffcb2
--- /dev/null
+++ b/src/main/assembly/source-assembly.xml
@@ -0,0 +1,10 @@
+<assembly>
+  <id>sources</id>
+  <formats>
+    <format>zip</format>
+  </formats>
+  <componentDescriptors>
+    <componentDescriptor>src/main/assembly/misc-files.xml</componentDescriptor>
+    <componentDescriptor>src/main/assembly/building-files.xml</componentDescriptor>
+  </componentDescriptors>
+</assembly>
\ No newline at end of file
-- 
GitLab