Skip to content

Commit b675d5d

Browse files
authored
Merge pull request #2 from Liftric/fix/extension-storage
Fix: Wrong key for additionals
2 parents a8614a8 + 933870a commit b675d5d

File tree

2 files changed

+20
-18
lines changed

2 files changed

+20
-18
lines changed

src/main/kotlin/com/liftric/code/artifact/repository/CodeArtifactRepositoryExtension.kt

+9-10
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,20 @@ import org.gradle.api.plugins.ExtensionContainer
44

55
abstract class CodeArtifactRepositoryExtension(private val extensionContainer: ExtensionContainer) : CodeArtifact() {
66
fun additional(name: String, block: CodeArtifact.() -> Unit) {
7-
if (name.isEmpty()) error("empty domain not supported!")
8-
additional[name] = extensionContainer.create(
7+
if (name.isEmpty()) error("Empty domain is not supported!")
8+
store[name] = extensionContainer.create(
99
"${name}${CodeArtifactRepositoryPlugin.extensionName}",
1010
CodeArtifactRepositoryExtension::class.java,
1111
extensionContainer
12-
)
13-
.apply(block)
14-
.apply {
15-
region.convention(this@CodeArtifactRepositoryExtension.region)
16-
profile.convention(this@CodeArtifactRepositoryExtension.profile)
17-
tokenExpiresIn.convention(this@CodeArtifactRepositoryExtension.tokenExpiresIn)
18-
}
12+
).apply {
13+
block.invoke(this)
14+
region.convention(this@CodeArtifactRepositoryExtension.region)
15+
profile.convention(this@CodeArtifactRepositoryExtension.profile)
16+
tokenExpiresIn.convention(this@CodeArtifactRepositoryExtension.tokenExpiresIn)
17+
}
1918
}
2019

2120
companion object {
22-
internal val additional = mutableMapOf<String, CodeArtifact>()
21+
internal val store = mutableMapOf<String, CodeArtifact>()
2322
}
2423
}

src/main/kotlin/com/liftric/code/artifact/repository/CodeArtifactRepositoryPlugin.kt

+11-8
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,16 @@ abstract class CodeArtifactRepositoryPlugin : Plugin<Any> {
1717
when (scope) {
1818
is Settings -> {
1919
scope.extensions.create(extensionName, CodeArtifactRepositoryExtension::class.java, scope.extensions)
20+
.also {
21+
CodeArtifactRepositoryExtension.store[""] = it
22+
}
2023
}
2124

2225
is Project -> {
2326
scope.extensions.create(extensionName, CodeArtifactRepositoryExtension::class.java, scope.extensions)
27+
.also {
28+
CodeArtifactRepositoryExtension.store[""] = it
29+
}
2430
}
2531

2632
else -> {
@@ -52,15 +58,14 @@ fun RepositoryHandler.codeArtifact(domain: String, repository: String): MavenArt
5258
* Use CodeArtifact by additional name
5359
*/
5460
fun RepositoryHandler.codeArtifact(additionalName: String, domain: String, repository: String) = maven {
55-
val extensionName = "$additionalName${CodeArtifactRepositoryPlugin.extensionName}"
56-
CodeArtifactRepositoryExtension.additional[extensionName]?.let {
57-
name = listOf(extensionName, domain, repository).joinToString("") { it.capitalized() }
61+
CodeArtifactRepositoryExtension.store[additionalName]?.let {
62+
name = listOf(additionalName, domain, repository).joinToString("") { it.capitalized() }
5863
url = URI.create(it.repositoryEndpointResponse(domain, repository).repositoryEndpoint())
5964
credentials {
6065
username = "aws"
6166
password = it.authorizationTokenResponse(domain).authorizationToken()
6267
}
63-
} ?: throw GradleException("didn't find CodeArtifactRepositoryExtension with the name: $")
68+
} ?: throw GradleException("Couldn't find CodeArtifactRepositoryExtension named '$additionalName'")
6469
}
6570

6671
/**
@@ -81,8 +86,7 @@ fun codeArtifactUri(domain: String, repository: String, format: String): URI =
8186
* the default extension
8287
*/
8388
fun codeArtifactToken(additionalName: String, domain: String): String {
84-
val extensionName = "$additionalName${CodeArtifactRepositoryPlugin.extensionName}"
85-
val settings = CodeArtifactRepositoryExtension.additional[extensionName]
89+
val settings = CodeArtifactRepositoryExtension.store[additionalName]
8690
?: throw GradleException("didn't find CodeArtifactRepositoryExtension with the name: $")
8791
return settings.authorizationTokenResponse(domain).authorizationToken()
8892
}
@@ -94,8 +98,7 @@ fun codeArtifactToken(additionalName: String, domain: String): String {
9498
* the default extension
9599
*/
96100
fun codeArtifactUri(additionalName: String, domain: String, repository: String, format: String): URI {
97-
val extensionName = "$additionalName${CodeArtifactRepositoryPlugin.extensionName}"
98-
val settings = CodeArtifactRepositoryExtension.additional[extensionName]
101+
val settings = CodeArtifactRepositoryExtension.store[additionalName]
99102
?: throw GradleException("didn't find CodeArtifactRepositoryExtension with the name: $")
100103
return settings.repositoryEndpointResponse(domain, repository, format).repositoryEndpoint().let { URI.create(it) }
101104
}

0 commit comments

Comments
 (0)