[packages] fix react-native 0.73 compatibility [1/3] (#24018)# Why fix react-native 0.73 compatibility. these are for AGP 8 support - https://github.com/react-native-community/discussions-and-pr
[packages] fix react-native 0.73 compatibility [1/3] (#24018)# Why fix react-native 0.73 compatibility. these are for AGP 8 support - https://github.com/react-native-community/discussions-and-proposals/issues/671#issuecomment-1677632448 # How - [packages][bare-expo] set jvm version only if AGP < 8 - [av][dev-launcher] fix AGP 8 non transitive R issue - [dev-client][dev-launcher][dev-menu][core][notifications] fix AGP 8 non default buildConfig issue # Test Plan ci passed in #23961 (https://github.com/expo/expo/pull/23961/checks)
show more ...
[packages] fix another gradle 8 warnings (#22609)# Why there are other gradle 8 build warnings: ``` > Task :expo:processReleaseManifest package="expo.core" found in source AndroidManifest.x
[packages] fix another gradle 8 warnings (#22609)# Why there are other gradle 8 build warnings: ``` > Task :expo:processReleaseManifest package="expo.core" found in source AndroidManifest.xml: /home/runner/work/expo/expo/packages/expo/android/src/main/AndroidManifest.xml. Setting the namespace via a source AndroidManifest.xml's package attribute is deprecated. Please instead set the namespace (or testNamespace) in the module's build.gradle file, as described here: https://developer.android.com/studio/build/configure-app-module#set-namespace This migration can be done automatically using the AGP Upgrade Assistant, please refer to https://developer.android.com/studio/build/agp-upgrade-assistant for more information. ``` # How migrate `package` in **AndroidManifest.xml** to `namespace` in **build.gradle** # Test Plan ci passed
[packages] fix gradle build warnings for gradle 8 (#22537)# Why there are some gradle warnings and will deprecate on gradle 8. since react-native 0.72 upgraded gradle 8, we should deal with thes
[packages] fix gradle build warnings for gradle 8 (#22537)# Why there are some gradle warnings and will deprecate on gradle 8. since react-native 0.72 upgraded gradle 8, we should deal with these warnings. close ENG-7481 # How ``` > Configure project :expo-modules-core WARNING:Software Components will not be created automatically for Maven publishing from Android Gradle Plugin 8.0. To opt-in to the future behavior, set the Gradle property android.disableAutomaticComponentCreation=true in the `gradle.properties` file or use the new publishing DSL. ``` remove the legacy `androidSourcesJar` ``` > Task :expo-constants:createDebugExpoConfig Execution optimizations have been disabled for task ':expo-constants:createDebugExpoConfig' to ensure correctness due to the following reasons: - Gradle detected a problem with the following location: '/Users/user/expo-app/android'. Reason: Task ':expo-constants:createDebugExpoConfig' uses this output of task ':app:checkDebugAarMetadata' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.5.1/userguide/validation_problems.html#implicit_dependency for more details about this problem. ``` remove `create${targetName}ExpoConfig` task inputs and some refactoring of the `get-app-config-android.gradle` # Test Plan ci passed
[Android] Bump kotlin version to `1.8.10` (#21120)# Why This a follow-up to the https://github.com/expo/expo/pull/21117#discussion_r1100709414. # How Bumped the default kotlin version to `
[Android] Bump kotlin version to `1.8.10` (#21120)# Why This a follow-up to the https://github.com/expo/expo/pull/21117#discussion_r1100709414. # How Bumped the default kotlin version to `1.8.10`. I'll add a changelog entry later. # Test Plan - expo-go with NCL ✅ - bare-expo with NCL ✅
[Android] Bump `compileSdkVersion` and `targetSdkVersion` to 33 (#20721)# Why Bumps the compile and target SDK version to 33. # How Changed SDK version from 31 to 33. Version 32 is correl
[Android] Bump `compileSdkVersion` and `targetSdkVersion` to 33 (#20721)# Why Bumps the compile and target SDK version to 33. # How Changed SDK version from 31 to 33. Version 32 is correlated with Android 12l which improves user experience on tablets or foldable phones. It doesn't require any changes from us. The 33 is introducing a couple of things that we may want to address. Most of them are connected with permissions. Fixes for that will be applied in a separate PR. Apart from that, everything else seems to be working fine. Behavior changes: - https://developer.android.com/about/versions/13/behavior-changes-all - https://developer.android.com/about/versions/13/behavior-changes-13 # Test Plan - Expo go with NCL and test-suite - simulator with API 33 ✅ - simulator with API 31 ✅ - physical device with API 33 ✅ - physical device with API 31 ✅ - Bare expo - simulator with API 33 ✅ - simulator with API 31 ✅ - physical device with API 33 ✅ - physical device with API 31 ✅ - Dev-Client - simulator with API 33 ✅ - simulator with API 31 ✅ - physical device with API 33 ✅ - physical device with API 31 ✅
[create-expo-module] Cleanly handle View/Module suffix (#19952)
[emt] ViewManager -> View (#19917)
[emt] Pass in appContext to view (#19916)
[modules][template] Start using `ExpoView` instead of Android's`View` (#19901)# Why Start using `ExpoView` instead of Android's`View`.
[Android] Remove deprecated android-extensions plugin (#19732)# Why <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. -->
[Android] Remove deprecated android-extensions plugin (#19732)# Why <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. --> The `kotlin-android-extensions` plugin is deprecated with Kotlin 1.4, and should be removed / replaced from the expo modules that still use it. This affects the following modules: * eas-client * module-template * structured-headers * updates-interface # How <!-- How did you build this feature or fix this bug and why? --> None of the expo modules are using functionality that the `kotlin-android-extension` distinctly enabled (view binding or parcelize), so removing the plugin is simple since the functionality has been replaced by the Kotlin compiler and AGP. # Test Plan <!-- Please describe how you tested this change and how a reviewer could reproduce your test, especially if this PR does not include automated tests! If possible, please also provide terminal output and/or screenshots demonstrating your test/reproduction. --> We have tested these changes in our production application as local patches. It's unclear to me how to go about testing these (especially expo-updates) without doing it on a real application. # Checklist <!-- Please check the appropriate items below if they apply to your diff. This is required for changes to Expo modules. --> - [X] Documentation is up to date to reflect these changes (eg: https://docs.expo.dev and README.md). - [X] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md) - [] This diff will work correctly for `expo prebuild` & EAS Build (eg: updated a module plugin).
Creating Expo module with the example app (#17955)
Make Expo Modules template more robust (#17860)
[ios][android] Migrate names of module definition components (#17193)
[all packages][Android] Migrate to `Android SDK 31` and `Java 11` (#16941)
[modules-core][proposal] Control version of the Kotlin from `expo-modules-core` (#16213)# Why Adds a way to control the Kotlin version from `expo-modules-core`. # How Created a simple plug
[modules-core][proposal] Control version of the Kotlin from `expo-modules-core` (#16213)# Why Adds a way to control the Kotlin version from `expo-modules-core`. # How Created a simple plugin that inject the Kotlin version to buildScript. This plugin has to be executed in the buildScript section, otherwise, we can't get a current version for the `kotlin-gradle-plugin`. This solution is compatible with older `expo-modules-core` versions. # Test Plan - Build `bare-expo`: - without any additional changes - with `kotlinVersion` set in the app's properties - without `ExpoModulesCorePlugin` file (backwards compatibility)
[packages] replace maven plugin with maven-publish plugin (#16080)# Why the `maven` plugin is deprecated in gradle 7 and the `maven-publish` plugin is the replacement. fix #12774 # How
[packages] replace maven plugin with maven-publish plugin (#16080)# Why the `maven` plugin is deprecated in gradle 7 and the `maven-publish` plugin is the replacement. fix #12774 # How - replace `maven` plugin with `maven-publish` plugin and update its configurations. - we still need `androidSourcesJar` and `artifact(androidSourcesJar)` to generate sourcesJar - original `uploadArchives` would be replaced to `publish` # Test Plan - diff the generated artifacts before and after the change in `$HOME/.m2/reposotiry` - test from react-native 0.67 project (gradle 7) - test from react-native 0.66 project (gradle 6)
[android] Upgrade remaining kotlin versions (#15910)
[module-template] Prevent publish-package rewrite the ejs versions (#15799)# Why the ejs template be rewrote from publish-package: https://github.com/expo/expo/commit/c87080dbe1d7cefd66a9f959c09
[module-template] Prevent publish-package rewrite the ejs versions (#15799)# Why the ejs template be rewrote from publish-package: https://github.com/expo/expo/commit/c87080dbe1d7cefd66a9f959c090ff1a2d2ab26d # How - revert the ejs versions - add `expo-module-template` as exclusion in publish-package tool Co-authored-by: Bartłomiej Bukowski <[email protected]>
Publish create-expo-module, expo-module-template[email protected][email protected]
Rewrite expo-module-template to be the ejs template (#15435)
Publish packages[email protected][email protected][email protected][email protected][email protected][email protected][email protected].
Publish packages[email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected]@expo/[email protected][email protected][email protected][email protected][email protected]
[module-template] Use the sweet API (#15228)# Why Uses the sweet API in our module template. # How Created a simple empty module in Swift and Kotlin. # Test Plan - et create-unimodu
[module-template] Use the sweet API (#15228)# Why Uses the sweet API in our module template. # How Created a simple empty module in Swift and Kotlin. # Test Plan - et create-unimodule --name expo-test --use-local-template ✅
Publish packages@unimodules/[email protected]@unimodules/[email protected][email protected][email protected][email protected][email protected]expo-analytics-s
Publish packages@unimodules/[email protected]@unimodules/[email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected]@expo/[email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected]
Publish packages[email protected][email protected][email protected][email protected][email protected][email protected][email protected]expo
Publish packages[email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected]
[packages][android] Build modules using java 8 (#12939)# Why Side pr for #12893 # How To fix android instrumented test build errors, specific for bare-expo app. # Test Plan CI build
[packages][android] Build modules using java 8 (#12939)# Why Side pr for #12893 # How To fix android instrumented test build errors, specific for bare-expo app. # Test Plan CI build passed. There are no meaningful user-facing changes.
123