Skip to content

Commit 4264299

Browse files
Merge pull request #6 from Iterable/restoring-token-feature
Fixing bug when getting a the auth token from a script
2 parents 9c5e3cc + 62f55ce commit 4264299

File tree

1 file changed

+12
-20
lines changed

1 file changed

+12
-20
lines changed

sbt-codeartifact/src/main/scala/codeartifact/CodeArtifactPlugin.scala

Lines changed: 12 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,18 @@ object CodeArtifactPlugin extends AutoPlugin {
1818

1919
def buildPublishSettings: Seq[Setting[_]] = Seq(
2020
ThisBuild / codeArtifactUrl := "",
21-
ThisBuild / codeArtifactResolvers := Nil,
22-
codeArtifactRepo := CodeArtifactRepo.fromUrl(codeArtifactUrl.value),
23-
codeArtifactToken := getCodeArtifactAuthToken.value
21+
ThisBuild / codeArtifactResolvers := Nil
2422
)
2523

2624
def codeArtifactSettings: Seq[Setting[_]] = Seq(
2725
codeArtifactPublish := dynamicallyPublish.value,
26+
codeArtifactRepo := CodeArtifactRepo.fromUrl(codeArtifactUrl.value),
27+
codeArtifactToken := sys.env
28+
.get("CODEARTIFACT_AUTH_TOKEN")
29+
.orElse(
30+
Credentials.loadCredentials(Path.userHome / ".sbt" / "credentials").toOption.map(_.passwd)
31+
)
32+
.orElse(CodeArtifact.getAuthToken(codeArtifactRepo.value)),
2833
codeArtifactConnectTimeout := CodeArtifact.Defaults.CONNECT_TIMEOUT,
2934
codeArtifactReadTimeout := CodeArtifact.Defaults.READ_TIMEOUT,
3035
codeArtifactPackage := CodeArtifactPackage(
@@ -37,7 +42,10 @@ object CodeArtifactPlugin extends AutoPlugin {
3742
isScalaProject = crossPaths.value
3843
),
3944
credentials ++= {
40-
val token = codeArtifactToken.value.getOrElse("")
45+
val token = codeArtifactToken.value.getOrElse {
46+
streams.value.log.warn("Unable to get AWS CodeArtifact auth token.")
47+
""
48+
}
4149
val repos = codeArtifactRepo.value +: codeArtifactResolvers.value
4250
.map(CodeArtifactRepo.fromUrl)
4351

@@ -51,22 +59,6 @@ object CodeArtifactPlugin extends AutoPlugin {
5159
.map(_.resolver)
5260
)
5361

54-
def getCodeArtifactAuthToken: Def.Initialize[Task[Option[String]]] = Def.task {
55-
sys.env
56-
.get("CODEARTIFACT_AUTH_TOKEN")
57-
.orElse(
58-
Credentials
59-
.loadCredentials(Path.userHome / ".sbt" / "credentials")
60-
.toOption
61-
.map(_.passwd)
62-
)
63-
.orElse {
64-
CodeArtifact.getAuthToken(codeArtifactRepo.value)
65-
streams.value.log.warn("Unable to get AWS CodeArtifact auth token.")
66-
None
67-
}
68-
}
69-
7062
// Uses taskDyn because it can return one of two potential tasks
7163
// as its result, each with their own dependencies.
7264
// See: https://www.scala-sbt.org/1.x/docs/Howto-Dynamic-Task.html

0 commit comments

Comments
 (0)