From b27aae2e98b973f503bfea170952530ce51c3560 Mon Sep 17 00:00:00 2001 From: Aleksey Mikhailov Date: Wed, 7 Jul 2021 23:10:18 +0700 Subject: [PATCH 01/18] #58 setup new mapbox repo --- gradle/libs.versions.toml | 8 +++----- maps-google/build.gradle.kts | 4 ++-- maps-mapbox/build.gradle.kts | 5 ++--- sample/android-app/build.gradle.kts | 1 - sample/mpp-library/build.gradle.kts | 2 -- settings.gradle.kts | 15 ++++++++++++++- 6 files changed, 21 insertions(+), 14 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 5e113f0..a6a05b0 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -8,9 +8,8 @@ testExtJunitVersion = "1.1.1" playServicesLocationVersion = "18.0.0" playServicesMapsVersion = "17.0.0" googleMapsServicesVersion = "0.2.11" -mapboxVersion = "9.2.1" -mapboxNavigationVersion = "0.42.6" -mapboxAnnotationVersion = "0.9.0" +mapboxVersion = "9.6.1" +mapboxNavigationVersion = "1.5.1" multidexVersion = "2.0.1" kotlinxSerializationVersion = "1.2.1" coroutinesVersion = "1.5.0-native-mt" @@ -30,8 +29,7 @@ playServicesLocation = { module = "com.google.android.gms:play-services-location playServicesMaps = { module = "com.google.android.gms:play-services-maps", version.ref = "playServicesMapsVersion" } googleMapsServices = { module = "com.google.maps:google-maps-services", version.ref = "googleMapsServicesVersion" } mapbox = { module = "com.mapbox.mapboxsdk:mapbox-android-sdk", version.ref = "mapboxVersion" } -mapboxNavigation = { module = "com.mapbox.mapboxsdk:mapbox-android-navigation", version.ref = "mapboxNavigationVersion" } -mapboxAnnotation = { module = "com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9", version.ref = "mapboxAnnotationVersion" } +mapboxNavigation = { module = "com.mapbox.navigation:core", version.ref = "mapboxNavigationVersion" } multidex = { module = "androidx.multidex:multidex", version.ref = "multidexVersion" } ktorClientOkHttp = { module = "io.ktor:ktor-client-okhttp", version.ref = "ktorClientVersion" } kotlinSerialization = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerializationVersion" } diff --git a/maps-google/build.gradle.kts b/maps-google/build.gradle.kts index f7bf144..20583c1 100644 --- a/maps-google/build.gradle.kts +++ b/maps-google/build.gradle.kts @@ -23,8 +23,8 @@ dependencies { "androidMainImplementation"(libs.appCompat) "androidMainImplementation"(libs.lifecycle) - "androidMainImplementation"(libs.playServicesLocation) - "androidMainImplementation"(libs.playServicesMaps) + "androidMainApi"(libs.playServicesLocation) + "androidMainApi"(libs.playServicesMaps) "androidMainImplementation"(libs.googleMapsServices) "androidMainImplementation"(libs.ktorClientOkHttp) diff --git a/maps-mapbox/build.gradle.kts b/maps-mapbox/build.gradle.kts index 4044fac..a7080e6 100644 --- a/maps-mapbox/build.gradle.kts +++ b/maps-mapbox/build.gradle.kts @@ -18,9 +18,8 @@ dependencies { "androidMainImplementation"(libs.appCompat) "androidMainImplementation"(libs.lifecycle) "androidMainImplementation"(libs.playServicesLocation) - "androidMainImplementation"(libs.mapbox) - "androidMainImplementation"(libs.mapboxAnnotation) - "androidMainImplementation"(libs.mapboxNavigation) + "androidMainApi"(libs.mapbox) + "androidMainApi"(libs.mapboxNavigation) } cocoaPods { diff --git a/sample/android-app/build.gradle.kts b/sample/android-app/build.gradle.kts index 6d80cb9..92b58f2 100644 --- a/sample/android-app/build.gradle.kts +++ b/sample/android-app/build.gradle.kts @@ -23,7 +23,6 @@ dependencies { implementation(libs.playServicesMaps) implementation(libs.googleMapsServices) implementation(libs.mapbox) - implementation(libs.mapboxAnnotation) implementation(libs.multidex) diff --git a/sample/mpp-library/build.gradle.kts b/sample/mpp-library/build.gradle.kts index 7514743..2268b59 100644 --- a/sample/mpp-library/build.gradle.kts +++ b/sample/mpp-library/build.gradle.kts @@ -24,8 +24,6 @@ dependencies { commonMainApi(projects.mapsGoogle) commonMainApi(projects.mapsMapbox) "androidMainImplementation"(libs.lifecycle) - "androidMainImplementation"(libs.playServicesLocation) - "androidMainImplementation"(libs.mapbox) } multiplatformResources { diff --git a/settings.gradle.kts b/settings.gradle.kts index e58fb09..697b2c0 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -10,7 +10,20 @@ dependencyResolutionManagement { mavenCentral() google() - maven { url = uri("https://mapbox.bintray.com/mapbox") } + maven { + url = uri("https://api.mapbox.com/downloads/v2/releases/maven") + authentication { + create("basic", org.gradle.authentication.http.BasicAuthentication::class) + } + credentials { + // Do not change the username below. + // This should always be `mapbox` (not your username). + username = "mapbox" + // Use the secret token you stored in gradle.properties as the password + password = System.getenv("MAPBOX_SECRET_TOKEN") + ?: extra["mapbox.secretToken"] as? String + } + } jcenter { content { From f2554d554009d5f7e2ad7bd38964537cfb71ccc9 Mon Sep 17 00:00:00 2001 From: Aleksey Mikhailov Date: Wed, 7 Jul 2021 23:21:11 +0700 Subject: [PATCH 02/18] #58 control tokens for android by gradle properties --- sample/android-app/build.gradle.kts | 7 +++++++ sample/android-app/src/main/AndroidManifest.xml | 3 +-- .../src/main/java/com/icerockdev/app/GoogleMapsActivity.kt | 3 +-- .../src/main/java/com/icerockdev/app/MapboxActivity.kt | 2 +- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/sample/android-app/build.gradle.kts b/sample/android-app/build.gradle.kts index 92b58f2..01c3d1b 100644 --- a/sample/android-app/build.gradle.kts +++ b/sample/android-app/build.gradle.kts @@ -14,6 +14,13 @@ android { versionName = "0.1.0" multiDexEnabled = true + + val googleMapsApiKey: String = (extra["googleMaps.apiKey"] as? String).orEmpty() + val mapboxPublicToken: String = (extra["mapbox.publicToken"] as? String).orEmpty() + + manifestPlaceholders["googleMapsApiKey"] = googleMapsApiKey + buildConfigField("String", "GOOGLE_MAPS_API_KEY", "\"$googleMapsApiKey\"") + buildConfigField("String", "MAPBOX_PUBLIC_TOKEN", "\"$mapboxPublicToken\"") } } diff --git a/sample/android-app/src/main/AndroidManifest.xml b/sample/android-app/src/main/AndroidManifest.xml index 7d1c132..ee7681f 100755 --- a/sample/android-app/src/main/AndroidManifest.xml +++ b/sample/android-app/src/main/AndroidManifest.xml @@ -22,7 +22,6 @@ - - + diff --git a/sample/android-app/src/main/java/com/icerockdev/app/GoogleMapsActivity.kt b/sample/android-app/src/main/java/com/icerockdev/app/GoogleMapsActivity.kt index 458ab18..0250d8c 100644 --- a/sample/android-app/src/main/java/com/icerockdev/app/GoogleMapsActivity.kt +++ b/sample/android-app/src/main/java/com/icerockdev/app/GoogleMapsActivity.kt @@ -27,8 +27,7 @@ class GoogleMapsActivity : MvvmActivity() { override val viewModelVariableId: Int = BR.viewModel override val viewModelClass: Class = MapboxViewModel::class.java - private val mapboxToken = "YOUR-ACCESS-TOKEN" + private val mapboxToken = BuildConfig.MAPBOX_PUBLIC_TOKEN override fun viewModelFactory(): ViewModelProvider.Factory { return createViewModelFactory { From 4f106fc605574d63836a0a0e0480e33d8b417729 Mon Sep 17 00:00:00 2001 From: Aleksey Mikhailov Date: Wed, 7 Jul 2021 23:23:49 +0700 Subject: [PATCH 03/18] #58 setup guide --- README.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 24ab74b..922e375 100755 --- a/README.md +++ b/README.md @@ -170,7 +170,17 @@ class MarkerViewModel( ## Samples Please see more examples in the [sample directory](sample). -## Set Up Locally +## Set Up Locally +Before open project need to setup `gradle.properties` with tokens: +``` +# mapbox tokens by guide https://docs.mapbox.com/android/maps/guides/install/ +mapbox.secretToken=sk.eyJ1IjoiYWxleDAwOSIsImEiOiJja3F0MWdhMGowM2xqMnBvMmpjcmtpbXNmIn0.6rIx2ngQDSdu9j3GD85VBQ +mapbox.publicToken=pk.eyJ1IjoiYWxleDAwOSIsImEiOiJja2Y2aWp3Zjkwc3pxMnpxZG5wazlhcDU1In0.9PgTtFcznGfPnfbE3aD6_Q + +# google maps api key by guide https://developers.google.com/maps/documentation/android-sdk/get-api-key +googleMaps.apiKey=AIzaSyBCEIXZSuTHvlQXRlCKBJ5JwnIIdzLV0uE +``` + - The [maps directory](maps) contains the base classes for all maps providers; - The [maps-google directory](maps-google) contains the Google Maps implementation; - The [maps-mapbox directory](maps-mapbox) contains the mapbox implementation; From 9d3dcc3ba7794e55fe89191b2b76e962a1782af1 Mon Sep 17 00:00:00 2001 From: Anton Shestak Date: Thu, 8 Jul 2021 17:06:28 +0700 Subject: [PATCH 04/18] #58 updated pods for mapbox and google Maps, changed readme for how to local setup --- README.md | 18 +++++++++++++++--- build.gradle.kts | 1 + gradle/libs.versions.toml | 4 ++++ maps-mapbox/build.gradle.kts | 2 ++ sample/ios-app/Podfile | 6 +++--- .../ios-app/TestProj.xcodeproj/project.pbxproj | 2 ++ sample/ios-app/src/AppDelegate.swift | 2 +- .../ios-app/src/GoogleMapViewController.swift | 2 +- sample/ios-app/src/Info.plist | 4 +++- 9 files changed, 32 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 922e375..0b1aa90 100755 --- a/README.md +++ b/README.md @@ -174,11 +174,23 @@ Please see more examples in the [sample directory](sample). Before open project need to setup `gradle.properties` with tokens: ``` # mapbox tokens by guide https://docs.mapbox.com/android/maps/guides/install/ -mapbox.secretToken=sk.eyJ1IjoiYWxleDAwOSIsImEiOiJja3F0MWdhMGowM2xqMnBvMmpjcmtpbXNmIn0.6rIx2ngQDSdu9j3GD85VBQ -mapbox.publicToken=pk.eyJ1IjoiYWxleDAwOSIsImEiOiJja2Y2aWp3Zjkwc3pxMnpxZG5wazlhcDU1In0.9PgTtFcznGfPnfbE3aD6_Q +mapbox.secretToken=YOUR_SECRET_MAPBOX_KEY +mapbox.publicToken=YOUR_PUBLIC_MAPBOX_KEY # google maps api key by guide https://developers.google.com/maps/documentation/android-sdk/get-api-key -googleMaps.apiKey=AIzaSyBCEIXZSuTHvlQXRlCKBJ5JwnIIdzLV0uE +googleMaps.apiKey=YOUR_API_KEY +``` + +# ios info.plist setup with tokens: +``` +MGLMapboxAccessToken=YOUR_PUBLIC_MAPBOX_KEY +GoogleAPIkey=YOUR_API_KEY +``` +add the following entry to your `.netrc` file: +``` +machine api.mapbox.com +login mapbox +password YOUR_SECRET_MAPBOX_KEY ``` - The [maps directory](maps) contains the base classes for all maps providers; diff --git a/build.gradle.kts b/build.gradle.kts index b663b04..45c93c3 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -13,6 +13,7 @@ buildscript { classpath(":maps-build-logic") classpath("dev.icerock.moko:resources-generator:0.16.1") classpath("org.jetbrains.kotlin:kotlin-serialization:1.5.20") + classpath("com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0") } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a6a05b0..310b673 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -10,6 +10,8 @@ playServicesMapsVersion = "17.0.0" googleMapsServicesVersion = "0.2.11" mapboxVersion = "9.6.1" mapboxNavigationVersion = "1.5.1" +mapboxAnnotationVersion = "0.9.0" +mapboxServicesVersion = "5.8.0" multidexVersion = "2.0.1" kotlinxSerializationVersion = "1.2.1" coroutinesVersion = "1.5.0-native-mt" @@ -30,6 +32,8 @@ playServicesMaps = { module = "com.google.android.gms:play-services-maps", versi googleMapsServices = { module = "com.google.maps:google-maps-services", version.ref = "googleMapsServicesVersion" } mapbox = { module = "com.mapbox.mapboxsdk:mapbox-android-sdk", version.ref = "mapboxVersion" } mapboxNavigation = { module = "com.mapbox.navigation:core", version.ref = "mapboxNavigationVersion" } +mapboxAnnotation = { module = "com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9", version.ref = "mapboxAnnotationVersion" } +mapboxServices = { module = "com.mapbox.mapboxsdk:mapbox-sdk-services", version.ref = "mapboxServicesVersion" } multidex = { module = "androidx.multidex:multidex", version.ref = "multidexVersion" } ktorClientOkHttp = { module = "io.ktor:ktor-client-okhttp", version.ref = "ktorClientVersion" } kotlinSerialization = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerializationVersion" } diff --git a/maps-mapbox/build.gradle.kts b/maps-mapbox/build.gradle.kts index a7080e6..92242b6 100644 --- a/maps-mapbox/build.gradle.kts +++ b/maps-mapbox/build.gradle.kts @@ -18,6 +18,8 @@ dependencies { "androidMainImplementation"(libs.appCompat) "androidMainImplementation"(libs.lifecycle) "androidMainImplementation"(libs.playServicesLocation) + "androidMainImplementation"(libs.mapboxAnnotation) + "androidMainImplementation"(libs.mapboxServices) "androidMainApi"(libs.mapbox) "androidMainApi"(libs.mapboxNavigation) } diff --git a/sample/ios-app/Podfile b/sample/ios-app/Podfile index 6a48575..48da49c 100644 --- a/sample/ios-app/Podfile +++ b/sample/ios-app/Podfile @@ -12,9 +12,9 @@ platform :ios, '11.0' target 'TestProj' do # MultiPlatformLibrary pod 'MultiPlatformLibrary', :path => '../mpp-library' - pod 'Mapbox-iOS-SDK', '5.6.0' - pod 'MapboxNavigation', '0.40.0' - pod 'GoogleMaps', '3.7.0' + pod 'Mapbox-iOS-SDK', '6.3.0' + pod 'MapboxNavigation', '1.4.1' + pod 'GoogleMaps', '5.1.0' end # GoogleMaps is static library that already linked in moko-maps-google. Remove duplicated linking. diff --git a/sample/ios-app/TestProj.xcodeproj/project.pbxproj b/sample/ios-app/TestProj.xcodeproj/project.pbxproj index 6b320c3..e1d55ef 100644 --- a/sample/ios-app/TestProj.xcodeproj/project.pbxproj +++ b/sample/ios-app/TestProj.xcodeproj/project.pbxproj @@ -289,6 +289,7 @@ CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = 4VU932NX78; INFOPLIST_FILE = src/Info.plist; + ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = dev.icerock.moko.sample.maps; PRODUCT_NAME = "moko-maps"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -307,6 +308,7 @@ CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = 4VU932NX78; INFOPLIST_FILE = src/Info.plist; + ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = dev.icerock.moko.sample.maps; PRODUCT_NAME = "moko-maps"; PROVISIONING_PROFILE_SPECIFIER = ""; diff --git a/sample/ios-app/src/AppDelegate.swift b/sample/ios-app/src/AppDelegate.swift index be44ee7..bcdb19b 100755 --- a/sample/ios-app/src/AppDelegate.swift +++ b/sample/ios-app/src/AppDelegate.swift @@ -13,7 +13,7 @@ class AppDelegate: NSObject, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { // TODO: Replace with your API Key from https://developers.google.com/maps/documentation/ios-sdk/ - GMSServices.provideAPIKey("YOUR-API-KEY") + GMSServices.provideAPIKey(Bundle.main.object(forInfoDictionaryKey: "GoogleAPIkey") as! String) // For Mapbox add key "MGLMapboxAccessToken" in Info.plist return true diff --git a/sample/ios-app/src/GoogleMapViewController.swift b/sample/ios-app/src/GoogleMapViewController.swift index f512b2e..96949b2 100644 --- a/sample/ios-app/src/GoogleMapViewController.swift +++ b/sample/ios-app/src/GoogleMapViewController.swift @@ -20,7 +20,7 @@ class GoogleMapViewController: UIViewController { permissionsController: PermissionsController(), googleMapController: GoogleMapController( mapView: mapView, - geoApiKey: "YOUR-API-KEY" + geoApiKey: Bundle.main.object(forInfoDictionaryKey: "GoogleAPIkey") as! String ) ) diff --git a/sample/ios-app/src/Info.plist b/sample/ios-app/src/Info.plist index 58bce56..cf8404b 100755 --- a/sample/ios-app/src/Info.plist +++ b/sample/ios-app/src/Info.plist @@ -61,7 +61,9 @@ UIInterfaceOrientationPortraitUpsideDown MGLMapboxAccessToken - YOUR-ACCESS-TOKEN + YOUR_PUBLIC_MAPBOX_KEY + GoogleAPIkey + YOUR-API-KEY MGLMapboxMetricsEnabledSettingShownInApp From 5f2a11200332dfdbbe1a2e08ef36fe074138784c Mon Sep 17 00:00:00 2001 From: Anton Shestak Date: Mon, 12 Jul 2021 10:52:51 +0700 Subject: [PATCH 05/18] #58 updated CI pod-install action and removed useless --- .github/workflows/compilation-check.yml | 6 +++++- .github/workflows/publish.yml | 8 ++++++-- build.gradle.kts | 1 - sample/ios-app/src/AppDelegate.swift | 1 - sample/ios-app/src/Info.plist | 2 +- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/.github/workflows/compilation-check.yml b/.github/workflows/compilation-check.yml index 0123da5..a157cee 100644 --- a/.github/workflows/compilation-check.yml +++ b/.github/workflows/compilation-check.yml @@ -17,7 +17,11 @@ jobs: with: java-version: 11 - name: Cocoapods install - run: (cd sample/ios-app && pod install) + run: export ORIGINAL_HOME=$HOME && \ + export HOME=$(pwd) && \ + echo "machine api.mapbox.com\nlogin mapbox\npassword $MAPBOX_SECRET_TOKEN" > ~/.netrc && \ + (cd sample/ios-app && pod install) && \ + export HOME=$ORIGINAL_HOME - name: Check library run: ./gradlew build publishToMavenLocal syncMultiPlatformLibraryDebugFrameworkIosX64 - name: Install pods with kotlin diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 28e15bb..3ecac3d 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -18,7 +18,7 @@ jobs: SIGNING_KEY_ID: ${{ secrets.SIGNING_KEYID }} SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }} SIGNING_KEY: ${{ secrets.GPG_KEY_CONTENTS }} - + MAPBOX_SECRET_TOKEN: ${{ secrets.MAPBOX_SECRET_TOKEN }} steps: - uses: actions/checkout@v1 - name: Set up JDK 11 @@ -26,7 +26,11 @@ jobs: with: java-version: 11 - name: Cocoapods install - run: (cd sample/ios-app && pod install) + run: export ORIGINAL_HOME=$HOME && \ + export HOME=$(pwd) && \ + echo "machine api.mapbox.com\nlogin mapbox\npassword sk.eyJ1IjoiYWxleDAwOSIsImEiOiJja3F1ZmJiNmkwNDBjMnFvNmUxZWZqanVsIn0.MUWcRtm5qbEn5NGsnpdlug" > ~/.netrc && \ + (cd sample/ios-app && pod install) && \ + export HOME=$ORIGINAL_HOME - name: Publish library run: ./gradlew publish release: diff --git a/build.gradle.kts b/build.gradle.kts index 45c93c3..b663b04 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -13,7 +13,6 @@ buildscript { classpath(":maps-build-logic") classpath("dev.icerock.moko:resources-generator:0.16.1") classpath("org.jetbrains.kotlin:kotlin-serialization:1.5.20") - classpath("com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0") } } diff --git a/sample/ios-app/src/AppDelegate.swift b/sample/ios-app/src/AppDelegate.swift index bcdb19b..4cbbb7c 100755 --- a/sample/ios-app/src/AppDelegate.swift +++ b/sample/ios-app/src/AppDelegate.swift @@ -12,7 +12,6 @@ class AppDelegate: NSObject, UIApplicationDelegate { var window: UIWindow? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { - // TODO: Replace with your API Key from https://developers.google.com/maps/documentation/ios-sdk/ GMSServices.provideAPIKey(Bundle.main.object(forInfoDictionaryKey: "GoogleAPIkey") as! String) // For Mapbox add key "MGLMapboxAccessToken" in Info.plist diff --git a/sample/ios-app/src/Info.plist b/sample/ios-app/src/Info.plist index cf8404b..fffcf9c 100755 --- a/sample/ios-app/src/Info.plist +++ b/sample/ios-app/src/Info.plist @@ -63,7 +63,7 @@ MGLMapboxAccessToken YOUR_PUBLIC_MAPBOX_KEY GoogleAPIkey - YOUR-API-KEY + YOUR_API_KEY MGLMapboxMetricsEnabledSettingShownInApp From d5c825d3344181499177e604016e39e734565e91 Mon Sep 17 00:00:00 2001 From: Anton Shestak Date: Mon, 12 Jul 2021 11:49:51 +0700 Subject: [PATCH 06/18] #58 CI pod-install action fixes --- .github/workflows/compilation-check.yml | 8 ++++---- .github/workflows/publish.yml | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/compilation-check.yml b/.github/workflows/compilation-check.yml index a157cee..711e5c3 100644 --- a/.github/workflows/compilation-check.yml +++ b/.github/workflows/compilation-check.yml @@ -18,10 +18,10 @@ jobs: java-version: 11 - name: Cocoapods install run: export ORIGINAL_HOME=$HOME && \ - export HOME=$(pwd) && \ - echo "machine api.mapbox.com\nlogin mapbox\npassword $MAPBOX_SECRET_TOKEN" > ~/.netrc && \ - (cd sample/ios-app && pod install) && \ - export HOME=$ORIGINAL_HOME + export HOME=$(pwd) && \ + echo "machine api.mapbox.com\nlogin mapbox\npassword $MAPBOX_SECRET_TOKEN" > ~/.netrc && \ + (cd sample/ios-app && pod install) && \ + export HOME=$ORIGINAL_HOME - name: Check library run: ./gradlew build publishToMavenLocal syncMultiPlatformLibraryDebugFrameworkIosX64 - name: Install pods with kotlin diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 3ecac3d..1000b98 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -27,10 +27,10 @@ jobs: java-version: 11 - name: Cocoapods install run: export ORIGINAL_HOME=$HOME && \ - export HOME=$(pwd) && \ - echo "machine api.mapbox.com\nlogin mapbox\npassword sk.eyJ1IjoiYWxleDAwOSIsImEiOiJja3F1ZmJiNmkwNDBjMnFvNmUxZWZqanVsIn0.MUWcRtm5qbEn5NGsnpdlug" > ~/.netrc && \ - (cd sample/ios-app && pod install) && \ - export HOME=$ORIGINAL_HOME + export HOME=$(pwd) && \ + echo "machine api.mapbox.com\nlogin mapbox\npassword $MAPBOX_SECRET_TOKEN" > ~/.netrc && \ + (cd sample/ios-app && pod install) && \ + export HOME=$ORIGINAL_HOME - name: Publish library run: ./gradlew publish release: From 599a872c7d372ccd09d64aa338f1e7192f15778b Mon Sep 17 00:00:00 2001 From: Anton Shestak Date: Mon, 12 Jul 2021 11:52:51 +0700 Subject: [PATCH 07/18] #58 CI fixes --- .github/workflows/compilation-check.yml | 6 +----- .github/workflows/publish.yml | 6 +----- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/.github/workflows/compilation-check.yml b/.github/workflows/compilation-check.yml index 711e5c3..4c58886 100644 --- a/.github/workflows/compilation-check.yml +++ b/.github/workflows/compilation-check.yml @@ -17,11 +17,7 @@ jobs: with: java-version: 11 - name: Cocoapods install - run: export ORIGINAL_HOME=$HOME && \ - export HOME=$(pwd) && \ - echo "machine api.mapbox.com\nlogin mapbox\npassword $MAPBOX_SECRET_TOKEN" > ~/.netrc && \ - (cd sample/ios-app && pod install) && \ - export HOME=$ORIGINAL_HOME + run: export ORIGINAL_HOME=$HOME && export HOME=$(pwd) && echo "machine api.mapbox.com\nlogin mapbox\npassword $MAPBOX_SECRET_TOKEN" > ~/.netrc && (cd sample/ios-app && pod install) && export HOME=$ORIGINAL_HOME - name: Check library run: ./gradlew build publishToMavenLocal syncMultiPlatformLibraryDebugFrameworkIosX64 - name: Install pods with kotlin diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 1000b98..b0e6b4f 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -26,11 +26,7 @@ jobs: with: java-version: 11 - name: Cocoapods install - run: export ORIGINAL_HOME=$HOME && \ - export HOME=$(pwd) && \ - echo "machine api.mapbox.com\nlogin mapbox\npassword $MAPBOX_SECRET_TOKEN" > ~/.netrc && \ - (cd sample/ios-app && pod install) && \ - export HOME=$ORIGINAL_HOME + run: export ORIGINAL_HOME=$HOME && export HOME=$(pwd) && echo "machine api.mapbox.com\nlogin mapbox\npassword $MAPBOX_SECRET_TOKEN" > ~/.netrc && (cd sample/ios-app && pod install) && export HOME=$ORIGINAL_HOME - name: Publish library run: ./gradlew publish release: From f9eda39d14437e3a53f3384f3c97e41897f0cd47 Mon Sep 17 00:00:00 2001 From: Anton Shestak Date: Mon, 12 Jul 2021 12:17:11 +0700 Subject: [PATCH 08/18] #58 added env variable to compitation-check --- .github/workflows/compilation-check.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/compilation-check.yml b/.github/workflows/compilation-check.yml index 4c58886..6da56bb 100644 --- a/.github/workflows/compilation-check.yml +++ b/.github/workflows/compilation-check.yml @@ -9,7 +9,8 @@ on: jobs: build: runs-on: macOS-latest - + env: + MAPBOX_SECRET_TOKEN: ${{ secrets.MAPBOX_SECRET_TOKEN }} steps: - uses: actions/checkout@v1 - name: Set up JDK 11 From 6aa28598d5c4347b1772692d15106428971e8243 Mon Sep 17 00:00:00 2001 From: Anton Shestak Date: Mon, 12 Jul 2021 16:02:49 +0700 Subject: [PATCH 09/18] #58 added phase to ci for configure netrc file --- .github/workflows/compilation-check.yml | 8 +++++++- .github/workflows/publish.yml | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/.github/workflows/compilation-check.yml b/.github/workflows/compilation-check.yml index 6da56bb..688b624 100644 --- a/.github/workflows/compilation-check.yml +++ b/.github/workflows/compilation-check.yml @@ -17,8 +17,14 @@ jobs: uses: actions/setup-java@v1 with: java-version: 11 + - name: Set up .netrc + uses: extractions/netrc@v1 + with: + machine: api.mapbox.com + username: mapbox + password: ${{ secrets.MAPBOX_SECRET_TOKEN }} - name: Cocoapods install - run: export ORIGINAL_HOME=$HOME && export HOME=$(pwd) && echo "machine api.mapbox.com\nlogin mapbox\npassword $MAPBOX_SECRET_TOKEN" > ~/.netrc && (cd sample/ios-app && pod install) && export HOME=$ORIGINAL_HOME + run: (cd sample/ios-app && pod install) - name: Check library run: ./gradlew build publishToMavenLocal syncMultiPlatformLibraryDebugFrameworkIosX64 - name: Install pods with kotlin diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index b0e6b4f..541a94c 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -25,8 +25,14 @@ jobs: uses: actions/setup-java@v1 with: java-version: 11 + - name: Set up .netrc + uses: extractions/netrc@v1 + with: + machine: api.mapbox.com + username: mapbox + password: ${{ secrets.MAPBOX_SECRET_TOKEN }} - name: Cocoapods install - run: export ORIGINAL_HOME=$HOME && export HOME=$(pwd) && echo "machine api.mapbox.com\nlogin mapbox\npassword $MAPBOX_SECRET_TOKEN" > ~/.netrc && (cd sample/ios-app && pod install) && export HOME=$ORIGINAL_HOME + run: (cd sample/ios-app && pod install) - name: Publish library run: ./gradlew publish release: From 7764e5f703348c476cd0ee94139215b1d37f6ffe Mon Sep 17 00:00:00 2001 From: Anton Shestak Date: Mon, 12 Jul 2021 16:07:01 +0700 Subject: [PATCH 10/18] #58 fixes --- .github/workflows/compilation-check.yml | 2 +- .github/workflows/publish.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/compilation-check.yml b/.github/workflows/compilation-check.yml index 688b624..8581480 100644 --- a/.github/workflows/compilation-check.yml +++ b/.github/workflows/compilation-check.yml @@ -18,7 +18,7 @@ jobs: with: java-version: 11 - name: Set up .netrc - uses: extractions/netrc@v1 + - uses: extractions/netrc@v1 with: machine: api.mapbox.com username: mapbox diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 541a94c..2b5ed71 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -26,7 +26,7 @@ jobs: with: java-version: 11 - name: Set up .netrc - uses: extractions/netrc@v1 + - uses: extractions/netrc@v1 with: machine: api.mapbox.com username: mapbox From 87a45662a907a6fa13f5f76566d2b88ac9acd4a1 Mon Sep 17 00:00:00 2001 From: Anton Shestak Date: Mon, 12 Jul 2021 16:10:14 +0700 Subject: [PATCH 11/18] #58 fixed netrc setup on ci --- .github/workflows/compilation-check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/compilation-check.yml b/.github/workflows/compilation-check.yml index 8581480..f9c8c00 100644 --- a/.github/workflows/compilation-check.yml +++ b/.github/workflows/compilation-check.yml @@ -17,8 +17,8 @@ jobs: uses: actions/setup-java@v1 with: java-version: 11 - - name: Set up .netrc - uses: extractions/netrc@v1 + - name: Set up .netrc with: machine: api.mapbox.com username: mapbox From e275d9a8168ed40b2e3ba72bcfa618a8a56006bf Mon Sep 17 00:00:00 2001 From: Anton Shestak Date: Mon, 12 Jul 2021 16:11:24 +0700 Subject: [PATCH 12/18] #58 fixed netrc setup on ci --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 2b5ed71..55a55a2 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -25,8 +25,8 @@ jobs: uses: actions/setup-java@v1 with: java-version: 11 - - name: Set up .netrc - uses: extractions/netrc@v1 + - name: Set up .netrc with: machine: api.mapbox.com username: mapbox From 9f16c793dd6aa97ca196de707531152211b91cc8 Mon Sep 17 00:00:00 2001 From: Anton Shestak Date: Mon, 12 Jul 2021 16:17:21 +0700 Subject: [PATCH 13/18] #58 test --- .github/workflows/compilation-check.yml | 4 ++-- .github/workflows/publish.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/compilation-check.yml b/.github/workflows/compilation-check.yml index f9c8c00..e739bc5 100644 --- a/.github/workflows/compilation-check.yml +++ b/.github/workflows/compilation-check.yml @@ -17,8 +17,8 @@ jobs: uses: actions/setup-java@v1 with: java-version: 11 - - uses: extractions/netrc@v1 - - name: Set up .netrc + - name: Set up netrc + uses: extractions/netrc@v1 with: machine: api.mapbox.com username: mapbox diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 55a55a2..29f29db 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -25,8 +25,8 @@ jobs: uses: actions/setup-java@v1 with: java-version: 11 - - uses: extractions/netrc@v1 - - name: Set up .netrc + - name: Set up netrc + uses: extractions/netrc@v1 with: machine: api.mapbox.com username: mapbox From ec8f90f8b4176e96ae6d3cd8988ae646f0d7083d Mon Sep 17 00:00:00 2001 From: Anton Shestak Date: Mon, 12 Jul 2021 17:50:12 +0700 Subject: [PATCH 14/18] #58 fixes get mapbox token --- .github/workflows/compilation-check.yml | 2 +- .github/workflows/publish.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/compilation-check.yml b/.github/workflows/compilation-check.yml index e739bc5..8765643 100644 --- a/.github/workflows/compilation-check.yml +++ b/.github/workflows/compilation-check.yml @@ -22,7 +22,7 @@ jobs: with: machine: api.mapbox.com username: mapbox - password: ${{ secrets.MAPBOX_SECRET_TOKEN }} + password: ${{ MAPBOX_SECRET_TOKEN }} - name: Cocoapods install run: (cd sample/ios-app && pod install) - name: Check library diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 29f29db..4230448 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -30,7 +30,7 @@ jobs: with: machine: api.mapbox.com username: mapbox - password: ${{ secrets.MAPBOX_SECRET_TOKEN }} + password: ${{ MAPBOX_SECRET_TOKEN }} - name: Cocoapods install run: (cd sample/ios-app && pod install) - name: Publish library From 55f3cc1ebe93e69cfbeabf5fb91d8f876042be72 Mon Sep 17 00:00:00 2001 From: Anton Shestak Date: Tue, 13 Jul 2021 13:09:55 +0700 Subject: [PATCH 15/18] #58 use repository secrets to install mapbox --- .github/workflows/compilation-check.yml | 2 +- .github/workflows/publish.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/compilation-check.yml b/.github/workflows/compilation-check.yml index 8765643..e739bc5 100644 --- a/.github/workflows/compilation-check.yml +++ b/.github/workflows/compilation-check.yml @@ -22,7 +22,7 @@ jobs: with: machine: api.mapbox.com username: mapbox - password: ${{ MAPBOX_SECRET_TOKEN }} + password: ${{ secrets.MAPBOX_SECRET_TOKEN }} - name: Cocoapods install run: (cd sample/ios-app && pod install) - name: Check library diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 4230448..29f29db 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -30,7 +30,7 @@ jobs: with: machine: api.mapbox.com username: mapbox - password: ${{ MAPBOX_SECRET_TOKEN }} + password: ${{ secrets.MAPBOX_SECRET_TOKEN }} - name: Cocoapods install run: (cd sample/ios-app && pod install) - name: Publish library From 4955e00ab3cca55d58fdbf7161c03f5521cf8e0a Mon Sep 17 00:00:00 2001 From: Anton Shestak Date: Wed, 14 Jul 2021 15:12:11 +0700 Subject: [PATCH 16/18] #58 add GOOGLE_MAPS_API_KEY to buildConfig --- .github/workflows/publish.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 29f29db..cfada27 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -19,6 +19,7 @@ jobs: SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }} SIGNING_KEY: ${{ secrets.GPG_KEY_CONTENTS }} MAPBOX_SECRET_TOKEN: ${{ secrets.MAPBOX_SECRET_TOKEN }} + GOOGLE_MAPS_API_KEY: ${{ secrets.GOOGLE_MAPS_API_KEY }} steps: - uses: actions/checkout@v1 - name: Set up JDK 11 From 0d5d546ad05ce4cb2d623bc9f9c0c5bc7d046187 Mon Sep 17 00:00:00 2001 From: Anton Shestak Date: Wed, 14 Jul 2021 15:30:16 +0700 Subject: [PATCH 17/18] #58 way to get mapbox_public_token and google_api_key from repo secrets --- .github/workflows/publish.yml | 1 + sample/android-app/build.gradle.kts | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index cfada27..c294b2b 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -19,6 +19,7 @@ jobs: SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }} SIGNING_KEY: ${{ secrets.GPG_KEY_CONTENTS }} MAPBOX_SECRET_TOKEN: ${{ secrets.MAPBOX_SECRET_TOKEN }} + MAPBOX_PUBLIC_TOKEN: ${{ secrets.MAPBOX_PUBLIC_TOKEN }} GOOGLE_MAPS_API_KEY: ${{ secrets.GOOGLE_MAPS_API_KEY }} steps: - uses: actions/checkout@v1 diff --git a/sample/android-app/build.gradle.kts b/sample/android-app/build.gradle.kts index 01c3d1b..4241244 100644 --- a/sample/android-app/build.gradle.kts +++ b/sample/android-app/build.gradle.kts @@ -15,8 +15,8 @@ android { multiDexEnabled = true - val googleMapsApiKey: String = (extra["googleMaps.apiKey"] as? String).orEmpty() - val mapboxPublicToken: String = (extra["mapbox.publicToken"] as? String).orEmpty() + val googleMapsApiKey: String = (System.getenv("GOOGLE_MAPS_API_KEY") ?: extra["googleMaps.apiKey"] as? String).orEmpty() + val mapboxPublicToken: String = (System.getenv("MAPBOX_PUBLIC_TOKEN") ?: extra["mapbox.publicToken"] as? String).orEmpty() manifestPlaceholders["googleMapsApiKey"] = googleMapsApiKey buildConfigField("String", "GOOGLE_MAPS_API_KEY", "\"$googleMapsApiKey\"") From 10fc9e0fa11497d09f9c5d5ec034b055fddb2780 Mon Sep 17 00:00:00 2001 From: Anton Shestak Date: Wed, 14 Jul 2021 15:52:55 +0700 Subject: [PATCH 18/18] #58 added keys to CI check file --- .github/workflows/compilation-check.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/compilation-check.yml b/.github/workflows/compilation-check.yml index e739bc5..1e01ef7 100644 --- a/.github/workflows/compilation-check.yml +++ b/.github/workflows/compilation-check.yml @@ -11,6 +11,8 @@ jobs: runs-on: macOS-latest env: MAPBOX_SECRET_TOKEN: ${{ secrets.MAPBOX_SECRET_TOKEN }} + MAPBOX_PUBLIC_TOKEN: ${{ secrets.MAPBOX_PUBLIC_TOKEN }} + GOOGLE_MAPS_API_KEY: ${{ secrets.GOOGLE_MAPS_API_KEY }} steps: - uses: actions/checkout@v1 - name: Set up JDK 11