Permalink
84d0f29 Jul 6, 2018
David Benson 3.9.8 release
1 contributor

Users who have contributed to this file

174 lines (142 sloc) 6.4 KB
<!--
Copyright (c) 2008 Gaudenz Alder
-->
<!-- ===================== Project Properties =========================== -->
<project name="mxgraph" default="all" basedir="." xmlns:artifact="antlib:org.apache.maven.artifact.ant">
<property name="product.name" value="JGraph X"/>
<property name="product.version" value="3.9.8"/>
<property name="product.description" value="JGraphX is a Java Swing diagramming (graph visualisation) library licensed under the BSD license"/>
<property name="all.jar" value="jgraphx.jar"/>
<property name="sources.jar" value="jgraphx-sources.jar"/>
<property name="javadoc.jar" value="jgraphx-javadoc.jar"/>
<!-- ===================== Project Environment =========================== -->
<property name="source.home" value="${basedir}/src"/>
<property name="example.home" value="${basedir}/examples"/>
<!-- ==================== Compilation Options ==================== -->
<property name="compile.debug" value="false"/>
<property name="compile.deprecation" value="false"/>
<property name="compile.optimize" value="true"/>
<!-- ==================== Maven Options ==================== -->
<property name="maven.repository.url" value="your_maven_repository_url_here"/>
<property name="maven.repository.id" value="your_maven_repository_id_here"/>
<!-- ==================== All ==================== -->
<target name="all" depends="build"
description="Clean up and build the project"/>
<!-- ==================== Clean ==================== -->
<target name="clean" description="Deletes all generated files and directories">
<delete dir="${basedir}/classes"/>
<delete dir="${basedir}/docs"/>
<delete dir="${basedir}/lib"/>
</target>
<!-- ==================== Init ==================== -->
<target name="init" description="Initializes the build">
<tstamp/>
<mkdir dir="${basedir}/classes"/>
<mkdir dir="${basedir}/docs"/>
<mkdir dir="${basedir}/docs/api"/>
<mkdir dir="${basedir}/docs/manual"/>
<mkdir dir="${basedir}/lib"/>
</target>
<!-- ==================== Compile ==================== -->
<target name="compile" depends="init" description="Compiles the source tree">
<javac srcdir="${source.home}"
debug="${compile.debug}"
deprecation="${compile.deprecation}"
optimize="${compile.optimize}"
destdir="${basedir}/classes">
<classpath>
<pathelement path="${basedir}/classes"/>
</classpath>
</javac>
</target>
<!-- ==================== Doc ==================== -->
<target name="doc" depends="compile" description="Generates the API specification (javadoc)">
<javadoc packagenames="com.mxgraph.*"
sourcepath="${source.home}"
classpath="${basedir}/classes"
destdir="${basedir}/docs/api"
use="true"
author="false"
version="false"
windowtitle="${product.name} ${product.version} API Specification"
doctitle="${product.name} ${product.version} API Specification">
<header><![CDATA[<p><b>${product.name} ${product.version}</b></p>]]></header>
<bottom><![CDATA[<font size=1>Copyright (c) 2010 <a href="http://www.mxgraph.com/"
target="_blank">Gaudenz Alder</a>. All rights reserved.</font>]]></bottom>
<link href="http://download.oracle.com/javase/1.5.0/docs/api/"/>
</javadoc>
</target>
<!-- ==================== Build ==================== -->
<target name="build" depends="doc" description="Builds all Java archives (JARs)">
<jar jarfile="${basedir}/lib/${all.jar}">
<manifest>
<attribute name="Vendor" value="JGraph Ltd"/>
<attribute name="Bundle-Version" value="${product.version}"/>
<attribute name="Bundle-SymbolicName" value="com.mxgraph"/>
<attribute name="Main-Class" value="com.mxgraph.view.mxGraph"/>
</manifest>
<fileset dir="${source.home}">
<exclude name="**/*.java"/>
</fileset>
<fileset dir="${basedir}/classes">
<include name="com/mxgraph/**"/>
</fileset>
</jar>
<delete dir="${basedir}/classes"/>
</target>
<!-- ==================== Maven ==================== -->
<target name="create-pom" description="Creates pom.xml for jgraphx project">
<artifact:pom file="pom.xml" id="pom"
groupId="com.jgraph"
artifactId="jgraphx"
version="${product.version}"
name="${product.name}"
description="${product.description}">
<organization name="jgraph" url="http://www.jgraph.com"/>
<scm url="scm:git:https://github.com/jgraph/jgraphx"/>
<license name="bsd" url="https://github.com/jgraph/jgraphx/blob/master/license.txt"/>
</artifact:pom>
<artifact:writepom pomrefid="pom" file="lib/pom.xml"/>
</target>
<target name="maven-jar" description="Creates sources and javadoc jar files">
<jar jarfile="${basedir}/lib/${sources.jar}">
<fileset dir="${source.home}"/>
</jar>
<jar jarfile="${basedir}/lib/${javadoc.jar}">
<fileset dir="${basedir}/docs/api"/>
</jar>
</target>
<target name="maven-install" depends="create-pom, maven-jar" description="Install artifacts to maven local repository">
<artifact:install file="${basedir}/lib/${all.jar}">
<artifact:pom refid="pom"/>
<attach type="jar" file="${basedir}/lib/${sources.jar}" classifier="sources"/>
<attach type="jar" file="${basedir}/lib/${javadoc.jar}" classifier="javadoc"/>
</artifact:install>
</target>
<target name="maven-deploy" depends="create-pom, maven-jar" description="Deploy artifacts to maven repository">
<artifact:deploy file="${basedir}/lib/${all.jar}">
<artifact:pom refid="pom"/>
<remoterepository url="${maven.repository.url}" id="${maven.repository.id}"/>
<attach type="jar" file="${basedir}/lib/${sources.jar}" classifier="sources"/>
<attach type="jar" file="${basedir}/lib/${javadoc.jar}" classifier="javadoc"/>
</artifact:deploy>
</target>
<!-- ==================== Example ==================== -->
<target name="example" depends="build" description="Compiles the examples">
<javac srcdir="${example.home}" debug="${compile.debug}" deprecation="${compile.deprecation}"
optimize="${compile.optimize}" destdir="${example.home}">
<classpath>
<pathelement path="${basedir}/lib/${all.jar}"/>
</classpath>
</javac>
</target>
<!-- ==================== Editor ==================== -->
<target name="editor" depends="example" description="Runs the graph editor example">
<java fork="true" classname="com.mxgraph.examples.swing.GraphEditor">
<classpath>
<pathelement path="${example.home}"/>
<pathelement path="${basedir}/lib/${all.jar}"/>
</classpath>
</java>
</target>
</project>