Skip to content

Commit 73e0466

Browse files
committed
Update credentials setter for absent creds
1 parent 1bd0e37 commit 73e0466

File tree

3 files changed

+55
-43
lines changed

3 files changed

+55
-43
lines changed

build.gradle.kts

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion
66
import util.getSpacePassword
7-
import util.getSpaceUsername
87
import util.kotlinVersionParsed
98
import util.libs
109

@@ -73,23 +72,19 @@ val executeNpmLogin by tasks.registering {
7372
val buildYarnConfigFile = File(project.rootDir, "build/js/.yarnrc")
7473
val buildYarnYmlConfigFile = File(project.rootDir, "build/js/.yarnrc.yml")
7574

76-
val spaceUsername: String? = getSpaceUsername()
7775
val spacePassword: String? = getSpacePassword()
7876

7977
doLast {
80-
if (spaceUsername == null || spacePassword == null) {
81-
return@doLast
82-
}
78+
var outputYarnYmlText = "npmRegistryServer: \"$registryUrl\""
8379

84-
if (spacePassword.split(".").size != 3) {
85-
error("Unexpected Space Token format")
86-
}
80+
if (spacePassword != null) {
81+
if (spacePassword.split(".").size != 3) {
82+
error("Unexpected Space Token format")
83+
}
8784

88-
val outputYarnYmlText = """
89-
npmRegistryServer: "$registryUrl"
90-
npmAlwaysAuth: true
91-
npmAuthToken: "$spacePassword"
92-
""".trimIndent()
85+
outputYarnYmlText += "npmAlwaysAuth: true"
86+
outputYarnYmlText += "npmAuthToken: \"$spacePassword\""
87+
}
9388

9489
buildYarnConfigFile.createNewFile()
9590
buildYarnConfigFile.writeText("registry: $registryUrl")

gradle-conventions-settings/src/main/kotlin/conventions-repositories.settings.gradle.kts

Lines changed: 36 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,9 @@
44

55
@file:Suppress("DuplicatedCode", "MISSING_DEPENDENCY_CLASS")
66

7-
import java.util.*
8-
97
pluginManagement {
10-
fun logAbsentProperty(name: String): Nothing? {
11-
logger.info("Property '$name' is not present for repository credentials.")
8+
fun logAbsentProperty(name: String, env: String): Nothing? {
9+
logger.info("Property '$name' (or env var '$env') is not present for repository credentials.")
1210

1311
return null
1412
}
@@ -33,18 +31,20 @@ pluginManagement {
3331

3432
fun getSpaceUsername(): String? {
3533
val username = "kotlinx.rpc.team.space.username"
34+
val usernameEnv = "kotlinx_rpc_team_space_username"
3635
return getLocalProperties()[username] as String?
3736
?: settings.providers.gradleProperty(username).orNull
38-
?: System.getenv(username)?.ifEmpty { null }
39-
?: logAbsentProperty(username)
37+
?: System.getenv(usernameEnv)?.ifEmpty { null }
38+
?: logAbsentProperty(username, usernameEnv)
4039
}
4140

4241
fun getSpacePassword(): String? {
4342
val password = "kotlinx.rpc.team.space.password"
43+
val passwordEnv = "kotlinx_rpc_team_space_password"
4444
return getLocalProperties()[password] as String?
4545
?: settings.providers.gradleProperty(password).orNull
46-
?: System.getenv(password)?.ifEmpty { null }
47-
?: logAbsentProperty(password)
46+
?: System.getenv(passwordEnv)?.ifEmpty { null }
47+
?: logAbsentProperty(password, passwordEnv)
4848
}
4949

5050
/**
@@ -56,9 +56,15 @@ pluginManagement {
5656
maven {
5757
name = repoName.split("-").joinToString("") { it.replaceFirstChar { c -> c.titlecase() } }
5858
url = uri("https://packages.jetbrains.team/maven/p/krpc/$repoName")
59-
credentials {
60-
username = getSpaceUsername()
61-
password = getSpacePassword()
59+
60+
val username = getSpaceUsername()
61+
val password = getSpacePassword()
62+
63+
if (username != null && password != null) {
64+
credentials {
65+
this.username = username
66+
this.password = password
67+
}
6268
}
6369
}
6470
}
@@ -73,14 +79,14 @@ pluginManagement {
7379
}
7480

7581
gradle.rootProject {
76-
fun logAbsentProperty(name: String): Nothing? {
77-
logger.info("Property '$name' is not present for repository credentials.")
82+
fun logAbsentProperty(name: String, env: String): Nothing? {
83+
logger.info("Property '$name' (or env var '$env') is not present for repository credentials.")
7884

7985
return null
8086
}
8187

82-
fun getLocalProperties(): Properties {
83-
return Properties().apply {
88+
fun getLocalProperties(): java.util.Properties {
89+
return java.util.Properties().apply {
8490
val propertiesDir = File(
8591
rootDir.path
8692
.removeSuffix("/gradle-conventions")
@@ -98,18 +104,20 @@ gradle.rootProject {
98104

99105
fun getSpaceUsername(): String? {
100106
val username = "kotlinx.rpc.team.space.username"
107+
val usernameEnv = "kotlinx_rpc_team_space_username"
101108
return getLocalProperties()[username] as String?
102109
?: settings.providers.gradleProperty(username).orNull
103-
?: System.getenv(username)?.ifEmpty { null }
104-
?: logAbsentProperty(username)
110+
?: System.getenv(usernameEnv)?.ifEmpty { null }
111+
?: logAbsentProperty(username, usernameEnv)
105112
}
106113

107114
fun getSpacePassword(): String? {
108115
val password = "kotlinx.rpc.team.space.password"
116+
val passwordEnv = "kotlinx_rpc_team_space_password"
109117
return getLocalProperties()[password] as String?
110118
?: settings.providers.gradleProperty(password).orNull
111-
?: System.getenv(password)?.ifEmpty { null }
112-
?: logAbsentProperty(password)
119+
?: System.getenv(passwordEnv)?.ifEmpty { null }
120+
?: logAbsentProperty(password, passwordEnv)
113121
}
114122

115123
/**
@@ -122,9 +130,15 @@ gradle.rootProject {
122130
name = repoName.split("-").joinToString("") { it.replaceFirstChar { c -> c.titlecase() } }
123131

124132
url = uri("https://packages.jetbrains.team/maven/p/krpc/$repoName")
125-
credentials {
126-
username = getSpaceUsername()
127-
password = getSpacePassword()
133+
134+
val username = getSpaceUsername()
135+
val password = getSpacePassword()
136+
137+
if (username != null && password != null) {
138+
credentials {
139+
this.username = username
140+
this.password = password
141+
}
128142
}
129143
}
130144
}

gradle-conventions-settings/src/main/kotlin/util/properties.kt

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,16 @@ package util
88

99
import org.gradle.api.Project
1010
import java.io.File
11+
import java.util.*
1112

12-
fun Project.logAbsentProperty(name: String): Nothing? {
13-
logger.info("Property '$name' is not present.")
13+
fun Project.logAbsentProperty(name: String, env: String): Nothing? {
14+
logger.info("Property '$name' (or env var '$env') is not present for repository credentials.")
1415

1516
return null
1617
}
1718

18-
fun Project.getLocalProperties(): java.util.Properties {
19-
return java.util.Properties().apply {
19+
fun Project.getLocalProperties(): Properties {
20+
return Properties().apply {
2021
val propertiesDir = File(
2122
rootDir.path
2223
.removeSuffix("/gradle-conventions")
@@ -34,16 +35,18 @@ fun Project.getLocalProperties(): java.util.Properties {
3435

3536
fun Project.getSpaceUsername(): String? {
3637
val username = "kotlinx.rpc.team.space.username"
38+
val usernameEnv = "kotlinx_rpc_team_space_username"
3739
return getLocalProperties()[username] as String?
3840
?: providers.gradleProperty(username).orNull
39-
?: System.getenv(username)?.ifEmpty { null }
40-
?: logAbsentProperty(username)
41+
?: System.getenv(usernameEnv)?.ifEmpty { null }
42+
?: logAbsentProperty(username, usernameEnv)
4143
}
4244

4345
fun Project.getSpacePassword(): String? {
4446
val password = "kotlinx.rpc.team.space.password"
47+
val passwordEnv = "kotlinx_rpc_team_space_password"
4548
return getLocalProperties()[password] as String?
4649
?: providers.gradleProperty(password).orNull
47-
?: System.getenv(password)?.ifEmpty { null }
48-
?: logAbsentProperty(password)
50+
?: System.getenv(passwordEnv)?.ifEmpty { null }
51+
?: logAbsentProperty(password, passwordEnv)
4952
}

0 commit comments

Comments
 (0)