Commits
Tarun Sukhani authored d8563b631b4
fix(gradle-plugin): keep the AOT cache under build/ and change the classpath only for a start that uses it (PF-185) Two decisions of the first implementation, revised before release. The cache was app.aot in the application directory: an untracked file of a hundred megabytes in every existing application until its .gitignore named it. It is now build/play/aot/app.aot. An application's .gitignore already excludes build/, which also keeps the cache out of playDist and playBundle (they ship what git lists), so the .gitignore line in the skeleton, the reminder printed by playAotGen and the special case in the packaging tasks are gone. playPrecompile leaves the cache alone; gradle clean removes it. A bundle keeps its own in the bundle's root, as released. Every start with -Dprecompiled=true lost the directories on its classpath, cache or not. That took conf/ away from libraries that look there through the system class loader in applications that never asked for a cache. Now only a JVM that is given the cache, or the training run's -XX:AOTCacheOutput, gets a classpath of files only. An application that never runs `play aot-gen` is launched exactly as before. Checked on a generated application against the real framework: precompiled start without a cache 140 classpath entries, 3 directories, no AOT option; after aot-gen 137 entries, no directory, cache opened, 528 ms; a start that compiles unchanged with the cache present; the cache survives play dist and is not in the zip. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KDUoh3KhBpfjXn4rV6H356