|
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 |
5 | 10 |
|
6 | 11 | buildscript { |
7 | 12 | repositories { |
@@ -74,47 +79,3 @@ allprojects { |
74 | 79 | maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") |
75 | 80 | } |
76 | 81 | } |
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 | | -} |
0 commit comments