Commit 8933ee5
authored
Use a separate build structure for maintaining fork (#3064)
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/A361 files changed
Lines changed: 43701 additions & 5 deletions
File tree
- annotation/annotation-sampled
- buildSrc-fork
- imports
- baseline-profile-gradle-plugin
- benchmark-darwin-plugin
- benchmark-gradle-plugin
- binary-compatibility-validator
- glance-layout-generator
- inspection-gradle-plugin
- room-gradle-plugin
- stableaidl-gradle-plugin
- plugins
- src/main
- kotlin
- androidx/build
- docs
- org/jetbrains/androidx/build
- resources/META-INF/gradle-plugins
- private
- src/main
- kotlin
- androidx/build
- binarycompatibilityvalidator
- buildInfo
- checkapi
- clang
- dackka
- dependencyTracker
- dependencyallowlist
- docs
- gitclient
- kythe
- license
- lint
- logging
- metalava
- playground
- resources
- sbom
- sources
- stableaidl
- studio
- testConfiguration
- uptodatedness
- org/jetbrains/androidx/build
- resources/META-INF/gradle-plugins
- public
- src/main/kotlin
- androidx/build
- gradle
- org/jetbrains/androidx/build
- settingsScripts
- buildSrc
- compose
- animation
- animation-core-lint
- animation-core
- samples
- animation-graphics
- samples
- animation-lint
- animation-tooling-internal
- animation
- integration-tests/animation-demos
- samples
- desktop/desktop
- samples-material3
- samples
- foundation
- foundation-layout
- integration-tests/layout-demos
- samples
- foundation-lint
- foundation
- integration-tests/foundation-demos
- samples
- integration-tests
- demos/common
- docs-snippets
- material-catalog
- lint
- common-test
- common
- internal-lint-checks
- material3
- adaptive
- adaptive-layout
- adaptive
- material3-lint
- material3-window-size-class
- samples
- material3
- samples
- material
- material-lint
- material-ripple
- material
- samples
- runtime
- runtime-lint
- runtime-livedata
- samples
- runtime-rxjava2
- samples
- runtime-rxjava3
- samples
- runtime-saveable
- runtime-test-utils
- runtime-tracing
- runtime
- integration-tests
- samples
- test-utils
- ui
- ui-android-stubs
- ui-backhandler
- ui-geometry
- ui-graphics-lint
- ui-graphics
- samples
- ui-lint
- ui-test-junit4
- ui-test-manifest-lint
- ui-test-manifest
- ui-test
- samples
- ui-text-google-fonts
- samples
- ui-text
- samples
- ui-tooling-data
- ui-tooling-preview
- samples
- ui-tooling
- ui-uikit
- ui-unit
- samples
- ui-util
- ui-viewbinding
- samples
- ui
- integration-tests/ui-demos
- samples
- gradle
- kruth/kruth
- lifecycle
- lifecycle-common
- lifecycle-runtime-compose
- lifecycle-runtime-lint
- lifecycle-runtime-testing-lint
- lifecycle-runtime-testing
- lifecycle-runtime
- lifecycle-viewmodel-compose
- lifecycle-viewmodel-savedstate
- lifecycle-viewmodel-testing
- lifecycle-viewmodel
- lint-checks
- integration-tests
- mpp/stub-project
- savedstate
- savedstate-compose
- savedstate
- testutils
- testutils-common
- testutils-espresso
- testutils-fonts
- testutils-gradle-plugin
- testutils-ktx
- testutils-lifecycle
- testutils-mockito
- testutils-runtime
- testutils-truth
- testutils-xctest
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
Lines changed: 30 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
Lines changed: 20 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
Lines changed: 16 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
Lines changed: 36 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
Lines changed: 6 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
Lines changed: 17 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
0 commit comments