ceylon-ide-eclipse
ceylon-ide-eclipse copied to clipboard
incremental build bug in mixed-source project
I have a module with this ceylon class:
class Foo(shared String foo) {}
This Java class:
package bug;
import ceylon.language.Array;
import ceylon.language.List;
public class Java {
public static List<? extends Foo> foos =
new Array<Foo>(Foo.$TypeDescriptor$, 10, new Foo(""));
}
And finally, this Ceylon function:
shared void run() {
for (foo in Java.foos) {
print(foo.foo);
}
}
If I edit the definition of Foo
to change the name of its parameter (e.g. foo
->bar
), the model does not seem to be cleanly updated, and I need to do a clean build.
Note that this problem does not occur if I'm iterating a list declared in Ceylon, nor if I use an explicit type declaration in for
:
for (Foo foo in Java.foos) {
print(foo.foo);
}
Is just fine.
Very strange!
My guess is that the model of the Java
class is not updated during the incremental build, and holds on to the previous model of Foo
.
It appears that dependencies from Java units to Ceylon units are not tracked. So run.ceylon
is not transitively added to files to rebuild after the modification of Foo.ceylon
Yes this was my guess.
Sent from my iPhone
On 7 May 2015, at 12:21 pm, David Festal [email protected] wrote:
It appears that dependencies from Java units to Ceylon units are not tracked. So run.ceylon is not transitively added to files to rebuild after the modification of Foo.ceylon
— Reply to this email directly or view it on GitHub.
and it appears that correctly managing them is not as simple as it might seem :-/
let's postpone for after 1.2