Hi,

I've been successfully (at least for my build scripts) running ant 1.5.3 with Kaffe. I have found a small cosmetic discrepancy in displaying the final elapsed build time. What I've done is to liberally copy the offending code from ant (attached as test.java) to provide you with a test case. Basically this is the outputs from both Sun JDK and Kaffe:

[EMAIL PROTECTED] jaco]$ javac test/test.java
[EMAIL PROTECTED] jaco]$ java test/test
Total time: 7 minutes 36 seconds (456789)
[EMAIL PROTECTED] jaco]$ /usr/local/kaffe/bin/kaffe test/test
Total time: {0,number} minutes {1,number} seconds (456789)
[EMAIL PROTECTED] jaco]$

Greetings,
Jaco
package test;

import java.text.ChoiceFormat;
import java.text.DateFormat;
import java.text.MessageFormat;
import java.text.SimpleDateFormat;
import java.util.Locale;

public class test {

        public static final String ISO8601_DATETIME_PATTERN = "yyyy-MM-dd'T'HH:mm:ss";
        public static final String ISO8601_DATE_PATTERN = "yyyy-MM-dd";
        public static final String ISO8601_TIME_PATTERN = "HH:mm:ss";
        public static final DateFormat DATE_HEADER_FORMAT = new SimpleDateFormat("EEE, 
dd MMM yyyy HH:mm:ss ", Locale.US);
        private static final MessageFormat MINUTE_SECONDS = new 
MessageFormat("{0}{1}");
        private static final double[] LIMITS = {0, 1, 2};
        private static final String[] MINUTES_PART = {"", "1 minute ", "{0,number} 
minutes "};
        private static final String[] SECONDS_PART = {"0 seconds", "1 second", 
"{1,number} seconds"};
        private static final ChoiceFormat MINUTES_FORMAT = new ChoiceFormat(LIMITS, 
MINUTES_PART);
        private static final ChoiceFormat SECONDS_FORMAT = new ChoiceFormat(LIMITS, 
SECONDS_PART);

        static {
                MINUTE_SECONDS.setFormat(0, MINUTES_FORMAT);
                MINUTE_SECONDS.setFormat(1, SECONDS_FORMAT);
        }

        public static String formatElapsedTime(long millis) {
                long seconds = millis / 1000;
                long minutes = seconds / 60;
                Object[] args = {new Long(minutes), new Long(seconds % 60)};
                return MINUTE_SECONDS.format(args);
        }

        public static void main(String[] args) {
                long elapsedTime = 456789;
                System.out.print("Total time: ");
                System.out.print(formatElapsedTime(elapsedTime));
                System.out.println(" (" + elapsedTime + ")");
        }
}

Reply via email to