Support using sources instead of androidx artifacts#3169
Closed
Igor Demin (igordmn) wants to merge 3 commits into
Closed
Support using sources instead of androidx artifacts#3169Igor Demin (igordmn) wants to merge 3 commits into
Igor Demin (igordmn) wants to merge 3 commits into
Conversation
``` cp compose/runtime/runtime/build-fork.gradle compose/runtime/runtime-stub/build.gradle ```
``` git checkout --no-overlay androidx/compose-ui/1.12.0-beta01 -- compose/runtime/runtime/build** git checkout --no-overlay androidx/compose-ui/1.12.0-beta01 -- compose/runtime/runtime-annotation/build** cp compose/runtime/runtime/build.gradle compose/runtime/runtime/build-fork.gradle cp compose/runtime/runtime-annotation/build.gradle compose/runtime/runtime-annotation/build-fork.gradle ```
Collaborator
Author
|
Discussed not doing this as it is controversial, and revisit when it is needed |
Igor Demin (igordmn)
added a commit
that referenced
this pull request
Jul 1, 2026
Part of [CMP-10017](https://youtrack.jetbrains.com/issue/CMP-10017) Simplify merges short-term. Make buildSrc/build.gradle for the fork mode The reason is to simplify regular AOSP merges. There are 2 modes: - AOSP mode. used if it is opened via `gradlew studio` - fork mode. used if it is opened via IDEA. The build fork is separated using this code: ``` def isRunFromGradlewStudio = System.getenv().get("EXPECTED_AGP_VERSION") if (!isRunFromGradlewStudio) { apply from: "settings-fork.gradle" return } ``` This works, but not ideally because some parts of the build are still shared with AOSP and we need to review them during the merge: ``` gradle.properties gradle/wrapper gradle/libs.version.toml buildSrc/gradle.properties ``` Alternatives that I tried: - create `fork-project`, add symlinks to the top-level projects. Didn't work because integration with Git is broken (the changed files are treated as not a part of the project) - create `fork-project`, use `../project` paths to the top-level projects. Didn't work because running from the gutter is broken (IDEA tells that the project folder isn't part of the root project) Next steps: 1. [Support using sources instead of androidx artifacts](#3169) 2. Merge it into `integration` 3. Reset state of `buildSrc`, `build.gradle` to the AOSP state (excluding the code that redirects to the fork) 4. Add an automatic task that compares source sets dependencies inside `build-fork.gradle` 5. Clean up `buildSrc` from not needed code [TeamCity](https://teamcity.jetbrains.com/buildConfiguration/JetBrainsPublicProjects_Compose_AllPersonalBuild/6263205) Should be reviewed commit by commit. ## Release Notes N/A
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Part of CMP-10017 Simplify merges short-term. Make buildSrc/build.gradle for the fork mode
-stubprojectjetbrains.androidx.use.androidx.sources.instead.of.artifacts. If true - sources instead ofandroidxartifacts are used for specific projects, using dependency substitutionSupported projects to run from sources:
Release Notes
N/A