Show
Ignore:
Timestamp:
09/27/10 19:04:50 (14 years ago)
Author:
František Kučera <franta-hg@…>
Branch:
default
Message:

Souborové dialogy si pamatují naposledy použitý adresář.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • java/SuperPostak/nbproject/build-impl.xml

    r3 r5  
    2222<project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." default="default" name="SuperPostak-impl"> 
    2323    <import file="jnlp-impl.xml"/> 
     24    <fail message="Please build using Ant 1.7.1 or higher."> 
     25        <condition> 
     26            <not> 
     27                <antversion atleast="1.7.1"/> 
     28            </not> 
     29        </condition> 
     30    </fail> 
    2431    <target depends="test,jar,javadoc" description="Build and test whole project." name="default"/> 
    2532    <!--  
     
    5057    <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init"> 
    5158        <available file="${manifest.file}" property="manifest.available"/> 
    52         <condition property="manifest.available+main.class"> 
    53             <and> 
    54                 <isset property="manifest.available"/> 
     59        <available file="${application.splash}" property="splashscreen.available"/> 
     60        <condition property="main.class.available"> 
     61            <and> 
    5562                <isset property="main.class"/> 
    5663                <not> 
     
    5966            </and> 
    6067        </condition> 
     68        <condition property="manifest.available+main.class"> 
     69            <and> 
     70                <isset property="manifest.available"/> 
     71                <isset property="main.class.available"/> 
     72            </and> 
     73        </condition> 
     74        <condition property="do.mkdist"> 
     75            <and> 
     76                <isset property="libs.CopyLibs.classpath"/> 
     77                <not> 
     78                    <istrue value="${mkdist.disabled}"/> 
     79                </not> 
     80            </and> 
     81        </condition> 
    6182        <condition property="manifest.available+main.class+mkdist.available"> 
    6283            <and> 
    6384                <istrue value="${manifest.available+main.class}"/> 
    64                 <isset property="libs.CopyLibs.classpath"/> 
     85                <isset property="do.mkdist"/> 
     86            </and> 
     87        </condition> 
     88        <condition property="manifest.available+main.class+mkdist.available+splashscreen.available"> 
     89            <and> 
     90                <istrue value="${manifest.available+main.class+mkdist.available}"/> 
     91                <istrue value="${splashscreen.available}"/> 
     92            </and> 
     93        </condition> 
     94        <condition property="do.archive"> 
     95            <not> 
     96                <istrue value="${jar.archive.disabled}"/> 
     97            </not> 
     98        </condition> 
     99        <condition property="do.archive+manifest.available"> 
     100            <and> 
     101                <isset property="manifest.available"/> 
     102                <istrue value="${do.archive}"/> 
     103            </and> 
     104        </condition> 
     105        <condition property="do.archive+manifest.available+main.class"> 
     106            <and> 
     107                <istrue value="${manifest.available+main.class}"/> 
     108                <istrue value="${do.archive}"/> 
     109            </and> 
     110        </condition> 
     111        <condition property="do.archive+manifest.available+main.class+mkdist.available"> 
     112            <and> 
     113                <istrue value="${manifest.available+main.class+mkdist.available}"/> 
     114                <istrue value="${do.archive}"/> 
     115            </and> 
     116        </condition> 
     117        <condition property="do.archive+manifest.available+main.class+mkdist.available+splashscreen.available"> 
     118            <and> 
     119                <istrue value="${manifest.available+main.class+mkdist.available+splashscreen.available}"/> 
     120                <istrue value="${do.archive}"/> 
    65121            </and> 
    66122        </condition> 
     
    99155        <property name="application.args" value=""/> 
    100156        <property name="source.encoding" value="${file.encoding}"/> 
     157        <property name="runtime.encoding" value="${source.encoding}"/> 
    101158        <condition property="javadoc.encoding.used" value="${javadoc.encoding}"> 
    102159            <and> 
     
    114171            <istrue value="${do.depend}"/> 
    115172        </condition> 
    116         <condition else="" property="javac.compilerargs.jaxws" value="-Djava.endorsed.dirs='${jaxws.endorsed.dir}'"> 
    117             <and> 
    118                 <isset property="jaxws.endorsed.dir"/> 
    119                 <available file="nbproject/jaxws-build.xml"/> 
    120             </and> 
    121         </condition> 
     173        <path id="endorsed.classpath.path" path="${endorsed.classpath}"/> 
     174        <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'"> 
     175            <length length="0" string="${endorsed.classpath}" when="greater"/> 
     176        </condition> 
     177        <property name="javac.fork" value="false"/> 
     178        <property name="jar.index" value="false"/> 
     179        <available file="${meta.inf.dir}/persistence.xml" property="has.persistence.xml"/> 
    122180    </target> 
    123181    <target name="-post-init"> 
     
    146204        </macrodef> 
    147205    </target> 
    148     <target name="-init-macrodef-javac"> 
     206    <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors"> 
    149207        <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3"> 
    150208            <attribute default="${src.dir}" name="srcdir"/> 
    151209            <attribute default="${build.classes.dir}" name="destdir"/> 
    152210            <attribute default="${javac.classpath}" name="classpath"/> 
     211            <attribute default="${javac.processorpath}" name="processorpath"/> 
     212            <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/> 
    153213            <attribute default="${includes}" name="includes"/> 
    154214            <attribute default="${excludes}" name="excludes"/> 
    155215            <attribute default="${javac.debug}" name="debug"/> 
    156             <attribute default="/does/not/exist" name="sourcepath"/> 
     216            <attribute default="${empty.dir}" name="sourcepath"/> 
     217            <attribute default="${empty.dir}" name="gensrcdir"/> 
    157218            <element name="customize" optional="true"/> 
    158219            <sequential> 
    159                 <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}"> 
     220                <property location="${build.dir}/empty" name="empty.dir"/> 
     221                <mkdir dir="${empty.dir}"/> 
     222                <mkdir dir="@{apgeneratedsrcdir}"/> 
     223                <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}"> 
     224                    <src> 
     225                        <dirset dir="@{gensrcdir}" erroronmissingdir="false"> 
     226                            <include name="*"/> 
     227                        </dirset> 
     228                    </src> 
    160229                    <classpath> 
    161230                        <path path="@{classpath}"/> 
    162231                    </classpath> 
    163                     <compilerarg line="${javac.compilerargs} ${javac.compilerargs.jaxws}"/> 
     232                    <compilerarg line="${endorsed.classpath.cmd.line.arg}"/> 
     233                    <compilerarg line="${javac.compilerargs}"/> 
     234                    <compilerarg value="-processorpath"/> 
     235                    <compilerarg path="@{processorpath}:${empty.dir}"/> 
     236                    <compilerarg line="${ap.processors.internal}"/> 
     237                    <compilerarg line="${annotation.processing.processor.options}"/> 
     238                    <compilerarg value="-s"/> 
     239                    <compilerarg path="@{apgeneratedsrcdir}"/> 
     240                    <compilerarg line="${ap.proc.none.internal}"/> 
    164241                    <customize/> 
    165242                </javac> 
    166243            </sequential> 
    167244        </macrodef> 
     245    </target> 
     246    <target depends="-init-ap-cmdline-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal"> 
     247        <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3"> 
     248            <attribute default="${src.dir}" name="srcdir"/> 
     249            <attribute default="${build.classes.dir}" name="destdir"/> 
     250            <attribute default="${javac.classpath}" name="classpath"/> 
     251            <attribute default="${javac.processorpath}" name="processorpath"/> 
     252            <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/> 
     253            <attribute default="${includes}" name="includes"/> 
     254            <attribute default="${excludes}" name="excludes"/> 
     255            <attribute default="${javac.debug}" name="debug"/> 
     256            <attribute default="${empty.dir}" name="sourcepath"/> 
     257            <attribute default="${empty.dir}" name="gensrcdir"/> 
     258            <element name="customize" optional="true"/> 
     259            <sequential> 
     260                <property location="${build.dir}/empty" name="empty.dir"/> 
     261                <mkdir dir="${empty.dir}"/> 
     262                <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}"> 
     263                    <src> 
     264                        <dirset dir="@{gensrcdir}" erroronmissingdir="false"> 
     265                            <include name="*"/> 
     266                        </dirset> 
     267                    </src> 
     268                    <classpath> 
     269                        <path path="@{classpath}"/> 
     270                    </classpath> 
     271                    <compilerarg line="${endorsed.classpath.cmd.line.arg}"/> 
     272                    <compilerarg line="${javac.compilerargs}"/> 
     273                    <customize/> 
     274                </javac> 
     275            </sequential> 
     276        </macrodef> 
     277    </target> 
     278    <target depends="-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac"> 
    168279        <macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3"> 
    169280            <attribute default="${src.dir}" name="srcdir"/> 
     
    200311            <attribute default="**" name="testincludes"/> 
    201312            <sequential> 
    202                 <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true"> 
     313                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${build.dir}"> 
    203314                    <batchtest todir="${build.test.results.dir}"> 
    204315                        <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}"> 
     
    215326                    <formatter type="brief" usefile="false"/> 
    216327                    <formatter type="xml"/> 
     328                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> 
    217329                    <jvmarg line="${run.jvmargs}"/> 
    218330                </junit> 
     
    271383            <sequential> 
    272384                <java classname="@{classname}" dir="${work.dir}" fork="true"> 
     385                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> 
    273386                    <jvmarg line="${debug-args-line}"/> 
    274387                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/> 
     388                    <jvmarg value="-Dfile.encoding=${runtime.encoding}"/> 
     389                    <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/> 
    275390                    <jvmarg line="${run.jvmargs}"/> 
    276391                    <classpath> 
     
    289404        <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1"> 
    290405            <attribute default="${main.class}" name="classname"/> 
     406            <attribute default="${run.classpath}" name="classpath"/> 
    291407            <element name="customize" optional="true"/> 
    292408            <sequential> 
    293409                <java classname="@{classname}" dir="${work.dir}" fork="true"> 
     410                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> 
     411                    <jvmarg value="-Dfile.encoding=${runtime.encoding}"/> 
     412                    <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/> 
    294413                    <jvmarg line="${run.jvmargs}"/> 
    295414                    <classpath> 
    296                         <path path="${run.classpath}"/> 
     415                        <path path="@{classpath}"/> 
    297416                    </classpath> 
    298417                    <syspropertyset> 
     
    305424        </macrodef> 
    306425    </target> 
     426    <target name="-init-macrodef-copylibs"> 
     427        <macrodef name="copylibs" uri="http://www.netbeans.org/ns/j2se-project/3"> 
     428            <element name="customize" optional="true"/> 
     429            <sequential> 
     430                <property location="${build.classes.dir}" name="build.classes.dir.resolved"/> 
     431                <pathconvert property="run.classpath.without.build.classes.dir"> 
     432                    <path path="${run.classpath}"/> 
     433                    <map from="${build.classes.dir.resolved}" to=""/> 
     434                </pathconvert> 
     435                <pathconvert pathsep=" " property="jar.classpath"> 
     436                    <path path="${run.classpath.without.build.classes.dir}"/> 
     437                    <chainedmapper> 
     438                        <flattenmapper/> 
     439                        <globmapper from="*" to="lib/*"/> 
     440                    </chainedmapper> 
     441                </pathconvert> 
     442                <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/> 
     443                <copylibs compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}" manifest="${manifest.file}" runtimeclasspath="${run.classpath.without.build.classes.dir}"> 
     444                    <fileset dir="${build.classes.dir}"/> 
     445                    <manifest> 
     446                        <attribute name="Class-Path" value="${jar.classpath}"/> 
     447                        <customize/> 
     448                    </manifest> 
     449                </copylibs> 
     450            </sequential> 
     451        </macrodef> 
     452    </target> 
    307453    <target name="-init-presetdef-jar"> 
    308454        <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1"> 
    309             <jar compress="${jar.compress}" jarfile="${dist.jar}"> 
     455            <jar compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}"> 
    310456                <j2seproject1:fileset dir="${build.classes.dir}"/> 
    311457            </jar> 
    312458        </presetdef> 
    313459    </target> 
    314     <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-junit,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar" name="init"/> 
     460    <target name="-init-ap-cmdline-properties"> 
     461        <property name="annotation.processing.enabled" value="true"/> 
     462        <property name="annotation.processing.processors.list" value=""/> 
     463        <property name="annotation.processing.processor.options" value=""/> 
     464        <property name="annotation.processing.run.all.processors" value="true"/> 
     465        <property name="javac.processorpath" value="${javac.classpath}"/> 
     466        <property name="javac.test.processorpath" value="${javac.test.classpath}"/> 
     467        <condition property="ap.supported.internal" value="true"> 
     468            <not> 
     469                <matches pattern="1\.[0-5](\..*)?" string="${javac.source}"/> 
     470            </not> 
     471        </condition> 
     472    </target> 
     473    <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-ap-cmdline-supported"> 
     474        <condition else="" property="ap.processors.internal" value="-processor ${annotation.processing.processors.list}"> 
     475            <isfalse value="${annotation.processing.run.all.processors}"/> 
     476        </condition> 
     477        <condition else="" property="ap.proc.none.internal" value="-proc:none"> 
     478            <isfalse value="${annotation.processing.enabled}"/> 
     479        </condition> 
     480    </target> 
     481    <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline"> 
     482        <property name="ap.cmd.line.internal" value=""/> 
     483    </target> 
     484    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-junit,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/> 
    315485    <!-- 
    316486                =================== 
     
    318488                =================== 
    319489            --> 
    320     <target depends="init" name="deps-jar" unless="no.deps"> 
    321         <ant antfile="${project.JFTable}/build.xml" inheritall="false" target="jar"/> 
    322         <ant antfile="${project.Postak}/build.xml" inheritall="false" target="jar"/> 
     490    <target name="-deps-jar-init" unless="built-jar.properties"> 
     491        <property location="${build.dir}/built-jar.properties" name="built-jar.properties"/> 
     492        <delete file="${built-jar.properties}" quiet="true"/> 
     493    </target> 
     494    <target if="already.built.jar.${basedir}" name="-warn-already-built-jar"> 
     495        <echo level="warn" message="Cycle detected: SuperPostak was already built"/> 
     496    </target> 
     497    <target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps"> 
     498        <mkdir dir="${build.dir}"/> 
     499        <touch file="${built-jar.properties}" verbose="false"/> 
     500        <property file="${built-jar.properties}" prefix="already.built.jar."/> 
     501        <antcall target="-warn-already-built-jar"/> 
     502        <propertyfile file="${built-jar.properties}"> 
     503            <entry key="${basedir}" value=""/> 
     504        </propertyfile> 
     505        <antcall target="-maybe-call-dep"> 
     506            <param name="call.built.properties" value="${built-jar.properties}"/> 
     507            <param location="${project.JFTable}" name="call.subproject"/> 
     508            <param location="${project.JFTable}/build.xml" name="call.script"/> 
     509            <param name="call.target" value="jar"/> 
     510            <param name="transfer.built-jar.properties" value="${built-jar.properties}"/> 
     511        </antcall> 
     512        <antcall target="-maybe-call-dep"> 
     513            <param name="call.built.properties" value="${built-jar.properties}"/> 
     514            <param location="${project.Postak}" name="call.subproject"/> 
     515            <param location="${project.Postak}/build.xml" name="call.script"/> 
     516            <param name="call.target" value="jar"/> 
     517            <param name="transfer.built-jar.properties" value="${built-jar.properties}"/> 
     518        </antcall> 
    323519    </target> 
    324520    <target depends="init,-check-automatic-build,-clean-after-automatic-build" name="-verify-automatic-build"/> 
     
    337533    </target> 
    338534    <target if="do.depend.true" name="-compile-depend"> 
    339         <j2seproject3:depend/> 
    340     </target> 
    341     <target depends="init,deps-jar,-pre-pre-compile,-pre-compile,-compile-depend" if="have.sources" name="-do-compile"> 
    342         <j2seproject3:javac/> 
     535        <pathconvert property="build.generated.subdirs"> 
     536            <dirset dir="${build.generated.sources.dir}" erroronmissingdir="false"> 
     537                <include name="*"/> 
     538            </dirset> 
     539        </pathconvert> 
     540        <j2seproject3:depend srcdir="${src.dir}:${build.generated.subdirs}"/> 
     541    </target> 
     542    <target depends="init,deps-jar,-pre-pre-compile,-pre-compile, -copy-persistence-xml,-compile-depend" if="have.sources" name="-do-compile"> 
     543        <j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/> 
    343544        <copy todir="${build.classes.dir}"> 
    344545            <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/> 
    345546        </copy> 
    346547    </target> 
     548    <target if="has.persistence.xml" name="-copy-persistence-xml"> 
     549        <mkdir dir="${build.classes.dir}/META-INF"/> 
     550        <copy todir="${build.classes.dir}/META-INF"> 
     551            <fileset dir="${meta.inf.dir}" includes="persistence.xml"/> 
     552        </copy> 
     553    </target> 
    347554    <target name="-post-compile"> 
    348555        <!-- Empty placeholder for easier customization. --> 
     
    357564        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail> 
    358565        <j2seproject3:force-recompile/> 
    359         <j2seproject3:javac excludes="" includes="${javac.includes}" sourcepath="${src.dir}"/> 
     566        <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.dir}"/> 
    360567    </target> 
    361568    <target name="-post-compile-single"> 
     
    377584        <!-- You can override this target in the ../build.xml file. --> 
    378585    </target> 
    379     <target depends="init,compile,-pre-pre-jar,-pre-jar" name="-do-jar-without-manifest" unless="manifest.available"> 
     586    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive" name="-do-jar-without-manifest" unless="manifest.available"> 
    380587        <j2seproject1:jar/> 
    381588    </target> 
    382     <target depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available" name="-do-jar-with-manifest" unless="manifest.available+main.class"> 
     589    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive+manifest.available" name="-do-jar-with-manifest" unless="manifest.available+main.class"> 
    383590        <j2seproject1:jar manifest="${manifest.file}"/> 
    384591    </target> 
    385     <target depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+main.class" name="-do-jar-with-mainclass" unless="manifest.available+main.class+mkdist.available"> 
     592    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive+manifest.available+main.class" name="-do-jar-with-mainclass" unless="manifest.available+main.class+mkdist.available"> 
    386593        <j2seproject1:jar manifest="${manifest.file}"> 
    387594            <j2seproject1:manifest> 
     
    398605        <echo>java -cp "${run.classpath.with.dist.jar}" ${main.class}</echo> 
    399606    </target> 
    400     <target depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+main.class+mkdist.available" name="-do-jar-with-libraries"> 
    401         <property location="${build.classes.dir}" name="build.classes.dir.resolved"/> 
    402         <pathconvert property="run.classpath.without.build.classes.dir"> 
    403             <path path="${run.classpath}"/> 
    404             <map from="${build.classes.dir.resolved}" to=""/> 
    405         </pathconvert> 
    406         <pathconvert pathsep=" " property="jar.classpath"> 
    407             <path path="${run.classpath.without.build.classes.dir}"/> 
    408             <chainedmapper> 
    409                 <flattenmapper/> 
    410                 <globmapper from="*" to="lib/*"/> 
    411             </chainedmapper> 
    412         </pathconvert> 
    413         <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/> 
    414         <copylibs compress="${jar.compress}" jarfile="${dist.jar}" manifest="${manifest.file}" runtimeclasspath="${run.classpath.without.build.classes.dir}"> 
    415             <fileset dir="${build.classes.dir}"/> 
    416             <manifest> 
     607    <target depends="init,compile,-pre-pre-jar,-pre-jar,-init-macrodef-copylibs" if="do.archive+manifest.available+main.class+mkdist.available+splashscreen.available" name="-do-jar-with-libraries-and-splashscreen"> 
     608        <basename file="${application.splash}" property="splashscreen.basename"/> 
     609        <mkdir dir="${build.classes.dir}/META-INF"/> 
     610        <copy failonerror="false" file="${application.splash}" todir="${build.classes.dir}/META-INF"/> 
     611        <j2seproject3:copylibs> 
     612            <customize> 
    417613                <attribute name="Main-Class" value="${main.class}"/> 
    418                 <attribute name="Class-Path" value="${jar.classpath}"/> 
    419             </manifest> 
    420         </copylibs> 
     614                <attribute name="SplashScreen-Image" value="META-INF/${splashscreen.basename}"/> 
     615            </customize> 
     616        </j2seproject3:copylibs> 
    421617        <echo>To run this application from the command line without Ant, try:</echo> 
    422618        <property location="${dist.jar}" name="dist.jar.resolved"/> 
    423619        <echo>java -jar "${dist.jar.resolved}"</echo> 
    424620    </target> 
     621    <target depends="init,compile,-pre-pre-jar,-pre-jar,-init-macrodef-copylibs" if="do.archive+manifest.available+main.class+mkdist.available" name="-do-jar-with-libraries" unless="splashscreen.available"> 
     622        <j2seproject3:copylibs> 
     623            <customize> 
     624                <attribute name="Main-Class" value="${main.class}"/> 
     625            </customize> 
     626        </j2seproject3:copylibs> 
     627        <echo>To run this application from the command line without Ant, try:</echo> 
     628        <property location="${dist.jar}" name="dist.jar.resolved"/> 
     629        <echo>java -jar "${dist.jar.resolved}"</echo> 
     630    </target> 
    425631    <target name="-post-jar"> 
    426632        <!-- Empty placeholder for easier customization. --> 
    427633        <!-- You can override this target in the ../build.xml file. --> 
    428634    </target> 
    429     <target depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries,-post-jar,jnlp" description="Build JAR." name="jar"/> 
     635    <target depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries-and-splashscreen,-do-jar-with-libraries,-post-jar,jnlp" description="Build JAR." name="jar"/> 
    430636    <!-- 
    431637                ================= 
     
    443649        <property name="javac.includes.binary" value=""/> 
    444650    </target> 
    445     <target depends="init,-do-not-recompile,compile-single" name="run-single"> 
     651    <target depends="init,compile-single" name="run-single"> 
    446652        <fail unless="run.class">Must select one file in the IDE or set run.class</fail> 
    447653        <j2seproject1:java classname="${run.class}"/> 
     654    </target> 
     655    <target depends="init,compile-test-single" name="run-test-with-main"> 
     656        <fail unless="run.class">Must select one file in the IDE or set run.class</fail> 
     657        <j2seproject1:java classname="${run.class}" classpath="${run.test.classpath}"/> 
    448658    </target> 
    449659    <!-- 
     
    454664    <target depends="init" if="netbeans.home" name="-debug-start-debugger"> 
    455665        <j2seproject1:nbjpdastart name="${debug.class}"/> 
     666    </target> 
     667    <target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test"> 
     668        <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/> 
    456669    </target> 
    457670    <target depends="init,compile" name="-debug-start-debuggee"> 
     
    471684        <j2seproject3:debug classname="${debug.class}"/> 
    472685    </target> 
    473     <target depends="init,-do-not-recompile,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/> 
     686    <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/> 
     687    <target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test"> 
     688        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail> 
     689        <j2seproject3:debug classname="${debug.class}" classpath="${debug.test.classpath}"/> 
     690    </target> 
     691    <target depends="init,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/> 
    474692    <target depends="init" name="-pre-debug-fix"> 
    475693        <fail unless="fix.includes">Must set fix.includes</fail> 
     
    485703                =============== 
    486704            --> 
    487     <target depends="init" name="-javadoc-build"> 
     705    <target depends="init" if="have.sources" name="-javadoc-build"> 
    488706        <mkdir dir="${dist.javadoc.dir}"/> 
    489707        <javadoc additionalparam="${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}"> 
     
    494712                <filename name="**/*.java"/> 
    495713            </fileset> 
     714            <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false"> 
     715                <include name="**/*.java"/> 
     716            </fileset> 
    496717        </javadoc> 
     718        <copy todir="${dist.javadoc.dir}"> 
     719            <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}"> 
     720                <filename name="**/doc-files/**"/> 
     721            </fileset> 
     722            <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false"> 
     723                <include name="**/doc-files/**"/> 
     724            </fileset> 
     725        </copy> 
    497726    </target> 
    498727    <target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview"> 
     
    516745    </target> 
    517746    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test"> 
    518         <j2seproject3:javac classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/> 
     747        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" processorpath="${javac.test.processorpath}" srcdir="${test.src.dir}"/> 
    519748        <copy todir="${build.test.classes.dir}"> 
    520749            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/> 
     
    533762        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail> 
    534763        <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/> 
    535         <j2seproject3:javac classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" sourcepath="${test.src.dir}" srcdir="${test.src.dir}"/> 
     764        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" processorpath="${javac.test.processorpath}" sourcepath="${test.src.dir}" srcdir="${test.src.dir}"/> 
    536765        <copy todir="${build.test.classes.dir}"> 
    537766            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/> 
     
    555784    </target> 
    556785    <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run"> 
    557         <fail if="tests.failed">Some tests failed; see details above.</fail> 
     786        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail> 
    558787    </target> 
    559788    <target depends="init" if="have.tests" name="test-report"/> 
     
    568797    </target> 
    569798    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single"> 
    570         <fail if="tests.failed">Some tests failed; see details above.</fail> 
    571     </target> 
    572     <target depends="init,-do-not-recompile,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/> 
     799        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail> 
     800    </target> 
     801    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/> 
    573802    <!-- 
    574803                ======================= 
     
    597826        <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/> 
    598827    </target> 
    599     <target depends="init,-do-not-recompile,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/> 
     828    <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/> 
    600829    <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test"> 
    601830        <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/> 
     
    634863                =============== 
    635864            --> 
    636     <target depends="init" name="deps-clean" unless="no.deps"> 
    637         <ant antfile="${project.JFTable}/build.xml" inheritall="false" target="clean"/> 
    638         <ant antfile="${project.Postak}/build.xml" inheritall="false" target="clean"/> 
     865    <target name="-deps-clean-init" unless="built-clean.properties"> 
     866        <property location="${build.dir}/built-clean.properties" name="built-clean.properties"/> 
     867        <delete file="${built-clean.properties}" quiet="true"/> 
     868    </target> 
     869    <target if="already.built.clean.${basedir}" name="-warn-already-built-clean"> 
     870        <echo level="warn" message="Cycle detected: SuperPostak was already built"/> 
     871    </target> 
     872    <target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps"> 
     873        <mkdir dir="${build.dir}"/> 
     874        <touch file="${built-clean.properties}" verbose="false"/> 
     875        <property file="${built-clean.properties}" prefix="already.built.clean."/> 
     876        <antcall target="-warn-already-built-clean"/> 
     877        <propertyfile file="${built-clean.properties}"> 
     878            <entry key="${basedir}" value=""/> 
     879        </propertyfile> 
     880        <antcall target="-maybe-call-dep"> 
     881            <param name="call.built.properties" value="${built-clean.properties}"/> 
     882            <param location="${project.JFTable}" name="call.subproject"/> 
     883            <param location="${project.JFTable}/build.xml" name="call.script"/> 
     884            <param name="call.target" value="clean"/> 
     885            <param name="transfer.built-clean.properties" value="${built-clean.properties}"/> 
     886        </antcall> 
     887        <antcall target="-maybe-call-dep"> 
     888            <param name="call.built.properties" value="${built-clean.properties}"/> 
     889            <param location="${project.Postak}" name="call.subproject"/> 
     890            <param location="${project.Postak}/build.xml" name="call.script"/> 
     891            <param name="call.target" value="clean"/> 
     892            <param name="transfer.built-clean.properties" value="${built-clean.properties}"/> 
     893        </antcall> 
    639894    </target> 
    640895    <target depends="init" name="-do-clean"> 
    641896        <delete dir="${build.dir}"/> 
    642         <delete dir="${dist.dir}"/> 
     897        <delete dir="${dist.dir}" followsymlinks="false" includeemptydirs="true"/> 
    643898    </target> 
    644899    <target name="-post-clean"> 
     
    647902    </target> 
    648903    <target depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/> 
     904    <target name="-check-call-dep"> 
     905        <property file="${call.built.properties}" prefix="already.built."/> 
     906        <condition property="should.call.dep"> 
     907            <not> 
     908                <isset property="already.built.${call.subproject}"/> 
     909            </not> 
     910        </condition> 
     911    </target> 
     912    <target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep"> 
     913        <ant antfile="${call.script}" inheritall="false" target="${call.target}"> 
     914            <propertyset> 
     915                <propertyref prefix="transfer."/> 
     916                <mapper from="transfer.*" to="*" type="glob"/> 
     917            </propertyset> 
     918        </ant> 
     919    </target> 
    649920</project>