diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 1fced5c1..40c0b8e9 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -17,10 +17,12 @@ steps: commands: - make lint - - label: Build Example App 3.10.0 + - label: Build Example App 3.24.4 timeout_in_minutes: 10 + agents: + queue: macos-14 env: - FLUTTER_BIN: "/opt/flutter/3.10.0/bin/flutter" + FLUTTER_BIN: "/opt/flutter/3.24.4/bin/flutter" commands: - bundle install - pod repo update @@ -70,6 +72,10 @@ steps: - "--no-tunnel" - "--aws-public-ip" - "--fail-fast" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" concurrency: 25 concurrency_group: 'bitbar' concurrency_method: eager @@ -110,6 +116,10 @@ steps: - "--device=ANDROID_12" - "--appium-version=1.22.0" - "--fail-fast" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" concurrency: 5 concurrency_group: 'browserstack-app' concurrency_method: eager diff --git a/.github/workflows/update-dependencies.yml b/.github/workflows/update-dependencies.yml index 9c2a8fc8..a334fb91 100644 --- a/.github/workflows/update-dependencies.yml +++ b/.github/workflows/update-dependencies.yml @@ -22,6 +22,7 @@ jobs: VERSION: ${{ github.event_name == 'repository_dispatch' && github.event.client_payload.target_version || inputs.target_version }} BUNDLE_GITHUB__COM: ${{ secrets.BUNDLE_ACCESS_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + REVIEWER: kstenerud,robert-smartbear steps: - uses: actions/checkout@v4 with: @@ -55,7 +56,7 @@ jobs: if: ${{ steps.current-branch.outputs.branch != 'next'}} run: > gh pr create -B next - -H bumpsnag-$TARGET_SUBMODULE-$TARGET_VERSION - --title "Update $TARGET_SUBMODULE to version $TARGET_VERSION" + -H bumpsnag-$SUBMODULE-$VERSION + --title "Update $SUBMODULE to version $VERSION" --body 'Created by bumpsnag' - --reviewer kstenerud,robert-smartbear + --reviewer $REVIEWER diff --git a/.gitignore b/.gitignore index 0867a344..174aa195 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ Package.resolved Podfile.lock maze_output/ +Gemfile.lock +.idea/ \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 48c16982..e30ca54f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 4.1.0 (2024-11-04) + +- Upgrade Android compileSdkVersion from 29 to 31. + [263](https://github.com/bugsnag/bugsnag-flutter/pull/263) + ## 4.0.0 (2024-07-29) ### Breaking Changes diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index 457998bd..00000000 --- a/Gemfile.lock +++ /dev/null @@ -1,220 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - CFPropertyList (3.0.7) - base64 - nkf - rexml - activesupport (7.1.3.2) - base64 - bigdecimal - concurrent-ruby (~> 1.0, >= 1.0.2) - connection_pool (>= 2.2.5) - drb - i18n (>= 1.6, < 2) - minitest (>= 5.1) - mutex_m - tzinfo (~> 2.0) - addressable (2.8.6) - public_suffix (>= 2.0.2, < 6.0) - algoliasearch (1.27.5) - httpclient (~> 2.8, >= 2.8.3) - json (>= 1.5.1) - appium_lib (12.0.1) - appium_lib_core (~> 5.0) - nokogiri (~> 1.8, >= 1.8.1) - tomlrb (>= 1.1, < 3.0) - appium_lib_core (5.4.0) - faye-websocket (~> 0.11.0) - selenium-webdriver (~> 4.2, < 4.6) - atomos (0.1.3) - base64 (0.2.0) - bigdecimal (3.1.7) - bugsnag (6.27.1) - concurrent-ruby (~> 1.0) - bugsnag-maze-runner (9.11.1) - appium_lib (~> 12.0.0) - appium_lib_core (~> 5.4.0) - bugsnag (~> 6.24) - cucumber (~> 7.1) - cucumber-expressions (~> 6.0.0) - curb (~> 0.9.6) - dogstatsd-ruby (~> 5.5.0) - json_schemer (~> 0.2.24) - optimist (~> 3.0.1) - os (~> 1.0.0) - rack (~> 2.2) - rake (~> 12.3.3) - rubyzip (~> 2.3.2) - selenium-webdriver (~> 4.0) - test-unit (~> 3.5.2) - webrick (~> 1.7.0) - builder (3.3.0) - childprocess (4.1.0) - claide (1.1.0) - cocoapods (1.15.2) - addressable (~> 2.8) - claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.15.2) - cocoapods-deintegrate (>= 1.0.3, < 2.0) - cocoapods-downloader (>= 2.1, < 3.0) - cocoapods-plugins (>= 1.0.0, < 2.0) - cocoapods-search (>= 1.0.0, < 2.0) - cocoapods-trunk (>= 1.6.0, < 2.0) - cocoapods-try (>= 1.1.0, < 2.0) - colored2 (~> 3.1) - escape (~> 0.0.4) - fourflusher (>= 2.3.0, < 3.0) - gh_inspector (~> 1.0) - molinillo (~> 0.8.0) - nap (~> 1.0) - ruby-macho (>= 2.3.0, < 3.0) - xcodeproj (>= 1.23.0, < 2.0) - cocoapods-core (1.15.2) - activesupport (>= 5.0, < 8) - addressable (~> 2.8) - algoliasearch (~> 1.0) - concurrent-ruby (~> 1.1) - fuzzy_match (~> 2.0.4) - nap (~> 1.0) - netrc (~> 0.11) - public_suffix (~> 4.0) - typhoeus (~> 1.0) - cocoapods-deintegrate (1.0.5) - cocoapods-downloader (2.1) - cocoapods-plugins (1.0.0) - nap - cocoapods-search (1.0.1) - cocoapods-trunk (1.6.0) - nap (>= 0.8, < 2.0) - netrc (~> 0.11) - cocoapods-try (1.2.0) - colored2 (3.1.2) - concurrent-ruby (1.2.2) - connection_pool (2.4.1) - cucumber (7.1.0) - builder (~> 3.2, >= 3.2.4) - cucumber-core (~> 10.1, >= 10.1.0) - cucumber-create-meta (~> 6.0, >= 6.0.1) - cucumber-cucumber-expressions (~> 14.0, >= 14.0.0) - cucumber-gherkin (~> 22.0, >= 22.0.0) - cucumber-html-formatter (~> 17.0, >= 17.0.0) - cucumber-messages (~> 17.1, >= 17.1.1) - cucumber-wire (~> 6.2, >= 6.2.0) - diff-lcs (~> 1.4, >= 1.4.4) - mime-types (~> 3.3, >= 3.3.1) - multi_test (~> 0.1, >= 0.1.2) - sys-uname (~> 1.2, >= 1.2.2) - cucumber-core (10.1.1) - cucumber-gherkin (~> 22.0, >= 22.0.0) - cucumber-messages (~> 17.1, >= 17.1.1) - cucumber-tag-expressions (~> 4.1, >= 4.1.0) - cucumber-create-meta (6.0.4) - cucumber-messages (~> 17.1, >= 17.1.1) - sys-uname (~> 1.2, >= 1.2.2) - cucumber-cucumber-expressions (14.0.0) - cucumber-expressions (6.0.1) - cucumber-gherkin (22.0.0) - cucumber-messages (~> 17.1, >= 17.1.1) - cucumber-html-formatter (17.0.0) - cucumber-messages (~> 17.1, >= 17.1.0) - cucumber-messages (17.1.1) - cucumber-tag-expressions (4.1.0) - cucumber-wire (6.2.1) - cucumber-core (~> 10.1, >= 10.1.0) - cucumber-cucumber-expressions (~> 14.0, >= 14.0.0) - curb (0.9.11) - diff-lcs (1.5.1) - dogstatsd-ruby (5.5.0) - drb (2.2.1) - ecma-re-validator (0.4.0) - regexp_parser (~> 2.2) - escape (0.0.4) - ethon (0.16.0) - ffi (>= 1.15.0) - eventmachine (1.2.7) - faye-websocket (0.11.3) - eventmachine (>= 0.12.0) - websocket-driver (>= 0.5.1) - ffi (1.15.5) - fourflusher (2.3.1) - fuzzy_match (2.0.4) - gh_inspector (1.1.3) - hana (1.3.7) - httpclient (2.8.3) - i18n (1.14.4) - concurrent-ruby (~> 1.0) - json (2.7.2) - json_schemer (0.2.25) - ecma-re-validator (~> 0.3) - hana (~> 1.3) - regexp_parser (~> 2.0) - simpleidn (~> 0.2) - uri_template (~> 0.7) - mime-types (3.5.2) - mime-types-data (~> 3.2015) - mime-types-data (3.2024.0702) - minitest (5.22.3) - molinillo (0.8.0) - multi_test (0.1.2) - mutex_m (0.2.0) - nanaimo (0.3.0) - nap (1.1.0) - netrc (0.11.0) - nkf (0.2.0) - nokogiri (1.16.6-arm64-darwin) - racc (~> 1.4) - nokogiri (1.16.6-x86_64-darwin) - racc (~> 1.4) - optimist (3.0.1) - os (1.0.1) - power_assert (2.0.3) - public_suffix (4.0.7) - racc (1.8.0) - rack (2.2.9) - rake (12.3.3) - regexp_parser (2.9.2) - rexml (3.2.6) - ruby-macho (2.5.1) - rubyzip (2.3.2) - selenium-webdriver (4.5.0) - childprocess (>= 0.5, < 5.0) - rexml (~> 3.2, >= 3.2.5) - rubyzip (>= 1.2.2, < 3.0) - websocket (~> 1.0) - simpleidn (0.2.3) - sys-uname (1.3.0) - ffi (~> 1.1) - test-unit (3.5.9) - power_assert - tomlrb (2.0.3) - typhoeus (1.4.1) - ethon (>= 0.9.0) - tzinfo (2.0.6) - concurrent-ruby (~> 1.0) - uri_template (0.7.0) - webrick (1.7.0) - websocket (1.2.11) - websocket-driver (0.7.6) - websocket-extensions (>= 0.1.0) - websocket-extensions (0.1.5) - xcodeproj (1.24.0) - CFPropertyList (>= 2.3.3, < 4.0) - atomos (~> 0.1.3) - claide (>= 1.0.2, < 2.0) - colored2 (~> 3.1) - nanaimo (~> 0.3.0) - rexml (~> 3.2.4) - -PLATFORMS - arm64-darwin-22 - x86_64-darwin-20 - x86_64-darwin-21 - x86_64-darwin-23 - -DEPENDENCIES - bugsnag-maze-runner (~> 9.0) - cocoapods - -BUNDLED WITH - 2.4.18 diff --git a/Makefile b/Makefile index 1339432b..6cfbd6f1 100644 --- a/Makefile +++ b/Makefile @@ -112,3 +112,39 @@ else ifeq ($(SUBMODULE), bugsnag-cocoa) else @$(error SUBMODULE must be one of bugsnag-android or bugsnag-cocoa) endif + +prerelease: bump stage ## Generates a PR for the $VERSION release +ifeq ($(VERSION),) + @$(error VERSION is not defined. Run with `make VERSION=number prerelease`) +endif + rm -rf staging + @git checkout -b release-v$(VERSION) + @git add packages/bugsnag_flutter/pubspec.yaml packages/bugsnag_breadcrumbs_dart_io/pubspec.yaml packages/bugsnag_breadcrumbs_http/pubspec.yaml packages/bugsnag_flutter/lib/src/client.dart CHANGELOG.md VERSION + @git diff --exit-code || (echo "you have unstaged changes - Makefile may need updating to `git add` some more files"; exit 1) + @git commit -m "Release v$(VERSION)" + @git push origin release-v$(VERSION) + @open "https://github.com/bugsnag/bugsnag-flutter/compare/main...release-v$(VERSION)?expand=1&title=Release%20v$(VERSION)&body="$$(awk 'start && /^## /{exit;};/^## /{start=1;next};start' CHANGELOG.md | hexdump -v -e '/1 "%02x"' | sed 's/\(..\)/%\1/g') + +release: stage ## Releases the current main branch as $VERSION + @git fetch origin +ifneq ($(shell git rev-parse --abbrev-ref HEAD),main) # Check the current branch name + @git checkout main + @git rebase origin/main +endif +ifneq ($(shell git diff origin/main..main),) + $(error you have unpushed commits on the main branch) +endif + @git tag v$(PRESET_VERSION) + @git push origin v$(PRESET_VERSION) + @git checkout next + @git rebase origin/next + @git merge main + @git push origin next + # Prep GitHub release + # We could technically do a `hub release` here but a verification step + # before it goes live always seems like a good thing + @open 'https://github.com/bugsnag/bugsnag-flutter/releases/new?title=v$(PRESET_VERSION)&tag=v$(PRESET_VERSION)&body='$$(awk 'start && /^## /{exit;};/^## /{start=1;next};start' CHANGELOG.md | hexdump -v -e '/1 "%02x"' | sed 's/\(..\)/%\1/g') + cd staging/bugsnag_flutter && $(FLUTTER_BIN) pub publish + cd staging/bugsnag_breadcrumbs_dart_io && $(FLUTTER_BIN) pub publish + cd staging/bugsnag_breadcrumbs_http && $(FLUTTER_BIN) pub publish + rm -rf staging diff --git a/VERSION b/VERSION new file mode 100644 index 00000000..fcdb2e10 --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +4.0.0 diff --git a/docker-compose.yml b/docker-compose.yml index bf1d84d6..2c5f70a3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -20,15 +20,18 @@ services: BUILDKITE_REPO: BUILDKITE_RETRY_COUNT: BUILDKITE_STEP_KEY: + BUILDKITE_ANALYTICS_TOKEN: MAZE_BUGSNAG_API_KEY: BROWSER_STACK_USERNAME: BROWSER_STACK_ACCESS_KEY: + MAZE_NO_FAIL_FAST: ports: - "9000-9499:9339" volumes: - ./features/:/app/features/ - ./maze_output:/app/maze_output - /var/run/docker.sock:/var/run/docker.sock + - ./reports/:/app/reports/ networks: default: diff --git a/examples/flutter/.gitignore b/examples/flutter/.gitignore index b19fdb05..0bdfcccd 100644 --- a/examples/flutter/.gitignore +++ b/examples/flutter/.gitignore @@ -8,6 +8,7 @@ .buildlog/ .history .svn/ +migrate_working_dir/ # IntelliJ related *.iml diff --git a/examples/flutter/.metadata b/examples/flutter/.metadata index f991a3ab..3e091192 100644 --- a/examples/flutter/.metadata +++ b/examples/flutter/.metadata @@ -1,11 +1,11 @@ # This file tracks properties of this Flutter project. # Used by Flutter tool to assess capabilities and perform upgrades etc. # -# This file should be version controlled. +# This file should be version controlled and should not be manually edited. version: - revision: 84a1e904f44f9b0e9c4510138010edcc653163f8 - channel: stable + revision: "603104015dd692ea3403755b55d07813d5cf8965" + channel: "stable" project_type: app @@ -13,14 +13,14 @@ project_type: app migration: platforms: - platform: root - create_revision: 84a1e904f44f9b0e9c4510138010edcc653163f8 - base_revision: 84a1e904f44f9b0e9c4510138010edcc653163f8 + create_revision: 603104015dd692ea3403755b55d07813d5cf8965 + base_revision: 603104015dd692ea3403755b55d07813d5cf8965 - platform: android - create_revision: 84a1e904f44f9b0e9c4510138010edcc653163f8 - base_revision: 84a1e904f44f9b0e9c4510138010edcc653163f8 + create_revision: 603104015dd692ea3403755b55d07813d5cf8965 + base_revision: 603104015dd692ea3403755b55d07813d5cf8965 - platform: ios - create_revision: 84a1e904f44f9b0e9c4510138010edcc653163f8 - base_revision: 84a1e904f44f9b0e9c4510138010edcc653163f8 + create_revision: 603104015dd692ea3403755b55d07813d5cf8965 + base_revision: 603104015dd692ea3403755b55d07813d5cf8965 # User provided section diff --git a/examples/flutter/analysis_options.yaml b/examples/flutter/analysis_options.yaml index 61b6c4de..0d290213 100644 --- a/examples/flutter/analysis_options.yaml +++ b/examples/flutter/analysis_options.yaml @@ -13,8 +13,7 @@ linter: # The lint rules applied to this project can be customized in the # section below to disable rules from the `package:flutter_lints/flutter.yaml` # included above or to enable additional rules. A list of all available lints - # and their documentation is published at - # https://dart-lang.github.io/linter/lints/index.html. + # and their documentation is published at https://dart.dev/lints. # # Instead of disabling a lint rule for the entire project in the # section below, it can also be suppressed for a single line of code diff --git a/examples/flutter/android/.gitignore b/examples/flutter/android/.gitignore index 6f568019..55afd919 100644 --- a/examples/flutter/android/.gitignore +++ b/examples/flutter/android/.gitignore @@ -7,7 +7,7 @@ gradle-wrapper.jar GeneratedPluginRegistrant.java # Remember to never publicly share your keystore. -# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +# See https://flutter.dev/to/reference-keystore key.properties **/*.keystore **/*.jks diff --git a/examples/flutter/android/app/build.gradle b/examples/flutter/android/app/build.gradle index 18f40c36..f071d35a 100644 --- a/examples/flutter/android/app/build.gradle +++ b/examples/flutter/android/app/build.gradle @@ -1,68 +1,43 @@ -def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> - localProperties.load(reader) - } -} - -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = localProperties.getProperty('flutter.versionName') -if (flutterVersionName == null) { - flutterVersionName = '1.0' +plugins { + id "com.android.application" + id "kotlin-android" + // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. + id "dev.flutter.flutter-gradle-plugin" } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { - namespace "com.bugsnag.examples.flutter" - compileSdkVersion flutter.compileSdkVersion - ndkVersion flutter.ndkVersion + namespace = "com.bugsnag.examples.flutter" + compileSdk = flutter.compileSdkVersion + ndkVersion = flutter.ndkVersion compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 } kotlinOptions { - jvmTarget = '1.8' - } - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' + jvmTarget = JavaVersion.VERSION_1_8 } defaultConfig { - applicationId "com.bugsnag.examples.flutter" - minSdkVersion flutter.hasProperty('minSdkVersion') ? flutter.minSdkVersion : 16 - targetSdkVersion flutter.hasProperty('targetSdkVersion') ? flutter.targetSdkVersion : 30 - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName + applicationId = "com.bugsnag.examples.flutter" + // You can update the following values to match your application needs. + // For more information, see: https://flutter.dev/to/review-gradle-config. + minSdk = flutter.minSdkVersion + targetSdk = flutter.targetSdkVersion + versionCode = flutter.versionCode + versionName = flutter.versionName } buildTypes { release { + // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.debug + signingConfig = signingConfigs.debug } } } flutter { - source '../..' -} - -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + source = "../.." } diff --git a/examples/flutter/android/app/src/main/AndroidManifest.xml b/examples/flutter/android/app/src/main/AndroidManifest.xml index d29131e9..e50216a0 100644 --- a/examples/flutter/android/app/src/main/AndroidManifest.xml +++ b/examples/flutter/android/app/src/main/AndroidManifest.xml @@ -7,6 +7,7 @@ android:name=".MainActivity" android:exported="true" android:launchMode="singleTop" + android:taskAffinity="" android:theme="@style/LaunchTheme" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" android:hardwareAccelerated="true" @@ -30,4 +31,15 @@ android:name="flutterEmbedding" android:value="2" /> + + + + + + + diff --git a/examples/flutter/android/build.gradle b/examples/flutter/android/build.gradle index f7eb7f63..d2ffbffa 100644 --- a/examples/flutter/android/build.gradle +++ b/examples/flutter/android/build.gradle @@ -1,16 +1,3 @@ -buildscript { - ext.kotlin_version = '1.7.10' - repositories { - google() - mavenCentral() - } - - dependencies { - classpath 'com.android.tools.build:gradle:7.3.0' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} - allprojects { repositories { google() @@ -18,12 +5,12 @@ allprojects { } } -rootProject.buildDir = '../build' +rootProject.buildDir = "../build" subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" } subprojects { - project.evaluationDependsOn(':app') + project.evaluationDependsOn(":app") } tasks.register("clean", Delete) { diff --git a/examples/flutter/android/gradle.properties b/examples/flutter/android/gradle.properties index 94adc3a3..25971708 100644 --- a/examples/flutter/android/gradle.properties +++ b/examples/flutter/android/gradle.properties @@ -1,3 +1,3 @@ -org.gradle.jvmargs=-Xmx1536M +org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true android.enableJetifier=true diff --git a/examples/flutter/android/gradle/wrapper/gradle-wrapper.properties b/examples/flutter/android/gradle/wrapper/gradle-wrapper.properties index 3c472b99..7bb2df6b 100644 --- a/examples/flutter/android/gradle/wrapper/gradle-wrapper.properties +++ b/examples/flutter/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip diff --git a/examples/flutter/android/settings.gradle b/examples/flutter/android/settings.gradle index 44e62bcf..b9e43bd3 100644 --- a/examples/flutter/android/settings.gradle +++ b/examples/flutter/android/settings.gradle @@ -1,11 +1,25 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + }() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +plugins { + id "dev.flutter.flutter-plugin-loader" version "1.0.0" + id "com.android.application" version "8.1.0" apply false + id "org.jetbrains.kotlin.android" version "1.8.22" apply false +} + +include ":app" diff --git a/examples/flutter/ios/Flutter/AppFrameworkInfo.plist b/examples/flutter/ios/Flutter/AppFrameworkInfo.plist index 9625e105..7c569640 100644 --- a/examples/flutter/ios/Flutter/AppFrameworkInfo.plist +++ b/examples/flutter/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 11.0 + 12.0 diff --git a/examples/flutter/ios/Podfile b/examples/flutter/ios/Podfile index bfd60c48..b331c7b2 100644 --- a/examples/flutter/ios/Podfile +++ b/examples/flutter/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -platform :ios, '11.0' +platform :ios, '12.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/examples/flutter/ios/Runner.xcodeproj/project.pbxproj b/examples/flutter/ios/Runner.xcodeproj/project.pbxproj index 664e7602..7b2acd1b 100644 --- a/examples/flutter/ios/Runner.xcodeproj/project.pbxproj +++ b/examples/flutter/ios/Runner.xcodeproj/project.pbxproj @@ -166,7 +166,7 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1510; ORGANIZATIONNAME = ""; TargetAttributes = { 97C146ED1CF9000F007C117D = { @@ -353,7 +353,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -428,7 +428,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -477,7 +477,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; diff --git a/examples/flutter/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/examples/flutter/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index c87d15a3..5e31d3d3 100644 --- a/examples/flutter/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/examples/flutter/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@