Composite build of Compose-jb sources
git submodule update --init --recursiveSet this property to always update submodules on git checkout/pull/reset:
git config --global submodule.recurse true- Java 11 (should be specified in JAVA_HOME)
- [macOs/Linux] Android SDK downloaded via
./compose/frameworks/support/jbdeps/android-sdk/downloadAndroidSdk - [Windows] Android SDK downloaded from Android Studio and specified in ANDROID_SDK_ROOT
- [Optional, macOs] For AppCode IDE, specify environment variable ANDROID_SDK_ROOT=[YOUR_PATH]/compose-jb/compose/frameworks/support/jbdeps/android-sdk/darwin (in ~/.zshrc)
- Download Android Studio from the official site (it is mandatory to use the version, written here). As an alternative you can use IDEA, which is compatible with this AGP version, or you can disable Android plugin in IDEA plugins, to develop non-Android targets.
- [macOs/Linux] Download Android SDK via
./compose/frameworks/support/jbdeps/android-sdk/downloadAndroidSdk - [Windows] Download Android SDK via Android Studio and specify it in ANDROID_SDK_ROOT environment variable. Components, their versions and folder structure should be the same as in downloaded via script
./compose/frameworks/support/jbdeps/android-sdk/downloadAndroidSdkSDK for other platforms. - Open
compose/frameworks/supportfolder either in Android Studio or in IDEA or in AppCode with KMM plugin. - Specify Gradle JVM to use JDK 11 in InteliJ IDEA Preferences (
Build, Execution, Deployment -> Build Tools -> Gradle)
Publish artifacts to the local directory out/androidx/build/support_repo/org/jetbrains/compose:
export COMPOSE_CUSTOM_VERSION=0.0.0-custom
./scripts/publish
(on Windows it doesn't build at the moment, the issue is in the line packageInspector(project, project(":compose:ui:ui-inspection") in compose/frameworks/support/compose/ui/ui/build.gradle)
Publish extended icons:
./scripts/publishExtendedIconsRun tests for Desktop:
./scripts/testDesktopRun tests for Web:
./scripts/testWebRun tests for UIKit:
./scripts/testUIKitRun tests for Android:
./scripts/testAndroidUnit.sh./scripts/testAndroidInEmulator.sh # first run android simulator or connect deviceRun jvm desktop sample:
./scripts/runGradle runanother jvm desktop samples:
./scripts/runGradle run1 run2 run3 run4 runWindowApi runVsync runLayoutRun wasm sample:
./scripts/runGradle runMppJsRun native macos sample:
./scripts/runGradle runMppMacosexport COMPOSE_CUSTOM_VERSION=0.0.0-custom-version &&\
./scripts/publishToMavenLocal -Pcompose.platforms=all &&\
./scripts/publishGradlePluginToMavenLocal-Pcompose.platforms=all could be replace with comma-separated list of platforms, such as js,jvm,androidDebug,androidRelease,macosx64,uikit.
export COMPOSE_CUSTOM_VERSION=0.0.0-custom-version &&\
./scripts/publishWebComponentsToMavenLocal &&\
./scripts/publishExtendedIconsToMavenLocal -Pcompose.platforms=all &&\
./scripts/publishComponentsToMavenLocal