Fixed
Status Update
Comments
yb...@google.com <yb...@google.com> #2
This issue is assigned to an engineer for further evaluation
ra...@gmail.com <ra...@gmail.com> #4
Same bug with Eclipse 3.7 on Linux (Arch 64bits)
Is it me or this post is more than 2 years old and have not been resolved yet ?
Is it me or this post is more than 2 years old and have not been resolved yet ?
ra...@gmail.com <ra...@gmail.com> #5
No! It's the way it is. Looks like it hasn't been solved up to now. I just needed to "fix" it with this workaround. And it caused other troubles like no completions available and stuff...
ra...@gmail.com <ra...@gmail.com> #6
I could not reproduce this. In any case, ADT 14 logcat view is also a complete rewrite. Are any of you seeing this with ADT 14?
ra...@gmail.com <ra...@gmail.com> #7
DDMS is blank for me with ADT 14, eclipse 3.7.1 and Ubuntu
Description
Version used: either 1.0.0 or 1.1.0-alpha2
Devices/Android versions reproduced on: n/a
The Room compiler does not support two @Dao classes with the same simple name and same package. This would occur if you have two static @Dao classes:
@Entity
public class GoodThingy {
@PrimaryKey int id;
public String something;
@Dao
public static abstract class Store {
@Query("SELECT * FROM GoodThingy")
public abstract List<GoodThingy> all();
}
}
@Entity
public class BadThingy {
@PrimaryKey int id;
public String something;
@Dao
public static abstract class Store {
@Query("SELECT * FROM BadThingy")
abstract List<BadThingy> all();
}
}
The code generator tries generating Store_Impl.java for each of those, and that fails with:
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> javax.annotation.processing.FilerException: Attempt to recreate a file for type com.commonsware.abstractroombug.Store_Impl
The workaround is to name each static @Dao something different (e.g., GoodStore, BadStore).
IMHO, ideally either:
- Using the same name is supported, by generating distinct Java classes for each (e.g., GoodThingy_Store_Impl.java, BadThingy_Store_Impl.java), or
- This limitation is documented, or
- The error message be more specific, indicating that this sort of thing is the source of the trouble (as "Attempt to recreate a file" may not be intuitively obvious to developers)
The code shown above is from the attached project that reproduces the problem. The project right now is set for 1.1.0-alpha2, but the same problem exists with 1.0.0.