mirror of
https://github.com/barbeau/gpstest.git
synced 2025-12-05 18:46:30 -06:00
* Update android.yml
* Update android.yml
* Update AndroidManifest.xml
* Update android.yml
* Update AndroidManifest.xml
* Separate steps
* Avoid linting
* List packages
* Build debug
* Add stacktrace
* Upload artifacts
* Checkout
* Wait for build
* Fix ADB path
* Fix paths
* Update targets
* Test and check
* Fix path
* Improve pipeline
* Fix CI
* Fix action
* Upload on failure
* Removel inting
* Fix lint report path
* Fix path
* Print paths content
* Add params
* Fix path
* Remove lint
* Check
* Test only
* Format
* Re add linting
* Remove format
* Fix paths
* Uneeded
* Disable telemetry
* Fix library use
* Revert lib change
* Use Gradle to deploy
* Run instrumentation tests after install
* Save artifacts directories
* Run instrumented tests on main app only
* Manual SDK install
* connectedCheck
* Use runner action
* No manual install
* Temporary comment
* No artifact download
* Add Checkstyle
* Pin actions and remove comments
* Needs build
* Add Dependabot
* Harden runners
* Add checkstyle configuration
* Consistency
* actions-update: Bump actions/checkout in the actions-dependencies group
Bumps the actions-dependencies group with 1 update: [actions/checkout](https://github.com/actions/checkout).
Updates `actions/checkout` from 2 to 4
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v2...v4)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '4'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
* Hardening in block mode
* build(deps): Bump the gradle group across 1 directory with 3 updates
Bumps the gradle group with 3 updates in the / directory: commons-io:commons-io, [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) and [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson).
Updates `commons-io:commons-io` from 2.8.0 to 2.14.0
Updates `com.fasterxml.jackson.core:jackson-core` from 2.14.2 to 2.15.0
- [Changelog](https://github.com/FasterXML/jackson-core/blob/jackson-core-2.15.0/release.properties)
- [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.14.2...jackson-core-2.15.0)
Updates `com.fasterxml.jackson.core:jackson-databind` from 2.12.4 to 2.12.7.1
- [Commits](https://github.com/FasterXML/jackson/commits)
---
updated-dependencies:
- dependency-name: commons-io:commons-io
dependency-version: 2.14.0
dependency-type: direct:production
dependency-group: gradle
- dependency-name: com.fasterxml.jackson.core:jackson-core
dependency-version: 2.15.0
dependency-type: direct:production
dependency-group: gradle
- dependency-name: com.fasterxml.jackson.core:jackson-databind
dependency-version: 2.12.7.1
dependency-type: direct:production
dependency-group: gradle
...
Signed-off-by: dependabot[bot] <support@github.com>
* Gradle 8.14
* Fix egress
* Fix egress
* Audit
* Revert
* Run checkstyle
* Add task
* Remove checkstyle
* Remove checkstyle
* Fix name
* Add name
* Correct reports path
* Print paths
* Print
* Upload build logs
* Remove logs upload
* Misc
* Cache readonly (#4)
* Implement read only cache
* Build OsmDroid
* Parallelize jobs (#6)
* actions-update: Bump step-security/harden-runner (#5)
Bumps the actions-dependencies group with 1 update: [step-security/harden-runner](https://github.com/step-security/harden-runner).
Updates `step-security/harden-runner` from 2.12.2 to 2.13.0
- [Release notes](https://github.com/step-security/harden-runner/releases)
- [Commits](6c439dc8bd...ec9f2d5744)
---
updated-dependencies:
- dependency-name: step-security/harden-runner
dependency-version: 2.13.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: actions-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Upgrade to Gradle 8.13
* Upgrade Kotlin version
* Add buildConfig
* Optimize imports
* Dependabot: only upgrade at patch version level
* Revert Gradle update action
* Dependabot: add Gradle support for patch versions
* gradle-update: bump org.osmdroid:osmdroid-android (#7)
Bumps the actions-dependencies group with 1 update: [org.osmdroid:osmdroid-android](https://github.com/osmdroid/osmdroid).
Updates `org.osmdroid:osmdroid-android` from 6.1.11 to 6.1.20
- [Release notes](https://github.com/osmdroid/osmdroid/releases)
- [Changelog](https://github.com/osmdroid/osmdroid/blob/master/CHANGELOG.md)
- [Commits](https://github.com/osmdroid/osmdroid/compare/osmdroid-parent-6.1.11...osmdroid-parent-6.1.20)
---
updated-dependencies:
- dependency-name: org.osmdroid:osmdroid-android
dependency-version: 6.1.20
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: actions-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* gradle-update: bump com.fasterxml.jackson.core:jackson-databind (#8)
Bumps [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) from 2.12.4 to 2.19.2.
- [Commits](https://github.com/FasterXML/jackson/commits)
---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-databind
dependency-version: 2.19.2
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Fix typo in Dependabot conf
* Bump SDK version
* Upgrade SDK version
* Revert targetSdk
* Bump SDK
* Fix type
* Fix build
* Security updates for Gradle
* Ignore major and minor updates
* Lint
* Lint: ignore string format
* Lint: ignore string format for library
* Lint: disable translation checks
* Migrate activity!!
* Migrate context!!
* Add SARIF report generation and upload
* Lint: do not check dependencies
* Fix path again
* Lint: re-enable for all tasks
* Add gitignore
* Bump targetSdk
* Remove Dependabot Gradle config
* Remove crashpad handler fix
* Bump SARIF action to latest version
* Revert SDK upgrade
* Revert SDK upgrade related fixes
* Revert non-lint fixes
* Revert sensor fix
* Restore gitignore
* Delete build/reports/problems/problems-report.html
* Fix pipeline run
* Add required fixes from linting pass
* Fix conflict
* Revert targetSdk upgrade and ignore ExpiredTargetSdkVersion for linting
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
238 lines
7.7 KiB
Groovy
238 lines
7.7 KiB
Groovy
apply plugin: 'com.android.application'
|
|
apply plugin: 'kotlin-android'
|
|
apply plugin: 'kotlin-kapt'
|
|
apply plugin: 'dagger.hilt.android.plugin'
|
|
apply plugin: 'org.jetbrains.kotlin.plugin.compose'
|
|
|
|
android {
|
|
compileSdkVersion 33
|
|
|
|
defaultConfig {
|
|
minSdkVersion 24
|
|
targetSdkVersion 34
|
|
multiDexEnabled true
|
|
// versionCode scheme - first two digits are minSdkVersion, last three digits are build number
|
|
versionCode 24099
|
|
versionName "3.10.5"
|
|
|
|
vectorDrawables.useSupportLibrary = true
|
|
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
}
|
|
|
|
buildFeatures {
|
|
// Enables Jetpack Compose for this module
|
|
compose true
|
|
}
|
|
|
|
flavorDimensions "map"
|
|
|
|
productFlavors {
|
|
google {
|
|
// Google Play release using Google Play Services for maps
|
|
dimension "map"
|
|
applicationId "com.android.gpstest"
|
|
}
|
|
|
|
osmdroid {
|
|
// F-Droid release using osmdroid for maps
|
|
dimension "map"
|
|
applicationId "com.android.gpstest.osmdroid"
|
|
}
|
|
}
|
|
|
|
packagingOptions {
|
|
// http://stackoverflow.com/questions/20673625/gradle-0-7-0-duplicate-files-during-packaging-of-apk
|
|
exclude 'META-INF/LICENSE'
|
|
exclude 'META-INF/NOTICE'
|
|
// https://github.com/Kotlin/kotlinx.coroutines/issues/2023
|
|
// for JNA and JNA-platform
|
|
exclude "META-INF/AL2.0"
|
|
exclude "META-INF/LGPL2.1"
|
|
// for byte-buddy
|
|
exclude "META-INF/licenses/ASM"
|
|
pickFirst "win32-x86-64/attach_hotspot_windows.dll"
|
|
pickFirst "win32-x86/attach_hotspot_windows.dll"
|
|
}
|
|
|
|
lintOptions {
|
|
sarifReport true
|
|
disable 'MissingTranslation', 'ExtraTranslation', 'StringFormatInvalid'
|
|
}
|
|
|
|
if (project.hasProperty("secure.properties")
|
|
&& new File(project.property("secure.properties")).exists()) {
|
|
|
|
Properties props = new Properties()
|
|
props.load(new FileInputStream(file(project.property("secure.properties"))))
|
|
|
|
signingConfigs {
|
|
debug {
|
|
storeFile file("gpstest.debug.keystore")
|
|
}
|
|
|
|
release {
|
|
storeFile file(props['key.store'])
|
|
keyAlias props['key.alias']
|
|
storePassword props['key.storepassword']
|
|
keyPassword props['key.keypassword']
|
|
}
|
|
}
|
|
} else {
|
|
signingConfigs {
|
|
debug {
|
|
storeFile file("gpstest.debug.keystore")
|
|
}
|
|
|
|
release {
|
|
// Nothing here
|
|
}
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
minifyEnabled true
|
|
shrinkResources true
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
|
|
signingConfig signingConfigs.release
|
|
}
|
|
// Append the version name to the end of aligned APKs
|
|
android.applicationVariants.all { variant ->
|
|
if (variant.buildType.name == "release") {
|
|
variant.outputs.all { output ->
|
|
outputFileName = "${variant.name}-v${variant.versionName}.apk"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
dataBinding {
|
|
enabled = true
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_17
|
|
targetCompatibility JavaVersion.VERSION_17
|
|
}
|
|
kotlinOptions {
|
|
jvmTarget = JavaVersion.VERSION_17
|
|
}
|
|
|
|
testOptions {
|
|
unitTests.returnDefaultValues = true
|
|
unitTests.includeAndroidResources true
|
|
}
|
|
|
|
composeOptions {
|
|
kotlinCompilerExtensionVersion '1.4.0'
|
|
}
|
|
|
|
buildFeatures {
|
|
dataBinding true
|
|
viewBinding true
|
|
}
|
|
|
|
buildFeatures {
|
|
buildConfig = true
|
|
}
|
|
|
|
// Gradle automatically adds 'android.test.runner' as a dependency.
|
|
useLibrary 'android.test.runner'
|
|
|
|
useLibrary 'android.test.base'
|
|
useLibrary 'android.test.mock'
|
|
namespace 'com.android.gpstest'
|
|
}
|
|
|
|
dependencies {
|
|
implementation 'androidx.appcompat:appcompat:1.3.1'
|
|
implementation 'com.google.android.material:material:1.4.0'
|
|
implementation 'androidx.recyclerview:recyclerview:1.2.1'
|
|
implementation 'androidx.cardview:cardview:1.0.0'
|
|
implementation 'androidx.constraintlayout:constraintlayout:2.1.1'
|
|
// ViewModel and LiveData
|
|
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
|
|
implementation 'androidx.fragment:fragment-ktx:1.5.6'
|
|
|
|
// Sliding drawer in map view
|
|
implementation 'com.sothree.slidinguppanel:library:3.4.0'
|
|
|
|
// Graphs for sliding drawer
|
|
implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0-alpha'
|
|
|
|
// QR Code reader for ground truth locations
|
|
implementation 'com.google.zxing:android-integration:3.3.0'
|
|
|
|
// Uploading device properties on user request
|
|
implementation 'androidx.core:core-ktx:1.10.0-rc01'
|
|
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2'
|
|
implementation 'commons-io:commons-io:2.14.0'
|
|
|
|
// Share dialog
|
|
implementation 'androidx.viewpager2:viewpager2:1.0.0'
|
|
|
|
// Write GNSS antenna info to JSON
|
|
implementation 'com.fasterxml.jackson.core:jackson-core:2.14.2'
|
|
implementation 'com.fasterxml.jackson.core:jackson-databind:2.14.2'
|
|
|
|
// Multidex - Needed for APIs < 21
|
|
implementation 'androidx.multidex:multidex:2.0.1'
|
|
implementation project(path: ':library')
|
|
|
|
// To observe flows via co-routines within the Service
|
|
def lifecycle_version = "2.4.0-rc01"
|
|
implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version"
|
|
implementation "androidx.lifecycle:lifecycle-service:$lifecycle_version"
|
|
|
|
// To use trySend() instead of offer() in callbackFlow (see https://github.com/Kotlin/kotlinx.coroutines/issues/974)
|
|
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.1'
|
|
|
|
// Hilt for dependency injection
|
|
implementation "com.google.dagger:hilt-android:$hilt_version"
|
|
kapt "com.google.dagger:hilt-compiler:$hilt_version"
|
|
|
|
// Map (Google flavor only)
|
|
googleImplementation 'com.google.android.gms:play-services-maps:17.0.1'
|
|
// Calculating offset for camera target in map view (Google flavor only)
|
|
googleImplementation 'com.google.maps.android:android-maps-utils:2.2.6'
|
|
// Use suspend coroutines instead of callbacks (Google flavor only)
|
|
googleImplementation 'com.google.maps.android:maps-ktx:3.1.0'
|
|
// OSM Droid (fdroid flavor only)
|
|
osmdroidImplementation 'org.osmdroid:osmdroid-android:6.1.11'
|
|
|
|
//
|
|
// Jetpack Compose for UI
|
|
//
|
|
|
|
// Integration with activities
|
|
implementation 'androidx.activity:activity-compose:1.4.0'
|
|
implementation "androidx.compose.compiler:compiler:1.1.0-rc02"
|
|
// Compose Material Design
|
|
implementation 'androidx.compose.material:material:1.0.5'
|
|
// Bridging XML themes to Compose
|
|
implementation "com.google.android.material:compose-theme-adapter:1.1.0"
|
|
// Animations
|
|
implementation 'androidx.compose.animation:animation:1.1.0-beta02'
|
|
// Tooling support (Previews, etc.)
|
|
implementation 'androidx.compose.ui:ui-tooling:1.0.5'
|
|
// Integration with ViewModels
|
|
implementation 'androidx.lifecycle:lifecycle-viewmodel-compose:2.5.1'
|
|
//Integration with LiveData
|
|
implementation 'androidx.compose.runtime:runtime-livedata:1.1.0-beta02'
|
|
// UI Tests
|
|
androidTestImplementation 'androidx.compose.ui:ui-test-junit4:1.0.5'
|
|
|
|
//
|
|
// Unit tests
|
|
//
|
|
testImplementation 'junit:junit:4.13.2'
|
|
// Core library
|
|
androidTestImplementation 'androidx.test:core:1.4.0'
|
|
|
|
// AndroidJUnitRunner and JUnit Rules
|
|
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
|
|
androidTestImplementation 'androidx.test:rules:1.4.0'
|
|
|
|
// Assertions
|
|
androidTestImplementation "androidx.arch.core:core-testing:2.1.0"
|
|
} |