Fails for me:

Ubuntu Dapper, Ant 1.6.5, Sun JDK 1.5.0_07

<project>
    <javac srcdir="." destdir="."/>
</project>

bash:$ ant -v
bash:$ touch test/Test3.java
bash:$ ant -v

    [javac]     /work/ant-test/ant-generics/test/Test3.java
[javac] /work/ant-test/ant-generics/test/Test3.java:8: incompatible types
    [javac] found   : test.Base
    [javac] required: test.Sub
    [javac]         public Sub p() {return this.getV();}

Is this a javac issue rather than ANT issue? I can provide more information if required.

James

[EMAIL PROTECTED] wrote:
Also no problems .... on WinXP, Ant 1.6.5 and Java 1.5.0_06-b05.

setant 165
Apache Ant version 1.6.5 compiled on June 2 2005

setjava 15
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing)

del test\*.class

ant -v
Project base dir set to: C:\tmp\ant-generics
    [javac] build.xml skipped - don't know how to handle it
    [javac] test\Base.java added as test/Base.class doesn't exist.
    [javac] test\Sub.java added as test/Sub.class doesn't exist.
    [javac] test\Test1.java added as test/Test1.class doesn't exist.
    [javac] test\Test2.java added as test/Test2.class doesn't exist.
    [javac] test\Test3.java added as test/Test3.class doesn't exist.
    [javac] Compiling 5 source files to C:\tmp\ant-generics
    [javac] Using modern compiler
    [javac] Compilation arguments:
    [javac] '-d'
    [javac] 'C:\tmp\ant-generics'
    [javac] '-classpath'
    [javac] ' LOT-OF-LIBS-FROM-ANT '
    [javac] '-sourcepath'
    [javac] 'C:\tmp\ant-generics'
    [javac] '-g:none'
    [javac]
    [javac] The ' characters around the executable and arguments are
    [javac] not part of the command.
    [javac] Files to be compiled:
    [javac]     C:\tmp\ant-generics\test\Base.java
    [javac]     C:\tmp\ant-generics\test\Sub.java
    [javac]     C:\tmp\ant-generics\test\Test1.java
    [javac]     C:\tmp\ant-generics\test\Test2.java
    [javac]     C:\tmp\ant-generics\test\Test3.java
BUILD SUCCESSFUL

ant -v
NOTHING-TO-COMPILE

touch test\Test3.java   (using Cygwin)

ant -v
Project base dir set to: C:\tmp\ant-generics
    [javac] build.xml skipped - don't know how to handle it
    [javac] test\Base.class skipped - don't know how to handle it
    [javac] test\Base.java omitted as test/Base.class is up to date.
    [javac] test\Sub.class skipped - don't know how to handle it
    [javac] test\Sub.java omitted as test/Sub.class is up to date.
    [javac] test\Test1$Inner1.class skipped - don't know how to handle it
    [javac] test\Test1.class skipped - don't know how to handle it
    [javac] test\Test1.java omitted as test/Test1.class is up to date.
    [javac] test\Test2$Inner2.class skipped - don't know how to handle it
    [javac] test\Test2.class skipped - don't know how to handle it
    [javac] test\Test2.java omitted as test/Test2.class is up to date.
    [javac] test\Test3$Inner3.class skipped - don't know how to handle it
    [javac] test\Test3.class skipped - don't know how to handle it
    [javac] test\Test3.java added as test/Test3.class is outdated.
    [javac] Compiling 1 source file to C:\tmp\ant-generics
    [javac] Using modern compiler
    [javac] Compilation arguments:
    [javac] '-d'
    [javac] 'C:\tmp\ant-generics'
    [javac] '-classpath'
    [javac] ' LOT-OF-LIBS-FROM-ANT '
    [javac] '-sourcepath'
    [javac] 'C:\tmp\ant-generics'
    [javac] '-g:none'
    [javac]
    [javac] The ' characters around the executable and arguments are
    [javac] not part of the command.
    [javac] File to be compiled:
    [javac]     C:\tmp\ant-generics\test\Test3.java

BUILD SUCCESSFUL



build.xml:
<project>
    <javac srcdir="." destdir="."/>
</project>



Jan


-----Ursprüngliche Nachricht-----
Von: Peter Reilly [mailto:[EMAIL PROTECTED] Gesendet: Dienstag, 17. Oktober 2006 16:44
An: Ant Users List
Betreff: Re: a problem compiling a Java 5 project with generics

On 10/17/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
Works for me with Ant 1.6.5 and 1.7beta2 and the given java
sources (with and without the commented line).
<project>
    <delete dir="." includes="**/*.class"/>
    <javac srcdir="." destdir="."/>
</project>
This works by itself, but touch Test3.java and run again.
Peter


Jan

-----Ursprüngliche Nachricht-----
Von: Peter Reilly [mailto:[EMAIL PROTECTED]
Gesendet: Dienstag, 17. Oktober 2006 11:39
An: Ant Users List
Betreff: Re: a problem compiling a Java 5 project with generics

Can you enter a bugzilla report about this.
It is very strange.

I tried on the commandline:

javac -target 1.5 -g -source 1.5 -sourcepath src -d build\classes src\org\test\Test3.java

which works fine - and looks very like the command used by ant.

Peter


On 10/17/06, Chavdar Botev <[EMAIL PROTECTED]> wrote:
Hi

For some reason, the mailing server included only the first attachment. Since this is the fourth or the fifth time I am
trying to
send the java files, I give up. I'll inline them in the message.

// src/test/Base.java
package test;
public class Base {}


// src/test/Sub.java
package test;
public class Sub extends Base {}

// src/test/Test1.java
package test;
public class Test1<T extends Base> {
        public class Inner1 {
                protected T v;
                public Inner1(T v) {this.v = v;}
                public T getV() {return this.v;}
        }
        public Inner1 getInner(T v) {return new Inner1(v);} }

// src/test/Test2.java
package test;
public class Test2<T extends Base> extends Test1<T> {
        public class Inner2 extends Inner1 {
                public Inner2(T v) {super(v);}
                //public T getV() {return this.v;}
        }
}

// src/test/Test3.java
package test;
public class Test3 extends Test2<Sub> {
        public class Inner3 extends Inner2 {
                public Inner3(Sub v) {super(v);}
                public Sub p() {return this.getV();}
        }

        public Inner3 g() {
                return new Inner3(new Sub());
        }
}


HTH,
Chavdar


On 10/16/06, Petar Tahchiev <[EMAIL PROTECTED]> wrote:
On 17/10/06, Chavdar Botev <[EMAIL PROTECTED]> wrote:
Hi!

I've come accross the following problem trying to
compile Java
5 classes with generics using Ant 1.6.5. I've attached
project with
sample Java classes and a build.xml file.

NOTE: Please create a src/test subdirectory and save the
attached
.java files into it. The mailing list server gave me a hard time acepting an email with the archived project files. :(

A clean build of the above project works just fine
and compiles
without a problem. If after that, I touch the Test3.java
file the
build fails with the following error:

[javac] C:\src\appforge\test\src\test\Test3.java:5:
incompatible
types
[javac] found   : test.Base
[javac] required: test.Sub
[javac] public Sub p() {return this.getV();} [javac]
^ [javac]
1 error

I must admit that this behaviour is really strange. I am
interested
in helping you but the problem is that I didn't receive
any .java
files. Please try to prvide them again.


Initially, I thought that this was a problem with the Java
compiler.
After touching Test3.java, I tried running javac manually:

javac -sourcepath src -d bin -g -source 1.5 -target 1.5 src\test\*.java

It turned out that with the above command-line the project compiled OK. The project also compiles without a problem
in Eclipse 3.2.1.
Am I missing anything? It is my understanding that the
build file
and the command line should produce the same results.

Upon further experimentation, if I uncomment the method in Test2.java fixes the problem. Touching Test3.java does
not break the build.
Thanks,
Chavdar



------------------------------------------------------------------
--- To unsubscribe, e-mail:
[EMAIL PROTECTED] For
additional commands, e-mail: [EMAIL PROTECTED]




--
Regards, Petar!
Karlovo, Bulgaria.



-------------------------------------------------------------------
-- To unsubscribe, e-mail: [EMAIL PROTECTED] For
additional
commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED] For
additional
commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to