[go: nahoru, domu]

[GH] Move playground projects into a separate folder

This PR updates the GitHub setup to position playground projects outside the main project structure.

This is done for 2 reasons:

* Running `gw` (gradle shortcut that finds the closest gradlew) would match the playground gradlew even when the developer is not using playground
* Android studio would pick the playground settings.gradle file when running jvm tests from studio's gutter icon. This caused a lot of confusion for developers as it might run with different dependencies, confuse studio etc.

This updates moves them into playground-projects folder, also names each one as `projectName-playground` to further avoid any confusion with the parent project (e.g. :room gets included automatically when :room-common is included, we don't want it to conflict with the playground root project).

I updated the workflow files to use the new setup (PR will fail on target since it will use the old workflow file)
I've also added an empty playground project to run ktlint on CI so that it doesn't get affected by other projects.

Bug: n/a
Test: CI

This is an imported pull request from https://github.com/androidx/androidx/pull/624.

Resolves #624
Github-Pr-Head-Sha: ebfcbba1a0fa94306eb6fb4803097dc527554e3d
GitOrigin-RevId: c1db28e996eabad2396ee431c6e95afef234ca22
Change-Id: I6c2176678187dc5f043cdb4391496ee372834c7f
diff --git a/.github/workflows/presubmit.yml b/.github/workflows/presubmit.yml
index 1382b85..e78e03a 100644
--- a/.github/workflows/presubmit.yml
+++ b/.github/workflows/presubmit.yml
@@ -99,14 +99,14 @@
 
           # Limit the size of the cache entry.
           # These directories contain instrumented/transformed dependency jars which can be reconstructed relatively quickly.
-          gradle-home-cache-excludes: | 
+          gradle-home-cache-excludes: |
             caches/jars-9
             caches/transforms-3
 
       - name: "ktlint"
         env:
           JAVA_HOME: ${{ steps.setup-java.outputs.path }}
-        working-directory: activity
+        working-directory: playground-projects/ktlint-playground
         run: ./gradlew -q :ktlintCheckFile ${{ steps.ktlint-file-args.outputs.ktlint-file-args }} ${{ needs.setup.outputs.gradlew_flags }}
 
   build-modules:
@@ -126,7 +126,7 @@
     needs: [setup, lint]
     env:
       artifact-id: ${{matrix.project}}
-      project-root: ${{matrix.project-root || matrix.project}}
+      project-root: playground-projects/${{matrix.project-root || matrix.project}}-playground
       GRADLE_BUILD_CACHE_PASSWORD: ${{ secrets.GRADLE_BUILD_CACHE_PASSWORD }}
       GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
     steps:
@@ -145,7 +145,7 @@
         if: ${{ steps.check-ci-config.outputs.enabled == 'true' }}
         with:
           project: ${{ matrix.project }}
-          project-root: ${{matrix.project-root || matrix.project }}
+          project-root: ${{ env.project-root }}
           gradle-cache-password: ${{ secrets.GRADLE_BUILD_CACHE_PASSWORD }}
           gradle-enterprise-access-key: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
           gradle-flags: ${{ needs.setup.outputs.gradlew_flags }}
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index c4328ab..1830b7d 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -39,7 +39,7 @@
 
 - Download and install JDK 17, if you don’t have it already.
 
-  Note the installation directory. If you already have JDK 17 installed and set as default, you can 
+  Note the installation directory. If you already have JDK 17 installed and set as default, you can
   find this with `which javac`.
 
 - Download and install [Android Studio](https://developer.android.com/studio) if you don't have it
@@ -85,6 +85,9 @@
   -- work
 ```
 
+To avoid conflict with the main project, these sub project groups are located under the
+`playground-projects` folder.
+
 **Note:** For other projects, you will still need to use the Gerrit workflow used by the Android Open Source Project (AOSP). For more information, please look at the [README](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:README.md).
 
 Fork the [androidx/androidx](https://github.com/androidx/androidx) repository.
@@ -109,7 +112,7 @@
 First launch Android Studio using:
 
 ```bash
-cd androidx/room
+cd playground-projects/room-playground
 # This will automatically launch the `room` project in Android Studio.
 ./gradlew studio
 ```
diff --git a/activity/.idea/codeStyles/Project.xml b/activity/.idea/codeStyles/Project.xml
deleted file mode 120000
index b52b28c..0000000
--- a/activity/.idea/codeStyles/Project.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/codeStyles/Project.xml
\ No newline at end of file
diff --git a/activity/.idea/codeStyles/codeStyleConfig.xml b/activity/.idea/codeStyles/codeStyleConfig.xml
deleted file mode 120000
index 19c4848..0000000
--- a/activity/.idea/codeStyles/codeStyleConfig.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/codeStyles/codeStyleConfig.xml
\ No newline at end of file
diff --git a/activity/.idea/copyright/AndroidCopyright.xml b/activity/.idea/copyright/AndroidCopyright.xml
deleted file mode 120000
index afbbd04..0000000
--- a/activity/.idea/copyright/AndroidCopyright.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/copyright/AndroidCopyright.xml
\ No newline at end of file
diff --git a/activity/.idea/copyright/profiles_settings.xml b/activity/.idea/copyright/profiles_settings.xml
deleted file mode 120000
index 5996ccd..0000000
--- a/activity/.idea/copyright/profiles_settings.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/copyright/profiles_settings.xml
\ No newline at end of file
diff --git a/activity/.idea/inspectionProfiles/Project_Default.xml b/activity/.idea/inspectionProfiles/Project_Default.xml
deleted file mode 120000
index a7481f4..0000000
--- a/activity/.idea/inspectionProfiles/Project_Default.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/inspectionProfiles/Project_Default.xml
\ No newline at end of file
diff --git a/activity/.idea/scopes/Ignore_API_Files.xml b/activity/.idea/scopes/Ignore_API_Files.xml
deleted file mode 120000
index 3361ee1..0000000
--- a/activity/.idea/scopes/Ignore_API_Files.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/scopes/Ignore_API_Files.xml
\ No newline at end of file
diff --git a/activity/.idea/scopes/buildSrc.xml b/activity/.idea/scopes/buildSrc.xml
deleted file mode 120000
index 25b7d3b..0000000
--- a/activity/.idea/scopes/buildSrc.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/scopes/buildSrc.xml
\ No newline at end of file
diff --git a/activity/gradle b/activity/gradle
deleted file mode 120000
index 1c936b3..0000000
--- a/activity/gradle
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradle
\ No newline at end of file
diff --git a/activity/gradle.properties b/activity/gradle.properties
deleted file mode 120000
index d952fb0..0000000
--- a/activity/gradle.properties
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/androidx-shared.properties
\ No newline at end of file
diff --git a/activity/gradlew b/activity/gradlew
deleted file mode 120000
index 05b75179..0000000
--- a/activity/gradlew
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradlew
\ No newline at end of file
diff --git a/activity/gradlew.bat b/activity/gradlew.bat
deleted file mode 120000
index b20877e..0000000
--- a/activity/gradlew.bat
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradlew.bat
\ No newline at end of file
diff --git a/appcompat/.idea/codeStyles/Project.xml b/appcompat/.idea/codeStyles/Project.xml
deleted file mode 120000
index b52b28c..0000000
--- a/appcompat/.idea/codeStyles/Project.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/codeStyles/Project.xml
\ No newline at end of file
diff --git a/appcompat/.idea/codeStyles/codeStyleConfig.xml b/appcompat/.idea/codeStyles/codeStyleConfig.xml
deleted file mode 120000
index 19c4848..0000000
--- a/appcompat/.idea/codeStyles/codeStyleConfig.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/codeStyles/codeStyleConfig.xml
\ No newline at end of file
diff --git a/appcompat/.idea/copyright/AndroidCopyright.xml b/appcompat/.idea/copyright/AndroidCopyright.xml
deleted file mode 120000
index afbbd04..0000000
--- a/appcompat/.idea/copyright/AndroidCopyright.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/copyright/AndroidCopyright.xml
\ No newline at end of file
diff --git a/appcompat/.idea/copyright/profiles_settings.xml b/appcompat/.idea/copyright/profiles_settings.xml
deleted file mode 120000
index 5996ccd..0000000
--- a/appcompat/.idea/copyright/profiles_settings.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/copyright/profiles_settings.xml
\ No newline at end of file
diff --git a/appcompat/.idea/inspectionProfiles/Project_Default.xml b/appcompat/.idea/inspectionProfiles/Project_Default.xml
deleted file mode 120000
index a7481f4..0000000
--- a/appcompat/.idea/inspectionProfiles/Project_Default.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/inspectionProfiles/Project_Default.xml
\ No newline at end of file
diff --git a/appcompat/.idea/scopes/Ignore_API_Files.xml b/appcompat/.idea/scopes/Ignore_API_Files.xml
deleted file mode 120000
index 3361ee1..0000000
--- a/appcompat/.idea/scopes/Ignore_API_Files.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/scopes/Ignore_API_Files.xml
\ No newline at end of file
diff --git a/appcompat/.idea/scopes/buildSrc.xml b/appcompat/.idea/scopes/buildSrc.xml
deleted file mode 120000
index 25b7d3b..0000000
--- a/appcompat/.idea/scopes/buildSrc.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/scopes/buildSrc.xml
\ No newline at end of file
diff --git a/appcompat/gradle b/appcompat/gradle
deleted file mode 120000
index 1c936b3..0000000
--- a/appcompat/gradle
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradle
\ No newline at end of file
diff --git a/appcompat/gradle.properties b/appcompat/gradle.properties
deleted file mode 120000
index d952fb0..0000000
--- a/appcompat/gradle.properties
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/androidx-shared.properties
\ No newline at end of file
diff --git a/appcompat/gradlew b/appcompat/gradlew
deleted file mode 120000
index 05b75179..0000000
--- a/appcompat/gradlew
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradlew
\ No newline at end of file
diff --git a/appcompat/gradlew.bat b/appcompat/gradlew.bat
deleted file mode 120000
index b20877e..0000000
--- a/appcompat/gradlew.bat
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradlew.bat
\ No newline at end of file
diff --git a/biometric/.idea/codeStyles/Project.xml b/biometric/.idea/codeStyles/Project.xml
deleted file mode 120000
index b52b28c..0000000
--- a/biometric/.idea/codeStyles/Project.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/codeStyles/Project.xml
\ No newline at end of file
diff --git a/biometric/.idea/codeStyles/codeStyleConfig.xml b/biometric/.idea/codeStyles/codeStyleConfig.xml
deleted file mode 120000
index 19c4848..0000000
--- a/biometric/.idea/codeStyles/codeStyleConfig.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/codeStyles/codeStyleConfig.xml
\ No newline at end of file
diff --git a/biometric/.idea/copyright/AndroidCopyright.xml b/biometric/.idea/copyright/AndroidCopyright.xml
deleted file mode 120000
index afbbd04..0000000
--- a/biometric/.idea/copyright/AndroidCopyright.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/copyright/AndroidCopyright.xml
\ No newline at end of file
diff --git a/biometric/.idea/copyright/profiles_settings.xml b/biometric/.idea/copyright/profiles_settings.xml
deleted file mode 120000
index 5996ccd..0000000
--- a/biometric/.idea/copyright/profiles_settings.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/copyright/profiles_settings.xml
\ No newline at end of file
diff --git a/biometric/.idea/inspectionProfiles/Project_Default.xml b/biometric/.idea/inspectionProfiles/Project_Default.xml
deleted file mode 120000
index a7481f4..0000000
--- a/biometric/.idea/inspectionProfiles/Project_Default.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/inspectionProfiles/Project_Default.xml
\ No newline at end of file
diff --git a/biometric/.idea/scopes/Ignore_API_Files.xml b/biometric/.idea/scopes/Ignore_API_Files.xml
deleted file mode 120000
index 3361ee1..0000000
--- a/biometric/.idea/scopes/Ignore_API_Files.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/scopes/Ignore_API_Files.xml
\ No newline at end of file
diff --git a/biometric/.idea/scopes/buildSrc.xml b/biometric/.idea/scopes/buildSrc.xml
deleted file mode 120000
index 25b7d3b..0000000
--- a/biometric/.idea/scopes/buildSrc.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/scopes/buildSrc.xml
\ No newline at end of file
diff --git a/biometric/gradle b/biometric/gradle
deleted file mode 120000
index 1c936b3..0000000
--- a/biometric/gradle
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradle
\ No newline at end of file
diff --git a/biometric/gradle.properties b/biometric/gradle.properties
deleted file mode 120000
index d952fb0..0000000
--- a/biometric/gradle.properties
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/androidx-shared.properties
\ No newline at end of file
diff --git a/biometric/gradlew b/biometric/gradlew
deleted file mode 120000
index 05b75179..0000000
--- a/biometric/gradlew
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradlew
\ No newline at end of file
diff --git a/biometric/gradlew.bat b/biometric/gradlew.bat
deleted file mode 120000
index b20877e..0000000
--- a/biometric/gradlew.bat
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradlew.bat
\ No newline at end of file
diff --git a/collection/.idea/codeStyles/Project.xml b/collection/.idea/codeStyles/Project.xml
deleted file mode 120000
index b52b28c..0000000
--- a/collection/.idea/codeStyles/Project.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/codeStyles/Project.xml
\ No newline at end of file
diff --git a/collection/.idea/codeStyles/codeStyleConfig.xml b/collection/.idea/codeStyles/codeStyleConfig.xml
deleted file mode 120000
index 19c4848..0000000
--- a/collection/.idea/codeStyles/codeStyleConfig.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/codeStyles/codeStyleConfig.xml
\ No newline at end of file
diff --git a/collection/.idea/copyright/AndroidCopyright.xml b/collection/.idea/copyright/AndroidCopyright.xml
deleted file mode 120000
index afbbd04..0000000
--- a/collection/.idea/copyright/AndroidCopyright.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/copyright/AndroidCopyright.xml
\ No newline at end of file
diff --git a/collection/.idea/copyright/profiles_settings.xml b/collection/.idea/copyright/profiles_settings.xml
deleted file mode 120000
index 5996ccd..0000000
--- a/collection/.idea/copyright/profiles_settings.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/copyright/profiles_settings.xml
\ No newline at end of file
diff --git a/collection/.idea/inspectionProfiles/Project_Default.xml b/collection/.idea/inspectionProfiles/Project_Default.xml
deleted file mode 120000
index a7481f4..0000000
--- a/collection/.idea/inspectionProfiles/Project_Default.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/inspectionProfiles/Project_Default.xml
\ No newline at end of file
diff --git a/collection/.idea/scopes/Ignore_API_Files.xml b/collection/.idea/scopes/Ignore_API_Files.xml
deleted file mode 120000
index 3361ee1..0000000
--- a/collection/.idea/scopes/Ignore_API_Files.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/scopes/Ignore_API_Files.xml
\ No newline at end of file
diff --git a/collection/.idea/scopes/buildSrc.xml b/collection/.idea/scopes/buildSrc.xml
deleted file mode 120000
index 25b7d3b..0000000
--- a/collection/.idea/scopes/buildSrc.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/scopes/buildSrc.xml
\ No newline at end of file
diff --git a/collection/gradle b/collection/gradle
deleted file mode 120000
index 1c936b3..0000000
--- a/collection/gradle
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradle
\ No newline at end of file
diff --git a/collection/gradle.properties b/collection/gradle.properties
deleted file mode 120000
index d952fb0..0000000
--- a/collection/gradle.properties
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/androidx-shared.properties
\ No newline at end of file
diff --git a/collection/gradlew b/collection/gradlew
deleted file mode 120000
index 05b75179..0000000
--- a/collection/gradlew
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradlew
\ No newline at end of file
diff --git a/collection/gradlew.bat b/collection/gradlew.bat
deleted file mode 120000
index b20877e..0000000
--- a/collection/gradlew.bat
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradlew.bat
\ No newline at end of file
diff --git a/compose/runtime/.idea/codeStyles/Project.xml b/compose/runtime/.idea/codeStyles/Project.xml
deleted file mode 120000
index 32e9847..0000000
--- a/compose/runtime/.idea/codeStyles/Project.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../../.idea/codeStyles/Project.xml
\ No newline at end of file
diff --git a/compose/runtime/.idea/codeStyles/codeStyleConfig.xml b/compose/runtime/.idea/codeStyles/codeStyleConfig.xml
deleted file mode 120000
index 873592ff..0000000
--- a/compose/runtime/.idea/codeStyles/codeStyleConfig.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../../.idea/codeStyles/codeStyleConfig.xml
\ No newline at end of file
diff --git a/compose/runtime/.idea/copyright/AndroidCopyright.xml b/compose/runtime/.idea/copyright/AndroidCopyright.xml
deleted file mode 120000
index f9a587a..0000000
--- a/compose/runtime/.idea/copyright/AndroidCopyright.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../../.idea/copyright/AndroidCopyright.xml
\ No newline at end of file
diff --git a/compose/runtime/.idea/copyright/profiles_settings.xml b/compose/runtime/.idea/copyright/profiles_settings.xml
deleted file mode 120000
index 0b054ba..0000000
--- a/compose/runtime/.idea/copyright/profiles_settings.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../../.idea/copyright/profiles_settings.xml
\ No newline at end of file
diff --git a/compose/runtime/.idea/inspectionProfiles/Project_Default.xml b/compose/runtime/.idea/inspectionProfiles/Project_Default.xml
deleted file mode 120000
index b8d649c..0000000
--- a/compose/runtime/.idea/inspectionProfiles/Project_Default.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../../.idea/inspectionProfiles/Project_Default.xml
\ No newline at end of file
diff --git a/compose/runtime/.idea/scopes/Ignore_API_Files.xml b/compose/runtime/.idea/scopes/Ignore_API_Files.xml
deleted file mode 120000
index 009eced..0000000
--- a/compose/runtime/.idea/scopes/Ignore_API_Files.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../../.idea/scopes/Ignore_API_Files.xml
\ No newline at end of file
diff --git a/compose/runtime/.idea/scopes/buildSrc.xml b/compose/runtime/.idea/scopes/buildSrc.xml
deleted file mode 120000
index a4d6cbd..0000000
--- a/compose/runtime/.idea/scopes/buildSrc.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../../.idea/scopes/buildSrc.xml
\ No newline at end of file
diff --git a/compose/runtime/gradle b/compose/runtime/gradle
deleted file mode 120000
index 27b2e9c..0000000
--- a/compose/runtime/gradle
+++ /dev/null
@@ -1 +0,0 @@
-../../playground-common/gradle
\ No newline at end of file
diff --git a/compose/runtime/gradle.properties b/compose/runtime/gradle.properties
deleted file mode 120000
index bbd5978..0000000
--- a/compose/runtime/gradle.properties
+++ /dev/null
@@ -1 +0,0 @@
-../../playground-common/androidx-shared.properties
\ No newline at end of file
diff --git a/compose/runtime/gradlew b/compose/runtime/gradlew
deleted file mode 120000
index d9f055c..0000000
--- a/compose/runtime/gradlew
+++ /dev/null
@@ -1 +0,0 @@
-../../playground-common/gradlew
\ No newline at end of file
diff --git a/compose/runtime/gradlew.bat b/compose/runtime/gradlew.bat
deleted file mode 120000
index c35bc92..0000000
--- a/compose/runtime/gradlew.bat
+++ /dev/null
@@ -1 +0,0 @@
-../../playground-common/gradlew.bat
\ No newline at end of file
diff --git a/core/.idea/codeStyles/Project.xml b/core/.idea/codeStyles/Project.xml
deleted file mode 120000
index b52b28c..0000000
--- a/core/.idea/codeStyles/Project.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/codeStyles/Project.xml
\ No newline at end of file
diff --git a/core/.idea/codeStyles/codeStyleConfig.xml b/core/.idea/codeStyles/codeStyleConfig.xml
deleted file mode 120000
index 19c4848..0000000
--- a/core/.idea/codeStyles/codeStyleConfig.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/codeStyles/codeStyleConfig.xml
\ No newline at end of file
diff --git a/core/.idea/copyright/AndroidCopyright.xml b/core/.idea/copyright/AndroidCopyright.xml
deleted file mode 120000
index afbbd04..0000000
--- a/core/.idea/copyright/AndroidCopyright.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/copyright/AndroidCopyright.xml
\ No newline at end of file
diff --git a/core/.idea/copyright/profiles_settings.xml b/core/.idea/copyright/profiles_settings.xml
deleted file mode 120000
index 5996ccd..0000000
--- a/core/.idea/copyright/profiles_settings.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/copyright/profiles_settings.xml
\ No newline at end of file
diff --git a/core/.idea/inspectionProfiles/Project_Default.xml b/core/.idea/inspectionProfiles/Project_Default.xml
deleted file mode 120000
index a7481f4..0000000
--- a/core/.idea/inspectionProfiles/Project_Default.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/inspectionProfiles/Project_Default.xml
\ No newline at end of file
diff --git a/core/.idea/scopes/Ignore_API_Files.xml b/core/.idea/scopes/Ignore_API_Files.xml
deleted file mode 120000
index 3361ee1..0000000
--- a/core/.idea/scopes/Ignore_API_Files.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/scopes/Ignore_API_Files.xml
\ No newline at end of file
diff --git a/core/.idea/scopes/buildSrc.xml b/core/.idea/scopes/buildSrc.xml
deleted file mode 120000
index 25b7d3b..0000000
--- a/core/.idea/scopes/buildSrc.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/scopes/buildSrc.xml
\ No newline at end of file
diff --git a/core/gradle b/core/gradle
deleted file mode 120000
index 1c936b3..0000000
--- a/core/gradle
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradle
\ No newline at end of file
diff --git a/core/gradle.properties b/core/gradle.properties
deleted file mode 120000
index d952fb0..0000000
--- a/core/gradle.properties
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/androidx-shared.properties
\ No newline at end of file
diff --git a/core/gradlew b/core/gradlew
deleted file mode 120000
index 05b75179..0000000
--- a/core/gradlew
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradlew
\ No newline at end of file
diff --git a/core/gradlew.bat b/core/gradlew.bat
deleted file mode 120000
index b20877e..0000000
--- a/core/gradlew.bat
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradlew.bat
\ No newline at end of file
diff --git a/datastore/.idea/codeStyles/Project.xml b/datastore/.idea/codeStyles/Project.xml
deleted file mode 120000
index b52b28c..0000000
--- a/datastore/.idea/codeStyles/Project.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/codeStyles/Project.xml
\ No newline at end of file
diff --git a/datastore/.idea/codeStyles/codeStyleConfig.xml b/datastore/.idea/codeStyles/codeStyleConfig.xml
deleted file mode 120000
index 19c4848..0000000
--- a/datastore/.idea/codeStyles/codeStyleConfig.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/codeStyles/codeStyleConfig.xml
\ No newline at end of file
diff --git a/datastore/.idea/copyright/AndroidCopyright.xml b/datastore/.idea/copyright/AndroidCopyright.xml
deleted file mode 120000
index afbbd04..0000000
--- a/datastore/.idea/copyright/AndroidCopyright.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/copyright/AndroidCopyright.xml
\ No newline at end of file
diff --git a/datastore/.idea/copyright/profiles_settings.xml b/datastore/.idea/copyright/profiles_settings.xml
deleted file mode 120000
index 5996ccd..0000000
--- a/datastore/.idea/copyright/profiles_settings.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/copyright/profiles_settings.xml
\ No newline at end of file
diff --git a/datastore/.idea/inspectionProfiles/Project_Default.xml b/datastore/.idea/inspectionProfiles/Project_Default.xml
deleted file mode 120000
index a7481f4..0000000
--- a/datastore/.idea/inspectionProfiles/Project_Default.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/inspectionProfiles/Project_Default.xml
\ No newline at end of file
diff --git a/datastore/.idea/scopes/Ignore_API_Files.xml b/datastore/.idea/scopes/Ignore_API_Files.xml
deleted file mode 120000
index 3361ee1..0000000
--- a/datastore/.idea/scopes/Ignore_API_Files.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/scopes/Ignore_API_Files.xml
\ No newline at end of file
diff --git a/datastore/.idea/scopes/buildSrc.xml b/datastore/.idea/scopes/buildSrc.xml
deleted file mode 120000
index 25b7d3b..0000000
--- a/datastore/.idea/scopes/buildSrc.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/scopes/buildSrc.xml
\ No newline at end of file
diff --git a/datastore/gradle b/datastore/gradle
deleted file mode 120000
index 1c936b3..0000000
--- a/datastore/gradle
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradle
\ No newline at end of file
diff --git a/datastore/gradle.properties b/datastore/gradle.properties
deleted file mode 120000
index d952fb0..0000000
--- a/datastore/gradle.properties
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/androidx-shared.properties
\ No newline at end of file
diff --git a/datastore/gradlew b/datastore/gradlew
deleted file mode 120000
index 05b75179..0000000
--- a/datastore/gradlew
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradlew
\ No newline at end of file
diff --git a/datastore/gradlew.bat b/datastore/gradlew.bat
deleted file mode 120000
index b20877e..0000000
--- a/datastore/gradlew.bat
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradlew.bat
\ No newline at end of file
diff --git a/fragment/.idea/codeStyles/Project.xml b/fragment/.idea/codeStyles/Project.xml
deleted file mode 120000
index b52b28c..0000000
--- a/fragment/.idea/codeStyles/Project.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/codeStyles/Project.xml
\ No newline at end of file
diff --git a/fragment/.idea/codeStyles/codeStyleConfig.xml b/fragment/.idea/codeStyles/codeStyleConfig.xml
deleted file mode 120000
index 19c4848..0000000
--- a/fragment/.idea/codeStyles/codeStyleConfig.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/codeStyles/codeStyleConfig.xml
\ No newline at end of file
diff --git a/fragment/.idea/copyright/AndroidCopyright.xml b/fragment/.idea/copyright/AndroidCopyright.xml
deleted file mode 120000
index afbbd04..0000000
--- a/fragment/.idea/copyright/AndroidCopyright.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/copyright/AndroidCopyright.xml
\ No newline at end of file
diff --git a/fragment/.idea/copyright/profiles_settings.xml b/fragment/.idea/copyright/profiles_settings.xml
deleted file mode 120000
index 5996ccd..0000000
--- a/fragment/.idea/copyright/profiles_settings.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/copyright/profiles_settings.xml
\ No newline at end of file
diff --git a/fragment/.idea/inspectionProfiles/Project_Default.xml b/fragment/.idea/inspectionProfiles/Project_Default.xml
deleted file mode 120000
index a7481f4..0000000
--- a/fragment/.idea/inspectionProfiles/Project_Default.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/inspectionProfiles/Project_Default.xml
\ No newline at end of file
diff --git a/fragment/.idea/scopes/Ignore_API_Files.xml b/fragment/.idea/scopes/Ignore_API_Files.xml
deleted file mode 120000
index 3361ee1..0000000
--- a/fragment/.idea/scopes/Ignore_API_Files.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/scopes/Ignore_API_Files.xml
\ No newline at end of file
diff --git a/fragment/.idea/scopes/buildSrc.xml b/fragment/.idea/scopes/buildSrc.xml
deleted file mode 120000
index 25b7d3b..0000000
--- a/fragment/.idea/scopes/buildSrc.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/scopes/buildSrc.xml
\ No newline at end of file
diff --git a/fragment/gradle b/fragment/gradle
deleted file mode 120000
index 1c936b3..0000000
--- a/fragment/gradle
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradle
\ No newline at end of file
diff --git a/fragment/gradle.properties b/fragment/gradle.properties
deleted file mode 120000
index d952fb0..0000000
--- a/fragment/gradle.properties
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/androidx-shared.properties
\ No newline at end of file
diff --git a/fragment/gradlew b/fragment/gradlew
deleted file mode 120000
index 05b75179..0000000
--- a/fragment/gradlew
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradlew
\ No newline at end of file
diff --git a/fragment/gradlew.bat b/fragment/gradlew.bat
deleted file mode 120000
index b20877e..0000000
--- a/fragment/gradlew.bat
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradlew.bat
\ No newline at end of file
diff --git a/lifecycle/.idea/codeStyles/Project.xml b/lifecycle/.idea/codeStyles/Project.xml
deleted file mode 120000
index b52b28c..0000000
--- a/lifecycle/.idea/codeStyles/Project.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/codeStyles/Project.xml
\ No newline at end of file
diff --git a/lifecycle/.idea/codeStyles/codeStyleConfig.xml b/lifecycle/.idea/codeStyles/codeStyleConfig.xml
deleted file mode 120000
index 19c4848..0000000
--- a/lifecycle/.idea/codeStyles/codeStyleConfig.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/codeStyles/codeStyleConfig.xml
\ No newline at end of file
diff --git a/lifecycle/.idea/copyright/AndroidCopyright.xml b/lifecycle/.idea/copyright/AndroidCopyright.xml
deleted file mode 120000
index afbbd04..0000000
--- a/lifecycle/.idea/copyright/AndroidCopyright.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/copyright/AndroidCopyright.xml
\ No newline at end of file
diff --git a/lifecycle/.idea/copyright/profiles_settings.xml b/lifecycle/.idea/copyright/profiles_settings.xml
deleted file mode 120000
index 5996ccd..0000000
--- a/lifecycle/.idea/copyright/profiles_settings.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/copyright/profiles_settings.xml
\ No newline at end of file
diff --git a/lifecycle/.idea/inspectionProfiles/Project_Default.xml b/lifecycle/.idea/inspectionProfiles/Project_Default.xml
deleted file mode 120000
index a7481f4..0000000
--- a/lifecycle/.idea/inspectionProfiles/Project_Default.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/inspectionProfiles/Project_Default.xml
\ No newline at end of file
diff --git a/lifecycle/.idea/scopes/Ignore_API_Files.xml b/lifecycle/.idea/scopes/Ignore_API_Files.xml
deleted file mode 120000
index 3361ee1..0000000
--- a/lifecycle/.idea/scopes/Ignore_API_Files.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/scopes/Ignore_API_Files.xml
\ No newline at end of file
diff --git a/lifecycle/.idea/scopes/buildSrc.xml b/lifecycle/.idea/scopes/buildSrc.xml
deleted file mode 120000
index 25b7d3b..0000000
--- a/lifecycle/.idea/scopes/buildSrc.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/scopes/buildSrc.xml
\ No newline at end of file
diff --git a/lifecycle/gradle b/lifecycle/gradle
deleted file mode 120000
index 1c936b3..0000000
--- a/lifecycle/gradle
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradle
\ No newline at end of file
diff --git a/lifecycle/gradle.properties b/lifecycle/gradle.properties
deleted file mode 120000
index d952fb0..0000000
--- a/lifecycle/gradle.properties
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/androidx-shared.properties
\ No newline at end of file
diff --git a/lifecycle/gradlew b/lifecycle/gradlew
deleted file mode 120000
index 05b75179..0000000
--- a/lifecycle/gradlew
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradlew
\ No newline at end of file
diff --git a/lifecycle/gradlew.bat b/lifecycle/gradlew.bat
deleted file mode 120000
index b20877e..0000000
--- a/lifecycle/gradlew.bat
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradlew.bat
\ No newline at end of file
diff --git a/navigation/.idea/codeStyles/Project.xml b/navigation/.idea/codeStyles/Project.xml
deleted file mode 120000
index b52b28c..0000000
--- a/navigation/.idea/codeStyles/Project.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/codeStyles/Project.xml
\ No newline at end of file
diff --git a/navigation/.idea/codeStyles/codeStyleConfig.xml b/navigation/.idea/codeStyles/codeStyleConfig.xml
deleted file mode 120000
index 19c4848..0000000
--- a/navigation/.idea/codeStyles/codeStyleConfig.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/codeStyles/codeStyleConfig.xml
\ No newline at end of file
diff --git a/navigation/.idea/copyright/AndroidCopyright.xml b/navigation/.idea/copyright/AndroidCopyright.xml
deleted file mode 120000
index afbbd04..0000000
--- a/navigation/.idea/copyright/AndroidCopyright.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/copyright/AndroidCopyright.xml
\ No newline at end of file
diff --git a/navigation/.idea/copyright/profiles_settings.xml b/navigation/.idea/copyright/profiles_settings.xml
deleted file mode 120000
index 5996ccd..0000000
--- a/navigation/.idea/copyright/profiles_settings.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/copyright/profiles_settings.xml
\ No newline at end of file
diff --git a/navigation/.idea/inspectionProfiles/Project_Default.xml b/navigation/.idea/inspectionProfiles/Project_Default.xml
deleted file mode 120000
index a7481f4..0000000
--- a/navigation/.idea/inspectionProfiles/Project_Default.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/inspectionProfiles/Project_Default.xml
\ No newline at end of file
diff --git a/navigation/.idea/scopes/Ignore_API_Files.xml b/navigation/.idea/scopes/Ignore_API_Files.xml
deleted file mode 120000
index 3361ee1..0000000
--- a/navigation/.idea/scopes/Ignore_API_Files.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/scopes/Ignore_API_Files.xml
\ No newline at end of file
diff --git a/navigation/.idea/scopes/buildSrc.xml b/navigation/.idea/scopes/buildSrc.xml
deleted file mode 120000
index 25b7d3b..0000000
--- a/navigation/.idea/scopes/buildSrc.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/scopes/buildSrc.xml
\ No newline at end of file
diff --git a/navigation/gradle b/navigation/gradle
deleted file mode 120000
index 1c936b3..0000000
--- a/navigation/gradle
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradle
\ No newline at end of file
diff --git a/navigation/gradle.properties b/navigation/gradle.properties
deleted file mode 120000
index d952fb0..0000000
--- a/navigation/gradle.properties
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/androidx-shared.properties
\ No newline at end of file
diff --git a/navigation/gradlew b/navigation/gradlew
deleted file mode 120000
index 05b75179..0000000
--- a/navigation/gradlew
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradlew
\ No newline at end of file
diff --git a/navigation/gradlew.bat b/navigation/gradlew.bat
deleted file mode 120000
index b20877e..0000000
--- a/navigation/gradlew.bat
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradlew.bat
\ No newline at end of file
diff --git a/paging/.idea/codeStyles/Project.xml b/paging/.idea/codeStyles/Project.xml
deleted file mode 120000
index b52b28c..0000000
--- a/paging/.idea/codeStyles/Project.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/codeStyles/Project.xml
\ No newline at end of file
diff --git a/paging/.idea/codeStyles/codeStyleConfig.xml b/paging/.idea/codeStyles/codeStyleConfig.xml
deleted file mode 120000
index 19c4848..0000000
--- a/paging/.idea/codeStyles/codeStyleConfig.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/codeStyles/codeStyleConfig.xml
\ No newline at end of file
diff --git a/paging/.idea/copyright/AndroidCopyright.xml b/paging/.idea/copyright/AndroidCopyright.xml
deleted file mode 120000
index afbbd04..0000000
--- a/paging/.idea/copyright/AndroidCopyright.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/copyright/AndroidCopyright.xml
\ No newline at end of file
diff --git a/paging/.idea/copyright/profiles_settings.xml b/paging/.idea/copyright/profiles_settings.xml
deleted file mode 120000
index 5996ccd..0000000
--- a/paging/.idea/copyright/profiles_settings.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/copyright/profiles_settings.xml
\ No newline at end of file
diff --git a/paging/.idea/inspectionProfiles/Project_Default.xml b/paging/.idea/inspectionProfiles/Project_Default.xml
deleted file mode 120000
index a7481f4..0000000
--- a/paging/.idea/inspectionProfiles/Project_Default.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/inspectionProfiles/Project_Default.xml
\ No newline at end of file
diff --git a/paging/.idea/scopes/Ignore_API_Files.xml b/paging/.idea/scopes/Ignore_API_Files.xml
deleted file mode 120000
index 3361ee1..0000000
--- a/paging/.idea/scopes/Ignore_API_Files.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/scopes/Ignore_API_Files.xml
\ No newline at end of file
diff --git a/paging/.idea/scopes/buildSrc.xml b/paging/.idea/scopes/buildSrc.xml
deleted file mode 120000
index 25b7d3b..0000000
--- a/paging/.idea/scopes/buildSrc.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/scopes/buildSrc.xml
\ No newline at end of file
diff --git a/paging/gradle b/paging/gradle
deleted file mode 120000
index 1c936b3..0000000
--- a/paging/gradle
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradle
\ No newline at end of file
diff --git a/paging/gradle.properties b/paging/gradle.properties
deleted file mode 120000
index d952fb0..0000000
--- a/paging/gradle.properties
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/androidx-shared.properties
\ No newline at end of file
diff --git a/paging/gradlew b/paging/gradlew
deleted file mode 120000
index 05b75179..0000000
--- a/paging/gradlew
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradlew
\ No newline at end of file
diff --git a/paging/gradlew.bat b/paging/gradlew.bat
deleted file mode 120000
index b20877e..0000000
--- a/paging/gradlew.bat
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradlew.bat
\ No newline at end of file
diff --git a/playground-common/migrate-playground.sh b/playground-common/migrate-playground.sh
new file mode 100755
index 0000000..d0d8659
--- /dev/null
+++ b/playground-common/migrate-playground.sh
@@ -0,0 +1,54 @@
+#!/bin/bash
+set -x
+set -e
+function relativize() {
+    python3 -c "import os.path; print(os.path.relpath('$1', '$2'))"
+}
+
+PLAYGROUND_PROJECTS=( $(find . -not -path "playground" -name "settings.gradle" -exec grep -l "selectProjectsFromAndroidX" {} \+) )
+
+TARGET_PG_ROOT="./playground-projects"
+
+function deleteOldPlaygroundFiles {
+    OLD_PG=$(relativize $1)
+    rm -f "$OLD_PG/gradle"
+    rm -f "$OLD_PG/gradlew"
+    rm -f "$OLD_PG/gradlew.bat"
+    rm -f "$OLD_PG/gradle.properties"
+    rm -f "$OLD_PG/settings.gradle"
+    rm -rf "$OLD_PG/buildSrc"
+    rm -rf "$OLD_PG/.idea"
+}
+
+function createNewPlaygroundIn {
+    SETTINGS_FILE=$(relativize $1)
+    NEW_PG=$(relativize $2)
+    echo "create PG from $SETTINGS_FILE into $NEW_PG"
+    mkdir -p $NEW_PG
+    $(cp $SETTINGS_FILE $NEW_PG/.)
+    ls $NEW_PG
+    SETUP_PG_REL_PATH=$(realpath playground-common/setup-playground.sh)
+    echo "gonna execute cd $NEW_PG && $SETUP_PG_REL_PATH)"
+    (cd $NEW_PG; $SETUP_PG_REL_PATH)
+    REL_PLUGIN_PATH=$(relativize "playground-common/configure-plugin-management.gradle" "$NEW_PG")
+    REL_ROOT_PATH=$(relativize "." "$NEW_PG")
+    NEW_SETTINGS_FILE=$(relativize "$NEW_PG/settings.gradle")
+
+    echo "will replace pg path to $REL_PLUGIN_PATH"
+    sed -i '' -E "s#\".*configure-plugin-management.gradle\"#\"$REL_PLUGIN_PATH\"#g" $NEW_SETTINGS_FILE
+    echo "will replace setupPlayground calls"
+    sed -i '' -E "s#setupPlayground\(\".*\"\)#setupPlayground\(\"$REL_ROOT_PATH\"\)#g" $NEW_SETTINGS_FILE
+}
+
+function migrateOldPlayground {
+    OLD_PG=$1
+    NEW_PG="$TARGET_PG_ROOT/$OLD_PG-playground"
+    createNewPlaygroundIn "$OLD_PG/settings.gradle" $NEW_PG
+    deleteOldPlaygroundFiles $OLD_PG
+}
+
+for OLD_PLAYGROUND_PROJECT in "${PLAYGROUND_PROJECTS[@]}"
+do
+    PG_PATH=$(dirname $OLD_PLAYGROUND_PROJECT)
+    migrateOldPlayground $PG_PATH
+done
diff --git a/playground-common/playground-plugin/settings.gradle b/playground-common/playground-plugin/settings.gradle
index 0bfa896..9a007d6 100644
--- a/playground-common/playground-plugin/settings.gradle
+++ b/playground-common/playground-plugin/settings.gradle
@@ -31,6 +31,10 @@
         gradlePluginPortal().content {
             it.includeModule("com.gradle", "gradle-enterprise-gradle-plugin")
             it.includeModule("com.gradle", "common-custom-user-data-gradle-plugin")
+            it.includeModule("org.spdx", "spdx-gradle-plugin")
+            it.includeModule("com.github.johnrengelman.shadow",
+                    "com.github.johnrengelman.shadow.gradle.plugin")
+            it.includeModule("com.github.johnrengelman", "shadow")
         }
     }
 }
diff --git a/playground-common/setup-playground.sh b/playground-common/setup-playground.sh
index b103d54..2769a05 100755
--- a/playground-common/setup-playground.sh
+++ b/playground-common/setup-playground.sh
@@ -26,8 +26,6 @@
 symlink "${PLAYGROUND_REL_PATH}/gradlew.bat" gradlew.bat
 # symlink to the properties file that is shared w/ androidx main
 symlink "${PLAYGROUND_REL_PATH}/androidx-shared.properties" gradle.properties
-# symlink to build source
-symlink "${PLAYGROUND_REL_PATH}/../buildSrc" buildSrc
 
 ANDROIDX_IDEA_DIR="${PLAYGROUND_REL_PATH}/../.idea"
 
diff --git a/compose/compiler/.idea/codeStyles/Project.xml b/playground-projects/activity-playground/.idea/codeStyles/Project.xml
similarity index 100%
copy from compose/compiler/.idea/codeStyles/Project.xml
copy to playground-projects/activity-playground/.idea/codeStyles/Project.xml
diff --git a/compose/compiler/.idea/codeStyles/codeStyleConfig.xml b/playground-projects/activity-playground/.idea/codeStyles/codeStyleConfig.xml
similarity index 100%
copy from compose/compiler/.idea/codeStyles/codeStyleConfig.xml
copy to playground-projects/activity-playground/.idea/codeStyles/codeStyleConfig.xml
diff --git a/compose/compiler/.idea/copyright/AndroidCopyright.xml b/playground-projects/activity-playground/.idea/copyright/AndroidCopyright.xml
similarity index 100%
copy from compose/compiler/.idea/copyright/AndroidCopyright.xml
copy to playground-projects/activity-playground/.idea/copyright/AndroidCopyright.xml
diff --git a/compose/compiler/.idea/copyright/profiles_settings.xml b/playground-projects/activity-playground/.idea/copyright/profiles_settings.xml
similarity index 100%
copy from compose/compiler/.idea/copyright/profiles_settings.xml
copy to playground-projects/activity-playground/.idea/copyright/profiles_settings.xml
diff --git a/compose/compiler/.idea/inspectionProfiles/Project_Default.xml b/playground-projects/activity-playground/.idea/inspectionProfiles/Project_Default.xml
similarity index 100%
rename from compose/compiler/.idea/inspectionProfiles/Project_Default.xml
rename to playground-projects/activity-playground/.idea/inspectionProfiles/Project_Default.xml
diff --git a/compose/compiler/.idea/scopes/Ignore_API_Files.xml b/playground-projects/activity-playground/.idea/scopes/Ignore_API_Files.xml
similarity index 100%
copy from compose/compiler/.idea/scopes/Ignore_API_Files.xml
copy to playground-projects/activity-playground/.idea/scopes/Ignore_API_Files.xml
diff --git a/compose/compiler/.idea/scopes/buildSrc.xml b/playground-projects/activity-playground/.idea/scopes/buildSrc.xml
similarity index 100%
copy from compose/compiler/.idea/scopes/buildSrc.xml
copy to playground-projects/activity-playground/.idea/scopes/buildSrc.xml
diff --git a/compose/compiler/gradle b/playground-projects/activity-playground/gradle
similarity index 100%
rename from compose/compiler/gradle
rename to playground-projects/activity-playground/gradle
diff --git a/compose/compiler/gradle.properties b/playground-projects/activity-playground/gradle.properties
similarity index 100%
rename from compose/compiler/gradle.properties
rename to playground-projects/activity-playground/gradle.properties
diff --git a/compose/compiler/gradlew b/playground-projects/activity-playground/gradlew
similarity index 100%
rename from compose/compiler/gradlew
rename to playground-projects/activity-playground/gradlew
diff --git a/compose/compiler/gradlew.bat b/playground-projects/activity-playground/gradlew.bat
similarity index 100%
rename from compose/compiler/gradlew.bat
rename to playground-projects/activity-playground/gradlew.bat
diff --git a/activity/settings.gradle b/playground-projects/activity-playground/settings.gradle
similarity index 88%
rename from activity/settings.gradle
rename to playground-projects/activity-playground/settings.gradle
index bda0640..ba8f715 100644
--- a/activity/settings.gradle
+++ b/playground-projects/activity-playground/settings.gradle
@@ -16,7 +16,7 @@
 
 // see ../playground-common/README.md for details on how this works
 pluginManagement {
-    apply from: "../playground-common/configure-plugin-management.gradle", to: it
+    apply from: "../../playground-common/configure-plugin-management.gradle", to: it
 }
 plugins {
     id "playground"
@@ -25,7 +25,7 @@
 rootProject.name = "activity-playground"
 
 playground {
-    setupPlayground("..")
+    setupPlayground("../..")
     selectProjectsFromAndroidX({ name ->
         if (name.startsWith(":activity")) return true
         return false
diff --git a/compose/compiler/.idea/codeStyles/Project.xml b/playground-projects/appcompat-playground/.idea/codeStyles/Project.xml
similarity index 100%
copy from compose/compiler/.idea/codeStyles/Project.xml
copy to playground-projects/appcompat-playground/.idea/codeStyles/Project.xml
diff --git a/compose/compiler/.idea/codeStyles/codeStyleConfig.xml b/playground-projects/appcompat-playground/.idea/codeStyles/codeStyleConfig.xml
similarity index 100%
copy from compose/compiler/.idea/codeStyles/codeStyleConfig.xml
copy to playground-projects/appcompat-playground/.idea/codeStyles/codeStyleConfig.xml
diff --git a/compose/compiler/.idea/copyright/AndroidCopyright.xml b/playground-projects/appcompat-playground/.idea/copyright/AndroidCopyright.xml
similarity index 100%
copy from compose/compiler/.idea/copyright/AndroidCopyright.xml
copy to playground-projects/appcompat-playground/.idea/copyright/AndroidCopyright.xml
diff --git a/compose/compiler/.idea/copyright/profiles_settings.xml b/playground-projects/appcompat-playground/.idea/copyright/profiles_settings.xml
similarity index 100%
copy from compose/compiler/.idea/copyright/profiles_settings.xml
copy to playground-projects/appcompat-playground/.idea/copyright/profiles_settings.xml
diff --git a/compose/compiler/.idea/inspectionProfiles/Project_Default.xml b/playground-projects/appcompat-playground/.idea/inspectionProfiles/Project_Default.xml
similarity index 100%
copy from compose/compiler/.idea/inspectionProfiles/Project_Default.xml
copy to playground-projects/appcompat-playground/.idea/inspectionProfiles/Project_Default.xml
diff --git a/compose/compiler/.idea/scopes/Ignore_API_Files.xml b/playground-projects/appcompat-playground/.idea/scopes/Ignore_API_Files.xml
similarity index 100%
copy from compose/compiler/.idea/scopes/Ignore_API_Files.xml
copy to playground-projects/appcompat-playground/.idea/scopes/Ignore_API_Files.xml
diff --git a/compose/compiler/.idea/scopes/buildSrc.xml b/playground-projects/appcompat-playground/.idea/scopes/buildSrc.xml
similarity index 100%
copy from compose/compiler/.idea/scopes/buildSrc.xml
copy to playground-projects/appcompat-playground/.idea/scopes/buildSrc.xml
diff --git a/compose/compiler/gradle b/playground-projects/appcompat-playground/gradle
similarity index 100%
copy from compose/compiler/gradle
copy to playground-projects/appcompat-playground/gradle
diff --git a/compose/compiler/gradle.properties b/playground-projects/appcompat-playground/gradle.properties
similarity index 100%
copy from compose/compiler/gradle.properties
copy to playground-projects/appcompat-playground/gradle.properties
diff --git a/compose/compiler/gradlew b/playground-projects/appcompat-playground/gradlew
similarity index 100%
copy from compose/compiler/gradlew
copy to playground-projects/appcompat-playground/gradlew
diff --git a/compose/compiler/gradlew.bat b/playground-projects/appcompat-playground/gradlew.bat
similarity index 100%
copy from compose/compiler/gradlew.bat
copy to playground-projects/appcompat-playground/gradlew.bat
diff --git a/appcompat/settings.gradle b/playground-projects/appcompat-playground/settings.gradle
similarity index 72%
rename from appcompat/settings.gradle
rename to playground-projects/appcompat-playground/settings.gradle
index 424b67f..ef7867c 100644
--- a/appcompat/settings.gradle
+++ b/playground-projects/appcompat-playground/settings.gradle
@@ -1,6 +1,6 @@
 // see ../playground-common/README.md for details on how this works
 pluginManagement {
-    apply from: "../playground-common/configure-plugin-management.gradle", to: it
+    apply from: "../../playground-common/configure-plugin-management.gradle", to: it
 }
 plugins {
     id "playground"
@@ -9,7 +9,7 @@
 rootProject.name = "appcompat-playground"
 
 playground {
-    setupPlayground("..")
+    setupPlayground("../..")
     selectProjectsFromAndroidX({ name ->
         if (name.startsWith(":appcompat")) return true
         return false
diff --git a/compose/compiler/.idea/codeStyles/Project.xml b/playground-projects/biometric-playground/.idea/codeStyles/Project.xml
similarity index 100%
copy from compose/compiler/.idea/codeStyles/Project.xml
copy to playground-projects/biometric-playground/.idea/codeStyles/Project.xml
diff --git a/compose/compiler/.idea/codeStyles/codeStyleConfig.xml b/playground-projects/biometric-playground/.idea/codeStyles/codeStyleConfig.xml
similarity index 100%
copy from compose/compiler/.idea/codeStyles/codeStyleConfig.xml
copy to playground-projects/biometric-playground/.idea/codeStyles/codeStyleConfig.xml
diff --git a/compose/compiler/.idea/copyright/AndroidCopyright.xml b/playground-projects/biometric-playground/.idea/copyright/AndroidCopyright.xml
similarity index 100%
copy from compose/compiler/.idea/copyright/AndroidCopyright.xml
copy to playground-projects/biometric-playground/.idea/copyright/AndroidCopyright.xml
diff --git a/compose/compiler/.idea/copyright/profiles_settings.xml b/playground-projects/biometric-playground/.idea/copyright/profiles_settings.xml
similarity index 100%
copy from compose/compiler/.idea/copyright/profiles_settings.xml
copy to playground-projects/biometric-playground/.idea/copyright/profiles_settings.xml
diff --git a/compose/compiler/.idea/inspectionProfiles/Project_Default.xml b/playground-projects/biometric-playground/.idea/inspectionProfiles/Project_Default.xml
similarity index 100%
copy from compose/compiler/.idea/inspectionProfiles/Project_Default.xml
copy to playground-projects/biometric-playground/.idea/inspectionProfiles/Project_Default.xml
diff --git a/compose/compiler/.idea/scopes/Ignore_API_Files.xml b/playground-projects/biometric-playground/.idea/scopes/Ignore_API_Files.xml
similarity index 100%
copy from compose/compiler/.idea/scopes/Ignore_API_Files.xml
copy to playground-projects/biometric-playground/.idea/scopes/Ignore_API_Files.xml
diff --git a/compose/compiler/.idea/scopes/buildSrc.xml b/playground-projects/biometric-playground/.idea/scopes/buildSrc.xml
similarity index 100%
copy from compose/compiler/.idea/scopes/buildSrc.xml
copy to playground-projects/biometric-playground/.idea/scopes/buildSrc.xml
diff --git a/compose/compiler/gradle b/playground-projects/biometric-playground/gradle
similarity index 100%
copy from compose/compiler/gradle
copy to playground-projects/biometric-playground/gradle
diff --git a/compose/compiler/gradle.properties b/playground-projects/biometric-playground/gradle.properties
similarity index 100%
copy from compose/compiler/gradle.properties
copy to playground-projects/biometric-playground/gradle.properties
diff --git a/compose/compiler/gradlew b/playground-projects/biometric-playground/gradlew
similarity index 100%
copy from compose/compiler/gradlew
copy to playground-projects/biometric-playground/gradlew
diff --git a/compose/compiler/gradlew.bat b/playground-projects/biometric-playground/gradlew.bat
similarity index 100%
copy from compose/compiler/gradlew.bat
copy to playground-projects/biometric-playground/gradlew.bat
diff --git a/biometric/settings.gradle b/playground-projects/biometric-playground/settings.gradle
similarity index 88%
rename from biometric/settings.gradle
rename to playground-projects/biometric-playground/settings.gradle
index 00e01da..1259d4b 100644
--- a/biometric/settings.gradle
+++ b/playground-projects/biometric-playground/settings.gradle
@@ -16,7 +16,7 @@
 
 // see ../playground-common/README.md for details on how this works
 pluginManagement {
-    apply from: "../playground-common/configure-plugin-management.gradle", to: it
+    apply from: "../../playground-common/configure-plugin-management.gradle", to: it
 }
 plugins {
     id "playground"
@@ -25,7 +25,7 @@
 rootProject.name = "biometric-playground"
 
 playground {
-    setupPlayground("..")
+    setupPlayground("../..")
     selectProjectsFromAndroidX({ name ->
         if (name.startsWith(":biometric")) return true
         return false
diff --git a/compose/compiler/.idea/codeStyles/Project.xml b/playground-projects/collection-playground/.idea/codeStyles/Project.xml
similarity index 100%
copy from compose/compiler/.idea/codeStyles/Project.xml
copy to playground-projects/collection-playground/.idea/codeStyles/Project.xml
diff --git a/compose/compiler/.idea/codeStyles/codeStyleConfig.xml b/playground-projects/collection-playground/.idea/codeStyles/codeStyleConfig.xml
similarity index 100%
copy from compose/compiler/.idea/codeStyles/codeStyleConfig.xml
copy to playground-projects/collection-playground/.idea/codeStyles/codeStyleConfig.xml
diff --git a/compose/compiler/.idea/copyright/AndroidCopyright.xml b/playground-projects/collection-playground/.idea/copyright/AndroidCopyright.xml
similarity index 100%
copy from compose/compiler/.idea/copyright/AndroidCopyright.xml
copy to playground-projects/collection-playground/.idea/copyright/AndroidCopyright.xml
diff --git a/compose/compiler/.idea/copyright/profiles_settings.xml b/playground-projects/collection-playground/.idea/copyright/profiles_settings.xml
similarity index 100%
copy from compose/compiler/.idea/copyright/profiles_settings.xml
copy to playground-projects/collection-playground/.idea/copyright/profiles_settings.xml
diff --git a/compose/compiler/.idea/inspectionProfiles/Project_Default.xml b/playground-projects/collection-playground/.idea/inspectionProfiles/Project_Default.xml
similarity index 100%
copy from compose/compiler/.idea/inspectionProfiles/Project_Default.xml
copy to playground-projects/collection-playground/.idea/inspectionProfiles/Project_Default.xml
diff --git a/compose/compiler/.idea/scopes/Ignore_API_Files.xml b/playground-projects/collection-playground/.idea/scopes/Ignore_API_Files.xml
similarity index 100%
copy from compose/compiler/.idea/scopes/Ignore_API_Files.xml
copy to playground-projects/collection-playground/.idea/scopes/Ignore_API_Files.xml
diff --git a/compose/compiler/.idea/scopes/buildSrc.xml b/playground-projects/collection-playground/.idea/scopes/buildSrc.xml
similarity index 100%
copy from compose/compiler/.idea/scopes/buildSrc.xml
copy to playground-projects/collection-playground/.idea/scopes/buildSrc.xml
diff --git a/compose/compiler/gradle b/playground-projects/collection-playground/gradle
similarity index 100%
copy from compose/compiler/gradle
copy to playground-projects/collection-playground/gradle
diff --git a/compose/compiler/gradle.properties b/playground-projects/collection-playground/gradle.properties
similarity index 100%
copy from compose/compiler/gradle.properties
copy to playground-projects/collection-playground/gradle.properties
diff --git a/compose/compiler/gradlew b/playground-projects/collection-playground/gradlew
similarity index 100%
copy from compose/compiler/gradlew
copy to playground-projects/collection-playground/gradlew
diff --git a/compose/compiler/gradlew.bat b/playground-projects/collection-playground/gradlew.bat
similarity index 100%
copy from compose/compiler/gradlew.bat
copy to playground-projects/collection-playground/gradlew.bat
diff --git a/collection/settings.gradle b/playground-projects/collection-playground/settings.gradle
similarity index 88%
rename from collection/settings.gradle
rename to playground-projects/collection-playground/settings.gradle
index 44703b9..7436415 100644
--- a/collection/settings.gradle
+++ b/playground-projects/collection-playground/settings.gradle
@@ -16,7 +16,7 @@
 
 // see ../playground-common/README.md for details on how this works
 pluginManagement {
-    apply from: "../playground-common/configure-plugin-management.gradle", to: it
+    apply from: "../../playground-common/configure-plugin-management.gradle", to: it
 }
 plugins {
     id "playground"
@@ -25,7 +25,7 @@
 rootProject.name = "collections-playground"
 
 playground {
-    setupPlayground("..")
+    setupPlayground("../..")
     selectProjectsFromAndroidX({ name ->
         if (name.startsWith(":collection")) return true
         return false
diff --git a/playground-projects/compose/compiler-playground/.idea/codeStyles/Project.xml b/playground-projects/compose/compiler-playground/.idea/codeStyles/Project.xml
new file mode 120000
index 0000000..c105d71
--- /dev/null
+++ b/playground-projects/compose/compiler-playground/.idea/codeStyles/Project.xml
@@ -0,0 +1 @@
+../../../../../.idea/codeStyles/Project.xml
\ No newline at end of file
diff --git a/playground-projects/compose/compiler-playground/.idea/codeStyles/codeStyleConfig.xml b/playground-projects/compose/compiler-playground/.idea/codeStyles/codeStyleConfig.xml
new file mode 120000
index 0000000..43e5362
--- /dev/null
+++ b/playground-projects/compose/compiler-playground/.idea/codeStyles/codeStyleConfig.xml
@@ -0,0 +1 @@
+../../../../../.idea/codeStyles/codeStyleConfig.xml
\ No newline at end of file
diff --git a/playground-projects/compose/compiler-playground/.idea/copyright/AndroidCopyright.xml b/playground-projects/compose/compiler-playground/.idea/copyright/AndroidCopyright.xml
new file mode 120000
index 0000000..b4ec23b
--- /dev/null
+++ b/playground-projects/compose/compiler-playground/.idea/copyright/AndroidCopyright.xml
@@ -0,0 +1 @@
+../../../../../.idea/copyright/AndroidCopyright.xml
\ No newline at end of file
diff --git a/playground-projects/compose/compiler-playground/.idea/copyright/profiles_settings.xml b/playground-projects/compose/compiler-playground/.idea/copyright/profiles_settings.xml
new file mode 120000
index 0000000..6cf2613
--- /dev/null
+++ b/playground-projects/compose/compiler-playground/.idea/copyright/profiles_settings.xml
@@ -0,0 +1 @@
+../../../../../.idea/copyright/profiles_settings.xml
\ No newline at end of file
diff --git a/playground-projects/compose/compiler-playground/.idea/inspectionProfiles/Project_Default.xml b/playground-projects/compose/compiler-playground/.idea/inspectionProfiles/Project_Default.xml
new file mode 120000
index 0000000..7675087
--- /dev/null
+++ b/playground-projects/compose/compiler-playground/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1 @@
+../../../../../.idea/inspectionProfiles/Project_Default.xml
\ No newline at end of file
diff --git a/playground-projects/compose/compiler-playground/.idea/scopes/Ignore_API_Files.xml b/playground-projects/compose/compiler-playground/.idea/scopes/Ignore_API_Files.xml
new file mode 120000
index 0000000..b5ffc27
--- /dev/null
+++ b/playground-projects/compose/compiler-playground/.idea/scopes/Ignore_API_Files.xml
@@ -0,0 +1 @@
+../../../../../.idea/scopes/Ignore_API_Files.xml
\ No newline at end of file
diff --git a/playground-projects/compose/compiler-playground/.idea/scopes/buildSrc.xml b/playground-projects/compose/compiler-playground/.idea/scopes/buildSrc.xml
new file mode 120000
index 0000000..7ee7a6a
--- /dev/null
+++ b/playground-projects/compose/compiler-playground/.idea/scopes/buildSrc.xml
@@ -0,0 +1 @@
+../../../../../.idea/scopes/buildSrc.xml
\ No newline at end of file
diff --git a/playground-projects/compose/compiler-playground/gradle b/playground-projects/compose/compiler-playground/gradle
new file mode 120000
index 0000000..678197a
--- /dev/null
+++ b/playground-projects/compose/compiler-playground/gradle
@@ -0,0 +1 @@
+../../../playground-common/gradle
\ No newline at end of file
diff --git a/playground-projects/compose/compiler-playground/gradle.properties b/playground-projects/compose/compiler-playground/gradle.properties
new file mode 120000
index 0000000..bd36f20
--- /dev/null
+++ b/playground-projects/compose/compiler-playground/gradle.properties
@@ -0,0 +1 @@
+../../../playground-common/androidx-shared.properties
\ No newline at end of file
diff --git a/playground-projects/compose/compiler-playground/gradlew b/playground-projects/compose/compiler-playground/gradlew
new file mode 120000
index 0000000..eeb3a9e
--- /dev/null
+++ b/playground-projects/compose/compiler-playground/gradlew
@@ -0,0 +1 @@
+../../../playground-common/gradlew
\ No newline at end of file
diff --git a/playground-projects/compose/compiler-playground/gradlew.bat b/playground-projects/compose/compiler-playground/gradlew.bat
new file mode 120000
index 0000000..e69cab4
--- /dev/null
+++ b/playground-projects/compose/compiler-playground/gradlew.bat
@@ -0,0 +1 @@
+../../../playground-common/gradlew.bat
\ No newline at end of file
diff --git a/compose/compiler/settings.gradle b/playground-projects/compose/compiler-playground/settings.gradle
similarity index 89%
rename from compose/compiler/settings.gradle
rename to playground-projects/compose/compiler-playground/settings.gradle
index a75c964..132383d 100644
--- a/compose/compiler/settings.gradle
+++ b/playground-projects/compose/compiler-playground/settings.gradle
@@ -22,7 +22,7 @@
         }
         gradlePluginPortal()
     }
-    apply from: "../../playground-common/configure-plugin-management.gradle", to: it
+    apply from: "../../../playground-common/configure-plugin-management.gradle", to: it
 }
 plugins {
     id "playground"
@@ -31,7 +31,7 @@
 rootProject.name = "compose-compiler-playground"
 
 playground {
-    setupPlayground("../..")
+    setupPlayground("../../..")
     selectProjectsFromAndroidX({ name ->
         if (name.startsWith(":compose:compiler")) return true
         return false
diff --git a/playground-projects/compose/runtime-playground/.idea/codeStyles/Project.xml b/playground-projects/compose/runtime-playground/.idea/codeStyles/Project.xml
new file mode 120000
index 0000000..c105d71
--- /dev/null
+++ b/playground-projects/compose/runtime-playground/.idea/codeStyles/Project.xml
@@ -0,0 +1 @@
+../../../../../.idea/codeStyles/Project.xml
\ No newline at end of file
diff --git a/playground-projects/compose/runtime-playground/.idea/codeStyles/codeStyleConfig.xml b/playground-projects/compose/runtime-playground/.idea/codeStyles/codeStyleConfig.xml
new file mode 120000
index 0000000..43e5362
--- /dev/null
+++ b/playground-projects/compose/runtime-playground/.idea/codeStyles/codeStyleConfig.xml
@@ -0,0 +1 @@
+../../../../../.idea/codeStyles/codeStyleConfig.xml
\ No newline at end of file
diff --git a/playground-projects/compose/runtime-playground/.idea/copyright/AndroidCopyright.xml b/playground-projects/compose/runtime-playground/.idea/copyright/AndroidCopyright.xml
new file mode 120000
index 0000000..b4ec23b
--- /dev/null
+++ b/playground-projects/compose/runtime-playground/.idea/copyright/AndroidCopyright.xml
@@ -0,0 +1 @@
+../../../../../.idea/copyright/AndroidCopyright.xml
\ No newline at end of file
diff --git a/playground-projects/compose/runtime-playground/.idea/copyright/profiles_settings.xml b/playground-projects/compose/runtime-playground/.idea/copyright/profiles_settings.xml
new file mode 120000
index 0000000..6cf2613
--- /dev/null
+++ b/playground-projects/compose/runtime-playground/.idea/copyright/profiles_settings.xml
@@ -0,0 +1 @@
+../../../../../.idea/copyright/profiles_settings.xml
\ No newline at end of file
diff --git a/playground-projects/compose/runtime-playground/.idea/inspectionProfiles/Project_Default.xml b/playground-projects/compose/runtime-playground/.idea/inspectionProfiles/Project_Default.xml
new file mode 120000
index 0000000..7675087
--- /dev/null
+++ b/playground-projects/compose/runtime-playground/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1 @@
+../../../../../.idea/inspectionProfiles/Project_Default.xml
\ No newline at end of file
diff --git a/playground-projects/compose/runtime-playground/.idea/scopes/Ignore_API_Files.xml b/playground-projects/compose/runtime-playground/.idea/scopes/Ignore_API_Files.xml
new file mode 120000
index 0000000..b5ffc27
--- /dev/null
+++ b/playground-projects/compose/runtime-playground/.idea/scopes/Ignore_API_Files.xml
@@ -0,0 +1 @@
+../../../../../.idea/scopes/Ignore_API_Files.xml
\ No newline at end of file
diff --git a/playground-projects/compose/runtime-playground/.idea/scopes/buildSrc.xml b/playground-projects/compose/runtime-playground/.idea/scopes/buildSrc.xml
new file mode 120000
index 0000000..7ee7a6a
--- /dev/null
+++ b/playground-projects/compose/runtime-playground/.idea/scopes/buildSrc.xml
@@ -0,0 +1 @@
+../../../../../.idea/scopes/buildSrc.xml
\ No newline at end of file
diff --git a/playground-projects/compose/runtime-playground/gradle b/playground-projects/compose/runtime-playground/gradle
new file mode 120000
index 0000000..678197a
--- /dev/null
+++ b/playground-projects/compose/runtime-playground/gradle
@@ -0,0 +1 @@
+../../../playground-common/gradle
\ No newline at end of file
diff --git a/playground-projects/compose/runtime-playground/gradle.properties b/playground-projects/compose/runtime-playground/gradle.properties
new file mode 120000
index 0000000..bd36f20
--- /dev/null
+++ b/playground-projects/compose/runtime-playground/gradle.properties
@@ -0,0 +1 @@
+../../../playground-common/androidx-shared.properties
\ No newline at end of file
diff --git a/playground-projects/compose/runtime-playground/gradlew b/playground-projects/compose/runtime-playground/gradlew
new file mode 120000
index 0000000..eeb3a9e
--- /dev/null
+++ b/playground-projects/compose/runtime-playground/gradlew
@@ -0,0 +1 @@
+../../../playground-common/gradlew
\ No newline at end of file
diff --git a/playground-projects/compose/runtime-playground/gradlew.bat b/playground-projects/compose/runtime-playground/gradlew.bat
new file mode 120000
index 0000000..e69cab4
--- /dev/null
+++ b/playground-projects/compose/runtime-playground/gradlew.bat
@@ -0,0 +1 @@
+../../../playground-common/gradlew.bat
\ No newline at end of file
diff --git a/compose/runtime/settings.gradle b/playground-projects/compose/runtime-playground/settings.gradle
similarity index 88%
rename from compose/runtime/settings.gradle
rename to playground-projects/compose/runtime-playground/settings.gradle
index f3aa797..f6e803c 100644
--- a/compose/runtime/settings.gradle
+++ b/playground-projects/compose/runtime-playground/settings.gradle
@@ -16,7 +16,7 @@
 
 // see ../playground-common/README.md for details on how this works
 pluginManagement {
-    apply from: "../../playground-common/configure-plugin-management.gradle", to: it
+    apply from: "../../../playground-common/configure-plugin-management.gradle", to: it
 }
 plugins {
     id "playground"
@@ -25,7 +25,7 @@
 rootProject.name = "compose-runtime"
 
 playground {
-    setupPlayground("../..")
+    setupPlayground("../../..")
     selectProjectsFromAndroidX({ name ->
         if (name == ":compose:runtime:runtime-tracing") return false
         if (name.startsWith(":compose:runtime")) return true
diff --git a/compose/compiler/.idea/codeStyles/Project.xml b/playground-projects/core-playground/.idea/codeStyles/Project.xml
similarity index 100%
rename from compose/compiler/.idea/codeStyles/Project.xml
rename to playground-projects/core-playground/.idea/codeStyles/Project.xml
diff --git a/compose/compiler/.idea/codeStyles/codeStyleConfig.xml b/playground-projects/core-playground/.idea/codeStyles/codeStyleConfig.xml
similarity index 100%
rename from compose/compiler/.idea/codeStyles/codeStyleConfig.xml
rename to playground-projects/core-playground/.idea/codeStyles/codeStyleConfig.xml
diff --git a/compose/compiler/.idea/copyright/AndroidCopyright.xml b/playground-projects/core-playground/.idea/copyright/AndroidCopyright.xml
similarity index 100%
rename from compose/compiler/.idea/copyright/AndroidCopyright.xml
rename to playground-projects/core-playground/.idea/copyright/AndroidCopyright.xml
diff --git a/compose/compiler/.idea/copyright/profiles_settings.xml b/playground-projects/core-playground/.idea/copyright/profiles_settings.xml
similarity index 100%
rename from compose/compiler/.idea/copyright/profiles_settings.xml
rename to playground-projects/core-playground/.idea/copyright/profiles_settings.xml
diff --git a/compose/compiler/.idea/inspectionProfiles/Project_Default.xml b/playground-projects/core-playground/.idea/inspectionProfiles/Project_Default.xml
similarity index 100%
copy from compose/compiler/.idea/inspectionProfiles/Project_Default.xml
copy to playground-projects/core-playground/.idea/inspectionProfiles/Project_Default.xml
diff --git a/compose/compiler/.idea/scopes/Ignore_API_Files.xml b/playground-projects/core-playground/.idea/scopes/Ignore_API_Files.xml
similarity index 100%
rename from compose/compiler/.idea/scopes/Ignore_API_Files.xml
rename to playground-projects/core-playground/.idea/scopes/Ignore_API_Files.xml
diff --git a/compose/compiler/.idea/scopes/buildSrc.xml b/playground-projects/core-playground/.idea/scopes/buildSrc.xml
similarity index 100%
rename from compose/compiler/.idea/scopes/buildSrc.xml
rename to playground-projects/core-playground/.idea/scopes/buildSrc.xml
diff --git a/compose/compiler/gradle b/playground-projects/core-playground/gradle
similarity index 100%
copy from compose/compiler/gradle
copy to playground-projects/core-playground/gradle
diff --git a/compose/compiler/gradle.properties b/playground-projects/core-playground/gradle.properties
similarity index 100%
copy from compose/compiler/gradle.properties
copy to playground-projects/core-playground/gradle.properties
diff --git a/compose/compiler/gradlew b/playground-projects/core-playground/gradlew
similarity index 100%
copy from compose/compiler/gradlew
copy to playground-projects/core-playground/gradlew
diff --git a/compose/compiler/gradlew.bat b/playground-projects/core-playground/gradlew.bat
similarity index 100%
copy from compose/compiler/gradlew.bat
copy to playground-projects/core-playground/gradlew.bat
diff --git a/core/settings.gradle b/playground-projects/core-playground/settings.gradle
similarity index 75%
rename from core/settings.gradle
rename to playground-projects/core-playground/settings.gradle
index a346eb8..b395f59 100644
--- a/core/settings.gradle
+++ b/playground-projects/core-playground/settings.gradle
@@ -1,6 +1,6 @@
 // see ../playground-common/README.md for details on how this works
 pluginManagement {
-    apply from: "../playground-common/configure-plugin-management.gradle", to: it
+    apply from: "../../playground-common/configure-plugin-management.gradle", to: it
 }
 plugins {
     id "playground"
@@ -9,7 +9,7 @@
 rootProject.name = "core-playground"
 
 playground {
-    setupPlayground("..")
+    setupPlayground("../..")
     selectProjectsFromAndroidX({ name ->
         if (name.contains("haptics")) return false // b/285039694
         if (name.startsWith(":core")) return true
diff --git a/compose/compiler/.idea/codeStyles/Project.xml b/playground-projects/datastore-playground/.idea/codeStyles/Project.xml
similarity index 100%
copy from compose/compiler/.idea/codeStyles/Project.xml
copy to playground-projects/datastore-playground/.idea/codeStyles/Project.xml
diff --git a/compose/compiler/.idea/codeStyles/codeStyleConfig.xml b/playground-projects/datastore-playground/.idea/codeStyles/codeStyleConfig.xml
similarity index 100%
copy from compose/compiler/.idea/codeStyles/codeStyleConfig.xml
copy to playground-projects/datastore-playground/.idea/codeStyles/codeStyleConfig.xml
diff --git a/compose/compiler/.idea/copyright/AndroidCopyright.xml b/playground-projects/datastore-playground/.idea/copyright/AndroidCopyright.xml
similarity index 100%
copy from compose/compiler/.idea/copyright/AndroidCopyright.xml
copy to playground-projects/datastore-playground/.idea/copyright/AndroidCopyright.xml
diff --git a/compose/compiler/.idea/copyright/profiles_settings.xml b/playground-projects/datastore-playground/.idea/copyright/profiles_settings.xml
similarity index 100%
copy from compose/compiler/.idea/copyright/profiles_settings.xml
copy to playground-projects/datastore-playground/.idea/copyright/profiles_settings.xml
diff --git a/compose/compiler/.idea/inspectionProfiles/Project_Default.xml b/playground-projects/datastore-playground/.idea/inspectionProfiles/Project_Default.xml
similarity index 100%
copy from compose/compiler/.idea/inspectionProfiles/Project_Default.xml
copy to playground-projects/datastore-playground/.idea/inspectionProfiles/Project_Default.xml
diff --git a/compose/compiler/.idea/scopes/Ignore_API_Files.xml b/playground-projects/datastore-playground/.idea/scopes/Ignore_API_Files.xml
similarity index 100%
copy from compose/compiler/.idea/scopes/Ignore_API_Files.xml
copy to playground-projects/datastore-playground/.idea/scopes/Ignore_API_Files.xml
diff --git a/compose/compiler/.idea/scopes/buildSrc.xml b/playground-projects/datastore-playground/.idea/scopes/buildSrc.xml
similarity index 100%
copy from compose/compiler/.idea/scopes/buildSrc.xml
copy to playground-projects/datastore-playground/.idea/scopes/buildSrc.xml
diff --git a/compose/compiler/gradle b/playground-projects/datastore-playground/gradle
similarity index 100%
copy from compose/compiler/gradle
copy to playground-projects/datastore-playground/gradle
diff --git a/compose/compiler/gradle.properties b/playground-projects/datastore-playground/gradle.properties
similarity index 100%
copy from compose/compiler/gradle.properties
copy to playground-projects/datastore-playground/gradle.properties
diff --git a/compose/compiler/gradlew b/playground-projects/datastore-playground/gradlew
similarity index 100%
copy from compose/compiler/gradlew
copy to playground-projects/datastore-playground/gradlew
diff --git a/compose/compiler/gradlew.bat b/playground-projects/datastore-playground/gradlew.bat
similarity index 100%
copy from compose/compiler/gradlew.bat
copy to playground-projects/datastore-playground/gradlew.bat
diff --git a/datastore/settings.gradle b/playground-projects/datastore-playground/settings.gradle
similarity index 90%
rename from datastore/settings.gradle
rename to playground-projects/datastore-playground/settings.gradle
index 91f2602..d5b04bd 100644
--- a/datastore/settings.gradle
+++ b/playground-projects/datastore-playground/settings.gradle
@@ -16,7 +16,7 @@
 
 // see ../playground-common/README.md for details on how this works
 pluginManagement {
-    apply from: "../playground-common/configure-plugin-management.gradle", to: it
+    apply from: "../../playground-common/configure-plugin-management.gradle", to: it
 }
 plugins {
     id "playground"
@@ -25,7 +25,7 @@
 rootProject.name = "datastore-playground"
 
 playground {
-    setupPlayground("..")
+    setupPlayground("../..")
     selectProjectsFromAndroidX({ name ->
         // Must exclude this because AndroidXCompose plugin doesn't currently support playground.
         if (name == ":datastore:datastore-compose-samples") return false
diff --git a/compose/compiler/.idea/codeStyles/Project.xml b/playground-projects/fragment-playground/.idea/codeStyles/Project.xml
similarity index 100%
copy from compose/compiler/.idea/codeStyles/Project.xml
copy to playground-projects/fragment-playground/.idea/codeStyles/Project.xml
diff --git a/compose/compiler/.idea/codeStyles/codeStyleConfig.xml b/playground-projects/fragment-playground/.idea/codeStyles/codeStyleConfig.xml
similarity index 100%
copy from compose/compiler/.idea/codeStyles/codeStyleConfig.xml
copy to playground-projects/fragment-playground/.idea/codeStyles/codeStyleConfig.xml
diff --git a/compose/compiler/.idea/copyright/AndroidCopyright.xml b/playground-projects/fragment-playground/.idea/copyright/AndroidCopyright.xml
similarity index 100%
copy from compose/compiler/.idea/copyright/AndroidCopyright.xml
copy to playground-projects/fragment-playground/.idea/copyright/AndroidCopyright.xml
diff --git a/compose/compiler/.idea/copyright/profiles_settings.xml b/playground-projects/fragment-playground/.idea/copyright/profiles_settings.xml
similarity index 100%
copy from compose/compiler/.idea/copyright/profiles_settings.xml
copy to playground-projects/fragment-playground/.idea/copyright/profiles_settings.xml
diff --git a/compose/compiler/.idea/inspectionProfiles/Project_Default.xml b/playground-projects/fragment-playground/.idea/inspectionProfiles/Project_Default.xml
similarity index 100%
copy from compose/compiler/.idea/inspectionProfiles/Project_Default.xml
copy to playground-projects/fragment-playground/.idea/inspectionProfiles/Project_Default.xml
diff --git a/compose/compiler/.idea/scopes/Ignore_API_Files.xml b/playground-projects/fragment-playground/.idea/scopes/Ignore_API_Files.xml
similarity index 100%
copy from compose/compiler/.idea/scopes/Ignore_API_Files.xml
copy to playground-projects/fragment-playground/.idea/scopes/Ignore_API_Files.xml
diff --git a/compose/compiler/.idea/scopes/buildSrc.xml b/playground-projects/fragment-playground/.idea/scopes/buildSrc.xml
similarity index 100%
copy from compose/compiler/.idea/scopes/buildSrc.xml
copy to playground-projects/fragment-playground/.idea/scopes/buildSrc.xml
diff --git a/compose/compiler/gradle b/playground-projects/fragment-playground/gradle
similarity index 100%
copy from compose/compiler/gradle
copy to playground-projects/fragment-playground/gradle
diff --git a/compose/compiler/gradle.properties b/playground-projects/fragment-playground/gradle.properties
similarity index 100%
copy from compose/compiler/gradle.properties
copy to playground-projects/fragment-playground/gradle.properties
diff --git a/compose/compiler/gradlew b/playground-projects/fragment-playground/gradlew
similarity index 100%
copy from compose/compiler/gradlew
copy to playground-projects/fragment-playground/gradlew
diff --git a/compose/compiler/gradlew.bat b/playground-projects/fragment-playground/gradlew.bat
similarity index 100%
copy from compose/compiler/gradlew.bat
copy to playground-projects/fragment-playground/gradlew.bat
diff --git a/fragment/settings.gradle b/playground-projects/fragment-playground/settings.gradle
similarity index 88%
rename from fragment/settings.gradle
rename to playground-projects/fragment-playground/settings.gradle
index 132178f..bf5e622 100644
--- a/fragment/settings.gradle
+++ b/playground-projects/fragment-playground/settings.gradle
@@ -16,7 +16,7 @@
 
 // see ../playground-common/README.md for details on how this works
 pluginManagement {
-    apply from: "../playground-common/configure-plugin-management.gradle", to: it
+    apply from: "../../playground-common/configure-plugin-management.gradle", to: it
 }
 plugins {
     id "playground"
@@ -25,7 +25,7 @@
 rootProject.name = "fragment-playground"
 
 playground {
-    setupPlayground("..")
+    setupPlayground("../..")
     selectProjectsFromAndroidX({ name ->
         if (name.startsWith(":fragment")) return true
         return false
diff --git a/compose/compiler/.idea/codeStyles/Project.xml b/playground-projects/ktlint-playground/.idea/codeStyles/Project.xml
similarity index 100%
copy from compose/compiler/.idea/codeStyles/Project.xml
copy to playground-projects/ktlint-playground/.idea/codeStyles/Project.xml
diff --git a/compose/compiler/.idea/codeStyles/codeStyleConfig.xml b/playground-projects/ktlint-playground/.idea/codeStyles/codeStyleConfig.xml
similarity index 100%
copy from compose/compiler/.idea/codeStyles/codeStyleConfig.xml
copy to playground-projects/ktlint-playground/.idea/codeStyles/codeStyleConfig.xml
diff --git a/compose/compiler/.idea/copyright/AndroidCopyright.xml b/playground-projects/ktlint-playground/.idea/copyright/AndroidCopyright.xml
similarity index 100%
copy from compose/compiler/.idea/copyright/AndroidCopyright.xml
copy to playground-projects/ktlint-playground/.idea/copyright/AndroidCopyright.xml
diff --git a/compose/compiler/.idea/copyright/profiles_settings.xml b/playground-projects/ktlint-playground/.idea/copyright/profiles_settings.xml
similarity index 100%
copy from compose/compiler/.idea/copyright/profiles_settings.xml
copy to playground-projects/ktlint-playground/.idea/copyright/profiles_settings.xml
diff --git a/compose/compiler/.idea/inspectionProfiles/Project_Default.xml b/playground-projects/ktlint-playground/.idea/inspectionProfiles/Project_Default.xml
similarity index 100%
copy from compose/compiler/.idea/inspectionProfiles/Project_Default.xml
copy to playground-projects/ktlint-playground/.idea/inspectionProfiles/Project_Default.xml
diff --git a/compose/compiler/.idea/scopes/Ignore_API_Files.xml b/playground-projects/ktlint-playground/.idea/scopes/Ignore_API_Files.xml
similarity index 100%
copy from compose/compiler/.idea/scopes/Ignore_API_Files.xml
copy to playground-projects/ktlint-playground/.idea/scopes/Ignore_API_Files.xml
diff --git a/compose/compiler/.idea/scopes/buildSrc.xml b/playground-projects/ktlint-playground/.idea/scopes/buildSrc.xml
similarity index 100%
copy from compose/compiler/.idea/scopes/buildSrc.xml
copy to playground-projects/ktlint-playground/.idea/scopes/buildSrc.xml
diff --git a/compose/compiler/gradle b/playground-projects/ktlint-playground/gradle
similarity index 100%
copy from compose/compiler/gradle
copy to playground-projects/ktlint-playground/gradle
diff --git a/compose/compiler/gradle.properties b/playground-projects/ktlint-playground/gradle.properties
similarity index 100%
copy from compose/compiler/gradle.properties
copy to playground-projects/ktlint-playground/gradle.properties
diff --git a/compose/compiler/gradlew b/playground-projects/ktlint-playground/gradlew
similarity index 100%
copy from compose/compiler/gradlew
copy to playground-projects/ktlint-playground/gradlew
diff --git a/compose/compiler/gradlew.bat b/playground-projects/ktlint-playground/gradlew.bat
similarity index 100%
copy from compose/compiler/gradlew.bat
copy to playground-projects/ktlint-playground/gradlew.bat
diff --git a/compose/runtime/settings.gradle b/playground-projects/ktlint-playground/settings.gradle
similarity index 84%
copy from compose/runtime/settings.gradle
copy to playground-projects/ktlint-playground/settings.gradle
index f3aa797..a3f5baa 100644
--- a/compose/runtime/settings.gradle
+++ b/playground-projects/ktlint-playground/settings.gradle
@@ -22,13 +22,10 @@
     id "playground"
 }
 
-rootProject.name = "compose-runtime"
-
 playground {
     setupPlayground("../..")
     selectProjectsFromAndroidX({ name ->
-        if (name == ":compose:runtime:runtime-tracing") return false
-        if (name.startsWith(":compose:runtime")) return true
+        // don't include anything, this is used to run ktlint on CI
         return false
     })
 }
diff --git a/compose/compiler/.idea/codeStyles/Project.xml b/playground-projects/lifecycle-playground/.idea/codeStyles/Project.xml
similarity index 100%
copy from compose/compiler/.idea/codeStyles/Project.xml
copy to playground-projects/lifecycle-playground/.idea/codeStyles/Project.xml
diff --git a/compose/compiler/.idea/codeStyles/codeStyleConfig.xml b/playground-projects/lifecycle-playground/.idea/codeStyles/codeStyleConfig.xml
similarity index 100%
copy from compose/compiler/.idea/codeStyles/codeStyleConfig.xml
copy to playground-projects/lifecycle-playground/.idea/codeStyles/codeStyleConfig.xml
diff --git a/compose/compiler/.idea/copyright/AndroidCopyright.xml b/playground-projects/lifecycle-playground/.idea/copyright/AndroidCopyright.xml
similarity index 100%
copy from compose/compiler/.idea/copyright/AndroidCopyright.xml
copy to playground-projects/lifecycle-playground/.idea/copyright/AndroidCopyright.xml
diff --git a/compose/compiler/.idea/copyright/profiles_settings.xml b/playground-projects/lifecycle-playground/.idea/copyright/profiles_settings.xml
similarity index 100%
copy from compose/compiler/.idea/copyright/profiles_settings.xml
copy to playground-projects/lifecycle-playground/.idea/copyright/profiles_settings.xml
diff --git a/compose/compiler/.idea/inspectionProfiles/Project_Default.xml b/playground-projects/lifecycle-playground/.idea/inspectionProfiles/Project_Default.xml
similarity index 100%
copy from compose/compiler/.idea/inspectionProfiles/Project_Default.xml
copy to playground-projects/lifecycle-playground/.idea/inspectionProfiles/Project_Default.xml
diff --git a/compose/compiler/.idea/scopes/Ignore_API_Files.xml b/playground-projects/lifecycle-playground/.idea/scopes/Ignore_API_Files.xml
similarity index 100%
copy from compose/compiler/.idea/scopes/Ignore_API_Files.xml
copy to playground-projects/lifecycle-playground/.idea/scopes/Ignore_API_Files.xml
diff --git a/compose/compiler/.idea/scopes/buildSrc.xml b/playground-projects/lifecycle-playground/.idea/scopes/buildSrc.xml
similarity index 100%
copy from compose/compiler/.idea/scopes/buildSrc.xml
copy to playground-projects/lifecycle-playground/.idea/scopes/buildSrc.xml
diff --git a/compose/compiler/gradle b/playground-projects/lifecycle-playground/gradle
similarity index 100%
copy from compose/compiler/gradle
copy to playground-projects/lifecycle-playground/gradle
diff --git a/compose/compiler/gradle.properties b/playground-projects/lifecycle-playground/gradle.properties
similarity index 100%
copy from compose/compiler/gradle.properties
copy to playground-projects/lifecycle-playground/gradle.properties
diff --git a/compose/compiler/gradlew b/playground-projects/lifecycle-playground/gradlew
similarity index 100%
copy from compose/compiler/gradlew
copy to playground-projects/lifecycle-playground/gradlew
diff --git a/compose/compiler/gradlew.bat b/playground-projects/lifecycle-playground/gradlew.bat
similarity index 100%
copy from compose/compiler/gradlew.bat
copy to playground-projects/lifecycle-playground/gradlew.bat
diff --git a/lifecycle/settings.gradle b/playground-projects/lifecycle-playground/settings.gradle
similarity index 90%
rename from lifecycle/settings.gradle
rename to playground-projects/lifecycle-playground/settings.gradle
index b1692623..c8f4d97 100644
--- a/lifecycle/settings.gradle
+++ b/playground-projects/lifecycle-playground/settings.gradle
@@ -16,7 +16,7 @@
 
 // see ../playground-common/README.md for details on how this works
 pluginManagement {
-    apply from: "../playground-common/configure-plugin-management.gradle", to: it
+    apply from: "../../playground-common/configure-plugin-management.gradle", to: it
 }
 plugins {
     id "playground"
@@ -25,7 +25,7 @@
 rootProject.name = "lifecycle-playground"
 
 playground {
-    setupPlayground("..")
+    setupPlayground("../..")
     selectProjectsFromAndroidX({ name ->
         // gradle compilation test, not supported in playground b/302031827
         if (name == ":lifecycle:integration-tests:incrementality") return false
diff --git a/compose/compiler/.idea/codeStyles/Project.xml b/playground-projects/navigation-playground/.idea/codeStyles/Project.xml
similarity index 100%
copy from compose/compiler/.idea/codeStyles/Project.xml
copy to playground-projects/navigation-playground/.idea/codeStyles/Project.xml
diff --git a/compose/compiler/.idea/codeStyles/codeStyleConfig.xml b/playground-projects/navigation-playground/.idea/codeStyles/codeStyleConfig.xml
similarity index 100%
copy from compose/compiler/.idea/codeStyles/codeStyleConfig.xml
copy to playground-projects/navigation-playground/.idea/codeStyles/codeStyleConfig.xml
diff --git a/compose/compiler/.idea/copyright/AndroidCopyright.xml b/playground-projects/navigation-playground/.idea/copyright/AndroidCopyright.xml
similarity index 100%
copy from compose/compiler/.idea/copyright/AndroidCopyright.xml
copy to playground-projects/navigation-playground/.idea/copyright/AndroidCopyright.xml
diff --git a/compose/compiler/.idea/copyright/profiles_settings.xml b/playground-projects/navigation-playground/.idea/copyright/profiles_settings.xml
similarity index 100%
copy from compose/compiler/.idea/copyright/profiles_settings.xml
copy to playground-projects/navigation-playground/.idea/copyright/profiles_settings.xml
diff --git a/compose/compiler/.idea/inspectionProfiles/Project_Default.xml b/playground-projects/navigation-playground/.idea/inspectionProfiles/Project_Default.xml
similarity index 100%
copy from compose/compiler/.idea/inspectionProfiles/Project_Default.xml
copy to playground-projects/navigation-playground/.idea/inspectionProfiles/Project_Default.xml
diff --git a/compose/compiler/.idea/scopes/Ignore_API_Files.xml b/playground-projects/navigation-playground/.idea/scopes/Ignore_API_Files.xml
similarity index 100%
copy from compose/compiler/.idea/scopes/Ignore_API_Files.xml
copy to playground-projects/navigation-playground/.idea/scopes/Ignore_API_Files.xml
diff --git a/compose/compiler/.idea/scopes/buildSrc.xml b/playground-projects/navigation-playground/.idea/scopes/buildSrc.xml
similarity index 100%
copy from compose/compiler/.idea/scopes/buildSrc.xml
copy to playground-projects/navigation-playground/.idea/scopes/buildSrc.xml
diff --git a/compose/compiler/gradle b/playground-projects/navigation-playground/gradle
similarity index 100%
copy from compose/compiler/gradle
copy to playground-projects/navigation-playground/gradle
diff --git a/compose/compiler/gradle.properties b/playground-projects/navigation-playground/gradle.properties
similarity index 100%
copy from compose/compiler/gradle.properties
copy to playground-projects/navigation-playground/gradle.properties
diff --git a/compose/compiler/gradlew b/playground-projects/navigation-playground/gradlew
similarity index 100%
copy from compose/compiler/gradlew
copy to playground-projects/navigation-playground/gradlew
diff --git a/compose/compiler/gradlew.bat b/playground-projects/navigation-playground/gradlew.bat
similarity index 100%
copy from compose/compiler/gradlew.bat
copy to playground-projects/navigation-playground/gradlew.bat
diff --git a/navigation/settings.gradle b/playground-projects/navigation-playground/settings.gradle
similarity index 90%
rename from navigation/settings.gradle
rename to playground-projects/navigation-playground/settings.gradle
index aa890ef..8d9c51f 100644
--- a/navigation/settings.gradle
+++ b/playground-projects/navigation-playground/settings.gradle
@@ -16,7 +16,7 @@
 
 // see ../playground-common/README.md for details on how this works
 pluginManagement {
-    apply from: "../playground-common/configure-plugin-management.gradle", to: it
+    apply from: "../../playground-common/configure-plugin-management.gradle", to: it
 }
 plugins {
     id "playground"
@@ -25,7 +25,7 @@
 rootProject.name = "navigation-playground"
 
 playground {
-    setupPlayground("..")
+    setupPlayground("../..")
     selectProjectsFromAndroidX({ name ->
         // requires core:core which is not supported on Github
         if (name == ":navigation:navigation-compose:integration-tests:navigation-demos") return false
diff --git a/compose/compiler/.idea/codeStyles/Project.xml b/playground-projects/paging-playground/.idea/codeStyles/Project.xml
similarity index 100%
copy from compose/compiler/.idea/codeStyles/Project.xml
copy to playground-projects/paging-playground/.idea/codeStyles/Project.xml
diff --git a/compose/compiler/.idea/codeStyles/codeStyleConfig.xml b/playground-projects/paging-playground/.idea/codeStyles/codeStyleConfig.xml
similarity index 100%
copy from compose/compiler/.idea/codeStyles/codeStyleConfig.xml
copy to playground-projects/paging-playground/.idea/codeStyles/codeStyleConfig.xml
diff --git a/compose/compiler/.idea/copyright/AndroidCopyright.xml b/playground-projects/paging-playground/.idea/copyright/AndroidCopyright.xml
similarity index 100%
copy from compose/compiler/.idea/copyright/AndroidCopyright.xml
copy to playground-projects/paging-playground/.idea/copyright/AndroidCopyright.xml
diff --git a/compose/compiler/.idea/copyright/profiles_settings.xml b/playground-projects/paging-playground/.idea/copyright/profiles_settings.xml
similarity index 100%
copy from compose/compiler/.idea/copyright/profiles_settings.xml
copy to playground-projects/paging-playground/.idea/copyright/profiles_settings.xml
diff --git a/compose/compiler/.idea/inspectionProfiles/Project_Default.xml b/playground-projects/paging-playground/.idea/inspectionProfiles/Project_Default.xml
similarity index 100%
copy from compose/compiler/.idea/inspectionProfiles/Project_Default.xml
copy to playground-projects/paging-playground/.idea/inspectionProfiles/Project_Default.xml
diff --git a/compose/compiler/.idea/scopes/Ignore_API_Files.xml b/playground-projects/paging-playground/.idea/scopes/Ignore_API_Files.xml
similarity index 100%
copy from compose/compiler/.idea/scopes/Ignore_API_Files.xml
copy to playground-projects/paging-playground/.idea/scopes/Ignore_API_Files.xml
diff --git a/compose/compiler/.idea/scopes/buildSrc.xml b/playground-projects/paging-playground/.idea/scopes/buildSrc.xml
similarity index 100%
copy from compose/compiler/.idea/scopes/buildSrc.xml
copy to playground-projects/paging-playground/.idea/scopes/buildSrc.xml
diff --git a/compose/compiler/gradle b/playground-projects/paging-playground/gradle
similarity index 100%
copy from compose/compiler/gradle
copy to playground-projects/paging-playground/gradle
diff --git a/compose/compiler/gradle.properties b/playground-projects/paging-playground/gradle.properties
similarity index 100%
copy from compose/compiler/gradle.properties
copy to playground-projects/paging-playground/gradle.properties
diff --git a/compose/compiler/gradlew b/playground-projects/paging-playground/gradlew
similarity index 100%
copy from compose/compiler/gradlew
copy to playground-projects/paging-playground/gradlew
diff --git a/compose/compiler/gradlew.bat b/playground-projects/paging-playground/gradlew.bat
similarity index 100%
copy from compose/compiler/gradlew.bat
copy to playground-projects/paging-playground/gradlew.bat
diff --git a/paging/settings.gradle b/playground-projects/paging-playground/settings.gradle
similarity index 89%
rename from paging/settings.gradle
rename to playground-projects/paging-playground/settings.gradle
index 88c0521..13c078f 100644
--- a/paging/settings.gradle
+++ b/playground-projects/paging-playground/settings.gradle
@@ -16,7 +16,7 @@
 
 // see ../playground-common/README.md for details on how this works
 pluginManagement {
-    apply from: "../playground-common/configure-plugin-management.gradle", to: it
+    apply from: "../../playground-common/configure-plugin-management.gradle", to: it
 }
 plugins {
     id "playground"
@@ -25,7 +25,7 @@
 rootProject.name = "paging-playground"
 
 playground {
-    setupPlayground("..")
+    setupPlayground("../..")
     selectProjectsFromAndroidX({ name ->
         if (name.startsWith(":paging")) return true
         if (name == ":compose:integration-tests:demos:common") return true
diff --git a/compose/compiler/.idea/codeStyles/Project.xml b/playground-projects/room-playground/.idea/codeStyles/Project.xml
similarity index 100%
copy from compose/compiler/.idea/codeStyles/Project.xml
copy to playground-projects/room-playground/.idea/codeStyles/Project.xml
diff --git a/compose/compiler/.idea/codeStyles/codeStyleConfig.xml b/playground-projects/room-playground/.idea/codeStyles/codeStyleConfig.xml
similarity index 100%
copy from compose/compiler/.idea/codeStyles/codeStyleConfig.xml
copy to playground-projects/room-playground/.idea/codeStyles/codeStyleConfig.xml
diff --git a/compose/compiler/.idea/copyright/AndroidCopyright.xml b/playground-projects/room-playground/.idea/copyright/AndroidCopyright.xml
similarity index 100%
copy from compose/compiler/.idea/copyright/AndroidCopyright.xml
copy to playground-projects/room-playground/.idea/copyright/AndroidCopyright.xml
diff --git a/compose/compiler/.idea/copyright/profiles_settings.xml b/playground-projects/room-playground/.idea/copyright/profiles_settings.xml
similarity index 100%
copy from compose/compiler/.idea/copyright/profiles_settings.xml
copy to playground-projects/room-playground/.idea/copyright/profiles_settings.xml
diff --git a/compose/compiler/.idea/inspectionProfiles/Project_Default.xml b/playground-projects/room-playground/.idea/inspectionProfiles/Project_Default.xml
similarity index 100%
copy from compose/compiler/.idea/inspectionProfiles/Project_Default.xml
copy to playground-projects/room-playground/.idea/inspectionProfiles/Project_Default.xml
diff --git a/compose/compiler/.idea/scopes/Ignore_API_Files.xml b/playground-projects/room-playground/.idea/scopes/Ignore_API_Files.xml
similarity index 100%
copy from compose/compiler/.idea/scopes/Ignore_API_Files.xml
copy to playground-projects/room-playground/.idea/scopes/Ignore_API_Files.xml
diff --git a/compose/compiler/.idea/scopes/buildSrc.xml b/playground-projects/room-playground/.idea/scopes/buildSrc.xml
similarity index 100%
copy from compose/compiler/.idea/scopes/buildSrc.xml
copy to playground-projects/room-playground/.idea/scopes/buildSrc.xml
diff --git a/compose/compiler/gradle b/playground-projects/room-playground/gradle
similarity index 100%
copy from compose/compiler/gradle
copy to playground-projects/room-playground/gradle
diff --git a/compose/compiler/gradle.properties b/playground-projects/room-playground/gradle.properties
similarity index 100%
copy from compose/compiler/gradle.properties
copy to playground-projects/room-playground/gradle.properties
diff --git a/compose/compiler/gradlew b/playground-projects/room-playground/gradlew
similarity index 100%
copy from compose/compiler/gradlew
copy to playground-projects/room-playground/gradlew
diff --git a/compose/compiler/gradlew.bat b/playground-projects/room-playground/gradlew.bat
similarity index 100%
copy from compose/compiler/gradlew.bat
copy to playground-projects/room-playground/gradlew.bat
diff --git a/room/settings.gradle b/playground-projects/room-playground/settings.gradle
similarity index 89%
rename from room/settings.gradle
rename to playground-projects/room-playground/settings.gradle
index 5710df6..406a91d 100644
--- a/room/settings.gradle
+++ b/playground-projects/room-playground/settings.gradle
@@ -16,7 +16,7 @@
 
 // see ../playground-common/README.md for details on how this works
 pluginManagement {
-    apply from: "../playground-common/configure-plugin-management.gradle", to: it
+    apply from: "../../playground-common/configure-plugin-management.gradle", to: it
 }
 plugins {
     id "playground"
@@ -25,7 +25,7 @@
 rootProject.name = "room-playground"
 
 playground {
-    setupPlayground("..")
+    setupPlayground("../..")
     selectProjectsFromAndroidX({ name ->
         if (name.startsWith(":room")) return true
         if (name.startsWith(":sqlite:") && !name.contains("inspection")) return true
diff --git a/compose/compiler/.idea/codeStyles/Project.xml b/playground-projects/work-playground/.idea/codeStyles/Project.xml
similarity index 100%
copy from compose/compiler/.idea/codeStyles/Project.xml
copy to playground-projects/work-playground/.idea/codeStyles/Project.xml
diff --git a/compose/compiler/.idea/codeStyles/codeStyleConfig.xml b/playground-projects/work-playground/.idea/codeStyles/codeStyleConfig.xml
similarity index 100%
copy from compose/compiler/.idea/codeStyles/codeStyleConfig.xml
copy to playground-projects/work-playground/.idea/codeStyles/codeStyleConfig.xml
diff --git a/compose/compiler/.idea/copyright/AndroidCopyright.xml b/playground-projects/work-playground/.idea/copyright/AndroidCopyright.xml
similarity index 100%
copy from compose/compiler/.idea/copyright/AndroidCopyright.xml
copy to playground-projects/work-playground/.idea/copyright/AndroidCopyright.xml
diff --git a/compose/compiler/.idea/copyright/profiles_settings.xml b/playground-projects/work-playground/.idea/copyright/profiles_settings.xml
similarity index 100%
copy from compose/compiler/.idea/copyright/profiles_settings.xml
copy to playground-projects/work-playground/.idea/copyright/profiles_settings.xml
diff --git a/compose/compiler/.idea/inspectionProfiles/Project_Default.xml b/playground-projects/work-playground/.idea/inspectionProfiles/Project_Default.xml
similarity index 100%
copy from compose/compiler/.idea/inspectionProfiles/Project_Default.xml
copy to playground-projects/work-playground/.idea/inspectionProfiles/Project_Default.xml
diff --git a/compose/compiler/.idea/scopes/Ignore_API_Files.xml b/playground-projects/work-playground/.idea/scopes/Ignore_API_Files.xml
similarity index 100%
copy from compose/compiler/.idea/scopes/Ignore_API_Files.xml
copy to playground-projects/work-playground/.idea/scopes/Ignore_API_Files.xml
diff --git a/compose/compiler/.idea/scopes/buildSrc.xml b/playground-projects/work-playground/.idea/scopes/buildSrc.xml
similarity index 100%
copy from compose/compiler/.idea/scopes/buildSrc.xml
copy to playground-projects/work-playground/.idea/scopes/buildSrc.xml
diff --git a/compose/compiler/gradle b/playground-projects/work-playground/gradle
similarity index 100%
copy from compose/compiler/gradle
copy to playground-projects/work-playground/gradle
diff --git a/compose/compiler/gradle.properties b/playground-projects/work-playground/gradle.properties
similarity index 100%
copy from compose/compiler/gradle.properties
copy to playground-projects/work-playground/gradle.properties
diff --git a/compose/compiler/gradlew b/playground-projects/work-playground/gradlew
similarity index 100%
copy from compose/compiler/gradlew
copy to playground-projects/work-playground/gradlew
diff --git a/compose/compiler/gradlew.bat b/playground-projects/work-playground/gradlew.bat
similarity index 100%
copy from compose/compiler/gradlew.bat
copy to playground-projects/work-playground/gradlew.bat
diff --git a/work/settings.gradle b/playground-projects/work-playground/settings.gradle
similarity index 89%
rename from work/settings.gradle
rename to playground-projects/work-playground/settings.gradle
index 0db7fc7..ae0868e 100644
--- a/work/settings.gradle
+++ b/playground-projects/work-playground/settings.gradle
@@ -16,7 +16,7 @@
 
 // see ../playground-common/README.md for details on how this works
 pluginManagement {
-    apply from: "../playground-common/configure-plugin-management.gradle", to: it
+    apply from: "../../playground-common/configure-plugin-management.gradle", to: it
 }
 plugins {
     id "playground"
@@ -25,7 +25,7 @@
 rootProject.name = "work-playground"
 
 playground {
-    setupPlayground("..")
+    setupPlayground("../..")
     selectProjectsFromAndroidX({ name ->
         if (name == ":work:work-inspection") return false
         if (name.startsWith(":work")) return true
diff --git a/room/.idea/codeStyles/Project.xml b/room/.idea/codeStyles/Project.xml
deleted file mode 120000
index b52b28c..0000000
--- a/room/.idea/codeStyles/Project.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/codeStyles/Project.xml
\ No newline at end of file
diff --git a/room/.idea/codeStyles/codeStyleConfig.xml b/room/.idea/codeStyles/codeStyleConfig.xml
deleted file mode 120000
index 19c4848..0000000
--- a/room/.idea/codeStyles/codeStyleConfig.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/codeStyles/codeStyleConfig.xml
\ No newline at end of file
diff --git a/room/.idea/copyright/AndroidCopyright.xml b/room/.idea/copyright/AndroidCopyright.xml
deleted file mode 120000
index afbbd04..0000000
--- a/room/.idea/copyright/AndroidCopyright.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/copyright/AndroidCopyright.xml
\ No newline at end of file
diff --git a/room/.idea/copyright/profiles_settings.xml b/room/.idea/copyright/profiles_settings.xml
deleted file mode 120000
index 5996ccd..0000000
--- a/room/.idea/copyright/profiles_settings.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/copyright/profiles_settings.xml
\ No newline at end of file
diff --git a/room/.idea/inspectionProfiles/Project_Default.xml b/room/.idea/inspectionProfiles/Project_Default.xml
deleted file mode 120000
index a7481f4..0000000
--- a/room/.idea/inspectionProfiles/Project_Default.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/inspectionProfiles/Project_Default.xml
\ No newline at end of file
diff --git a/room/.idea/scopes/Ignore_API_Files.xml b/room/.idea/scopes/Ignore_API_Files.xml
deleted file mode 120000
index 3361ee1..0000000
--- a/room/.idea/scopes/Ignore_API_Files.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/scopes/Ignore_API_Files.xml
\ No newline at end of file
diff --git a/room/.idea/scopes/buildSrc.xml b/room/.idea/scopes/buildSrc.xml
deleted file mode 120000
index 25b7d3b..0000000
--- a/room/.idea/scopes/buildSrc.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/scopes/buildSrc.xml
\ No newline at end of file
diff --git a/room/gradle b/room/gradle
deleted file mode 120000
index 1c936b3..0000000
--- a/room/gradle
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradle
\ No newline at end of file
diff --git a/room/gradle.properties b/room/gradle.properties
deleted file mode 120000
index d952fb0..0000000
--- a/room/gradle.properties
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/androidx-shared.properties
\ No newline at end of file
diff --git a/room/gradlew b/room/gradlew
deleted file mode 120000
index 05b75179..0000000
--- a/room/gradlew
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradlew
\ No newline at end of file
diff --git a/room/gradlew.bat b/room/gradlew.bat
deleted file mode 120000
index b20877e..0000000
--- a/room/gradlew.bat
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradlew.bat
\ No newline at end of file
diff --git a/work/.idea/codeStyles/Project.xml b/work/.idea/codeStyles/Project.xml
deleted file mode 120000
index b52b28c..0000000
--- a/work/.idea/codeStyles/Project.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/codeStyles/Project.xml
\ No newline at end of file
diff --git a/work/.idea/codeStyles/codeStyleConfig.xml b/work/.idea/codeStyles/codeStyleConfig.xml
deleted file mode 120000
index 19c4848..0000000
--- a/work/.idea/codeStyles/codeStyleConfig.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/codeStyles/codeStyleConfig.xml
\ No newline at end of file
diff --git a/work/.idea/copyright/AndroidCopyright.xml b/work/.idea/copyright/AndroidCopyright.xml
deleted file mode 120000
index afbbd04..0000000
--- a/work/.idea/copyright/AndroidCopyright.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/copyright/AndroidCopyright.xml
\ No newline at end of file
diff --git a/work/.idea/copyright/profiles_settings.xml b/work/.idea/copyright/profiles_settings.xml
deleted file mode 120000
index 5996ccd..0000000
--- a/work/.idea/copyright/profiles_settings.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/copyright/profiles_settings.xml
\ No newline at end of file
diff --git a/work/.idea/inspectionProfiles/Project_Default.xml b/work/.idea/inspectionProfiles/Project_Default.xml
deleted file mode 120000
index a7481f4..0000000
--- a/work/.idea/inspectionProfiles/Project_Default.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/inspectionProfiles/Project_Default.xml
\ No newline at end of file
diff --git a/work/.idea/scopes/Ignore_API_Files.xml b/work/.idea/scopes/Ignore_API_Files.xml
deleted file mode 120000
index 3361ee1..0000000
--- a/work/.idea/scopes/Ignore_API_Files.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/scopes/Ignore_API_Files.xml
\ No newline at end of file
diff --git a/work/.idea/scopes/buildSrc.xml b/work/.idea/scopes/buildSrc.xml
deleted file mode 120000
index 25b7d3b..0000000
--- a/work/.idea/scopes/buildSrc.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../.idea/scopes/buildSrc.xml
\ No newline at end of file
diff --git a/work/gradle b/work/gradle
deleted file mode 120000
index 1c936b3..0000000
--- a/work/gradle
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradle
\ No newline at end of file
diff --git a/work/gradle.properties b/work/gradle.properties
deleted file mode 120000
index d952fb0..0000000
--- a/work/gradle.properties
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/androidx-shared.properties
\ No newline at end of file
diff --git a/work/gradlew b/work/gradlew
deleted file mode 120000
index 05b75179..0000000
--- a/work/gradlew
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradlew
\ No newline at end of file
diff --git a/work/gradlew.bat b/work/gradlew.bat
deleted file mode 120000
index b20877e..0000000
--- a/work/gradlew.bat
+++ /dev/null
@@ -1 +0,0 @@
-../playground-common/gradlew.bat
\ No newline at end of file