You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Igor Demin 55c0e058ee Update Compose 3 years ago
..
.run Update Compose 3 years ago
external Add linux-arm64 to the build script, add forgoten tools.jar 3 years ago
frameworks Update Compose 3 years ago
golden@1b20aa5514 Update Compose (#878) 3 years ago
gradle/wrapper Update Compose 3 years ago
prebuilts/androidx Sync/2021 07 30 (#961) 3 years ago
screenshots Compose as submodule, scripts for build/test Compose (#830) 3 years ago
scripts Add CI scripts for native (#866) 3 years ago
.gitignore Add linux-arm64 to the build script, add forgoten tools.jar 3 years ago
README.md Update README.md 3 years ago
build.gradle.kts Sync/2021 07 30 (#961) 3 years ago
gradle.properties Compose as submodule, scripts for build/test Compose (#830) 3 years ago
gradlew Compose as submodule, scripts for build/test Compose (#830) 3 years ago
gradlew.bat Compose as submodule, scripts for build/test Compose (#830) 3 years ago
settings.gradle.kts Compose as submodule, scripts for build/test Compose (#830) 3 years ago

README.md

Project in Android Studio

Composite build of Compose-jb sources

Download submodules after downloading the main project:

git submodule update --init --recursive

Set this property to always update submodules on git checkout/pull/reset:

git config --global submodule.recurse true

General requirements

  • Java 11 (should be specified in JAVA_HOME)
  • Android SDK (should be specified in ANDROID_SDK_ROOT. Can be downloaded via ./scripts/downloadAndroidSdk on Linux/macOS)
    • Android 11
    • Build-Tools 30.0.3
    • NDK 21.3.6528147 (in folder $androidSdk/ndk, not in $androidSdk/ndk/$version)
    • CMake 3.10.2.4988404 (in folder $androidSdk/cmake, not in $androidSdk/cmake/$version)

Requirements to develop in IDE

  • Android Studio Arctic Fox | 2020.3.1 Canary 15
  • Custom Gradle 7.1 specified in Settings -> Build, Execution, Deployment -> Build Tools -> Gradle (because Android Studio will pick the wrong Gradle in the subproject instead of the Gradle in the root project)
  • Specified Gradle JDK 11 in ... -> Build Tools -> Gradle
  • Environment variables:
export ALLOW_PUBLIC_REPOS=1
export JAVA_TOOLS_JAR=$PWD/external/tools.jar
export ANDROIDX_PROJECTS=COMPOSE
export COMPOSE_CUSTOM_GROUP=org.jetbrains.compose
  • Gradle properties in ~/.gradle/gradle.properties:
androidx.compose.multiplatformEnabled=true
androidx.compose.jsCompilerTestsEnabled=true

(note that https://android.googlesource.com/platform/frameworks/support build doesn't work with androidx.compose.jsCompilerTestsEnabled)

Scripts

Publish artifacts to the local directory out/androidx/build/support_repo/org/jetbrains/compose:

./scripts/publish

Publish artifacts without Android Layout Inspector (use it on Windows):

./scripts/publishWithoutInspector

Publish extended icons:

./scripts/publishExtendedIcons

Run tests for Desktop:

./scripts/testDesktop

Run tests for Web:

./scripts/testWeb