ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From richardmonk <majors...@gmail.com>
Subject Re: Ant 1.5 to 1.7 problem.
Date Fri, 16 Nov 2007 00:01:33 GMT

This patch jar has only 1 class inside. After i commented out this jar, the
compile went well so far so good.
I am going to exclude this jar. Before that, just paste the only class/java
here. If you have any infor on this (and/or related to ant 1.7), please let
me know. Thanks. I guess this is a patch needed for ant 1.5.1, but ant1.7
already takes care of it on its own?

/*
 * The Apache Software License, Version 1.1
 *
 * Copyright (c) 2001-2002 The Apache Software Foundation.  All rights
 * reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *
 * 2. 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.
 *
 * 3. The end-user documentation included with the redistribution, if
 *    any, must include the following acknowlegement:
 *       "This product includes software developed by the
 *        Apache Software Foundation (http://www.apache.org/)."
 *    Alternately, this acknowlegement may appear in the software itself,
 *    if and wherever such third-party acknowlegements normally appear.
 *
 * 4. The names "The Jakarta Project", "Ant", and "Apache Software
 *    Foundation" must not be used to endorse or promote products derived
 *    from this software without prior written permission. For written
 *    permission, please contact apache@apache.org.
 *
 * 5. Products derived from this software may not be called "Apache"
 *    nor may "Apache" appear in their names without prior written
 *    permission of the Apache Group.
 *
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
 * ITS 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 software consists of voluntary contributions made by many
 * individuals on behalf of the Apache Software Foundation.  For more
 * information on the Apache Software Foundation, please see
 * <http://www.apache.org/>.
 */

package org.apache.tools.ant.taskdefs.condition;

import org.apache.tools.ant.BuildException;

import java.util.Locale;

/**
 * Condition that tests the OS type.
 *
 * @author  mailto:stefan.bodewig@epost.de Stefan Bodewig 
 * @author  mailto:umagesh@apache.org Magesh Umasankar 
 * @since Ant 1.4
 * @version $Revision: 1.15.2.1 $
 */
public class Os implements Condition {
    private static final String osName =
        System.getProperty("os.name").toLowerCase(Locale.US);
    private static final String osArch =
        System.getProperty("os.arch").toLowerCase(Locale.US);
    private static final String osVersion =
        System.getProperty("os.version").toLowerCase(Locale.US);
    private static final String pathSep =
System.getProperty("path.separator");

    private String family;
    private String name;
    private String version;
    private String arch;

    public Os() {}

    public Os(String family) {
        setFamily(family);
    }

    /**
     * Sets the desired OS family type
     *
     * @param f      The OS family type desired<br />
     *               Possible values:<br />
     *               <ul>
     *               <li>dos</li>
     *               <li>mac</li>
     *               <li>netware</li>
     *               <li>os/2</li>
     *               <li>unix</li>
     *               <li>windows</li>
     *               <li>win9x</li>
     *               <li>z/os</li>
     *               </ul>
     */
    public void setFamily(String f) {family = f.toLowerCase(Locale.US);}

    /**
     * Sets the desired OS name
     *
     * @param name   The OS name
     */
    public void setName(String name) {
        this.name = name.toLowerCase(Locale.US);
    }

    /**
     * Sets the desired OS architecture
     *
     * @param arch   The OS architecture
     */
    public void setArch(String arch) {
        this.arch = arch.toLowerCase(Locale.US);
    }

    /**
     * Sets the desired OS version
     *
     * @param version   The OS version
     */
    public void setVersion(String version) {
        this.version = version.toLowerCase(Locale.US);
    }

    /**
     * Determines if the OS on which Ant is executing matches the type of
     * that set in setFamily.
     * @see Os#setFamily(String)
     */
    public boolean eval() throws BuildException {
        return isOs(family, name, arch, version);
    }

    /**
     * Determines if the OS on which Ant is executing matches the
     * given OS family.
     *
     * @since 1.5
     */
    public static boolean isFamily(String family) {
        return isOs(family, null, null, null);
    }

    /**
     * Determines if the OS on which Ant is executing matches the
     * given OS name.
     *
     * @since 1.7
     */
    public static boolean isName(String name) {
        return isOs(null, name, null, null);
    }

    /**
     * Determines if the OS on which Ant is executing matches the
     * given OS architecture.
     *
     * @since 1.7
     */
    public static boolean isArch(String arch) {
        return isOs(null, null, arch, null);
    }

    /**
     * Determines if the OS on which Ant is executing matches the
     * given OS version.
     *
     * @since 1.7
     */
    public static boolean isVersion(String version) {
        return isOs(null, null, null, version);
    }

    /**
     * Determines if the OS on which Ant is executing matches the
     * given OS family, name, architecture and version
     *
     * @param family   The OS family
     * @param name   The OS name
     * @param arch   The OS architecture
     * @param version   The OS version
     *
     * @since 1.7
     */
    public static boolean isOs(String family, String name, String arch,
                               String version) {
        boolean retValue = false;

        if (family != null || name != null || arch != null
            || version != null) {

            boolean isFamily = true;
            boolean isName = true;
            boolean isArch = true;
            boolean isVersion = true;

            if (family != null) {
                if (family.equals("windows")) {
                    isFamily = osName.indexOf("windows") > -1;
                } else if (family.equals("os/2")) {
                    isFamily = osName.indexOf("os/2") > -1;
                } else if (family.equals("netware")) {
                    isFamily = osName.indexOf("netware") > -1;
                } else if (family.equals("dos")) {
                    isFamily = pathSep.equals(";") && !isFamily("netware");
                } else if (family.equals("mac")) {
                    isFamily = osName.indexOf("mac") > -1;
                } else if (family.equals("unix")) {
                    isFamily = pathSep.equals(":")
                        && (!isFamily("mac") || osName.endsWith("x"));
                } else if (family.equals("win9x")) {
                    isFamily = isFamily("windows") &&
                        !(osName.indexOf("nt") >= 0 ||
                          osName.indexOf("2000") >= 0 ||
						  osName.indexOf("2003") >= 0 ||
                          osName.indexOf("xp") >= 0);
                } else if (family.equals("z/os")) {
                    isFamily = osName.indexOf("z/os") > -1 
                        || osName.indexOf("os/390") > -1;
                } else {
                    throw new BuildException(
                        "Don\'t know how to detect os family \""
                        + family + "\"");
                }
            }
            if (name != null) {
                isName = name.equals(osName);
            }
            if (arch != null) {
                isArch = arch.equals(osArch);
            }
            if (version != null) {
                isVersion = version.equals(osVersion);
            }
            retValue = isFamily && isName && isArch && isVersion;
        }
        return retValue;
    }
}


richardmonk wrote:
> 
> looks like it is caused by this ant151patch.jar; i am looking into it.
> Thanks
> 
> 
> 
> David Weintraub wrote:
>> 
>> What's this line?:
>> 
>>> Using Ant151patch.jar
>> 
>> That looks like the wrong jar file. That's probably for Ant 1.51. What
>> is this jarfile anyway? I can't find it on Google.
>> 
>> It is interesting that the build failed on the second run. In the
>> first run, the <uptodate> property isn't set (because everything isn't
>> up to date). However, I touch the target file making it more recent
>> than the two source files.
>> 
>> That means in the second run, the target is up to date, and the
>> <uptodate> property has to be set. What happens if you touch the
>> source files, so that the target is out of date, and the <uptodate>
>> property isn't set?
>> 
>> I bet your Python script is causing the problems. What if you used the
>> standard "ant" shell script without the Python front end?
>> 
>> On Nov 12, 2007 3:01 PM, richardmonk <majorshao@gmail.com> wrote:
>>>
>>> David
>>>
>>> Thanks a lot for this.
>>> I tried it. It was good first time. When i ran it again, it gave the
>>> same
>>> error.
>>> (i changed a little on the echo msg)
>>>
>>> Sorry if it is late to mention here, we use a customized runant.py to
>>> run
>>> the build.xml; it does have some cutomized things inside to load
>>> different
>>> properties we need for different modules in the whole build.
>>>
>>> Here is the output of the 1st run (added the -debug option)
>>> Using Ant patch ant151patch.jar
>>> -Djvm=jrockit1.4.2_05
>>> -Dant.home.dir=T:/Eng/win32bin/apache-ant-1.7.0
>>> java version "1.4.2_05"
>>> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_05-b04)
>>> BEA WebLogic JRockit(TM) 1.4.2_05 JVM R24.4.0-1 (build
>>> ari-38120-20041118-1131-win-ia32, Native Threads, GC strategy: pa
>>> rallel)
>>>
>>> Apache Ant version 1.7.0 compiled on December 13 2006
>>> Buildfile: build.xml
>>> Adding reference: ant.PropertyHelper
>>> Detected Java version: 1.4 in:
>>> T:\eng\win32bin\weblogic8.1.4\jrockit81sp4_142_05\jre
>>> Detected OS: Windows XP
>>> Adding reference: ant.ComponentHelper
>>> Setting ro project property: ant.file -> T:\eng\ccroot\build.xml
>>> Adding reference: ant.projectHelper
>>> Adding reference: ant.parsing.context
>>> Adding reference: ant.targets
>>> parsing buildfile T:\eng\ccroot\build.xml with URI =
>>> file:/T:/eng/ccroot/build.xml
>>> Setting ro project property: ant.project.name -> test
>>> Adding reference: test
>>> Setting ro project property: ant.file.test -> T:\eng\ccroot\build.xml
>>> Project base dir set to: T:\eng\ccroot
>>>  +Target:
>>>  +Target: check.db.schema.up.to.date
>>>  +Target: test1
>>>  +Target: test2
>>>  +Target: test
>>> [antlib:org.apache.tools.ant] Could not load definitions from resource
>>> org/apache/tools/ant/antlib.xml. It could not be
>>> found.
>>> Setting project property: get.dbversion.build.dir -> build
>>> Setting project property: db.root.dir -> src
>>>     [mkdir] Created dir: T:\eng\ccroot\build\src
>>>     [mkdir] Created dir: T:\eng\ccroot\src
>>> Attempting to create object of type
>>> org.apache.tools.ant.helper.DefaultExecutor
>>> Adding reference: ant.executor
>>> Build sequence for target(s) `test' is [check.db.schema.up.to.date,
>>> test1,
>>> test2, test]
>>> Complete build sequence is [check.db.schema.up.to.date, test1, test2,
>>> test,
>>> ]
>>>
>>> check.db.schema.up.to.date:
>>>  [uptodate] The targetfile "T:\eng\ccroot\build\src\dbinfo.properties"
>>> does
>>> not exist.
>>>
>>> test1:
>>> Skipped because property 'db.schema.up.to.date' not set.
>>>
>>> test2:
>>> Property "db.schema.up.to.date" has not been set
>>>      [echo] check this out::${db.schema.up.to.date}
>>>      [echo] Need to rebuild
>>>     [touch] Creating T:\eng\ccroot\build\src\dbinfo.properties
>>>
>>> test:
>>>
>>> BUILD SUCCESSFUL
>>> Total time: 0 seconds
>>>
>>> [wfm]T:\eng\ccroot>
>>>
>>>
>>> Here is the output of 2nd run (i added the -debug option)
>>> Using Ant patch ant151patch.jar
>>> -Djvm=jrockit1.4.2_05
>>> -Dant.home.dir=T:/Eng/win32bin/apache-ant-1.7.0
>>> java version "1.4.2_05"
>>> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_05-b04)
>>> BEA WebLogic JRockit(TM) 1.4.2_05 JVM R24.4.0-1 (build
>>> ari-38120-20041118-1131-win-ia32, Native Threads, GC strategy: pa
>>> rallel)
>>>
>>> Apache Ant version 1.7.0 compiled on December 13 2006
>>> Buildfile: build.xml
>>> Adding reference: ant.PropertyHelper
>>> Detected Java version: 1.4 in:
>>> T:\eng\win32bin\weblogic8.1.4\jrockit81sp4_142_05\jre
>>> Detected OS: Windows XP
>>> Adding reference: ant.ComponentHelper
>>> Setting ro project property: ant.file -> T:\eng\ccroot\build.xml
>>> Adding reference: ant.projectHelper
>>> Adding reference: ant.parsing.context
>>> Adding reference: ant.targets
>>> parsing buildfile T:\eng\ccroot\build.xml with URI =
>>> file:/T:/eng/ccroot/build.xml
>>> Setting ro project property: ant.project.name -> test
>>> Adding reference: test
>>> Setting ro project property: ant.file.test -> T:\eng\ccroot\build.xml
>>> Project base dir set to: T:\eng\ccroot
>>>  +Target:
>>>  +Target: check.db.schema.up.to.date
>>>  +Target: test1
>>>  +Target: test2
>>>  +Target: test
>>> [antlib:org.apache.tools.ant] Could not load definitions from resource
>>> org/apache/tools/ant/antlib.xml. It could not be
>>> found.
>>> Setting project property: get.dbversion.build.dir -> build
>>> Setting project property: db.root.dir -> src
>>>     [mkdir] Skipping T:\eng\ccroot\build\src because it already exists.
>>>     [mkdir] Skipping T:\eng\ccroot\src because it already exists.
>>> Attempting to create object of type
>>> org.apache.tools.ant.helper.DefaultExecutor
>>> Adding reference: ant.executor
>>> Build sequence for target(s) `test' is [check.db.schema.up.to.date,
>>> test1,
>>> test2, test]
>>> Complete build sequence is [check.db.schema.up.to.date, test1, test2,
>>> test,
>>> ]
>>>
>>> check.db.schema.up.to.date:
>>>
>>> BUILD FAILED
>>> T:\eng\ccroot\build.xml:11: java.lang.ExceptionInInitializerError
>>>         at
>>> org.apache.tools.ant.dispatch.DispatchUtils.execute(Ljava.lang.Object;)V(DispatchUtils.java:115)
>>>         at org.apache.tools.ant.Task.perform()V(Task.java:348)
>>>         at org.apache.tools.ant.Target.execute()V(Target.java:357)
>>>         at org.apache.tools.ant.Target.performTasks()V(Target.java:385)
>>>         at
>>> org.apache.tools.ant.Project.executeSortedTargets(Ljava.util.Vector;)V(Project.java:1329)
>>>         at
>>> org.apache.tools.ant.Project.executeTarget(Ljava.lang.String;)V(Project.java:1298)
>>>         at
>>> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(Lorg.apache.tools.ant.Project;[Ljava.lang.String;)
>>> V(DefaultExecutor.java:41)
>>>         at
>>> org.apache.tools.ant.Project.executeTargets(Ljava.util.Vector;)V(Project.java:1181)
>>>         at
>>> org.apache.tools.ant.Main.runBuild(Ljava.lang.ClassLoader;)V(Main.java:698)
>>>         at
>>> org.apache.tools.ant.Main.startAnt([Ljava.lang.String;Ljava.util.Properties;Ljava.lang.ClassLoader;)V(Main.ja
>>> va:199)
>>>         at
>>> org.apache.tools.ant.Main.start([Ljava.lang.String;Ljava.util.Properties;Ljava.lang.ClassLoader;)V(Main.java:
>>> 161)
>>>         at
>>> org.apache.tools.ant.Main.main([Ljava.lang.String;)V(Main.java:250)
>>> Caused by: java.lang.ExceptionInInitializerError
>>>         at
>>> org.apache.tools.ant.types.AbstractFileSet.getDirectoryScanner(Lorg.apache.tools.ant.Project;)Lorg.apache.too
>>> ls.ant.DirectoryScanner;(AbstractFileSet.java:429)
>>>         at
>>> org.apache.tools.ant.taskdefs.UpToDate.eval()Z(UpToDate.java:206)
>>>         at
>>> org.apache.tools.ant.taskdefs.UpToDate.execute()V(UpToDate.java:232)
>>>         at
>>> org.apache.tools.ant.UnknownElement.execute()V(UnknownElement.java:288)
>>>         at
>>> jrockit.reflect.NativeMethodInvoker.invoke0(Ljava.lang.Object;ILjava.lang.Object;[Ljava.lang.Object;)Ljava.la
>>> ng.Object;(Unknown Source)
>>>         at
>>> jrockit.reflect.NativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown
>>> S
>>> ource)
>>>         at
>>> jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Un
>>> known Source)
>>>         at
>>> java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown
>>> Source)
>>>         at
>>> org.apache.tools.ant.dispatch.DispatchUtils.execute(Ljava.lang.Object;)V(DispatchUtils.java:105)
>>>         ... 11 more
>>> Caused by: Don't know how to detect os family "openvms"
>>>         at
>>> org.apache.tools.ant.taskdefs.condition.Os.isOs(Ljava.lang.String;Ljava.lang.String;Ljava.lang.String;Ljava.l
>>> ang.String;)Z(Os.java:230)
>>>         at
>>> org.apache.tools.ant.taskdefs.condition.Os.isFamily(Ljava.lang.String;)Z(Os.java:150)
>>>         at
>>> org.apache.tools.ant.DirectoryScanner.<clinit>()V(DirectoryScanner.java:128)
>>>         at jrockit.vm.RNI.initializeClassFromJava(II)V(Unknown Source)
>>>         at jrockit.vm.RNI.clinitTrampoline()V(Unknown Source)
>>>         ... 20 more
>>> --- Nested Exception ---
>>> java.lang.ExceptionInInitializerError
>>>         at
>>> org.apache.tools.ant.types.AbstractFileSet.getDirectoryScanner(Lorg.apache.tools.ant.Project;)Lorg.apache.too
>>> ls.ant.DirectoryScanner;(AbstractFileSet.java:429)
>>>         at
>>> org.apache.tools.ant.taskdefs.UpToDate.eval()Z(UpToDate.java:206)
>>>         at
>>> org.apache.tools.ant.taskdefs.UpToDate.execute()V(UpToDate.java:232)
>>>         at
>>> org.apache.tools.ant.UnknownElement.execute()V(UnknownElement.java:288)
>>>         at
>>> jrockit.reflect.NativeMethodInvoker.invoke0(Ljava.lang.Object;ILjava.lang.Object;[Ljava.lang.Object;)Ljava.la
>>> ng.Object;(Unknown Source)
>>>         at
>>> jrockit.reflect.NativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown
>>> S
>>> ource)
>>>         at
>>> jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Un
>>> known Source)
>>>         at
>>> java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown
>>> Source)
>>>         at
>>> org.apache.tools.ant.dispatch.DispatchUtils.execute(Ljava.lang.Object;)V(DispatchUtils.java:105)
>>>         at org.apache.tools.ant.Task.perform()V(Task.java:348)
>>>         at org.apache.tools.ant.Target.execute()V(Target.java:357)
>>>         at org.apache.tools.ant.Target.performTasks()V(Target.java:385)
>>>         at
>>> org.apache.tools.ant.Project.executeSortedTargets(Ljava.util.Vector;)V(Project.java:1329)
>>>         at
>>> org.apache.tools.ant.Project.executeTarget(Ljava.lang.String;)V(Project.java:1298)
>>>         at
>>> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(Lorg.apache.tools.ant.Project;[Ljava.lang.String;)
>>> V(DefaultExecutor.java:41)
>>>         at
>>> org.apache.tools.ant.Project.executeTargets(Ljava.util.Vector;)V(Project.java:1181)
>>>         at
>>> org.apache.tools.ant.Main.runBuild(Ljava.lang.ClassLoader;)V(Main.java:698)
>>>         at
>>> org.apache.tools.ant.Main.startAnt([Ljava.lang.String;Ljava.util.Properties;Ljava.lang.ClassLoader;)V(Main.ja
>>> va:199)
>>>         at
>>> org.apache.tools.ant.Main.start([Ljava.lang.String;Ljava.util.Properties;Ljava.lang.ClassLoader;)V(Main.java:
>>> 161)
>>>         at
>>> org.apache.tools.ant.Main.main([Ljava.lang.String;)V(Main.java:250)
>>> Caused by: Don't know how to detect os family "openvms"
>>>         at
>>> org.apache.tools.ant.taskdefs.condition.Os.isOs(Ljava.lang.String;Ljava.lang.String;Ljava.lang.String;Ljava.l
>>> ang.String;)Z(Os.java:230)
>>>         at
>>> org.apache.tools.ant.taskdefs.condition.Os.isFamily(Ljava.lang.String;)Z(Os.java:150)
>>>         at
>>> org.apache.tools.ant.DirectoryScanner.<clinit>()V(DirectoryScanner.java:128)
>>>         at jrockit.vm.RNI.initializeClassFromJava(II)V(Unknown Source)
>>>         at jrockit.vm.RNI.clinitTrampoline()V(Unknown Source)
>>>         ... 20 more
>>>
>>> Total time: 0 seconds
>>>
>>>
>>>
>>>
>>>
>>> David Weintraub wrote:
>>> >
>>> > I just wrote the following test build.xml:
>>> >
>>> > <project name="test" default="test" basedir=".">
>>> >
>>> >     <property name="get.dbversion.build.dir" value="build"/>
>>> >     <property name="db.root.dir" value="src"/>
>>> >
>>> >     <mkdir dir="${get.dbversion.build.dir}/src"/>
>>> >     <mkdir dir="${db.root.dir}"/>
>>> >
>>> >     <target name="check.db.schema.up.to.date" >
>>> >         <uptodate property="db.schema.up.to.date"
>>> >            
>>> targetfile="${get.dbversion.build.dir}/src/dbinfo.properties"
>>> > >
>>> >             <srcfiles dir= "${db.root.dir}" >
>>> >                 <include name="DBInfo.java" />
>>> >                 <include name="GetDbInfo.java" />
>>> >             </srcfiles>
>>> >         </uptodate>
>>> >     </target>
>>> >
>>> >     <target name="test1"
>>> >         depends="check.db.schema.up.to.date"
>>> >         if="db.schema.up.to.date">
>>> >
>>> >         <echo message="$${db.schema.up.to.date} =
>>> > &quot;${db.schema.up.to.date}&quot;"/>
>>> >         <echo message="No need for a build"/>
>>> >         <touch file="${db.root.dir}/DBInfo.java"/>
>>> >         <touch file="${db.root.dir}/GetDbInfo.java"/>
>>> >     </target>
>>> >
>>> >     <target name="test2"
>>> >         depends="check.db.schema.up.to.date"
>>> >         unless="db.schema.up.to.date">
>>> >
>>> >         <echo message="$${db.schema.up.to.date} =
>>> > &quot;${db.schema.up.to.date}&quot;"/>
>>> >         <echo message="Need to rebuild"/>
>>> >         <touch
>>> file="${get.dbversion.build.dir}/src/dbinfo.properties"/>
>>> >     </target>
>>> >
>>> >     <target name="test"
>>> >         depends="test1,test2"/>
>>> > </project>
>>> >
>>> > As you can see, my "check.db.schema.up.to.date" target is the same
>>> > code that you gave in your example, and I had no problems with this
>>> > particular build file with the outofdate task.
>>> >
>>> > Why not test this build.xml file and see if it works for you? All you
>>> > have to do is put it into a test directory, and run "ant" on it. It
>>> > will automatically create the needed files and directories. Each time
>>> > you run this build.xml, it will alternate between saying that the
>>> > project is out of date and isn't out of date.
>>> >
>>> > If this build.xml file doesn't work for you, then is probably an issue
>>> > with your installation of either Java or Ant.
>>> >
>>> > On Nov 9, 2007 4:12 PM, Major shao <majorshao@gmail.com> wrote:
>>> >> java version "1.4.2_05"
>>> >>
>>> >> Thanks for reply, I really need help on this!
>>> >>
>>> >> I suspect it's caused by the ant 1.7 does not take the dir path
>>> property
>>> >> ${
>>> >> get.dbversion.build.dir} in the uptodate task. But it still failed if
>>> i
>>> >> replace it with absolute path.
>>> >> I do not understand. The forward slash or backward slash should not
>>> >> matter,
>>> >> right?
>>> >>
>>> >> And, this target is in an embedded xml. That means, the target is
>>> called
>>> >> from the build.xml (using   &build_config;) which has the
>>> >> build_config.xml
>>> >> (which has this uptodate target).
>>> >>
>>> >> When I echo the property inside this target right before the task
>>> >> uptodate,
>>> >> it shows correct path. But it still fails and complains the uptodate
>>> >> task.
>>> >>
>>> >>
>>> >>
>>> >> On 11/9/07, David Weintraub <qazwart@gmail.com> wrote:
>>> >> >
>>> >> > What version of Java are you using? With Ant1.7.0, I think you
need
>>> >> > Java 1.4 or later.
>>> >> >
>>> >> > On 11/9/07, Major shao <majorshao@gmail.com> wrote:
>>> >> > >  Hi, everyone
>>> >> > >
>>> >> > >  i am trying to upgrade the project from ant1.5.1 to ant1.7.0
>>> >> > >
>>> >> > >  it gave error build_config.xml:151:
>>> >> > java.lang.ExceptionInInitializerError
>>> >> > >
>>> >> > >  the line 151 of that xml is a uptodate task. Any idea why
i got
>>> the
>>> >> > >  error? Please kindly help.
>>> >> > >  Your reply is highly appreciated.
>>> >> > >
>>> >> > >  <target name="check.db.schema.up.to.date" >
>>> >> > >          <uptodate property="db.schema.up.to.date"
>>> >> > >  targetfile="${get.dbversion.build.dir}/src/dbinfo.properties"
>
>>> >> > >              <srcfiles dir= "${db.root.dir}" >
>>> >> > >                  <include name="DBInfo.java" />
>>> >> > >                  <include name="GetDbInfo.java" />
>>> >> > >              </srcfiles>
>>> >> > >          </uptodate>
>>> >> > >  </target>
>>> >> > >
>>> >> > >
>>> >> > >  I tried to not to use the ${get.dbversion.build.dir}, it
still
>>> does
>>> >> not
>>> >> > >  work. Though it works if i use
>>> >> > >  <uptodate property="db.schema.up.to.date" srcfile="test1.java"
>>> >> > >  targetfile="dbinfo.properties" >
>>> >> > >  i cannot find out why.
>>> >> > >  And, it looks like i have more similar issues in the other
>>> following
>>> >> > >  lines in the xml. I cannot just change everything to not
having
>>> the
>>> >> > >  path variable. Please help!
>>> >> > >
>>> >> > > Thanks
>>> >> > >
>>> >> > > Richard
>>> >> > >
>>> >> > >
>>> ---------------------------------------------------------------------
>>> >> > > To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>>> >> > > For additional commands, e-mail: user-help@ant.apache.org
>>> >> > >
>>> >> > >
>>> >> >
>>> >> >
>>> >> > --
>>> >> > --
>>> >> > David Weintraub
>>> >> > qazwart@gmail.com
>>> >> >
>>> >> >
>>> ---------------------------------------------------------------------
>>> >> > To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>>> >> > For additional commands, e-mail: user-help@ant.apache.org
>>> >> >
>>> >> >
>>> >>
>>> >
>>> >
>>> >
>>> > --
>>> > --
>>> > David Weintraub
>>> > qazwart@gmail.com
>>> >
>>> > ---------------------------------------------------------------------
>>> > To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>>> > For additional commands, e-mail: user-help@ant.apache.org
>>> >
>>> >
>>> >
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/Ant-1.5-to-1.7-problem.-tf4776225.html#a13713015
>>> Sent from the Ant - Users mailing list archive at Nabble.com.
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>>> For additional commands, e-mail: user-help@ant.apache.org
>>>
>>>
>> 
>> 
>> 
>> -- 
>> --
>> David Weintraub
>> qazwart@gmail.com
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>> For additional commands, e-mail: user-help@ant.apache.org
>> 
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Ant-1.5-to-1.7-problem.-tf4776225.html#a13784648
Sent from the Ant - Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Mime
View raw message