ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 32804] - check version of Ant
Date Thu, 23 Dec 2004 07:01:12 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=32804>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=32804





------- Additional Comments From jan@materne.de  2004-12-23 08:01 -------
Not the "cleanest" way, but I wrote two *def´s for handling with that:

<project name="common-define-checkAnt">
    <scriptdef name="checkAnt" language="javascript">
        <![CDATA[
            importClass(java.text.SimpleDateFormat);
            importClass(java.util.Locale);

            // String evaluation of 'ant.version' string
            // e.g: 'Apache Ant version 1.6beta3 compiled on December 5 2003'
            string   = project.getProperty("ant.version");
            version  = string.substring(string.indexOf("Ant version")+12, 
string.indexOf("compiled on")-1);
            compiled = string.substring(string.indexOf("compiled on")+12);

            // Get the compiled date: 'December 5 2003'
            dateParser = new SimpleDateFormat("MMM d yyyy", Locale.US);
            compiledDate = dateParser.parse(compiled);

            compiledYear  = (new SimpleDateFormat("yyyy")).format(compiledDate);
            compiledMonth = (new SimpleDateFormat("M")   ).format(compiledDate);
            compiledDay   = (new SimpleDateFormat("d")   ).format(compiledDate);

            project.setNewProperty("ant.version.number", version);
            project.setNewProperty("ant.version.compiled", compiled);
            project.setNewProperty("ant.version.compiled.year", compiledYear);
            project.setNewProperty("ant.version.compiled.month", compiledMonth);
            project.setNewProperty("ant.version.compiled.day", compiledDay);
        ]]>
    </scriptdef>
</project>


<project name="common-define-needAnt">
    <scriptdef name="needAnt" language="javascript">
        <attribute name="version"/>
        <![CDATA[
            needed = attributes.get("version");

            string = project.getProperty("ant.version");
            actual = string.substring(string.indexOf("Ant version")+12, 
string.indexOf("compiled on")-1);

            neededInt = getInt(needed);
            actualInt = getInt(actual);

            verbose("Needed: " + needed + " --> " + neededInt);
            verbose("Actual: " + actual + " --> " + actualInt);

            check = false;
            if (actualInt >= neededInt) check = true;

            if (!check) {
                java.lang.System.out.println(" -- abbruch --");
                fail = project.createTask("fail");
                fail.setMessage("Needed Ant-Version (" + needed + ") not 
available. Was: " + actual);
                fail.perform();
            }

            // convert the version string to int value for easier comparison
            function getInt(string) {
                if (string.equals("1.1"))   return 11;
                if (string.equals("1.2"))   return 12;
                if (string.equals("1.3"))   return 13;
                if (string.equals("1.4"))   return 14;
                if (string.equals("1.4.1")) return 14.1;
                if (string.equals("1.5"))   return 15;
                if (string.equals("1.5.1")) return 15.1;
                if (string.equals("1.5.2")) return 15.2;
                if (string.equals("1.5.3")) return 15.3;
                if (string.equals("1.5.4")) return 15.4;
                if (string.equals("1.5alpha"))  return 15.880;
                if (string.equals("1.6beta1"))  return 15.991;
                if (string.equals("1.6beta2"))  return 15.992;
                if (string.equals("1.6beta3"))  return 15.993;
                if (string.equals("1.6"))       return 16;
                if (string.equals("1.6.0")  )   return 16;
                if (string.equals("1.6.1")  )   return 16.1;
                if (string.equals("1.6.2")  )   return 16.2;
                if (string.equals("1.6.3")  )   return 16.3;
                if (string.equals("1.7alpha"))  return 16.880;
                if (string.equals("1.7beta"))   return 16.990;
                if (string.equals("1.7"))       return 17;
                if (string.equals("1.7.0"))     return 17;
                if (string.equals("1.7.1"))     return 17.1;
                if (string.equals("1.7.2"))     return 17.2;
                return 0;
            }

            // log-message
            function verbose(msg) {
                project.log("[needAnt]  " + msg, project.MSG_VERBOSE);
            }
        ]]>
    </scriptdef>
</project>

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

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


Mime
View raw message