Skip to content
Snippets Groups Projects
build.xml 7.92 KiB
Newer Older
<?xml version="1.0" encoding="UTF-8"?>

<project name="orekit" default="jar" basedir=".">
  <property name="project.version"         value="9.2-SNAPSHOT"   />
  <property name="src.dir"                 location="src"                    />
  <property name="main.src.dir"            value="${src.dir}/main/java"      />
  <property name="main.resources.dir"      value="${src.dir}/main/resources" />
  <property name="test.src.dir"            value="${src.dir}/test/java"      />
  <property name="test.resources.dir"      value="${src.dir}/test/resources" />
  <property name="build.dir"               location="build"                  />
  <property name="main.classes.dir"        value="${build.dir}/classes"      />
  <property name="test.classes.dir"        value="${build.dir}/test-classes" />
  <property name="javadoc.dir"             value="${build.dir}/javadoc"      />
  <property name="tests.reports"           value="${build.dir}/test-reports" />
  <property name="lib.dir"                 location="lib"                    />

  <property name="hipparchus.version"      value="1.2"                                           />
  <property name="hipparchus.core.jar"     value="hipparchus-core-${hipparchus.version}.jar"     />
  <property name="hipparchus.geometry.jar" value="hipparchus-geometry-${hipparchus.version}.jar" />
  <property name="hipparchus.ode.jar"      value="hipparchus-ode-${hipparchus.version}.jar"      />
  <property name="hipparchus.fitting.jar"  value="hipparchus-fitting-${hipparchus.version}.jar"  />
  <property name="hipparchus.optim.jar"    value="hipparchus-optim-${hipparchus.version}.jar"    />
Luc Maisonobe's avatar
Luc Maisonobe committed
  <property name="hipparchus.stat.jar"     value="hipparchus-stat-${hipparchus.version}.jar"     />
  <property name="hipparchus.maven.path"   value="org/hipparchus"                                />
  <property name="junit.version"           value="4.12"                                          />
  <property name="junit.jar"               value="junit-${junit.version}.jar"                    />
  <property name="junit.maven.path"        value="junit/junit"                                   />
  <property name="hamcrest.version"        value="1.3"                                           />
  <property name="hamcrest.core.jar"       value="hamcrest-core-${hamcrest.version}.jar"         />
  <property name="hamcrest.maven.path"     value="org/hamcrest"                                  />
  <property name="maven.repository"        value="http://repo1.maven.org/maven2"                 />
Luc Maisonobe's avatar
Luc Maisonobe committed
  <property name="copyright"               value="2002-2018 CS Syst&#232;mes d&#039;Information" />
  <available file="${lib.dir}/${hipparchus.core.jar}" property="libs.present" />
  <target name="clean" description="Clean the build directory">
    <delete dir="${build.dir}"/>
  </target>

  <target name="clean-lib" description="Clean the lib directory">
Luc Maisonobe's avatar
Luc Maisonobe committed
  </target>

  <target name="clean-all" depends="clean,clean-lib"
          description="Clean the build and lib directories">
  <target name="get-libs" description="Get libraries" unless="libs.present">
    <!-- if you need to set up a proxy to download artifacts,
         uncomment and edit the following setproxy task -->
    <!-- <setproxy proxyhost="my-proxy.my-company.com" proxyport="8080"
              proxyUser="username" proxyPassword="password"/> -->
    <mkdir dir="${lib.dir}"/>
    <get src="${maven.repository}/${hipparchus.maven.path}/hipparchus-core/${hipparchus.version}/${hipparchus.core.jar}"
         dest="${lib.dir}/${hipparchus.core.jar}"/>
    <get src="${maven.repository}/${hipparchus.maven.path}/hipparchus-geometry/${hipparchus.version}/${hipparchus.geometry.jar}"
         dest="${lib.dir}/${hipparchus.geometry.jar}"/>
    <get src="${maven.repository}/${hipparchus.maven.path}/hipparchus-ode/${hipparchus.version}/${hipparchus.ode.jar}"
         dest="${lib.dir}/${hipparchus.ode.jar}"/>
    <get src="${maven.repository}/${hipparchus.maven.path}/hipparchus-fitting/${hipparchus.version}/${hipparchus.fitting.jar}"
         dest="${lib.dir}/${hipparchus.fitting.jar}"/>
    <get src="${maven.repository}/${hipparchus.maven.path}/hipparchus-optim/${hipparchus.version}/${hipparchus.optim.jar}"
         dest="${lib.dir}/${hipparchus.optim.jar}"/>
    <get src="${maven.repository}/${hipparchus.maven.path}/hipparchus-stat/${hipparchus.version}/${hipparchus.stat.jar}"
Luc Maisonobe's avatar
Luc Maisonobe committed
         dest="${lib.dir}/${hipparchus.stat.jar}"/>
    <get src="${maven.repository}/${junit.maven.path}/${junit.version}/${junit.jar}"
         dest="${lib.dir}/${junit.jar}"/>
    <get src="${maven.repository}/${hamcrest.maven.path}/hamcrest-core/${hamcrest.version}/${hamcrest.core.jar}"
         dest="${lib.dir}/${hamcrest.core.jar}"/>
  <target name="compile" depends="get-libs" description="Compile the code">
    <mkdir dir="${main.classes.dir}"/>
    <javac srcdir="${main.src.dir}" destdir="${main.classes.dir}" includeantruntime="false"
Luc Maisonobe's avatar
Luc Maisonobe committed
           classpath="${lib.dir}/${hipparchus.core.jar}:${lib.dir}/${hipparchus.geometry.jar}:${lib.dir}/${hipparchus.ode.jar}:${lib.dir}/${hipparchus.fitting.jar}:${lib.dir}/${hipparchus.optim.jar}:${lib.dir}/${hipparchus.stat.jar}"
           deprecation="true" target="1.8" source="1.8">
    </javac>
    <copy todir="${main.classes.dir}">
      <fileset dir="${main.resources.dir}"/>
    </copy>
  </target>

  <target name="compile-tests" depends="compile" description="Compile the test code" >
    <mkdir dir="${test.classes.dir}"/>
    <javac srcdir="${test.src.dir}" destdir="${test.classes.dir}" includeantruntime="false"
    	   classpath="${main.classes.dir}:${lib.dir}/${junit.jar}:${lib.dir}/${hamcrest.core.jar}:${lib.dir}/${hipparchus.core.jar}:${lib.dir}/${hipparchus.geometry.jar}:${lib.dir}/${hipparchus.ode.jar}:${lib.dir}/${hipparchus.fitting.jar}:${lib.dir}/${hipparchus.optim.jar}:${lib.dir}/${hipparchus.stat.jar}"
    	   deprecation="true" target="1.8" source="1.8">
    </javac>
    <copy todir="${test.classes.dir}">
      <fileset dir="${test.resources.dir}"/>
    </copy>
  </target>

  <target name="test" depends="compile-tests" description="Run the tests">
    <mkdir dir="${tests.reports}"/>
    <junit fork="yes" haltonerror="yes" haltonfailure="yes">
Luc Maisonobe's avatar
Luc Maisonobe committed
        <pathelement location="${main.classes.dir}"                   />
        <pathelement location="${test.classes.dir}"                   />
        <pathelement location="${lib.dir}/${hipparchus.core.jar}"     />
      	<pathelement location="${lib.dir}/${hipparchus.geometry.jar}" />
      	<pathelement location="${lib.dir}/${hipparchus.ode.jar}"      />
      	<pathelement location="${lib.dir}/${hipparchus.fitting.jar}"  />
      	<pathelement location="${lib.dir}/${hipparchus.optim.jar}"    />
      	<pathelement location="${lib.dir}/${hipparchus.stat.jar}"     />
      	<pathelement location="${lib.dir}/${junit.jar}"               />
      	<pathelement location="${lib.dir}/${hamcrest.core.jar}"       />
      <formatter type="plain" usefile="false"/>
      <batchtest todir="${tests.reports}">
        <fileset dir="${test.src.dir}">
          <include name="**/*Test.java"/>
          <exclude name="**/*Abstract*.java"/>
        </fileset>
      </batchtest>
    </junit>
  </target>

  <target name="jar" depends="compile,test" description="create the jar file">
    <jar jarfile="${build.dir}/${ant.project.name}-${project.version}.jar"
         basedir="${main.classes.dir}"/>
  </target>

  <target name="javadoc" description="create javadoc">
    <javadoc sourcepath="${main.src.dir}" destdir="${javadoc.dir}"
             overview="${main.src.dir}/org/orekit/overview.html"
             encoding="UTF-8" version="true" use="true" author="true"
             charset="UTF-8" docencoding="UTF-8"
             bottom="&lt;i&gt;Copyright &#169; ${copyright}. All Rights Reserved.&lt;/i&gt;">
      <link href="http://docs.oracle.com/javase/8/docs/api/"/>
Luc Maisonobe's avatar
Luc Maisonobe committed
      <link href="https://www.hipparchus.org/apidocs/"/>