view build.xml @ 327:35bf59a760ad

Tagged as release 'release-1.1'
author Andre Heinecke <aheinecke@intevation.de>
date Mon, 15 Oct 2012 12:22:02 +0200
parents 097693a893c1
children dbfcb0b69a63
line wrap: on
line source
<?xml version="1.0"?>
<!DOCTYPE project[
  <!ENTITY properties SYSTEM "properties.xml">
]>
<!--
/*
 * Copyright (c) 2011 by Intevation GmbH, Germany <info@intevation.de>
 * 
 * This file is part of MXD2map.
 *
 * This program is free software under the LGPL (>=v2.1)
 * Read the file LICENCE.txt coming with the software for details
 * or visit http://www.gnu.org/licenses/ if it does not exist.
 *
 * MXD2map has been developed on behalf of the
 * Bundesamt fuer Seeschifffahrt und Hydrographie (BSH) in Hamburg
 * by Intevation GmbH.
 *
 * Authors:
 * Raimund Renkert <raimund.renkert@intevation.de>
 * Bjoern Schilberg <bjoern.schilberg@intevation.de>
 * Stephan Holl <stephan.holl@intevation.de>
*/
-->

<!-- :mode=ant -->

<project name="MXD-Konverter" default="all" basedir=".">
  <!-- import external XML fragments -->
  &properties;
  <!-- import sample properties -->
  <!-- TODO: edit sample.properties file before importing -->
  <property file="sample.properties"/>
  <path id="compile.classpath">
    <pathelement location="${arcobjects.jar}"/>
    <fileset dir="${libs.dir}">
      <include name="**/*.jar"/>
    </fileset>
  </path>
  <path id="run.classpath">
    <path refid="compile.classpath"/>
    <pathelement location="${class.dir}"/>
    <pathelement location="${src.dir}"/>
  </path>

  <!-- ========================================= -->
  <!-- private targets -->
  <!-- ========================================= -->
  <target name="revision">
    <property name="current" value="parent"/>
    <exec executable="hg" outputproperty="hash">
	    <arg line="${current} --template '{node|short}'"/>
    </exec>
  </target>

  <target name="init">
    <!-- create the time stamp -->
    <tstamp/>
    <!-- create the build directory structure used by compile -->
    <mkdir dir="${build.dir}"/>
    <mkdir dir="${class.dir}"/>
  </target>

  <target name="validate-runtime" depends="init">
    <condition property="runtimeAvailable">
      <isset property="runtime.home"/>
    </condition>
    <fail message="No runtime installed. You need to install ArcGIS Engine, Desktop or Server to run this sample." unless="runtimeAvailable"/>
  </target>

  <target name="compile" depends="validate-runtime">
  <!-- javac resolver needed to run inside of Websphere Studio -->
    <available classname="org.eclipse.core.launcher.Main" property="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter" classpath="${java.class.path}" />
    <!-- compile the java code from ${src.dir} into ${class.dir} -->
    <javac srcdir="${src.dir}" destdir="${class.dir}" debug="on">
      <classpath refid="compile.classpath"/>
    </javac>
    <copy todir="${class.dir}">
      <fileset dir="${src.dir}" includes="**/icons/*" />
    </copy>
  </target>

  <target name="jar" depends="compile,revision">
    <mkdir dir="${dist.dir}" />
    <jar jarfile="${dist.dir}/mxd2map-${hash}.jar" compress="true" basedir="${class.dir}">
      <manifest>
        <attribute name="Main-Class" value="de.intevation.mxd.Converter"/>
	<attribute name="Class-Path" value="lib/log4j.jar lib/mapscript.jar lib/arcobjects.jar lib/jargs.jar lib/commons-codec.jar"/>
      </manifest>
    </jar>
  </target>

  <target name="jar-norevision" depends="compile">
    <mkdir dir="${dist.dir}" />
    <jar jarfile="${dist.dir}/mxd2map.jar" compress="true" basedir="${class.dir}">
      <manifest>
        <attribute name="Main-Class" value="de.intevation.mxd.Converter"/>
	<attribute name="Class-Path" value="lib/log4j.jar lib/mapscript.jar lib/jargs.jar lib/commons-codec.jar"/>
      </manifest>
    </jar>
  </target>

  <target name="usage">
    <echo message="Execute 'ant -projecthelp' for the build file help"/>
    <echo message="Execute 'ant -help' for Ant help"/>
  </target>

  <target name="execute" depends="compile">
    <java classname="de.intevation.mxd.Converter" failonerror="true" fork="true">
      <jvmarg value="-Xss2m"/>
      <classpath refid="run.classpath"/>
      <sysproperty key="mxd.file" value="${MXDFILE}"/>
    </java>
  </target>

  <!-- ========================================= -->
  <!-- public targets -->
  <!-- ========================================= -->

  <target name="all" depends="compile" description="build everything">
    <echo message="application built"/>
  </target>

  <target name="clean" description="clean all build products">
    <!-- delete the ${build} directory trees -->
    <delete dir="${build.dir}"/>
    <echo message="build directory gone!"/>
  </target>

  <target name="doc" description="Create javadoc.">
    <javadoc packagenames="de.intevation.mxd.*"
	     sourcepath="${src.dir}"
             defaultexcludes="yes"
	     destdir="${doc.dir}/javadoc"
             author="true"
             version="true"
	     windowtitle="MXD2map">
      <fileset dir="${src.dir}">
        <include name="**/*.java" />
      </fileset>	   
      <doctitle><![CDATA[<h1>MXD2map</h1>]]></doctitle>
      <bottom><![CDATA[<i>Copyright &#169; 2011 Intevation GmbH. All Rights Reserved.</i>]]></bottom>
      <group title="Reader" packages="de.intevation.mxd.reader.*"/>
      <group title="Writer" packages="de.intevation.mxd.writer.*"/>
      <group title="Utilities" packages="de.intevation.mxd.utils.*"/>
    </javadoc>
  </target>

  <target name="help" depends="usage" description="usage" />
  <target name="dist" depends="jar" description="create distributable products" />
  <target name="run-sample" depends="execute" description="execute the sample with args set in sample.properties"/>
</project>
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)