diff --git a/BUILDING.txt b/BUILDING.txt index a7ed7280e2825630e3fa3a9318954d3338247672..cfd8dbbc2df1c1974aedefbcf96cc27bc9b15115 100644 --- a/BUILDING.txt +++ b/BUILDING.txt @@ -16,16 +16,11 @@ Building with Maven 3: 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 Hipparchus (available at - Hipparchus project downloads page https://www.hipparchus.org/downloads.html) - in the libraries tab of the Configure Build Path dialog - + - using your operating system tools, unpack the source distribution directly + inside your Eclipse workspace + - using Eclipse, import the project by selecting in the top level "File" menu + the entry "Import..." + - in the wizard that should appear, select "Maven -> Existing Maven Projects" + - select the folder you just created in your workspace by unpacking the + source distribution. The "pom.xml" file describing the project will be + automatically selected. Click finish diff --git a/NOTICE.txt b/NOTICE.txt index 42b7018bc2d339186e67bf4779e0b331a6f1c992..434e21116408403a9e5fb8c0fe92293945672c3f 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -6,3 +6,6 @@ CS Systèmes d'Information (http://www.c-s.fr/) This product depends on software developed by The Apache Software Foundation (http://www.apache.org/) + +This product depends on software developed by +The Hipparchus project (https://hipparchus.org/) \ No newline at end of file diff --git a/README.txt b/README.txt new file mode 100644 index 0000000000000000000000000000000000000000..ee17ceee9840f70799c9ed3c038bb052543b02c2 --- /dev/null +++ b/README.txt @@ -0,0 +1,34 @@ +Rugged, a sensor-to-terrain mapping tool, is a free java library +for geolocation and used for satellite imagery. + +It is licensed by CS Systèmes d'Information under the +Apache License Version 2.0. A copy of this license is +provided in the LICENSE.txt file. + +The BUILDING.txt file explains how the library can be built from sources. + +The src/main/java directory contains the library sources. +The src/main/resources directory contains the library data. +The src/test/java directory contains the tests sources. +The src/test/resources directory contains the tests data. +The src/tutorials/java directory contains sources for example use of the library. +The src/design directory contains pieces for a UML model of the library. + +Rugged relies on the following free software, all released under +business friendly free licenses. + +compile-time/run-time dependency: + + - Orekit from CS Systèmes d'Information + https://www.orekit.org/ + released under the Apache Software License, version 2 + + - Hipparchus from the Hipparchus project + https://hipparchus.org/ + released under the Apache Software License, version 2 + +test-time dependency: + + - JUnit 4 from Erich Gamma and Kent Beck + http://www.junit.org/ + released under the Common Public License Version 1.0 diff --git a/pom.xml b/pom.xml index 4a691d39abde20b72cf8a2ed909c2aa0225750db..1ac04bc9eb3791b03d58cc077adf58171fc62d4a 100644 --- a/pom.xml +++ b/pom.xml @@ -35,14 +35,13 @@ <rugged.maven-project-info-reports-plugin.version>2.9</rugged.maven-project-info-reports-plugin.version> <rugged.maven-resources-plugin.version>3.0.2</rugged.maven-resources-plugin.version> <rugged.maven-site-plugin.version>3.6</rugged.maven-site-plugin.version> - <rugged.maven-source-plugin.version>3.0.1</rugged.maven-source-plugin.version> <rugged.maven-surefire-plugin.version>2.20</rugged.maven-surefire-plugin.version> <rugged.maven-surefire-report-plugin.version>2.20</rugged.maven-surefire-report-plugin.version> <rugged.jgit.buildnumber.version>1.2.10</rugged.jgit.buildnumber.version> - <!-- orekit.build-helper-maven-plugin.version>3.0.0</orekit.build-helper-maven-plugin.version--> - <!-- orekit.nexus-staging-maven-plugin.version>1.6.8</orekit.nexus-staging-maven-plugin.version--> - <!-- orekit.maven-gpg-plugin.version>1.6</orekit.maven-gpg-plugin.version--> - <!-- orekit.maven-install-plugin.version>2.5.2</orekit.maven-install-plugin.version--> + <rugged.build-helper-maven-plugin.version>3.0.0</rugged.build-helper-maven-plugin.version> + <rugged.nexus-staging-maven-plugin.version>1.6.8</rugged.nexus-staging-maven-plugin.version> + <rugged.maven-gpg-plugin.version>1.6</rugged.maven-gpg-plugin.version> + <rugged.maven-install-plugin.version>2.5.2</rugged.maven-install-plugin.version> <rugged.orekit.version>9.1</rugged.orekit.version> <rugged.hipparchus.version>1.2</rugged.hipparchus.version> <rugged.junit.version>4.12</rugged.junit.version> @@ -253,8 +252,8 @@ <version>${rugged.maven-assembly-plugin.version}</version> <configuration> <descriptors> - <descriptor>src/assembly/source-assembly.xml</descriptor> - <descriptor>src/assembly/binary-assembly.xml</descriptor> + <descriptor>src/main/assembly/source-distribution-assembly.xml</descriptor> + <descriptor>src/main/assembly/source-jar-assembly.xml</descriptor> </descriptors> </configuration> <executions> @@ -388,7 +387,7 @@ <version>${rugged.plantuml-maven-plugin.version}</version> <configuration> <sourceFiles> - <directory>${basedir}/design</directory> + <directory>${basedir}/src/design</directory> <includes> <include> *.puml @@ -461,35 +460,6 @@ </configuration> </plugin> </plugins> - <pluginManagement> - <plugins> - <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.--> - <plugin> - <groupId>org.eclipse.m2e</groupId> - <artifactId>lifecycle-mapping</artifactId> - <version>1.0.0</version> - <configuration> - <lifecycleMappingMetadata> - <pluginExecutions> - <pluginExecution> - <pluginExecutionFilter> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - <versionRange>[${rugged.maven-bundle-plugin.version},)</versionRange> - <goals> - <goal>manifest</goal> - </goals> - </pluginExecutionFilter> - <action> - <ignore></ignore> - </action> - </pluginExecution> - </pluginExecutions> - </lifecycleMappingMetadata> - </configuration> - </plugin> - </plugins> - </pluginManagement> </build> <reporting> @@ -599,21 +569,119 @@ <id>release</id> <build> <plugins> - <plugin> + <plugin> <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-source-plugin</artifactId> - <version>${rugged.maven-source-plugin.version}</version> + <artifactId>maven-javadoc-plugin</artifactId> + <version>${rugged.maven-javadoc-plugin.version}</version> <executions> <execution> - <id>create-source-jar</id> + <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> - <phase>package</phase> </execution> </executions> </plugin> + <plugin> + <groupId>org.sonatype.plugins</groupId> + <artifactId>nexus-staging-maven-plugin</artifactId> + <version>${rugged.nexus-staging-maven-plugin.version}</version> + <extensions>true</extensions> + <configuration> + <serverId>ossrh</serverId> + <nexusUrl>https://oss.sonatype.org/</nexusUrl> + <autoReleaseAfterClose>false</autoReleaseAfterClose> + </configuration> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>build-helper-maven-plugin</artifactId> + <version>${rugged.build-helper-maven-plugin.version}</version> + <executions> + <execution> + <id>attach-artifacts</id> + <phase>verify</phase> + <goals> + <goal>attach-artifact</goal> + </goals> + <configuration> + <artifacts> + <artifact> + <file>${basedir}/target/rugged-${project.version}-sources.jar</file> + <type>source-jar</type> + </artifact> + </artifacts> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-gpg-plugin</artifactId> + <version>${rugged.maven-gpg-plugin.version}</version> + <configuration> + <gpgArguments> + <arg>--digest-algo=SHA512</arg> + </gpgArguments> + </configuration> + <executions> + <execution> + <id>sign-artifacts</id> + <phase>verify</phase> + <goals> + <goal>sign</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-install-plugin</artifactId> + <version>${rugged.maven-install-plugin.version}</version> + <configuration> + <createChecksum>true</createChecksum> + </configuration> + </plugin> </plugins> + </build> + </profile> + <profile> + <id>eclipse</id> + <activation> + <property> + <name>m2e.version</name> + </property> + </activation> + <build> + <pluginManagement> + <plugins> + <plugin> + <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.--> + <groupId>org.eclipse.m2e</groupId> + <artifactId>lifecycle-mapping</artifactId> + <version>1.0.0</version> + <configuration> + <lifecycleMappingMetadata> + <pluginExecutions> + <pluginExecution> + <pluginExecutionFilter> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <versionRange>[${rugged.maven-bundle-plugin.version},)</versionRange> + <goals> + <goal>manifest</goal> + </goals> + </pluginExecutionFilter> + <action> + <ignore></ignore> + </action> + </pluginExecution> + </pluginExecutions> + </lifecycleMappingMetadata> + </configuration> + </plugin> + </plugins> + </pluginManagement> </build> </profile> </profiles> diff --git a/src/assembly/binary-assembly.xml b/src/assembly/binary-assembly.xml deleted file mode 100644 index 63fddd2fb5e6a617a41dccff83dee0ae6f3acecd..0000000000000000000000000000000000000000 --- a/src/assembly/binary-assembly.xml +++ /dev/null @@ -1,12 +0,0 @@ -<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> - <id>bin</id> - <formats> - <format>zip</format> - </formats> - <componentDescriptors> - <componentDescriptor>src/assembly/misc-files.xml</componentDescriptor> - <componentDescriptor>src/assembly/jar-files.xml</componentDescriptor> - </componentDescriptors> -</assembly> \ No newline at end of file diff --git a/src/assembly/building-files.xml b/src/assembly/building-files.xml deleted file mode 100644 index 9eb2f438fcbd322e82cde58245ce28fbd107977e..0000000000000000000000000000000000000000 --- a/src/assembly/building-files.xml +++ /dev/null @@ -1,18 +0,0 @@ -<component> - <fileSets> - <fileSet> - <includes> - <include>BUILDING.txt</include> - <include>pom.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/assembly/jar-files.xml b/src/assembly/jar-files.xml deleted file mode 100644 index e89c65b097dd78d33278f95331d4781b238c5b19..0000000000000000000000000000000000000000 --- a/src/assembly/jar-files.xml +++ /dev/null @@ -1,11 +0,0 @@ -<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/assembly/misc-files.xml b/src/assembly/misc-files.xml deleted file mode 100644 index b6666a6c5d1b35a39ae80be5640f1e1d2309d810..0000000000000000000000000000000000000000 --- a/src/assembly/misc-files.xml +++ /dev/null @@ -1,10 +0,0 @@ -<component> - <fileSets> - <fileSet> - <includes> - <include>LICENSE.txt</include> - <include>NOTICE.txt</include> - </includes> - </fileSet> - </fileSets> -</component> diff --git a/src/assembly/source-assembly.xml b/src/assembly/source-assembly.xml deleted file mode 100644 index d9dc87506055635b9e719196dbf7780004749139..0000000000000000000000000000000000000000 --- a/src/assembly/source-assembly.xml +++ /dev/null @@ -1,12 +0,0 @@ -<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> - <id>sources</id> - <formats> - <format>zip</format> - </formats> - <componentDescriptors> - <componentDescriptor>src/assembly/misc-files.xml</componentDescriptor> - <componentDescriptor>src/assembly/building-files.xml</componentDescriptor> - </componentDescriptors> -</assembly> \ No newline at end of file diff --git a/design/dem-loading-class-diagram.puml b/src/design/dem-loading-class-diagram.puml similarity index 100% rename from design/dem-loading-class-diagram.puml rename to src/design/dem-loading-class-diagram.puml diff --git a/design/direct-location-class-diagram.puml b/src/design/direct-location-class-diagram.puml similarity index 100% rename from design/direct-location-class-diagram.puml rename to src/design/direct-location-class-diagram.puml diff --git a/design/direct-location-sequence-diagram.puml b/src/design/direct-location-sequence-diagram.puml similarity index 100% rename from design/direct-location-sequence-diagram.puml rename to src/design/direct-location-sequence-diagram.puml diff --git a/design/duvenhage-inner-recursion-activity-diagram.puml b/src/design/duvenhage-inner-recursion-activity-diagram.puml similarity index 100% rename from design/duvenhage-inner-recursion-activity-diagram.puml rename to src/design/duvenhage-inner-recursion-activity-diagram.puml diff --git a/design/duvenhage-top-loop-activity-diagram.puml b/src/design/duvenhage-top-loop-activity-diagram.puml similarity index 100% rename from design/duvenhage-top-loop-activity-diagram.puml rename to src/design/duvenhage-top-loop-activity-diagram.puml diff --git a/design/initialization-class-diagram.puml b/src/design/initialization-class-diagram.puml similarity index 100% rename from design/initialization-class-diagram.puml rename to src/design/initialization-class-diagram.puml diff --git a/design/initialization-sequence-diagram.puml b/src/design/initialization-sequence-diagram.puml similarity index 100% rename from design/initialization-sequence-diagram.puml rename to src/design/initialization-sequence-diagram.puml diff --git a/design/inverse-location-sequence-diagram.puml b/src/design/inverse-location-sequence-diagram.puml similarity index 100% rename from design/inverse-location-sequence-diagram.puml rename to src/design/inverse-location-sequence-diagram.puml diff --git a/design/mayon-volcano.png b/src/design/mayon-volcano.png similarity index 100% rename from design/mayon-volcano.png rename to src/design/mayon-volcano.png diff --git a/design/parametric-los-class-diagram.puml b/src/design/parametric-los-class-diagram.puml similarity index 100% rename from design/parametric-los-class-diagram.puml rename to src/design/parametric-los-class-diagram.puml diff --git a/src/main/assembly/source-distribution-assembly.xml b/src/main/assembly/source-distribution-assembly.xml new file mode 100644 index 0000000000000000000000000000000000000000..91abe41918453dd3a7acea9970c8745a7ede56c4 --- /dev/null +++ b/src/main/assembly/source-distribution-assembly.xml @@ -0,0 +1,25 @@ +<assembly> + <id>sources</id> + <formats> + <format>zip</format> + </formats> + <fileSets> + <fileSet> + <includes> + <include>README.txt</include> + <include>LICENSE.txt</include> + <include>NOTICE.txt</include> + <include>BUILDING.txt</include> + <include>pom.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> +</assembly> \ No newline at end of file diff --git a/src/main/assembly/source-jar-assembly.xml b/src/main/assembly/source-jar-assembly.xml new file mode 100644 index 0000000000000000000000000000000000000000..b79e54ba06f83954e5ad14b26095f2f6f844347d --- /dev/null +++ b/src/main/assembly/source-jar-assembly.xml @@ -0,0 +1,24 @@ +<assembly> + <id>sources</id> + <formats> + <format>jar</format> + </formats> + <includeBaseDirectory>false</includeBaseDirectory> + <fileSets> + <fileSet> + <includes> + <include>LICENSE.txt</include> + <include>NOTICE.txt</include> + </includes> + <outputDirectory>META-INF</outputDirectory> + </fileSet> + <fileSet> + <directory>src/main/java</directory> + <outputDirectory>.</outputDirectory> + <includes> + <include>**/*.java</include> + </includes> + <useDefaultExcludes>true</useDefaultExcludes> + </fileSet> + </fileSets> +</assembly> diff --git a/src/main/java/org/orekit/rugged/adjustment/OptimizationProblemBuilder.java b/src/main/java/org/orekit/rugged/adjustment/OptimizationProblemBuilder.java index cf4c7c9fee1aebe64f502c37d5b4b46e59e043ad..2c607efedfb653e61ecad5606f6c0c12a1720da8 100644 --- a/src/main/java/org/orekit/rugged/adjustment/OptimizationProblemBuilder.java +++ b/src/main/java/org/orekit/rugged/adjustment/OptimizationProblemBuilder.java @@ -49,7 +49,7 @@ import org.orekit.utils.ParameterDriver; * @author Guylaine Prat * @since 2.0 */ - abstract class OptimizationProblemBuilder { +abstract class OptimizationProblemBuilder { /** Margin used in parameters estimation for the inverse location lines range. */ protected static final int ESTIMATION_LINE_RANGE_MARGIN = 100; diff --git a/src/main/java/org/orekit/rugged/adjustment/measurements/SensorToSensorMapping.java b/src/main/java/org/orekit/rugged/adjustment/measurements/SensorToSensorMapping.java index 9bb1249f741006365747cd012a42536de2ab62c8..cb87ba6001bdb68ccb559ac70b9ea33a501a1c5d 100644 --- a/src/main/java/org/orekit/rugged/adjustment/measurements/SensorToSensorMapping.java +++ b/src/main/java/org/orekit/rugged/adjustment/measurements/SensorToSensorMapping.java @@ -208,7 +208,7 @@ public class SensorToSensorMapping { * @param pixelA sensor pixel A * @param pixelB sensor pixel B corresponding to the sensor pixel A (by direct then inverse location) * @param losDistance distance between the two lines of sight - * @param bodyDistance elevation to central body + * @param bodyDistance elevation to central body */ public void addMapping(final SensorPixel pixelA, final SensorPixel pixelB, final Double losDistance, final Double bodyDistance) {