Skip to content

Commit 4eddc10

Browse files
committed
Updated publication scripts
1 parent 4752f9a commit 4eddc10

File tree

3 files changed

+14
-49
lines changed

3 files changed

+14
-49
lines changed

.github/workflows/publish.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ jobs:
1616
java-version: 17
1717
- name: Drop open repositories
1818
env:
19+
SONATYPE_USER_NAME: ${{ secrets.SONATYPE_USER_NAME }}
20+
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
1921
SONATYPE_AUTH_BASE64: ${{ secrets.SONATYPE_AUTH_BASE64 }}
2022
run: ./gradlew dropOpenSonatypeRepositories
2123
- name: Publish
@@ -27,6 +29,8 @@ jobs:
2729
run: ./gradlew publish
2830
- name: Close staging repository
2931
env:
32+
SONATYPE_USER_NAME: ${{ secrets.SONATYPE_USER_NAME }}
33+
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
3034
SONATYPE_AUTH_BASE64: ${{ secrets.SONATYPE_AUTH_BASE64 }}
3135
run: ./gradlew closeSonatypeRepositories
3236
- name: Check publication

build.gradle.kts

Lines changed: 9 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
1-
import com.arkivanov.gradle.*
2-
import groovy.json.JsonSlurper
3-
import java.net.HttpURLConnection
4-
import java.net.URL
1+
import com.arkivanov.gradle.AndroidConfig
2+
import com.arkivanov.gradle.BinaryCompatibilityValidatorConfig
3+
import com.arkivanov.gradle.PublicationConfig
4+
import com.arkivanov.gradle.ensureUnreachableTasksDisabled
5+
import com.arkivanov.gradle.iosCompat
6+
import com.arkivanov.gradle.macosCompat
7+
import com.arkivanov.gradle.setupDefaults
8+
import com.arkivanov.gradle.tvosCompat
9+
import com.arkivanov.gradle.watchosCompat
510

611
buildscript {
712
repositories {
@@ -74,47 +79,3 @@ allprojects {
7479
maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
7580
}
7681
}
77-
78-
private val sonatypeBaseUrl = "https://ossrh-staging-api.central.sonatype.com"
79-
80-
tasks.register("dropOpenSonatypeRepositories") {
81-
getOpenSonatypeRepositoryKeys().forEach { key ->
82-
requestDelete("/manual/drop/repository/$key")
83-
}
84-
}
85-
86-
tasks.register("closeSonatypeRepositories") {
87-
getOpenSonatypeRepositoryKeys().forEach { key ->
88-
requestPost("/manual/upload/repository/$key")
89-
}
90-
}
91-
92-
fun getOpenSonatypeRepositoryKeys(): List<String> {
93-
val jsonBytes = requestGet("/manual/search/repositories?ip=any&profile_id=com.arkivanov.decompose")
94-
val json = JsonSlurper().parse(jsonBytes) as Map<*, *>
95-
val repositories = json["repositories"] as List<*>
96-
97-
return repositories.filterIsInstance<Map<*, *>>()
98-
.filter { it["state"] == "open" }
99-
.map { it["key"] as String }
100-
}
101-
102-
fun requestGet(url: String): ByteArray =
103-
startRequest(url = url, method = "GET").inputStream.readAllBytes()
104-
105-
fun requestDelete(url: String) {
106-
startRequest(url = url, method = "DELETE")
107-
}
108-
109-
fun requestPost(url: String) {
110-
startRequest(url = url, method = "POST")
111-
}
112-
113-
fun startRequest(url: String, method: String): HttpURLConnection {
114-
val connection = URL("$sonatypeBaseUrl$url").openConnection() as HttpURLConnection
115-
connection.setRequestProperty("Authorization", "Bearer ${System.getenv("SONATYPE_AUTH_BASE64")}")
116-
connection.requestMethod = method
117-
check(connection.responseCode in 200..299) { "Invalid response code: ${connection.responseCode}" }
118-
119-
return connection
120-
}

settings.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ pluginManagement {
1515
resolutionStrategy {
1616
eachPlugin {
1717
if (requested.id.toString() == "com.arkivanov.gradle.setup") {
18-
useModule("com.github.arkivanov:gradle-setup-plugin:4cef58cc3b")
18+
useModule("com.github.arkivanov:gradle-setup-plugin:c9a0a04506")
1919
}
2020
}
2121
}

0 commit comments

Comments
 (0)