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