<?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="default" default="init" basedir=".">
  <import file="default-properties.xml"/>
  <import file="jdk.xml"/>

  <defaultexcludes add="**/.ade_path/**"/>

  <target name="init-tasks" unless="tasks-already-set">
    <taskdef name="jnlpupdatemanifeststartup"
         classname="org.netbeans.nbbuild.JNLPUpdateManifestStartup"
         classpath="${nbantext.jar}"/>
    <taskdef name="jnlpupdatemanifestbranding"
         classname="org.netbeans.nbbuild.JNLPUpdateManifestBranding"
         classpath="${nbantext.jar}"/>
    <taskdef name="jhindexer"
         classname="org.netbeans.nbbuild.JHIndexer"
         classpath="${nbantext.jar}"/>
    <taskdef name="makenbm"
         classname="org.netbeans.nbbuild.MakeNBM"
         classpath="${nbantext.jar}"/>
    <taskdef name="makejnlp"
         classname="org.netbeans.nbbuild.MakeJNLP"
         classpath="${nbantext.jar}"/>
    <taskdef name="makemasterjnlp"
         classname="org.netbeans.nbbuild.MakeMasterJNLP"
         classpath="${nbantext.jar}"/>
    <taskdef name="genlist"
         classname="org.netbeans.nbbuild.MakeListOfNBM"
         classpath="${nbantext.jar}"/>
    <taskdef name="setcluster"
         classname="org.netbeans.nbbuild.SetCluster"
         classpath="${nbantext.jar}"/>
    <taskdef name="getmodulename"
         classname="org.netbeans.nbbuild.GetModuleName"
         classpath="${nbantext.jar}"/>
    <taskdef name="createmodulexml"
         classname="org.netbeans.nbbuild.CreateModuleXML"
         classpath="${nbantext.jar}"/>
    <taskdef name="locjar"
         classname="org.netbeans.nbbuild.LocalizedJar"
         classpath="${nbantext.jar}"/>
    <taskdef name="locjhindexer"
         classname="org.netbeans.nbbuild.LocJHIndexer"
         classpath="${nbantext.jar}"/>
    <taskdef name="locfiles"
         classname="org.netbeans.nbbuild.LocFiles"
         classpath="${nbantext.jar}"/>
    <taskdef name="locmakenbm"
         classname="org.netbeans.nbbuild.LocMakeNBM"
         classpath="${nbantext.jar}"/>
    <taskdef name="parseprojectxml"
         classname="org.netbeans.nbbuild.ParseProjectXml"
         classpath="${nbantext.jar}"/>
    <taskdef name="processjsannotation"
         classname="org.netbeans.nbbuild.ProcessJsAnnotationsTask"
         classpath="${nbantext.jar}"/>
    <taskdef name="jarwithmoduleattributes"
         classname="org.netbeans.nbbuild.JarWithModuleAttributes"
         classpath="${nbantext.jar}"/>
    <taskdef name="arch"
         classname="org.netbeans.nbbuild.Arch"
         classpath="${nbantext.jar}"/>
    <taskdef name="autoupdate"
         classname="org.netbeans.nbbuild.AutoUpdate"
         classpath="${nbantext.jar}"/>
    <taskdef name="fixdependencies"
         classname="org.netbeans.nbbuild.FixDependencies"
         classpath="${nbantext.jar}"/>
    <taskdef name="sortsuitemodules"
         classname="org.netbeans.nbbuild.SortSuiteModules"
         classpath="${nbantext.jar}"/>
    <taskdef name="verifyclasslinkage"
         classname="org.netbeans.nbbuild.VerifyClassLinkage"
         classpath="${nbantext.jar}"/>
    <taskdef name="checklicense"
         classname="org.netbeans.nbbuild.CheckLicense"
         classpath="${nbantext.jar}"/>
    <taskdef name="fixtestdeps"
         classname="org.netbeans.nbbuild.FixTestDependencies"
         classpath="${nbantext.jar}"/>
    <taskdef name="shorterpaths"
         classname="org.netbeans.nbbuild.ShorterPaths"
         classpath="${nbantext.jar}"/>
    <taskdef name="convertimport"
         classname="org.netbeans.nbbuild.ConvertImport"
         classpath="${nbantext.jar}"/>
    <taskdef name="hgid"
         classname="org.netbeans.nbbuild.HgId"
         classpath="${nbantext.jar}"/>
    <typedef name="pathfileset" classname="org.netbeans.nbbuild.PathFileSet"
         classpath="${nbantext.jar}"/>
    <taskdef name="parsemanifest" classname="org.netbeans.nbbuild.ParseManifest"
         classpath="${nbantext.jar}"/>
    <typedef name="islocked" classname="org.netbeans.nbbuild.IsLocked"
         classpath="${nbantext.jar}"/>
    <taskdef name="subant-junit" classname="org.netbeans.nbbuild.SubAntJUnitReport" classpath="${nbantext.jar}"/>
    <taskdef name="resolvelist" classname="org.netbeans.nbbuild.ResolveList" classpath="${nbantext.jar}"/>
    <taskdef name="checkmoduleconfigs" classname="org.netbeans.nbbuild.CheckModuleConfigs" classpath="${nbantext.jar}"/>
    <property name="tasks-already-set" value="true"/>
  </target>

  <target name="init" depends="init-tasks,-define-cluster-path">
    <!-- Gets the module name -->
    <getmodulename name="module.name" id="module.id" root="${nb_all}"/>

    <property name="javac.default.target" value="1.8"/>

    <property name="cluster.dir.fallback" value="extra" />
    <setcluster name="cluster.dir" module="${module.name}" defaultLocation="${cluster.dir.fallback}" clusterName="module.cluster.name"/>
    <property name="cluster.dir" value="${cluster.dir.fallback}"/>

    <property name="cluster" location="${netbeans.dest.dir}/${cluster.dir}"/> <!-- #59872 -->

    <!-- Creating the output directory -->
    <mkdir dir="${cluster}"/>

    <!-- Writing the module's cluster to property file -->
    <propertyfile file="${moduleCluster.file}">
      <entry  key="${module.name}.dir" value="$${netbeans.dest.dir}/${cluster.dir}"/>
      <entry  key="${module.id}.dir" value="$${netbeans.dest.dir}/${cluster.dir}"/>
    </propertyfile>
    <property name="${module.name}.dir" value="${netbeans.dest.dir}/${cluster.dir}"/>
    <property name="${module.id}.dir" value="${netbeans.dest.dir}/${cluster.dir}"/>
  </target>

  <target name="-define-cluster-path">
    <!-- netbeans.dest.dir -> cluster.path.id translation for NB.org modules -->
    <loadfile property="cluster.path.evaluated" srcfile="${nb_all}/nbbuild/cluster.properties">
        <filterchain>
            <linecontainsregexp><regexp pattern="^nb[.]cluster[.].+[.]dir="/></linecontainsregexp>
            <replaceregex pattern="^nb[.]cluster[.].+[.]dir=" replace="=" byline="true"/>
            <replacestring from="=" to="${path.separator}${netbeans.dest.dir}${file.separator}" byline="true"/>
            <striplinebreaks/>
        </filterchain>
    </loadfile>
    <path id="cluster.path.id" path="${cluster.path.evaluated}"/>
    <property name="cluster.path.final" refid="cluster.path.id"/>
  </target>

  <target name="-do-set-buildnumber" depends="init-tasks" unless="buildnumber">
    <tstamp>
    	<format property="buildstamp" pattern="yyyyMMdd"/>
    </tstamp>
    <tstamp>
    	<format property="buildday" pattern="d MMM yyyy" locale="en" />
    </tstamp>
    <condition property="buildnumber" value="${metabuild.RawVersion}-${metabuild.hash}">
        <and>
            <isset property="metabuild.hash" />
            <isset property="metabuild.RawVersion" />
        </and>
    </condition>
    <property environment="hudson"/>
    <condition property="buildnumber" value="${hudson.JOB_NAME}-${hudson.BUILD_NUMBER}-on-${buildstamp}">
      <and>
        <isset property="hudson.JOB_NAME"/>
        <isset property="hudson.BUILD_NUMBER"/>
      </and>
    </condition>
    <hgid property="hg.id" file="."/>
    <property name="buildnumber" value="${buildstamp}-${hg.id}"/>
    <echo message="Build number : ${buildnumber}" />
  </target>

  <target name="set-buildnumber" depends="-do-set-buildnumber">
    <!-- Overridable. Note: need not necessarily be a number at all): -->
    <property name="buildnum" value="dev-${buildnumber}"/>
  </target>

  <target name="-load-module-flags">
      <dirname property="default.basedir" file="${ant.file.default}"/>
      <loadfile property="jms-base.flags" srcFile="${default.basedir}/jms-config/base.flags">
          <filterchain>
              <tokenfilter>
                  <replaceregex pattern="--" replace=" -J--" />
              </tokenfilter>
              <striplinebreaks/>
          </filterchain>
      </loadfile>
      <loadfile property="jms-desktop.flags" srcFile="${default.basedir}/jms-config/desktop.flags">
          <filterchain>
              <tokenfilter>
                  <replaceregex pattern="--" replace=" -J--" />
              </tokenfilter>
              <striplinebreaks/>
          </filterchain>
      </loadfile>
      <loadfile property="jms-compiler.flags" srcFile="${default.basedir}/jms-config/compiler.flags">
          <filterchain>
              <tokenfilter>
                  <replaceregex pattern="--" replace=" -J--" />
              </tokenfilter>
              <striplinebreaks/>
          </filterchain>
      </loadfile>
      <loadfile property="jms-tools.flags" srcFile="${default.basedir}/jms-config/tools.flags">
          <filterchain>
              <tokenfilter>
                  <replaceregex pattern="--" replace=" -J--" />
              </tokenfilter>
              <striplinebreaks/>
          </filterchain>
      </loadfile>
      <loadfile property="jms-base.flags.jvm" srcFile="${default.basedir}/jms-config/base.flags">
          <filterchain>
              <suffixlines suffix=" "/>
              <striplinebreaks/>
          </filterchain>
      </loadfile>
      <loadfile property="jms-desktop.flags.jvm" srcFile="${default.basedir}/jms-config/desktop.flags">
          <filterchain>
              <suffixlines suffix=" "/>
              <striplinebreaks/>
          </filterchain>
      </loadfile>
      <loadfile property="jms-compiler.flags.jvm" srcFile="${default.basedir}/jms-config/compiler.flags">
          <filterchain>
              <suffixlines suffix=" "/>
              <striplinebreaks/>
          </filterchain>
      </loadfile>
      <loadfile property="jms-tools.flags.jvm" srcFile="${default.basedir}/jms-config/tools.flags">
          <filterchain>
              <suffixlines suffix=" "/>
              <striplinebreaks/>
          </filterchain>
      </loadfile>
      <property name="metabuild.jms-flags" value="${jms-base.flags}${jms-desktop.flags}${jms-compiler.flags}${jms-tools.flags}"/>
      <!-- Excluding jms-tools.flags, as nbjavac usually overlaps with tools dependencies -->
      <property name="metabuild.jms-flags.jvm" value="${jms-base.flags.jvm}${jms-desktop.flags.jvm}${jms-compiler.flags.jvm}"/>
  </target>
</project>
