Commits
Tarun Sukhani authored 2eb119c005c
chore(deps): drop the redundant org.eclipse.jdt.core jar ecj is the entire JDT dependency. ApplicationCompiler is the only file in the repo that imports org.eclipse.jdt.*, and every symbol it uses resolves from ecj -- including org.eclipse.jdt.core.compiler.IProblem, which ships in ecj and is absent from jdt.core. jdt.core was added upstream in 2011 (c6eac648a) when it still carried the batch compiler. ecj was added beside it in 2023 (2c281f016) once the compiler no longer shipped there, and the now-vestigial jdt.core was never dropped -- it has been re-resolved and re-vendored on every JDT bump since, most recently to 3.47.0 an hour ago. Evidence it is unreferenced: the two jars share zero class files (809 vs 1451, empty intersection); no source anywhere names it, reflectively or otherwise; it registers no META-INF/services (ecj provides the javax.tools.JavaCompiler one); no other jar in framework/lib, framework/lib-test, or either module's lib references org/eclipse/jdt at all; and neither jclaw, payments nor api names it. ant test is green without it -- 139 classes, no linkage errors -- with the integration leg exercising ApplicationCompiler on every runtime-compiled fixture class. Removes 4.5 MB from framework/lib and from every packaged distribution. Note this does change what an end-user app sees on its classpath; an app that wants JDT APIs should declare them in its own build.gradle.kts. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JTvjeSmGVe7RFyx8ZJXRAx