We should have runtime checking for policy violations. For example warnings about: * bundled jars * jars in non-standard places * misplaced javadoc * incorrect Java version dependencies * imminent doom
Inspired by bug #134206, we could also do checks on build.xml scripts, to ensure that javac doesn't try to add VM specific things to the bootclasspath and classpath. Some other ideas (with a few I have implemented in migration-overlay): * check for USE=jikes, which is going away * check for USE=source when calling dosrc * check for app-arch/zip dependency when doing dosrc * check for inheriting old style eclasses (ie java-pkg.eclass instead of java-pkg-2.eclass ) * check for dep on ant when using eant * check for using ant instead of eant wrapper * check for using javac instead of ejavac wrapper * for build.xml, check that all javac/javadoc tasks have source and target attributes. this should obviously be done before they're rewritten by java-ant-2.eclass. java-ant-2 is just a band-aid for this missing attributes, so we don't have to maintain all sorts of patches. not to mention that the rewriting on the rare occaion delicate build.xml's.
Been doing this for a while, to some extent. Enabled by JAVA_PKG_STRICT="true" (actually any nonempty string will turn it on).