find transitive dependencies
also make reverse dependency
let the transitive dependency set include self
fix constructor init
bind new population magic to gradle
remove undef file hacks
handle enum
filter