upgraded dependencies to be compatible with android_33

This commit is contained in:
2025-05-24 02:02:30 +01:00
parent 4570cdc120
commit 73524c10de
9 changed files with 172 additions and 43 deletions

View File

@@ -7,8 +7,71 @@ version: 2.1
# Orbs are reusable packages of CircleCI configuration that you may share across projects, enabling you to create encapsulated, parameterized commands, jobs, and executors that can be used across multiple projects.
# See: https://circleci.com/docs/2.0/orb-intro/
orbs:
android: circleci/android@1.0.3
android: circleci/android@2.3.0
commands:
setup_repo:
description: checkout repo and android dependencies
steps:
- checkout
- run:
name: Give gradle permissions
command: |
sudo chmod +x ./gradlew
- android/restore-gradle-cache
run_tests:
description: run unit tests
steps:
# The next step will run the unit tests
- run:
name: Run Tests
command: bundle exec fastlane unit_test
- store_artifacts:
path: app/build/reports
destination: reports
- store_test_results:
path: app/build/test-results
run_ui_tests:
description: run tests for flavour specified
steps:
- android/start-emulator-and-run-tests:
post-emulator-launch-assemble-command: ./gradlew installDebugAndroid
test-command: ./gradlew connectedDebugAndroidTest --continue
system-image: system-images;android-26;google_apis;x86
# store screenshots for failed ui tests
- when:
condition: on_fail
steps:
- store_artifacts:
path: app/build/outputs/connected_android_test_additional_output/debugAndroidTest/connected
destination: connected_android_test
# store test reports
- store_artifacts:
path: app/build/reports/androidTests/connected
destination: reports
- store_test_results:
path: app/build/outputs/androidTest-results/connected
deploy_to_play_store:
description: deploy to playstore based on flavour
parameters:
flavour:
type: string
default: "AtlasWeather"
steps:
# The next step will run the unit tests
- android/decode-keystore:
keystore-location: "./app/keystore.jks"
- run:
name: Setup playstore key
command: |
echo "$GOOGLE_PLAY_KEY" > "google-play-key.json"
- run:
name: Run fastlane command to deploy to playstore
command: |
pwd
bundle exec fastlane deploy
- store_test_results:
path: fastlane/report.xml
# Define a job to be invoked later in a workflow.
# See: https://circleci.com/docs/2.0/configuration-reference/#jobs
jobs:
@@ -18,36 +81,53 @@ jobs:
# See: https://circleci.com/docs/2.0/executor-types/
executor:
name: android/android-machine
tag: 2023.05.1
# Add steps to the job
# See: https://circleci.com/docs/2.0/configuration-reference/#steps
steps:
- checkout
- restore_cache:
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}
- run:
name: Chmod permissions
command: sudo chmod +x ./gradlew
- run:
name: Download Dependencies
command: ./gradlew androidDependencies
- save_cache:
paths:
- ~/.gradle
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}
- run:
name: Run Tests
command: ./gradlew lint test
- store_artifacts:
path: app/build/reports
destination: reports
- store_test_results:
path: app/build/test-results
- setup_repo
- run_tests
run_instrumentation_test:
# These next lines define the Android machine image executor.
# See: https://circleci.com/docs/2.0/executor-types/
executor:
name: android/android-machine
tag: 2023.05.1
# Add steps to the job
# See: https://circleci.com/docs/2.0/configuration-reference/#steps
steps:
- setup_repo
- run_ui_tests
deploy-to-playstore:
docker:
- image: cimg/android:2023.07-browsers
auth:
username: ${DOCKER_USERNAME}
password: ${DOCKER_PASSWORD}
steps:
- setup_repo
- deploy_to_play_store
# Invoke jobs via workflows
# See: https://circleci.com/docs/2.0/configuration-reference/#workflows
workflows:
sample: # This is the name of the workflow, feel free to change it to better match your workflow.
# Inside the workflow, you define the jobs you want to run.
version: 2
build-release-mono:
jobs:
- build-and-test
- build-and-test:
context: appttude
- run_instrumentation_test:
context: appttude
filters:
branches:
only:
- master
- '^deploy.*'
- deploy-to-playstore:
context: appttude
filters:
branches:
only:
- '^deploy.*'
requires:
- run_instrumentation_test

2
.idea/gradle.xml generated
View File

@@ -6,7 +6,7 @@
<GradleProjectSettings>
<option name="testRunner" value="CHOOSE_PER_TEST" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleJvm" value="jbr-17" />
<option name="gradleJvm" value="#JAVA_HOME" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />

2
.idea/misc.xml generated
View File

@@ -45,7 +45,7 @@
</value>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" project-jdk-name="21" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">

View File

@@ -2,7 +2,7 @@ plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id 'com.google.dagger.hilt.android'
id 'kotlin-kapt'
id 'com.google.devtools.ksp'
}
Properties properties = new Properties()
@@ -18,8 +18,8 @@ android {
applicationId "com.appttude.h_mal.easycc"
minSdkVersion MIN_SDK_VERSION
targetSdkVersion TARGET_SDK_VERSION
versionCode 5
versionName "4.1"
versionCode 12
versionName "7.0.0"
testInstrumentationRunner "com.appttude.h_mal.easycc.application.TestRunner"
}
@@ -33,6 +33,7 @@ android {
}
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
@@ -47,13 +48,14 @@ android {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = '17'
}
buildFeatures {
viewBinding true
}
kotlin {
jvmToolchain(17)
}
// java {
// toolchain {
// languageVersion.set(JavaLanguageVersion.of(21))
@@ -92,9 +94,9 @@ dependencies {
// Hilt dependency injection
implementation "com.google.dagger:hilt-android:$HILT_VERSION"
kapt "com.google.dagger:hilt-compiler:$HILT_VERSION"
ksp "com.google.dagger:hilt-compiler:$HILT_VERSION"
androidTestImplementation "com.google.dagger:hilt-android-testing:$HILT_VERSION"
kaptAndroidTest "com.google.dagger:hilt-android-compiler:$HILT_VERSION"
kspAndroidTest "com.google.dagger:hilt-android-compiler:$HILT_VERSION"
//mockito and livedata testing
testImplementation "org.mockito:mockito-core:$MOKITO_CORE_VERSION"

View File

@@ -1,12 +1,13 @@
buildscript {
ext {
agp_version = '8.1.0'
agp_version = "$GRADLE_PLUGIN_VERSION"
}
}// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
id 'com.android.application' version "$GRADLE_PLUGIN_VERSION" apply false
id 'com.android.library' version "$GRADLE_PLUGIN_VERSION" apply false
id 'org.jetbrains.kotlin.android' version "$KOTLIN_VERSION" apply false
id 'com.google.devtools.ksp' version "$KOTLIN_VERSION-1.0.29"
id 'com.google.dagger.hilt.android' version "$HILT_VERSION" apply false
id 'com.autonomousapps.dependency-analysis' version "$GRADLE_ANALYZE_VERSION"
}

2
fastlane/Appfile Normal file
View File

@@ -0,0 +1,2 @@
json_key_file("google-play-key.json") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one
package_name("com.appttude.h_mal.easycc") # e.g. com.krausefx.app

44
fastlane/Fastfile Normal file
View File

@@ -0,0 +1,44 @@
# This file contains the fastlane.tools configuration
# You can find the documentation at https://docs.fastlane.tools
#
# For a list of all available actions, check out
#
# https://docs.fastlane.tools/actions
#
# For a list of all available plugins, check out
#
# https://docs.fastlane.tools/plugins/available-plugins
#
# Uncomment the line if you want fastlane to automatically update itself
# update_fastlane
default_platform(:android)
platform :android do
desc "Runs all unit test"
lane :unit_test do
gradle(tasks: "lint test")
end
desc "Runs all instrumentation tests"
lane :instrumentation_test do
gradle(task: "app:connectedAndroidTest")
end
desc "Submit a new Beta Build to Crashlytics Beta"
lane :beta do
gradle(task: "clean assembleRelease")
# crashlytics
# sh "your_script.sh"
# You can also use other beta testing services here
end
desc "Deploy a new version to the Google Play"
lane :deploy do
increment_version_code
gradle(task: "clean assembleRelease")
upload_to_play_store
end
end

View File

@@ -53,15 +53,15 @@ GSON = 2.10.1
GUAVA = 33.2.1-android
ANDROID_LIBRARY = 8.5.0
ANDROID_APPLICATION = 8.5.0
GRADLE_PLUGIN_VERSION = 8.1.0
KOTLIN_VERSION = 1.9.20
GRADLE_PLUGIN_VERSION = 8.9.1
KOTLIN_VERSION = 2.1.0
KOTLIN_GRADLE_PLUGIN = 1.6.21
GRADLE_ANALYZE_VERSION = 2.0.0
KOTLINX_COROUTINES_RX2 = 1.9.0
HILT_VERSION = 2.48
HILT_VERSION = 2.56
# Android configuration
TARGET_SDK_VERSION = 33
TARGET_SDK_VERSION = 35
MIN_SDK_VERSION = 21
# Gradle parameters

View File

@@ -1,6 +1,6 @@
#Thu May 15 19:21:24 BST 2025
#Thu May 22 01:40:03 BST 2025
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists