|
4 | 4 |
|
5 | 5 | import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion |
6 | 6 | import org.jetbrains.kotlin.gradle.targets.js.yarn.YarnLockMismatchReport |
7 | | -import util.getSpacePassword |
| 7 | +import util.getSpacePasswordOrNull |
8 | 8 | import util.kotlinVersionParsed |
9 | 9 | import util.libs |
10 | 10 |
|
@@ -70,33 +70,44 @@ val executeNpmLogin by tasks.registering { |
70 | 70 | val isCI = System.getenv("TEAMCITY_VERSION") != null |
71 | 71 | val localYarnUpdate = project.providers.gradleProperty("kotlinx.rpc.localYarnUpdate") |
72 | 72 |
|
73 | | - if (!isCI && localYarnUpdate.orNull?.toBooleanStrictOrNull() != true) { |
74 | | - return@registering |
75 | | - } |
| 73 | + val usePrivateRegistry = isCI || localYarnUpdate.orNull?.toBooleanStrictOrNull() == true |
76 | 74 |
|
77 | | - val registryUrl = "https://packages.jetbrains.team/npm/p/krpc/build-deps/" |
| 75 | + val registryUrl = if (usePrivateRegistry) { |
| 76 | + "https://packages.jetbrains.team/npm/p/krpc/build-deps/" |
| 77 | + } else { |
| 78 | + "https://registry.npmjs.org" |
| 79 | + } |
78 | 80 |
|
79 | 81 | // To prevent leaking of credentials in VCS on dev machine use the build directory config file |
80 | 82 | val buildYarnConfigFile = File(project.rootDir, "build/js/.yarnrc") |
81 | 83 | val buildNpmConfigFile = File(project.rootDir, "build/js/.npmrc") |
82 | 84 |
|
83 | | - val spacePassword: String = project.getSpacePassword() |
| 85 | + val spacePassword: String? = project.getSpacePasswordOrNull() |
84 | 86 |
|
85 | 87 | doLast { |
86 | | - if (spacePassword.split(".").size != 3) { |
87 | | - error("Unexpected Space Token format") |
88 | | - } |
89 | | - |
90 | 88 | val outputYarnText = """ |
91 | 89 | registry: "$registryUrl" |
92 | 90 | """.trimIndent() |
93 | 91 |
|
94 | | - val outputNpmText = """ |
| 92 | + var outputNpmText = """ |
95 | 93 | registry: "$registryUrl" |
96 | | - always-auth: true |
97 | | - ${registryUrl.removePrefix("https:")}:_authToken=$spacePassword |
98 | 94 | """.trimIndent() |
99 | 95 |
|
| 96 | + if (usePrivateRegistry) { |
| 97 | + if (spacePassword == null) { |
| 98 | + error("Expected space password for NPM log in") |
| 99 | + } |
| 100 | + |
| 101 | + if (spacePassword.split(".").size != 3) { |
| 102 | + error("Unexpected Space Token format") |
| 103 | + } |
| 104 | + |
| 105 | + outputNpmText += '\n' + """ |
| 106 | + always-auth: true |
| 107 | + ${registryUrl.removePrefix("https:")}:_authToken=$spacePassword |
| 108 | + """.trimIndent() |
| 109 | + } |
| 110 | + |
100 | 111 | buildYarnConfigFile.createNewFile() |
101 | 112 | buildYarnConfigFile.writeText(outputYarnText) |
102 | 113 | buildNpmConfigFile.createNewFile() |
|
0 commit comments