Repository navigation
ADFA-4931: Quick Build links the Gradle distribution's Kotlin compiler instead of bundling its own #2090
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
fryanpan
wants to merge
22
commits into
stage
Choose a base branch
from
feature/ADFA-4931-unify-toolchain-restack
base: stage
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
ADFA-4931: Quick Build links the Gradle distribution's Kotlin compiler instead of bundling its own #2090
Changes from all commits
Commits
Show all changes
22 commits
Select commit
Hold shift + click to select a range
4a4bd62
ADFA-4931: stop shipping a second Kotlin compiler
fryanpan f02c8a5
ADFA-4931: point the TestKit fixtures at the toolchain they now test
fryanpan 91ff0c5
ADFA-4931: cover the compiler link, and correct what the daemon deps say
fryanpan 3e273ba
ADFA-4931: stop shipping four more jars the distribution already has
fryanpan ca008b1
ADFA-4931: follow the distribution's versions for the daemon's last t…
fryanpan 6492228
ADFA-4931: collapse jars the two on-device stores both extracted
fryanpan 747bf98
ADFA-4931: pin that staging runs the link, not just that the link works
fryanpan 10426d4
ADFA-4931: cover the dedup and link paths' remaining branches
fryanpan 456559f
ADFA-4931: hash the jars the daemon loads, not the ones it was built …
fryanpan 4ad887c
ADFA-4931: link the distribution's Kotlin jars instead of shipping a …
fryanpan d8de72f
ADFA-4931: document that the daemon loads the distribution's compiler
fryanpan 6927b14
ADFA-4931: stop a re-stage from truncating the distribution's own jars
fryanpan 2249dfb
ADFA-4931: run the distribution jar check after the asset downloads
fryanpan 2cb9d0f
ADFA-4931: take the linked jars' versions from the catalog
fryanpan f19f1e0
ADFA-4931: re-stage when a linked jar no longer resolves
fryanpan e61a9d1
ADFA-4931: link kotlin-reflect from the distribution too
fryanpan db7cf61
ADFA-4931: take the daemon's Kotlin at KOTLIN_VERSION and drop the ca…
fryanpan 69d2dff
ADFA-4931: check the distribution release builds package, not only th…
fryanpan d68ff70
ADFA-4931: correct the stager's class doc, which still said 62 MB
fryanpan 32aaf27
ADFA-4931: cover the re-stage when the linked-jar list is unreadable
fryanpan 98d50bf
ADFA-4931: gate release variants on the distribution check, not task …
fryanpan 9621289
ADFA-4931: gate every variant that bundles the distribution, not just…
fryanpan File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NITPICK:
kotlin-reflectcould join this list, saving about 3 MB more.The distribution ships
kotlin-reflect-2.3.21.jarinlib/, but the daemon resolveskotlin-reflect:1.6.10, which the POM ofkotlin-compiler-embeddable:2.3.21pins (checked with:quickbuild:daemon:dependencies --configuration runtimeClasspathat this head). So the zip still carries its own copy, of an older version.Fix: pin
kotlin-reflecttoKOTLIN_VERSIONwith a constraint, as for coroutines, then link it. The daemon README says excluding it breaks compiles, so the:quickbuild:daemonsuite would need to pass on 2.3.21 first.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done in df6e21d. A constraint pins kotlin-reflect to
KOTLIN_VERSION(quickbuild/daemon/build.gradle.kts:124), so it resolves1.6.10 -> 2.3.21, and it joins the linked list (app/build.gradle.kts:526). The full:quickbuild:daemonsuite passes on 2.3.21 (234 tests, 0 failures), and both distributions carrylib/kotlin-reflect-2.3.21.jar. The daemon zip drops from 4.4 MB to 1.7 MB. On the A56 it is linked like the other 8, and a Compose edit compiles and reloads through it.