<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License.  You may obtain a copy of the License at
  
       http://www.apache.org/licenses/LICENSE-2.0
  
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->

<project name="j9vm" default="build">
    <description>
        Layout IBM VME in the required format 
    </description>

    <fail message="Property 'hy.hdk' is not defined">
        <condition>
            <not><isset property="hy.hdk" /></not>
        </condition>
    </fail>

    <!-- set the path root for the external resources  -->
    <property name="common.resources" value="../common_resources" />
    <fail>
        <condition>
            <not>
                <available file="${common.resources}/make/properties.xml"/>
            </not>
        </condition>
        Primary dependency is missing: common_resources.
        You need to check it out from SVN repository or specify it's location:
        ant -Dcommon.resources=path
    </fail>
    <import file="${common.resources}/make/properties.xml"/>

    <property name="ibm.vme.dir" value="${hy.os}-${hy.arch}.vme" />

    <target name="build">
        <mkdir dir="${hy.hdk}/jdk" />
        <copy todir="${hy.hdk}/jdk">
            <fileset dir="${ibm.vme.dir}" />
        </copy>
    </target>

    <target name="fetch-depends" />

    <target name="clean">
        <delete failonerror="false">
            <fileset dir="${hy.hdk}/jdk">
                <present targetdir="${ibm.vme.dir}"/>
            </fileset>
        </delete>
    </target>

</project>
