From cc9846d1d7672307541fa9b1052b8fbefefbc337 Mon Sep 17 00:00:00 2001 From: Aleksandr Mirko Date: Sat, 5 Oct 2024 22:55:32 +0100 Subject: [PATCH 1/2] #15 Support of publishType API param --- CHANGELOG.md | 18 ++++++++++ README.md | 18 ++++++++-- gradle/libs.versions.toml | 2 +- plugin/gradle.properties | 2 +- .../ru/cian/rustore/publish/PluginConfig.kt | 2 +- .../cian/rustore/publish/RustorePublishCli.kt | 2 +- .../publish/RustorePublishExtension.kt | 18 +++++----- .../rustore/publish/RustorePublishTask.kt | 18 +++++----- .../publish/models/request/AppDraftRequest.kt | 2 ++ .../rustore/publish/service/RustoreService.kt | 1 + .../publish/service/RustoreServiceImpl.kt | 12 ++++--- .../rustore/publish/utils/ConfigProvider.kt | 4 +-- .../publish/utils/ConfigProviderTest.kt | 36 +++++++++---------- sample-groovy/rustore-credentials-1.json | 2 +- sample-groovy/rustore-credentials-2.json | 2 +- sample-kotlin/rustore-credentials.json | 2 +- 16 files changed, 89 insertions(+), 52 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d73d69a..2ea8ffa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,21 @@ +# 0.5.1 + +##### Add +* [issue#15](https://github.com/cianru/rustore-publish-gradle-plugin/issues/15) Support of `publishType` param. +```groovy + /** + * (Optional) + * CLI: `--publishType` + * ----| 'instantly' – the application will be published immediately after the review process is completed. + * ----| 'manual' – the application must be published manually by the developer after ther review process is completed. + * Gradle Extenion DSL, available values: + * ----| ru.cian.rustore.publish.PublishType.INSTANTLY + * ----| ru.cian.rustore.publish.PublishType.MANUAL + * Default value: `instantly` + */ + publishType = ru.cian.rustore.publish.PublishType.INSTANTLY +``` + # 0.5.0 ##### Add diff --git a/README.md b/README.md index 088d40c..251f4f7 100644 --- a/README.md +++ b/README.md @@ -12,8 +12,8 @@

-![Version](https://img.shields.io/badge/GradlePortal-0.5.0-green.svg) -![Version](https://img.shields.io/badge/Gradle-8.*-pink.svg) +[//]: # (![Version](https://img.shields.io/badge/GradlePortal-0.5.0-green.svg)) + [![License](https://img.shields.io/github/license/srs/gradle-node-plugin.svg)](http://www.apache.org/licenses/LICENSE-2.0.html) The plugin use [Rustore API](https://help.rustore.ru/rustore/for_developers/work_with_RuStore_API/publish_RuStore_API) to publish Android build file to the [RuStore](https://rustore.ru). @@ -215,13 +215,25 @@ rustorePublish { * CLI: `--mobileServicesType` * ----| 'Unknown' * ----| 'HMS' - * Gradle Extention DSL, available values: + * Gradle Extension DSL, available values: * ----| ru.cian.rustore.publish.MobileServicesType.UNKNOWN * ----| ru.cian.rustore.publish.MobileServicesType.HMS * Default value: `Unknown` */ mobileServicesType = ru.cian.rustore.publish.MobileServicesType.UNKNOWN + /** + * (Optional) + * CLI: `--publishType` + * ----| 'instantly' – the application will be published immediately after the review process is completed. + * ----| 'manual' – the application must be published manually by the developer after ther review process is completed. + * Gradle Extenion DSL, available values: + * ----| ru.cian.rustore.publish.PublishType.INSTANTLY + * ----| ru.cian.rustore.publish.PublishType.MANUAL + * Default value: `instantly` + */ + publishType = ru.cian.rustore.publish.PublishType.INSTANTLY + /** * (Optional) * Release Notes settings. For mote info see ReleaseNote param desc. diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1367e9f..f78108b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -13,7 +13,7 @@ kotlin = "1.9.23" detekt = "1.23.4" junitJupiter = "5.9.3" androidGradlePlugin = "8.0.2" -sampleRustorePlugin = "0.5.0-alpha02" +sampleRustorePlugin = "0.5.1-alpha01" [libraries] appcompat = "androidx.appcompat:appcompat:1.6.1" diff --git a/plugin/gradle.properties b/plugin/gradle.properties index edcad30..ad6785a 100644 --- a/plugin/gradle.properties +++ b/plugin/gradle.properties @@ -9,7 +9,7 @@ android.enableJetifier=true #################################################################################################### GROUP_ID=ru.cian.rustore-plugin -VERSION_NAME=0.5.0 +VERSION_NAME=0.5.1-alpha02 POM_ARTIFACT_ID=rustore-publish-gradle-plugin POM_NAME=Rustore Publish Gradle Plugin diff --git a/plugin/src/main/kotlin/ru/cian/rustore/publish/PluginConfig.kt b/plugin/src/main/kotlin/ru/cian/rustore/publish/PluginConfig.kt index 3c40e63..7d423d8 100644 --- a/plugin/src/main/kotlin/ru/cian/rustore/publish/PluginConfig.kt +++ b/plugin/src/main/kotlin/ru/cian/rustore/publish/PluginConfig.kt @@ -4,7 +4,7 @@ import java.io.File internal data class PluginConfig( val credentials: Credentials, - val deployType: DeployType, + val publishType: PublishType, val artifactFormat: BuildFormat, val requestTimeout: Long?, val mobileServicesType: MobileServicesType, diff --git a/plugin/src/main/kotlin/ru/cian/rustore/publish/RustorePublishCli.kt b/plugin/src/main/kotlin/ru/cian/rustore/publish/RustorePublishCli.kt index 43f2979..be05490 100644 --- a/plugin/src/main/kotlin/ru/cian/rustore/publish/RustorePublishCli.kt +++ b/plugin/src/main/kotlin/ru/cian/rustore/publish/RustorePublishCli.kt @@ -1,7 +1,7 @@ package ru.cian.rustore.publish internal data class RustorePublishCli( - val deployType: DeployType? = null, + val publishType: PublishType? = null, val credentialsPath: String? = null, val keyId: String? = null, val clientSecret: String? = null, diff --git a/plugin/src/main/kotlin/ru/cian/rustore/publish/RustorePublishExtension.kt b/plugin/src/main/kotlin/ru/cian/rustore/publish/RustorePublishExtension.kt index b573b70..83b7a83 100644 --- a/plugin/src/main/kotlin/ru/cian/rustore/publish/RustorePublishExtension.kt +++ b/plugin/src/main/kotlin/ru/cian/rustore/publish/RustorePublishExtension.kt @@ -27,7 +27,7 @@ class RustorePublishExtensionConfig( * var param by GradleProperty(project, String::class.java) */ var credentialsPath: String? = null - var deployType = DeployType.PUBLISH + var publishType = PublishType.INSTANTLY var requestTimeout: Long? = null var mobileServicesType: MobileServicesType = MobileServicesType.UNKNOWN var buildFormat: BuildFormat = BuildFormat.APK @@ -52,7 +52,7 @@ class RustorePublishExtensionConfig( return "RustorePublishExtensionConfig(" + "name='$name', " + "credentialsPath='$credentialsPath', " + - "deployType='$deployType', " + + "deployType='$publishType', " + "requestTimeout='$requestTimeout', " + "mobileServicesType='$mobileServicesType', " + "buildFormat='$buildFormat', " + @@ -111,19 +111,19 @@ enum class MobileServicesType(val value: String) { UNKNOWN("Unknown"), } -enum class DeployType { +enum class PublishType { /** - * Deploy without draft saving and submit on users; + * Manual publication. After review you should publish it manually; */ - UPLOAD_ONLY, + MANUAL, /** - * Deploy and save as draft without submit on users; + * Automatically publish on all users after reviewing store approve; */ - DRAFT, + INSTANTLY, /** - * Deploy, save as draft and submit build on users; + * Delayed publication. You should set publishDateTime; */ - PUBLISH, +// DELAYED, // FIXME: Implement delayed publication after adding of `publishDateTime` API param; } diff --git a/plugin/src/main/kotlin/ru/cian/rustore/publish/RustorePublishTask.kt b/plugin/src/main/kotlin/ru/cian/rustore/publish/RustorePublishTask.kt index b3f5865..1c84a3e 100644 --- a/plugin/src/main/kotlin/ru/cian/rustore/publish/RustorePublishTask.kt +++ b/plugin/src/main/kotlin/ru/cian/rustore/publish/RustorePublishTask.kt @@ -39,14 +39,6 @@ open class RustorePublishTask private val logger by lazy { Logger(project) } - @get:Internal - @set:Option( - option = "deployType", - description = "How to deploy build: 'publish' to all users or create 'draft' " + - "without publishing or 'upload-only' without draft creation" - ) - var deployType: DeployType? = null - @get:Internal @set:Option( option = "credentialsPath", @@ -126,6 +118,13 @@ open class RustorePublishTask ) var releaseNotes: String? = null + @get:Internal + @set:Option( + option = "publishType", + description = "How to publish build file. Available values: ['manual', 'instantly']." + ) + var publishType: PublishType? = null + @get:Internal @set:Option(option = "apiStub", description = "Use RestAPI stub instead of real RestAPI requests") var apiStub: Boolean? = false @@ -149,7 +148,7 @@ open class RustorePublishTask ) val cli = RustorePublishCli( - deployType = deployType, + publishType = publishType, credentialsPath = credentialsPath, keyId = keyId, clientSecret = clientSecret, @@ -212,6 +211,7 @@ open class RustorePublishTask token = token, applicationId = config.applicationId, whatsNew = config.releaseNotes?.first()?.newFeatures ?: "", + publishType = config.publishType.name, ) logger.v("5/6. Upload build file '${config.artifactFile}'") diff --git a/plugin/src/main/kotlin/ru/cian/rustore/publish/models/request/AppDraftRequest.kt b/plugin/src/main/kotlin/ru/cian/rustore/publish/models/request/AppDraftRequest.kt index f252c7d..dff3249 100644 --- a/plugin/src/main/kotlin/ru/cian/rustore/publish/models/request/AppDraftRequest.kt +++ b/plugin/src/main/kotlin/ru/cian/rustore/publish/models/request/AppDraftRequest.kt @@ -5,4 +5,6 @@ import com.google.gson.annotations.SerializedName internal data class AppDraftRequest( @SerializedName("whatsNew") val whatsNew: String, + @SerializedName("publishType") + val publishType: String, ) diff --git a/plugin/src/main/kotlin/ru/cian/rustore/publish/service/RustoreService.kt b/plugin/src/main/kotlin/ru/cian/rustore/publish/service/RustoreService.kt index 2f5c014..63eb63c 100644 --- a/plugin/src/main/kotlin/ru/cian/rustore/publish/service/RustoreService.kt +++ b/plugin/src/main/kotlin/ru/cian/rustore/publish/service/RustoreService.kt @@ -18,6 +18,7 @@ internal interface RustoreService { token: String, applicationId: String, whatsNew: String, + publishType: String, ): Int @Suppress("LongParameterList") diff --git a/plugin/src/main/kotlin/ru/cian/rustore/publish/service/RustoreServiceImpl.kt b/plugin/src/main/kotlin/ru/cian/rustore/publish/service/RustoreServiceImpl.kt index c1c7cdb..21ef5a5 100644 --- a/plugin/src/main/kotlin/ru/cian/rustore/publish/service/RustoreServiceImpl.kt +++ b/plugin/src/main/kotlin/ru/cian/rustore/publish/service/RustoreServiceImpl.kt @@ -61,9 +61,11 @@ internal class RustoreServiceImpl( token: String, applicationId: String, whatsNew: String, + publishType: String, ): Int { val bodyRequest = AppDraftRequest( whatsNew = whatsNew, + publishType = publishType, ) logger.i(""" @@ -72,7 +74,8 @@ internal class RustoreServiceImpl( --header 'Content-Type: application/json' \ --header 'Public-Token: $token' \ --data-raw '{ - "whatsNew": "$whatsNew" + "whatsNew": "$whatsNew", + "publishType": "$publishType" }' """.trimIndent()) @@ -111,10 +114,11 @@ internal class RustoreServiceImpl( token = token, applicationId = applicationId, whatsNew = whatsNew, + publishType = publishType, ) } - logger.v("response=$response") + logger.i("response=$response") return response.body } @@ -180,7 +184,7 @@ internal class RustoreServiceImpl( headers = headers ) - logger.v("response=$response") + logger.i("response=$response") check(response.code == "OK") { "Build file uploading is failed! " + @@ -234,7 +238,7 @@ internal class RustoreServiceImpl( ), ) - logger.v("response=$response") + logger.i("response=$response") return response.code == "OK" } diff --git a/plugin/src/main/kotlin/ru/cian/rustore/publish/utils/ConfigProvider.kt b/plugin/src/main/kotlin/ru/cian/rustore/publish/utils/ConfigProvider.kt index 2deb964..2de2463 100644 --- a/plugin/src/main/kotlin/ru/cian/rustore/publish/utils/ConfigProvider.kt +++ b/plugin/src/main/kotlin/ru/cian/rustore/publish/utils/ConfigProvider.kt @@ -22,7 +22,7 @@ internal class ConfigProvider( val requestTimeout = cli.requestTimeout?.toLongOrNull() ?: extension.requestTimeout val mobileServicesType = cli.mobileServicesType ?: extension.mobileServicesType - val deployType = cli.deployType ?: extension.deployType + val publishType = cli.publishType ?: extension.publishType val artifactFormat = cli.buildFormat ?: extension.buildFormat val customBuildFilePath: String? = cli.buildFile ?: extension.buildFile val releaseTime: String? = cli.releaseTime ?: extension.releaseTime @@ -44,7 +44,7 @@ internal class ConfigProvider( return PluginConfig( credentials = credentialsConfig, - deployType = deployType, + publishType = publishType, requestTimeout = requestTimeout, mobileServicesType = mobileServicesType, artifactFormat = actualArtifactFormat, diff --git a/plugin/src/test/kotlin/ru/cian/rustore/publish/utils/ConfigProviderTest.kt b/plugin/src/test/kotlin/ru/cian/rustore/publish/utils/ConfigProviderTest.kt index 7605cbb..83d9a91 100644 --- a/plugin/src/test/kotlin/ru/cian/rustore/publish/utils/ConfigProviderTest.kt +++ b/plugin/src/test/kotlin/ru/cian/rustore/publish/utils/ConfigProviderTest.kt @@ -15,7 +15,7 @@ import org.junit.jupiter.api.Test import org.junit.jupiter.api.TestInstance import ru.cian.rustore.publish.BuildFormat import ru.cian.rustore.publish.Credentials -import ru.cian.rustore.publish.DeployType +import ru.cian.rustore.publish.PublishType import ru.cian.rustore.publish.RustorePublishCli import ru.cian.rustore.publish.PluginConfig import ru.cian.rustore.publish.MobileServicesType @@ -134,7 +134,7 @@ internal class ConfigProviderTest { val expectedConfig = PluginConfig( credentials = Credentials("id", "secret"), - deployType = DeployType.PUBLISH, + publishType = PublishType.INSTANTLY, artifactFormat = BuildFormat.APK, requestTimeout = null, mobileServicesType = MobileServicesType.UNKNOWN, @@ -182,7 +182,7 @@ internal class ConfigProviderTest { val expectedConfig = PluginConfig( credentials = Credentials("id123", "secret123"), - deployType = DeployType.DRAFT, + publishType = PublishType.MANUAL, artifactFormat = BuildFormat.AAB, artifactFile = File(ARTIFACT_AAB_FILE_SECOND_PATH), requestTimeout = 234_567L, @@ -197,7 +197,7 @@ internal class ConfigProviderTest { val inputExtensionConfig = extensionConfigInstance().apply { credentialsPath = CREDENTIALS_FILE_PATH - deployType = DeployType.PUBLISH + publishType = PublishType.INSTANTLY buildFormat = BuildFormat.APK requestTimeout = 123_456L buildFile = ARTIFACT_APK_FILE_PATH @@ -207,7 +207,7 @@ internal class ConfigProviderTest { } } val inputCliConfig = RustorePublishCli( - deployType = DeployType.DRAFT, + publishType = PublishType.MANUAL, credentialsPath = CREDENTIALS_FILE_SECOND_PATH, keyId = "id123", clientSecret = "secret123", @@ -236,7 +236,7 @@ internal class ConfigProviderTest { val expectedConfig = PluginConfig( credentials = Credentials("id", "secret"), - deployType = DeployType.PUBLISH, + publishType = PublishType.INSTANTLY, artifactFormat = BuildFormat.APK, requestTimeout = null, mobileServicesType = MobileServicesType.UNKNOWN, @@ -249,7 +249,7 @@ internal class ConfigProviderTest { tableOf("expectedValue", "actualValue") .row( - expectedConfig.copy(deployType = DeployType.PUBLISH), + expectedConfig.copy(publishType = PublishType.INSTANTLY), ConfigProvider( extension = extensionConfigInstance(), cli = RustorePublishCli(), @@ -259,10 +259,10 @@ internal class ConfigProviderTest { ) ) .row( - expectedConfig.copy(deployType = DeployType.DRAFT), + expectedConfig.copy(publishType = PublishType.MANUAL), ConfigProvider( extension = extensionConfigInstance().apply { - deployType = DeployType.DRAFT + publishType = PublishType.MANUAL }, cli = RustorePublishCli(), buildFileProvider = buildFileProvider, @@ -271,10 +271,10 @@ internal class ConfigProviderTest { ) ) .row( - expectedConfig.copy(deployType = DeployType.UPLOAD_ONLY), + expectedConfig.copy(publishType = PublishType.MANUAL), ConfigProvider( extension = extensionConfigInstance().apply { - deployType = DeployType.UPLOAD_ONLY + publishType = PublishType.MANUAL }, cli = RustorePublishCli(), buildFileProvider = buildFileProvider, @@ -283,13 +283,13 @@ internal class ConfigProviderTest { ) ) .row( - expectedConfig.copy(deployType = DeployType.DRAFT), + expectedConfig.copy(publishType = PublishType.INSTANTLY), ConfigProvider( extension = extensionConfigInstance().apply { - deployType = DeployType.DRAFT + publishType = PublishType.INSTANTLY }, cli = RustorePublishCli( - deployType = null + publishType = null ), buildFileProvider = buildFileProvider, releaseNotesFileProvider = releaseNotesFileProvider, @@ -297,13 +297,13 @@ internal class ConfigProviderTest { ) ) .row( - expectedConfig.copy(deployType = DeployType.UPLOAD_ONLY), + expectedConfig.copy(publishType = PublishType.MANUAL), ConfigProvider( extension = extensionConfigInstance().apply { - deployType = DeployType.DRAFT + publishType = PublishType.INSTANTLY }, cli = RustorePublishCli( - deployType = DeployType.UPLOAD_ONLY + publishType = PublishType.MANUAL ), buildFileProvider = buildFileProvider, releaseNotesFileProvider = releaseNotesFileProvider, @@ -334,7 +334,7 @@ internal class ConfigProviderTest { fun `correct config with overriding release notes`() { val expectedConfig = PluginConfig( credentials = Credentials(keyId = "id", clientSecret = "secret"), - deployType = DeployType.PUBLISH, + publishType = PublishType.INSTANTLY, artifactFormat = BuildFormat.APK, requestTimeout = null, mobileServicesType = MobileServicesType.UNKNOWN, diff --git a/sample-groovy/rustore-credentials-1.json b/sample-groovy/rustore-credentials-1.json index 2240bee..024349b 100644 --- a/sample-groovy/rustore-credentials-1.json +++ b/sample-groovy/rustore-credentials-1.json @@ -1,4 +1,4 @@ { - "key_id": "", + "key_id": "SAMPLE_KEY_ID", "client_secret": "MIICWwIBAAKBgGjxhEWEQR4auTTG7Cj5OT72DAqJFW71/GC+P0XTUG1jBpghndcriUsgZ2YW7u0FgvjA5gpcgjpmKoGTz++emB4LUL8xt8LcbsurMFdDI4ak3FiS49+BHVjXnfw44Payrgc4vSYZUZuJpjI3n3PnQLhAXBzwjGJrUz4NP94m6JtTAgMBAAECgYAI+NUJKHR0wW4iH/uiySPmyRxgbjXh5a/tCXbZXmaa44N10DHxamxzetK8PKuyoez/nWZNbnlHyuJJb7ywTMvOcZQohtDSglvIm9FwbwJ32KTJDZpJj1cKPJwr0NuQf1iBDh5OoOtu6QOZnuYzYqPREb0pSAAKMCv7uJKU4S4OQQJBALY4TuCTxRttoxe3sulhtftwqaKt847inQKmeWhC9BNp3OEU62GL3cUjnoy60Fb1SZvGqidHryEN/XFfKNp21WECQQCTbz6bjagrLJxq/OcJh7/621FBqPYPiO2mWDeETEFEV+5HDiETVPySF0SlpZ6i7Udetqn43MsKBdb+jc5kqbkzAkA3szShP2pT/QqKmHOPFXgsWP7xpFy8A5ddFQgtj7HOMWD8SIm+8qMivMWdXQmMW0RZ4rtmcGofH4imXCE/zm1hAkAClSRHnUeg2fszdJKnfBVE06qst8T3qLJhA5KVYrCR/ehSnlC+AfMarAWr0SbiO73QTurTTSrRViDZ/Kns4Xw5AkEApWKMhxzGZ9t/ejwToCMoppfYsc8a2nueNIsPLGA0E5yCXiIs9WoAdkfN4wQHnkJdAeTg4ahQp293Om+sjqrEJQ==" } \ No newline at end of file diff --git a/sample-groovy/rustore-credentials-2.json b/sample-groovy/rustore-credentials-2.json index 811dc4c..e1c3fdd 100644 --- a/sample-groovy/rustore-credentials-2.json +++ b/sample-groovy/rustore-credentials-2.json @@ -1,4 +1,4 @@ { - "key_id": "", + "key_id": "SAMPLE_KEY_ID", "client_secret": "MIICXwIBAAKBgQCd15t5ksUK09BXtG0V0otnJE8WGkEOFBOIzxwwVTs7371K798ebT18aLvxxcxIacxsh1zU/n1en2GeemkQ0MaIMit6rUWmtxka5Sa9isfDmCA4LATHXev0rw2kOxUajEhcUhM+UGdh4B0ECpRQga5WUlkAo3/+2U+ZnVmInc3CpwIDAQABAoGBAJKXpbu5ResSYVKzLQSxb+qw3AqJA5ZRqvrKb0GsRsEKwMESGkQl7I7YroSS0XEHYWYCKYNff4wbtgv7YAzP+TEVxRJRbvdRPI+Y+UH3nUHaY4ZAMWIqX86wibWiJFMKANJzm+ThMPQcvr/3LChXLm3FA/39E9E0pgAWcUIlLM5BAkEA7eaudUT5l7XH8tOL2m71Fs9MDtBq4aaFpzRAkLon2+ivnO0v6exoaQs4w9g0+DuvegnqQCXcIIpQhfhnsee0sQJBAKnZtq6fRX7L5+pOCJwaSHiYdoiPG4m6/F/twPzo+Exflq7ylw5KXWq1ceqzDvJxNZStl1aeBMX7D1D+0wztotcCQQDqUIvCGxaOU0/FnpCfqyugtLof2S18ZQw83F0/buq1USAuuvq3Ns67r37QflHlsLurwrpDRkbikfivizNu6V1xAkEAirjMIXbn9ZVoRs+Q7J3yzrwHI6VuImFbuqWeV3GXShlQInbztLI79elXrw6riIu57UKSNiY9U82nRsm5afe0ZQJBAJYy5khRJ9Rboj1a0MwQGKgiJ3+orIJDLeGyC2jkDMFDwTGFF+AWmh7IleyXG4+qB40XtvPQg21fGk495ANT9ZU=" } \ No newline at end of file diff --git a/sample-kotlin/rustore-credentials.json b/sample-kotlin/rustore-credentials.json index 7a63e19..3eed052 100644 --- a/sample-kotlin/rustore-credentials.json +++ b/sample-kotlin/rustore-credentials.json @@ -1,4 +1,4 @@ { - "key_id": "", + "key_id": "SAMPLE_KEY_ID", "client_secret": "MIICXAIBAAKBgQCO4cLoi9XIRs4Yl8Zjgx4pnD2jEMmre1JesPwzD1Orj9sZC+3zPsoHC0H2puL3HchV2YjTPwhFuTB9x33hFcz45/wnHslUSzBT+wFqLiYdkBLyCbVBitzrUiDtHW4/zoVWsfNinKt0yIHvpbfLnzz2KPMOGiGTlHR6koAcZBPdMQIDAQABAoGAC0n3FlyGBY7ilbrYJ+CiL3Nyw0F+TZgux+B/7KDXYYS6MN5qbH+Xgrr2+T/ySsgFnhLT5qziQHADTszGO1R3n0uxAANnU+e1dTJLG/bd/PTAm79XK3rsrJCsge442QqMxBkbdWFFMkCBNWwPr9Zw0Eb+uJd1Cpo77bTMTxer7EkCQQD2lxR1xMaa7mISa831GSx8PnxBAw7cRZik3QvRfdpD4DEjhWRicXMhPSoKtCVBqf4Fkh7L0m1rj60ys13zK9R7AkEAlFWQN7vpMzS/yeqiWsVchfV2FUhbHoP3vVRc9ZQUSsc6bSEKWoglKoJHXzxpcv+zn7hdcwMCNAp6ehngKPhzQwJAK0gDSFR8g48Z2Z/ga4e6nigdiQ+vWQxCKZW+0Etltwovtctg/kJpcckZiv1pmKfstS+bhizuFbYHMWH4OIlV5wJAMAv3BtaLFtcDOHgT1qsO6SU09nfVa/D7Egx9f95TJFWcCzUkkWaAA2DnlWWQEnvYxueE/XgAArNSMLKo9Rxk2QJBAM13tMCAJMe/ebG0iNn9sCijJueTJh12aOUkaq8LaxRd9MMral3Z9SiLhzE2RlKkzInm6lmRFXikZW1/Aeo6Uq4=" } \ No newline at end of file From febb22e2d0b28a602d4acdb30514764de5a4909f Mon Sep 17 00:00:00 2001 From: Aleksandr Mirko Date: Mon, 14 Oct 2024 21:35:12 +0100 Subject: [PATCH 2/2] Release v0.5.1 --- CHANGELOG.md | 10 +++++----- README.md | 11 ++++++----- plugin/gradle.properties | 2 +- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2ea8ffa..f65c75f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,19 +1,19 @@ # 0.5.1 ##### Add -* [issue#15](https://github.com/cianru/rustore-publish-gradle-plugin/issues/15) Support of `publishType` param. -```groovy +* [issue#15](https://github.com/cianru/rustore-publish-gradle-plugin/issues/15) Support of `publishType` param to control the publish process. +```kotlin /** * (Optional) * CLI: `--publishType` * ----| 'instantly' – the application will be published immediately after the review process is completed. * ----| 'manual' – the application must be published manually by the developer after ther review process is completed. - * Gradle Extenion DSL, available values: + * Gradle Extension DSL, available values: * ----| ru.cian.rustore.publish.PublishType.INSTANTLY * ----| ru.cian.rustore.publish.PublishType.MANUAL * Default value: `instantly` - */ - publishType = ru.cian.rustore.publish.PublishType.INSTANTLY + */ + publishType = ru.cian.rustore.publish.PublishType.INSTANTLY ``` # 0.5.0 diff --git a/README.md b/README.md index 251f4f7..c0aef89 100644 --- a/README.md +++ b/README.md @@ -123,7 +123,7 @@ rustorePublish { * CLI: `--buildFormat`, available values: * ----| 'apk' * ----| 'aab' - * Gradle Extention DSL, available values: + * Gradle Extension DSL, available values: * ----| ru.cian.rustore.publish.BuildFormat.APK * ----| ru.cian.rustore.publish.BuildFormat.AAB * Default value: `apk` @@ -182,7 +182,7 @@ rustorePublish { * CLI: `--buildFormat`, available values: * ----| 'apk' * ----| 'aab' - * Gradle Extention DSL, available values: + * Gradle Extension DSL, available values: * ----| ru.cian.rustore.publish.BuildFormat.APK * ----| ru.cian.rustore.publish.BuildFormat.AAB * Default value: `apk` @@ -203,7 +203,7 @@ rustorePublish { * The time in seconds to wait for the publication to complete. Increase it if you build is large. * Type: Long (Optional) * Default value: `300` // (5min) - * CLI: `--publishTimeoutMs` + * CLI: `--requestTimeout` */ requestTimeout = 300 @@ -227,7 +227,7 @@ rustorePublish { * CLI: `--publishType` * ----| 'instantly' – the application will be published immediately after the review process is completed. * ----| 'manual' – the application must be published manually by the developer after ther review process is completed. - * Gradle Extenion DSL, available values: + * Gradle Extension DSL, available values: * ----| ru.cian.rustore.publish.PublishType.INSTANTLY * ----| ru.cian.rustore.publish.PublishType.MANUAL * Default value: `instantly` @@ -282,7 +282,7 @@ rustorePublish { credentialsPath = "$rootDir/rustore-credentials-release.json" buildFormat = "apk" buildFile = "$rootDir/app/build/outputs/apk/release/app-release.apk" - requestTimeout = 60 + requestTimeout = 60 // 1min mobileServicesType = "Unknown" releaseNotes = [ new ru.cian.rustore.publish.ReleaseNote( @@ -346,6 +346,7 @@ CLI params are more priority than gradle configuration params. --credentialsPath="/sample-kotlin/rustore-credentials.json" \ --buildFormat=apk \ --buildFile="/sample-kotlin/app/build/outputs/apk/release/app-release.apk" \ + --requestTimeout=300 \ # 5min --mobileServicesType="Unknown" \ --releaseNotes="ru_RU:/home//str/project/release_notes_ru.txt" ``` diff --git a/plugin/gradle.properties b/plugin/gradle.properties index ad6785a..e52b9c2 100644 --- a/plugin/gradle.properties +++ b/plugin/gradle.properties @@ -9,7 +9,7 @@ android.enableJetifier=true #################################################################################################### GROUP_ID=ru.cian.rustore-plugin -VERSION_NAME=0.5.1-alpha02 +VERSION_NAME=0.5.1 POM_ARTIFACT_ID=rustore-publish-gradle-plugin POM_NAME=Rustore Publish Gradle Plugin