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

    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="NBI_Engine" default="default" basedir=".">
    <property file="build.properties"/>
    <property file="${native.dirname}/build.properties"/>

    <!-- prepend bootclasspath for JDK 9+ JEP 272: Platform-Specific Desktop Features stubs -->
    <condition property="desktop-classes-classes.dir" value="build/desktop-classes-classes" else="${build.dir}/desktop-classes-classes">
      <isset property="IS_NB_INSTALLER"/>
    </condition>
    <condition property="endorsed.classpath" value="${desktop-classes-classes.dir}" else="" >
      <not>
        <isset property="permit.jdk9.builds"/>
      </not>
    </condition>

    <import file="nbproject/build-impl.xml"/>
    <import file="${native.dirname}/build.xml"/>
    
    <!-- =======================================================================
        Target overrides
    ======================================================================== -->
    <target name="-post-clean" depends="native-clean"/>
    <target name="-post-compile" depends="native-build,copy-native,create-jar-contents-list,probe"/>

    <!-- =======================================================================
        Support JDK 9+ JEP 272: Platform-Specific Desktop Features.
    ======================================================================== -->

    <condition property="relative.nbbuild.dir" value="../../../../../../.." else="../..">
      <isset property="IS_NB_INSTALLER"/>
    </condition>
    
    <!-- NetBeans Installer makes a copy then compiles again so check if directory exists -->
    <condition property="nbbuild.dir" value="${relative.nbbuild.dir}/nbbuild" else="../../../../../../../../../../../../nbbuild">
      <available file="${relative.nbbuild.dir}/nbbuild"/>
    </condition>    
    
    <target name="-define-downloadbinaries-task" unless="have-downloadbinaries-task">
      <taskdef name="downloadbinaries" classname="org.netbeans.nbbuild.extlibs.DownloadBinaries" classpath="${nbbuild.dir}/build/antclasses"/>
      <property name="have-downloadbinaries-task" value="true" />
    </target>

    <import file="${nbbuild.dir}/binaries-default-properties.xml"/>

    <target name="-download.release.files" depends="-define-downloadbinaries-task">
        <downloadbinaries cache="${binaries.cache}" server="${binaries.server}">
            <manifest dir=".">
                <include name="external/binaries-list"/>
            </manifest>
        </downloadbinaries>
    </target>

    <available property="desktop.classes.available" classname="java.awt.desktop.AppEvent"/>

    <target name="-compile-depend" depends="-download.release.files" unless="desktop.classes.available">
          <mkdir dir="${build.dir}/desktop-classes-src" />
          <unzip src="external/applemenu-external-desktop-classes-8.2.zip" dest="${build.dir}/desktop-classes-src"/>
          <mkdir dir="${build.dir}/desktop-classes-classes" />
          <javac srcdir="${build.dir}/desktop-classes-src" destdir="${build.dir}/desktop-classes-classes"/>
    </target>

    <!-- =======================================================================
        NetBeans Installer engine specific targets
    ======================================================================== -->
    
    <target name="create-jar-contents-list">
        <pathconvert property="build.classes.dir.normalized" dirsep="/">
           <path location="${build.classes.dir}"/>
        </pathconvert>
        <pathconvert pathsep="${line.separator}" property="engine.files" dirsep="/">
        <fileset dir="${build.classes.dir}" includes="${jar.contents.includes}"/>
        <mapper>
          <chainedmapper>
            <globmapper handledirsep="true" from="${build.classes.dir.normalized}/*" to="*"/>
          </chainedmapper>
        </mapper>
        </pathconvert>
        <echo file="${build.classes.dir}/${jar.contents.list}">${engine.files}</echo>
    </target>
    
    <target name="copy-unix-launcher">
        <mkdir dir="${build.classes.dir}/${native.dirname}/${native.launcher.unix.stub.dst.dir}"/>
        
        <!-- copy windows launcher stub -->
        <copy file="${native.dirname}/${native.launcher.unix.stub.src}" 
              todir="${build.classes.dir}/${native.dirname}/${native.launcher.unix.stub.dst.dir}"/>
        
        <!-- copy windows launcher i18n messages -->
        <copy todir="${build.classes.dir}/${native.dirname}/${native.launcher.unix.i18n.dir}">
            <fileset dir="${native.dirname}/${native.launcher.unix.i18n.dir}">
                <include name="*"/>
            </fileset>
        </copy>
    </target>

   <target name="copy-windows-launcher">	
        <mkdir dir="${build.classes.dir}/${native.dirname}/${native.launcher.windows.stub.dst.dir}"/>
        
        <!-- copy windows launcher stub -->
        <copy file="${native.dirname}/${native.launcher.windows.stub.src}" 
              todir="${build.classes.dir}/${native.dirname}/${native.launcher.windows.stub.dst.dir}"/>
        
        <!-- copy windows launcher i18n messages -->
        <copy todir="${build.classes.dir}/${native.dirname}/${native.launcher.windows.i18n.dir}">
            <fileset dir="${native.dirname}/${native.launcher.windows.i18n.dir}">
                <include name="*"/>
            </fileset>
        </copy>
    </target>

    <target name="copy-native">
	
	<antcall target="copy-jnilibs"/>
	
	<antcall target="copy-launchers"/>
        <antcall target="copy-cleaners"/>
	
    </target>

    <target name="copy-jnilibs">
	<mkdir dir="${build.classes.dir}/${native.dirname}/${native.jnilib.dir}"/>
	<mkdir dir="${build.classes.dir}/${native.dirname}/${native.jnilib.dir.windows}"/>
	<mkdir dir="${build.classes.dir}/${native.dirname}/${native.jnilib.dir.linux}"/>
	<mkdir dir="${build.classes.dir}/${native.dirname}/${native.jnilib.dir.solaris-sparc}"/>
	<mkdir dir="${build.classes.dir}/${native.dirname}/${native.jnilib.dir.solaris-x86}"/>
	<mkdir dir="${build.classes.dir}/${native.dirname}/${native.jnilib.dir.macosx}"/>

        <copy file="${native.dirname}/${native.jnilib.dir.windows}/${native.dist.dir}/${native.jnilib.file.windows.i386}" 
              todir="${build.classes.dir}/${native.dirname}/${native.jnilib.dir.windows}"/>
        <copy file="${native.dirname}/${native.jnilib.dir.windows}/${native.dist.dir}/${native.jnilib.file.windows.amd64}" 
              todir="${build.classes.dir}/${native.dirname}/${native.jnilib.dir.windows}"/>
        <copy file="${native.dirname}/${native.jnilib.dir.windows}/${native.dist.dir}/${native.jnilib.file.windows.ia64}" 
              todir="${build.classes.dir}/${native.dirname}/${native.jnilib.dir.windows}"/>
        <copy file="${native.dirname}/${native.jnilib.dir.linux}/${native.dist.dir}/${native.jnilib.file.linux.i386}" 
              todir="${build.classes.dir}/${native.dirname}/${native.jnilib.dir.linux}"/>
	<copy file="${native.dirname}/${native.jnilib.dir.linux}/${native.dist.dir}/${native.jnilib.file.linux.amd64}" 
              todir="${build.classes.dir}/${native.dirname}/${native.jnilib.dir.linux}"/>
        <copy file="${native.dirname}/${native.jnilib.dir.solaris-x86}/${native.dist.dir}/${native.jnilib.file.solaris-x86}" 
              todir="${build.classes.dir}/${native.dirname}/${native.jnilib.dir.solaris-x86}"/>
	<copy file="${native.dirname}/${native.jnilib.dir.solaris-x86}/${native.dist.dir}/${native.jnilib.file.solaris-amd64}" 
              todir="${build.classes.dir}/${native.dirname}/${native.jnilib.dir.solaris-x86}"/>
        <copy file="${native.dirname}/${native.jnilib.dir.solaris-sparc}/${native.dist.dir}/${native.jnilib.file.solaris-sparc}" 
              todir="${build.classes.dir}/${native.dirname}/${native.jnilib.dir.solaris-sparc}"/>
	<copy file="${native.dirname}/${native.jnilib.dir.solaris-sparc}/${native.dist.dir}/${native.jnilib.file.solaris-sparcv9}" 
              todir="${build.classes.dir}/${native.dirname}/${native.jnilib.dir.solaris-sparc}"/>
        <copy file="${native.dirname}/${native.jnilib.dir.macosx}/${native.dist.dir}/${native.jnilib.file.macosx}" 
              todir="${build.classes.dir}/${native.dirname}/${native.jnilib.dir.macosx}"/>
    </target>

    <target name="copy-launchers">
	
	<antcall target="copy-windows-launcher"/>	
        <antcall target="copy-unix-launcher"/>
	
    </target>

    <target name="copy-cleaners">
	<mkdir dir="${build.classes.dir}/${native.dirname}/${native.cleaner.dir}"/>
	<mkdir dir="${build.classes.dir}/${native.dirname}/${native.cleaner.windows.dir}"/>
	<mkdir dir="${build.classes.dir}/${native.dirname}/${native.cleaner.unix.dir}"/>

	<copy file="${native.dirname}/${native.cleaner.windows.srcdir}/${native.cleaner.windows.file}" 
              todir="${build.classes.dir}/${native.dirname}/${native.cleaner.windows.dir}"/>
	<copy file="${native.dirname}/${native.cleaner.unix.srcdir}/${native.cleaner.unix.file}" 
              todir="${build.classes.dir}/${native.dirname}/${native.cleaner.unix.dir}"/>
        
    </target>

    <target name="probe" depends="init">
        <available property="probe.javac.source" value="1.6" classname="java.lang.Module"/>
        <available property="probe.javac.target" value="1.6" classname="java.lang.Module"/>
        <available property="probe.javac.source" value="1.6" file="${nbjdk.home}/bin/jmod"/>
        <available property="probe.javac.target" value="1.6" file="${nbjdk.home}/bin/jmod"/>
        <property name="probe.javac.source" value="1.4"/>
        <property name="probe.javac.target" value="1.4"/>
        <mkdir dir="${build.classes.dir}/org/netbeans/installer/utils/applications/"/>
        <javac srcdir="probesrc" destdir="${build.classes.dir}/org/netbeans/installer/utils/applications/" source="${probe.javac.source}" debug="true" deprecation="true" target="${probe.javac.target}"/>
    </target>

</project>
