<?xml version="1.0" encoding="UTF-8"?>

<!--
 Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.

 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions
 are met:

   - Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.

   - Redistributions in binary form must reproduce the above copyright
     notice, this list of conditions and the following disclaimer in the
     documentation and/or other materials provided with the distribution.

   - Neither the name of Oracle nor the names of its
     contributors may be used to endorse or promote products derived
     from this software without specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
 IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
 THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->


<!-- 
  This is ant (http://ant.apache.org) build script to build the jconsole 
  script console plugin.
-->
 
<project name="JConsole Script Shell Plugin" default="all" basedir=".">

  <!-- property definitions -->
  <property name="app.name" value="jconsole-plugin"/>
  <property name="src.dir"  value="src"/>  
  <property name="jconsole.jar.dir"  value="${java.home}/../lib"/>
  <property name="build.dir"  value="."/>
  <property name="dist.jar" value="${build.dir}/${app.name}.jar"/>
  <property name="classes.dir"  value="${build.dir}/classes"/>
  <property name="resources.dir"  value="${classes.dir}/resources"/>


  <!-- make directories required -->
  <target name="prepare">
    <mkdir dir="${classes.dir}"/>
  </target>

  <target name="clean">
     <delete file="${dist.jar}"/>
     <delete dir="${classes.dir}"/>
  </target>

  <!-- we need jconsole.jar in CLASSPATH to build -->
  <path id="javac.classpath">
    <pathelement path="${jconsole.jar.dir}/jconsole.jar" />
  </path>

  <target name="compile" depends="prepare" description="compiles the sources">
    <javac srcdir="${src.dir}"
           destdir="${classes.dir}"
           debug="on" deprecation="on">
      <classpath refid="javac.classpath" />
    </javac>
    <copy todir="${classes.dir}/META-INF/services">
      <fileset dir="${src.dir}/META-INF/services"/>
    </copy>
    <copy todir="${resources.dir}">
      <fileset dir="${src.dir}/resources"/>
    </copy>
  </target>

  <target name="all" depends="compile" description="buile deployment bundle">
    <jar jarfile="${dist.jar}"
         basedir="${classes.dir}"/>
  </target>

</project>
