Skip to content

Commit

Permalink
Upgrade to sbt 1.1.0
Browse files Browse the repository at this point in the history
This decapitalizes the label of `S3CredentialsProvider`,
otherwise sbt 1.1.0 throws an exception like the following:

    java.lang.IllegalArgumentException: requirement failed: A named attribute key must start with a lowercase letter: S3CredentialsProvider
  • Loading branch information
hirofumi committed Jan 6, 2018
1 parent 8f48463 commit 64eb388
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 10 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Expand Up @@ -6,7 +6,7 @@ matrix:
include:
- env: SBT_VERSION="0.13.16"
scala: 2.10.6
- env: SBT_VERSION="1.0.4"
- env: SBT_VERSION="1.1.0"
scala: 2.12.4

script:
Expand Down
6 changes: 3 additions & 3 deletions README.md
Expand Up @@ -197,13 +197,13 @@ roleArn = arn:aws:iam::123456789012:role/RoleName

### Custom S3 Credentials

If the default credential providers do not work for you then you can specify your own AWSCredentialsProvider using the `S3CredentialsProvider` SettingKey in your `build.sbt` file:
If the default credential providers do not work for you then you can specify your own AWSCredentialsProvider using the `s3CredentialsProvider` SettingKey in your `build.sbt` file:

```scala
import com.amazonaws.auth.{AWSCredentialsProviderChain, DefaultAWSCredentialsProviderChain}
import com.amazonaws.auth.profile.ProfileCredentialsProvider

S3CredentialsProvider := { (bucket: String) =>
s3CredentialsProvider := { (bucket: String) =>
new AWSCredentialsProviderChain(
new ProfileCredentialsProvider("my_profile"),
DefaultAWSCredentialsProviderChain.getInstance()
Expand All @@ -216,7 +216,7 @@ If you are really lazy and want to provide static credentials using this in your
```scala
import com.amazonaws.auth.{AWSStaticCredentialsProvider, BasicAWSCredentials}

S3CredentialsProvider := { (bucket: String) =>
s3CredentialsProvider := { (bucket: String) =>
new AWSStaticCredentialsProvider(new BasicAWSCredentials("your_accessKey", "your_secretKey"))
}
```
Expand Down
2 changes: 1 addition & 1 deletion build.sbt
Expand Up @@ -30,7 +30,7 @@ scriptedBufferLog := false

scriptedLaunchOpts ++= Seq("-Xmx1024M", "-Dplugin.version=" + version.value)

crossSbtVersions := Vector("0.13.16", "1.0.4")
crossSbtVersions := Vector("0.13.16", "1.1.0")

val amazonSDKVersion = "1.11.236"

Expand Down
2 changes: 1 addition & 1 deletion project/build.properties
@@ -1 +1 @@
sbt.version=1.0.4
sbt.version=1.1.0
13 changes: 9 additions & 4 deletions src/main/scala/fm/sbt/S3ResolverPlugin.scala
Expand Up @@ -31,8 +31,13 @@ import scala.util.Try
object S3ResolverPlugin extends AutoPlugin {
object autoImport extends S3Implicits {

@deprecated("use `s3CredentialsProvider` (starting with lower case) instead", "0.14.0")
lazy val S3CredentialsProvider: SettingKey[String => AWSCredentialsProvider] = {
SettingKey[String => AWSCredentialsProvider]("S3CredentialsProvider", "AWS credentials provider to access S3")
s3CredentialsProvider
}

lazy val s3CredentialsProvider: SettingKey[String => AWSCredentialsProvider] = {
settingKey[String => AWSCredentialsProvider]("AWS credentials provider to access S3")
}

lazy val showS3Credentials: InputKey[Unit] = {
Expand All @@ -46,13 +51,13 @@ object S3ResolverPlugin extends AutoPlugin {
override def trigger: PluginTrigger = allRequirements

override def projectSettings: Seq[Setting[_]] = Seq(
S3CredentialsProvider := S3URLHandler.defaultCredentialsProviderChain,
s3CredentialsProvider := S3URLHandler.defaultCredentialsProviderChain,
showS3Credentials := {
val log = state.value.log

spaceDelimited("<arg>").parsed match {
case bucket :: Nil =>
val provider: AWSCredentialsProvider = S3CredentialsProvider.value(bucket)
val provider: AWSCredentialsProvider = s3CredentialsProvider.value(bucket)

Try {
Option(provider.getCredentials) match {
Expand Down Expand Up @@ -114,7 +119,7 @@ object S3ResolverPlugin extends AutoPlugin {

val extracted: Extracted = Project.extract(state)

S3URLHandler.registerBucketCredentialsProvider(extracted.get(S3CredentialsProvider))
S3URLHandler.registerBucketCredentialsProvider(extracted.get(s3CredentialsProvider))

state
}
Expand Down

0 comments on commit 64eb388

Please sign in to comment.