diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..9f57a6d8 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,125 @@ +# This file was automatically generated by sbt-github-actions using the +# githubWorkflowGenerate task. You should add and commit this file to +# your git repository. It goes without saying that you shouldn't edit +# this file by hand! Instead, if you wish to make changes, you should +# change your sbt build configuration to revise the workflow description +# to meet your needs, then regenerate this file. + +name: Continuous Integration + +on: + pull_request: + branches: ['*'] + push: + branches: ['*'] + tags: [v*] + +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + +jobs: + build: + name: Build and Test + strategy: + matrix: + os: [ubuntu-latest] + scala: [2.13.5, 2.12.13] + java: [adopt@1.8, adopt@1.11] + runs-on: ${{ matrix.os }} + steps: + - name: Checkout current branch (full) + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Setup Java and Scala + uses: olafurpg/setup-scala@v10 + with: + java-version: ${{ matrix.java }} + + - name: Cache sbt + uses: actions/cache@v2 + with: + path: | + ~/.sbt + ~/.ivy2/cache + ~/.coursier/cache/v1 + ~/.cache/coursier/v1 + ~/AppData/Local/Coursier/Cache/v1 + ~/Library/Caches/Coursier/v1 + key: ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }} + + - name: Check that workflows are up to date + run: sbt ++${{ matrix.scala }} githubWorkflowCheck + + - name: Build project + run: sbt ++${{ matrix.scala }} test + + - name: Compress target directories + run: tar cf targets.tar core/js/target target main/target lambda-io-app/js/target aws-java-sdk2/target core/jvm/target test-kit/target lambda-io-app/jvm/target project/target + + - name: Upload target directories + uses: actions/upload-artifact@v2 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }} + path: targets.tar + + publish: + name: Publish Artifacts + needs: [build] + if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v')) + strategy: + matrix: + os: [ubuntu-latest] + scala: [2.13.5] + java: [adopt@1.8] + runs-on: ${{ matrix.os }} + steps: + - name: Checkout current branch (full) + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Setup Java and Scala + uses: olafurpg/setup-scala@v10 + with: + java-version: ${{ matrix.java }} + + - name: Cache sbt + uses: actions/cache@v2 + with: + path: | + ~/.sbt + ~/.ivy2/cache + ~/.coursier/cache/v1 + ~/.cache/coursier/v1 + ~/AppData/Local/Coursier/Cache/v1 + ~/Library/Caches/Coursier/v1 + key: ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }} + + - name: Download target directories (2.13.5) + uses: actions/download-artifact@v2 + with: + name: target-${{ matrix.os }}-2.13.5-${{ matrix.java }} + + - name: Inflate target directories (2.13.5) + run: | + tar xf targets.tar + rm targets.tar + + - name: Download target directories (2.12.13) + uses: actions/download-artifact@v2 + with: + name: target-${{ matrix.os }}-2.12.13-${{ matrix.java }} + + - name: Inflate target directories (2.12.13) + run: | + tar xf targets.tar + rm targets.tar + + - env: + PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }} + PGP_SECRET: ${{ secrets.PGP_SECRET }} + SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} + SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} + run: sbt ++${{ matrix.scala }} ci-release \ No newline at end of file diff --git a/.github/workflows/clean.yml b/.github/workflows/clean.yml new file mode 100644 index 00000000..b535fcc1 --- /dev/null +++ b/.github/workflows/clean.yml @@ -0,0 +1,59 @@ +# This file was automatically generated by sbt-github-actions using the +# githubWorkflowGenerate task. You should add and commit this file to +# your git repository. It goes without saying that you shouldn't edit +# this file by hand! Instead, if you wish to make changes, you should +# change your sbt build configuration to revise the workflow description +# to meet your needs, then regenerate this file. + +name: Clean + +on: push + +jobs: + delete-artifacts: + name: Delete Artifacts + runs-on: ubuntu-latest + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - name: Delete artifacts + run: | + # Customize those three lines with your repository and credentials: + REPO=${GITHUB_API_URL}/repos/${{ github.repository }} + + # A shortcut to call GitHub API. + ghapi() { curl --silent --location --user _:$GITHUB_TOKEN "$@"; } + + # A temporary file which receives HTTP response headers. + TMPFILE=/tmp/tmp.$$ + + # An associative array, key: artifact name, value: number of artifacts of that name. + declare -A ARTCOUNT + + # Process all artifacts on this repository, loop on returned "pages". + URL=$REPO/actions/artifacts + while [[ -n "$URL" ]]; do + + # Get current page, get response headers in a temporary file. + JSON=$(ghapi --dump-header $TMPFILE "$URL") + + # Get URL of next page. Will be empty if we are at the last page. + URL=$(grep '^Link:' "$TMPFILE" | tr ',' '\n' | grep 'rel="next"' | head -1 | sed -e 's/.*.*//') + rm -f $TMPFILE + + # Number of artifacts on this page: + COUNT=$(( $(jq <<<$JSON -r '.artifacts | length') )) + + # Loop on all artifacts on this page. + for ((i=0; $i < $COUNT; i++)); do + + # Get name of artifact and count instances of this name. + name=$(jq <<<$JSON -r ".artifacts[$i].name?") + ARTCOUNT[$name]=$(( $(( ${ARTCOUNT[$name]} )) + 1)) + + id=$(jq <<<$JSON -r ".artifacts[$i].id?") + size=$(( $(jq <<<$JSON -r ".artifacts[$i].size_in_bytes?") )) + printf "Deleting '%s' #%d, %'d bytes\n" $name ${ARTCOUNT[$name]} $size + ghapi -X DELETE $REPO/actions/artifacts/$id + done + done \ No newline at end of file diff --git a/.sbtopts b/.sbtopts new file mode 100644 index 00000000..1ca6d0b3 --- /dev/null +++ b/.sbtopts @@ -0,0 +1 @@ +-J-Xmx2G diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index ccd4bd7f..00000000 --- a/.travis.yml +++ /dev/null @@ -1,23 +0,0 @@ -language: scala - -scala: - - 2.12.11 - - 2.13.3 - -jdk: openjdk8 - -env: - global: - - secure: "KEFHXhXoVJ36CN//n3295Zh3QGS3cx54YicwdbThfILGvdqRW+XZ8oEkyDRmXVn3CStpeI+SCdEbUOYbiY6M09Rj0RK+J1M5nTr+eyWTFUMtnogpOKdnGho9o3f24AiUphGlQCWqTMX61jgSkhary5j29oIqto/KtTN0nrGWqC4Gj7E+HjzygdNS6jK/jzQLN43Q0RfOZlRZSYQEbslcq1qKj61yoJTJUZA3kvrcW1KMh4VoCrOhsMgitxgTst4LcmWAOo51RVvNGl4jrM4VytSnbDZ9OatoHUcE62MZrRmaohwE3O8Ae6e+dCGQHD8ElrRq3yrDt5kNj/D4Rp8/8jnNNM3YN2u7D2Rm3PvOBGHACKb9VvwN7VLzg+042rZ46f/pELygE/MsjMx8FvSsmlWugtAIgJOCMo7QJTIqbixowdoQOo0fFXnAx3tcw2gkwDaeF011O+jw6Mh/WdR10FadtqCVsEDYQt3jpmWj5mwDMBUfddZkUK9+0N3620Z9ATKSgOZja56OYDDZ7tLQAlukjUcpa3j9gs8lFozb1DZPqyI7I3tUyZ2Nqz/LSjycU4OCK+y9C5gVYhC9R403dCP3YoI3rF61SSbPeRAKcF2a+vDh9mRdgAL2t9smKoc8aueKltknA4xJ0NTCSLddvc87Wtktu7k7GzON0ric0Es=" - -before_deploy: - - mkdir -p $HOME/.bintray - - openssl aes-256-cbc -K $encrypted_4738810725bb_key -iv $encrypted_4738810725bb_iv -in credentials.enc -out $HOME/.bintray/.credentials -d - -deploy: - - provider: script - script: .travis/release.sh - on: - branch: 2.x - scala: 2.13.3 - condition: $(git log -n1 --format=format:"%an") != "Dwolla Bot" diff --git a/.travis/release.sh b/.travis/release.sh deleted file mode 100755 index 400ffd59..00000000 --- a/.travis/release.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env bash - -set -o errexit -o nounset - -USERNAME="Dwolla Bot" -RELEASE_BRANCH="2.x" - -commit_username=$(git log -n1 --format=format:"%an") -if [[ "$commit_username" == "$USERNAME" ]]; then - echo "Refusing to release a commit created by this script." - exit 0 -fi - -if [ "$TRAVIS_BRANCH" != "${RELEASE_BRANCH}" ]; then - echo "Only the ${RELEASE_BRANCH} branch will be released. This branch is $TRAVIS_BRANCH." - exit 0 -fi - -git config user.name "$USERNAME" -git config user.email "dev+dwolla-bot@dwolla.com" - -git remote add release https://$GH_TOKEN@github.com/Dwolla/fs2-aws.git -git fetch release - -git clean -dxf -git checkout ${RELEASE_BRANCH} -git branch --set-upstream-to=release/${RELEASE_BRANCH} - -MASTER=$(git rev-parse HEAD) -if [ "$TRAVIS_COMMIT" != "$MASTER" ]; then - echo "Checking out ${RELEASE_BRANCH} set HEAD to $MASTER, but Travis was building $TRAVIS_COMMIT, so refusing to continue." - exit 0 -fi - -echo "Not releasing due to milestone version" -# sbt clean "release with-defaults" diff --git a/README.md b/README.md index bb9a85f4..ea10d250 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,5 @@ # FS2 AWS Utilities -[![Travis](https://img.shields.io/travis/Dwolla/fs2-aws.svg?style=flat-square)](https://travis-ci.org/Dwolla/fs2-aws) -[![Bintray](https://img.shields.io/bintray/v/dwolla/maven/fs2-aws.svg?style=flat-square)](https://bintray.com/dwolla/maven/fs2-aws/view) [![license](https://img.shields.io/github/license/Dwolla/fs2-aws.svg?style=flat-square)](https://github.com/Dwolla/fs2-aws/blob/master/LICENSE) Utility classes for working with the [Java AWS SDKs](https://github.com/aws/aws-sdk-java) from Scala using [fs2](https://github.com/functional-streams-for-scala/fs2). diff --git a/build.sbt b/build.sbt index 871cbc7c..844afe70 100644 --- a/build.sbt +++ b/build.sbt @@ -1,33 +1,22 @@ lazy val primaryName = "fs2-aws" -lazy val specs2Version = "4.10.0" -lazy val fs2Version = "2.4.2" +lazy val specs2Version = "4.10.6" +lazy val fs2Version = "2.5.3" -lazy val commonSettings = Seq( +inThisBuild(List( organization := "com.dwolla", homepage := Some(url("https://github.com/Dwolla/fs2-aws")), licenses += ("MIT", url("http://opensource.org/licenses/MIT")), - releaseVersionBump := sbtrelease.Version.Bump.Minor, - releaseCrossBuild := false, - releaseProcess := { - import sbtrelease.ReleaseStateTransformations._ - Seq[ReleaseStep]( - checkSnapshotDependencies, - inquireVersions, - runClean, - releaseStepCommandAndRemaining("+test"), - setReleaseVersion, - commitReleaseVersion, - tagRelease, - releaseStepCommandAndRemaining("+publish"), - setNextVersion, - commitNextVersion, - pushChanges + developers := List( + Developer( + "bpholt", + "Brian Holt", + "bholt+github@dwolla.com", + url("https://dwolla.com") ) - }, - startYear := Option(2018), - resolvers ++= Seq( - Resolver.bintrayRepo("dwolla", "maven") ), + crossScalaVersions := Seq("2.13.5", "2.12.13"), + scalaVersion := crossScalaVersions.value.head, + startYear := Option(2018), libraryDependencies ++= { Seq( "co.fs2" %%% "fs2-core" % fs2Version, @@ -36,7 +25,26 @@ lazy val commonSettings = Seq( ) }, resolvers += Resolver.sonatypeRepo("releases"), - addCompilerPlugin("org.typelevel" %% "kind-projector" % "0.11.0" cross CrossVersion.full), + + githubWorkflowJavaVersions := Seq("adopt@1.8", "adopt@1.11"), + githubWorkflowTargetTags ++= Seq("v*"), + githubWorkflowPublishTargetBranches := + Seq(RefPredicate.StartsWith(Ref.Tag("v"))), + githubWorkflowPublish := Seq( + WorkflowStep.Sbt( + List("ci-release"), + env = Map( + "PGP_PASSPHRASE" -> "${{ secrets.PGP_PASSPHRASE }}", + "PGP_SECRET" -> "${{ secrets.PGP_SECRET }}", + "SONATYPE_PASSWORD" -> "${{ secrets.SONATYPE_PASSWORD }}", + "SONATYPE_USERNAME" -> "${{ secrets.SONATYPE_USERNAME }}" + ) + ) + ), +)) + +lazy val compilerOptions = Seq( + addCompilerPlugin("org.typelevel" %% "kind-projector" % "0.11.3" cross CrossVersion.full), addCompilerPlugin("com.olegpy" %% "better-monadic-for" % "0.3.1"), Compile / scalacOptions ++= { CrossVersion.partialVersion(scalaVersion.value) match { @@ -53,31 +61,24 @@ lazy val commonSettings = Seq( }, ) -lazy val bintraySettings = Seq( - bintrayVcsUrl := homepage.value.map(_.toString), - bintrayRepository := "maven", - bintrayOrganization := Option("dwolla"), - pomIncludeRepository := { _ => false } -) - lazy val fs2Utils = crossProject(JSPlatform, JVMPlatform) .crossType(CrossType.Full) .in(file("core")) - .settings(Seq( + .settings(compilerOptions: _*) + .settings( name := "fs2-utils", - bintrayPackage := "fs2-utils", description := "Helpful utility functions for fs2 streams", - ) ++ commonSettings ++ bintraySettings: _*) + ) lazy val fs2UtilsJVM = fs2Utils.jvm lazy val fs2AwsUtils = (project in file("main")) - .settings(Seq( + .settings(compilerOptions: _*) + .settings( name := primaryName, - bintrayPackage := primaryName, description := "Utility classes for interacting with the AWS SDKs from Scala using fs2", libraryDependencies ++= { - val awsSdkVersion = "1.11.437" + val awsSdkVersion = "1.11.976" Seq( "co.fs2" %% "fs2-io" % fs2Version, @@ -90,44 +91,40 @@ lazy val fs2AwsUtils = (project in file("main")) "org.specs2" %% "specs2-mock" % specs2Version % Test, ) }, - ) ++ commonSettings ++ bintraySettings: _*) + ) .dependsOn(fs2UtilsJVM) lazy val fs2Aws2Utils = (project in file("aws-java-sdk2")) - .settings(Seq( + .settings(compilerOptions: _*) + .settings( name := primaryName + "-java-sdk2", - bintrayPackage := primaryName + "-java-sdk2", description := "Utility classes for interacting with the V2 AWS Java SDKs from Scala using fs2", libraryDependencies ++= { - Seq( "co.fs2" %% "fs2-reactive-streams" % fs2Version, "org.typelevel" %% "cats-tagless-macros" % "0.11", "org.scala-lang.modules" %% "scala-collection-compat" % "2.1.1", - "software.amazon.awssdk" % "kms" % "2.7.18" % Provided, + "software.amazon.awssdk" % "kms" % "2.16.20" % Provided, ) }, - ) ++ commonSettings ++ bintraySettings: _*) + ) lazy val lambdaIOApp = crossProject(JSPlatform, JVMPlatform) .crossType(CrossType.Full) .in(file("lambda-io-app")) - .settings(Seq( + .settings(compilerOptions: _*) + .settings( name := primaryName + "-lambda-io-app", - bintrayPackage := primaryName + "-lambda-io-app", libraryDependencies ++= { val circeVersion = "0.13.0" - val silencerVersion = "1.7.0" Seq( "io.circe" %%% "circe-literal" % circeVersion, "io.circe" %%% "circe-generic-extras" % circeVersion, "io.circe" %%% "circe-parser" % circeVersion, "io.circe" %%% "circe-generic-extras" % circeVersion, - compilerPlugin("com.github.ghik" % "silencer-plugin" % silencerVersion cross CrossVersion.full), - "com.github.ghik" % "silencer-lib" % silencerVersion % Provided cross CrossVersion.full ) }, - ) ++ commonSettings ++ bintraySettings: _*) + ) .jvmSettings( description := "IOApp for AWS Lambda Java runtime", libraryDependencies ++= { @@ -147,28 +144,22 @@ lazy val lambdaIOApp = crossProject(JSPlatform, JVMPlatform) .jsSettings( description := "IOApp for AWS Lambda Node runtime", Compile / npmDependencies += ("@types/aws-lambda" -> "8.10.59"), - scalacOptions += "-P:silencer:pathFilters=src_managed", + scalacOptions += "-Wconf:src=src_managed/.*:s", stOutputPackage := "jsdep", stMinimize := Selection.AllExcept("@types/aws-lambda"), ) .jsConfigure(_.enablePlugins(ScalablyTypedConverterGenSourcePlugin)) lazy val fs2TestKit: Project = (project in file("test-kit")) - .settings(Seq( + .settings(compilerOptions: _*) + .settings( name := primaryName + "-testkit", - bintrayPackage := primaryName + "-testkit", description := "Test implementations of fs2-aws classes", - ) ++ commonSettings ++ bintraySettings: _*) + ) .dependsOn(fs2AwsUtils) lazy val `fs2-aws` = (project in file(".")) - .settings(commonSettings ++ noPublishSettings: _*) - .settings(crossScalaVersions := Seq.empty) + .settings( + skip in publish := true, + ) .aggregate(fs2UtilsJVM, fs2Utils.js, fs2AwsUtils, fs2Aws2Utils, fs2TestKit, lambdaIOApp.jvm, lambdaIOApp.js) - -lazy val noPublishSettings = Seq( - publish := {}, - publishLocal := {}, - publishArtifact := false, - Keys.`package` := file(""), -) diff --git a/core/jvm/src/main/scala/com/dwolla/fs2utils/hashing/Sha256Pipe.scala b/core/jvm/src/main/scala/com/dwolla/fs2utils/hashing/Sha256Pipe.scala index 2380aefa..eef4e1b7 100644 --- a/core/jvm/src/main/scala/com/dwolla/fs2utils/hashing/Sha256Pipe.scala +++ b/core/jvm/src/main/scala/com/dwolla/fs2utils/hashing/Sha256Pipe.scala @@ -7,7 +7,7 @@ import cats.effect.concurrent.Deferred import fs2._ object Sha256Pipe { - def apply[F[_] : Sync](promisedHexString: Deferred[F, String]): Pipe[F, Byte, Byte] = { + def apply[F[_] : Sync](promisedHexString: Deferred[F, Either[Throwable, String]]): Pipe[F, Byte, Byte] = { def pull(digest: MessageDigest): Stream[F, Byte] => Pull[F, Byte, String] = _.pull.uncons.flatMap { case None => @@ -25,9 +25,15 @@ object Sha256Pipe { for { initialDigest <- Pull.eval(Sync[F].delay(MessageDigest.getInstance("SHA-256"))) hexString <- pull(initialDigest)(input) - _ <- Pull.eval(promisedHexString.complete(hexString)) + _ <- Pull.eval(promisedHexString.complete(Right(hexString))) } yield () - calculateHashOf(_).stream + calculateHashOf(_) + .stream + .handleErrorWith { ex => + Stream.eval(promisedHexString.complete(Left(InputStreamFailed(ex)))).drain ++ Stream.raiseError[F](ex) + } } } + +case class InputStreamFailed(cause: Throwable) extends RuntimeException("The input stream failed, so no hash is available", cause) diff --git a/core/jvm/src/test/scala/com/dwolla/fs2utils/hashing/Sha256PipeSpec.scala b/core/jvm/src/test/scala/com/dwolla/fs2utils/hashing/Sha256PipeSpec.scala index e917fb07..75debe36 100644 --- a/core/jvm/src/test/scala/com/dwolla/fs2utils/hashing/Sha256PipeSpec.scala +++ b/core/jvm/src/test/scala/com/dwolla/fs2utils/hashing/Sha256PipeSpec.scala @@ -11,6 +11,8 @@ import org.specs2.matcher._ import org.specs2.mutable.Specification import org.specs2.specification.core.{AsExecution, Execution} +import scala.concurrent.duration._ + class Sha256PipeSpec extends Specification with IOMatchers { "Sha256Pipe" should { @@ -18,7 +20,7 @@ class Sha256PipeSpec extends Specification with IOMatchers { val example = "Dwolla 🧟‍♀️" for { expectedDigest <- IO(MessageDigest.getInstance("SHA-256").digest(example.getBytes("UTF-8"))) - deferredDigest <- Deferred[IO, String] + deferredDigest <- Deferred[IO, Either[Throwable, String]] str <- Stream.emit(example) .through(text.utf8Encode) .through(Sha256Pipe(deferredDigest)) @@ -28,7 +30,24 @@ class Sha256PipeSpec extends Specification with IOMatchers { calculatedDigest <- deferredDigest.get } yield { str must beEqualTo(List(example)) - calculatedDigest must beEqualTo(expectedDigest.toHexString) + calculatedDigest must beRight(expectedDigest.toHexString) + } + } + + "fail the deferred if the stream raises an exception" >> { + for { + deferred <- Deferred[IO, Either[Throwable, String]] + exception = new RuntimeException("boom") {} + failure <- (Stream.eval(IO("hello world")) ++ Stream.raiseError[IO](exception)) + .through(text.utf8Encode) + .through(Sha256Pipe(deferred)) + .compile + .drain + .attempt + output <- deferred.get.flatMap(_.liftTo[IO]).timeout(2.seconds).attempt + } yield { + failure must beLeft(exception) + output must beLeft(InputStreamFailed(exception)) } } } diff --git a/credentials.enc b/credentials.enc deleted file mode 100644 index 8214ed9f..00000000 --- a/credentials.enc +++ /dev/null @@ -1 +0,0 @@ -DX -ق~>_GuGUb DARk[ڬf[ _;٩ b[:I=F=j_i )e&=RȽ`8Kϩ5xE1 0yN~w>R}U \ No newline at end of file diff --git a/main/src/main/scala/com/dwolla/fs2aws/kms/package.scala b/main/src/main/scala/com/dwolla/fs2aws/kms/package.scala index 343596e2..f2845929 100644 --- a/main/src/main/scala/com/dwolla/fs2aws/kms/package.scala +++ b/main/src/main/scala/com/dwolla/fs2aws/kms/package.scala @@ -1,8 +1,11 @@ package com.dwolla.fs2aws +import java.util.Base64 + package object kms { type Transform[A] = A => Array[Byte] val noopTransform: Transform[Array[Byte]] = identity - val base64DecodingTransform: Transform[String] = javax.xml.bind.DatatypeConverter.parseBase64Binary + private val decoder: Base64.Decoder = Base64.getDecoder + val base64DecodingTransform: Transform[String] = decoder.decode } diff --git a/main/src/test/scala/com/dwolla/fs2aws/FakeAmazonCloudFormationAsyncClient.scala b/main/src/test/scala/com/dwolla/fs2aws/FakeAmazonCloudFormationAsyncClient.scala index c8b55380..bf8d7c56 100644 --- a/main/src/test/scala/com/dwolla/fs2aws/FakeAmazonCloudFormationAsyncClient.scala +++ b/main/src/test/scala/com/dwolla/fs2aws/FakeAmazonCloudFormationAsyncClient.scala @@ -1,304 +1,377 @@ package com.dwolla.fs2aws -import com.amazonaws.AmazonWebServiceRequest +import com.amazonaws.{AmazonWebServiceRequest, ResponseMetadata} import com.amazonaws.handlers.AsyncHandler import com.amazonaws.regions.Region import com.amazonaws.services.cloudformation.AmazonCloudFormationAsync import com.amazonaws.services.cloudformation.model._ +import com.amazonaws.services.cloudformation.waiters.AmazonCloudFormationWaiters +import java.util.concurrent.Future + +//noinspection NotImplementedCode,ScalaDeprecation class FakeAmazonCloudFormationAsyncClient extends AmazonCloudFormationAsync { - override def cancelUpdateStackAsync(cancelUpdateStackRequest: CancelUpdateStackRequest) = ??? + override def cancelUpdateStackAsync(cancelUpdateStackRequest: CancelUpdateStackRequest): Future[CancelUpdateStackResult] = ??? + + override def cancelUpdateStackAsync(cancelUpdateStackRequest: CancelUpdateStackRequest, asyncHandler: AsyncHandler[CancelUpdateStackRequest, CancelUpdateStackResult]): Future[CancelUpdateStackResult] = ??? + + override def continueUpdateRollbackAsync(continueUpdateRollbackRequest: ContinueUpdateRollbackRequest): Future[ContinueUpdateRollbackResult] = ??? + + override def continueUpdateRollbackAsync(continueUpdateRollbackRequest: ContinueUpdateRollbackRequest, asyncHandler: AsyncHandler[ContinueUpdateRollbackRequest, ContinueUpdateRollbackResult]): Future[ContinueUpdateRollbackResult] = ??? + + override def createChangeSetAsync(createChangeSetRequest: CreateChangeSetRequest): Future[CreateChangeSetResult] = ??? + + override def createChangeSetAsync(createChangeSetRequest: CreateChangeSetRequest, asyncHandler: AsyncHandler[CreateChangeSetRequest, CreateChangeSetResult]): Future[CreateChangeSetResult] = ??? + + override def createStackAsync(createStackRequest: CreateStackRequest): Future[CreateStackResult] = ??? + + override def createStackAsync(createStackRequest: CreateStackRequest, asyncHandler: AsyncHandler[CreateStackRequest, CreateStackResult]): Future[CreateStackResult] = ??? + + override def createStackInstancesAsync(createStackInstancesRequest: CreateStackInstancesRequest): Future[CreateStackInstancesResult] = ??? + + override def createStackInstancesAsync(createStackInstancesRequest: CreateStackInstancesRequest, asyncHandler: AsyncHandler[CreateStackInstancesRequest, CreateStackInstancesResult]): Future[CreateStackInstancesResult] = ??? + + override def createStackSetAsync(createStackSetRequest: CreateStackSetRequest): Future[CreateStackSetResult] = ??? + + override def createStackSetAsync(createStackSetRequest: CreateStackSetRequest, asyncHandler: AsyncHandler[CreateStackSetRequest, CreateStackSetResult]): Future[CreateStackSetResult] = ??? + + override def deleteChangeSetAsync(deleteChangeSetRequest: DeleteChangeSetRequest): Future[DeleteChangeSetResult] = ??? + + override def deleteChangeSetAsync(deleteChangeSetRequest: DeleteChangeSetRequest, asyncHandler: AsyncHandler[DeleteChangeSetRequest, DeleteChangeSetResult]): Future[DeleteChangeSetResult] = ??? + + override def deleteStackAsync(deleteStackRequest: DeleteStackRequest): Future[DeleteStackResult] = ??? + + override def deleteStackAsync(deleteStackRequest: DeleteStackRequest, asyncHandler: AsyncHandler[DeleteStackRequest, DeleteStackResult]): Future[DeleteStackResult] = ??? + + override def deleteStackInstancesAsync(deleteStackInstancesRequest: DeleteStackInstancesRequest): Future[DeleteStackInstancesResult] = ??? + + override def deleteStackInstancesAsync(deleteStackInstancesRequest: DeleteStackInstancesRequest, asyncHandler: AsyncHandler[DeleteStackInstancesRequest, DeleteStackInstancesResult]): Future[DeleteStackInstancesResult] = ??? + + override def deleteStackSetAsync(deleteStackSetRequest: DeleteStackSetRequest): Future[DeleteStackSetResult] = ??? + + override def deleteStackSetAsync(deleteStackSetRequest: DeleteStackSetRequest, asyncHandler: AsyncHandler[DeleteStackSetRequest, DeleteStackSetResult]): Future[DeleteStackSetResult] = ??? + + override def deregisterTypeAsync(deregisterTypeRequest: DeregisterTypeRequest): Future[DeregisterTypeResult] = ??? + + override def deregisterTypeAsync(deregisterTypeRequest: DeregisterTypeRequest, asyncHandler: AsyncHandler[DeregisterTypeRequest, DeregisterTypeResult]): Future[DeregisterTypeResult] = ??? + + override def describeAccountLimitsAsync(describeAccountLimitsRequest: DescribeAccountLimitsRequest): Future[DescribeAccountLimitsResult] = ??? + + override def describeAccountLimitsAsync(describeAccountLimitsRequest: DescribeAccountLimitsRequest, asyncHandler: AsyncHandler[DescribeAccountLimitsRequest, DescribeAccountLimitsResult]): Future[DescribeAccountLimitsResult] = ??? + + override def describeChangeSetAsync(describeChangeSetRequest: DescribeChangeSetRequest): Future[DescribeChangeSetResult] = ??? + + override def describeChangeSetAsync(describeChangeSetRequest: DescribeChangeSetRequest, asyncHandler: AsyncHandler[DescribeChangeSetRequest, DescribeChangeSetResult]): Future[DescribeChangeSetResult] = ??? + + override def describeStackDriftDetectionStatusAsync(describeStackDriftDetectionStatusRequest: DescribeStackDriftDetectionStatusRequest): Future[DescribeStackDriftDetectionStatusResult] = ??? + + override def describeStackDriftDetectionStatusAsync(describeStackDriftDetectionStatusRequest: DescribeStackDriftDetectionStatusRequest, asyncHandler: AsyncHandler[DescribeStackDriftDetectionStatusRequest, DescribeStackDriftDetectionStatusResult]): Future[DescribeStackDriftDetectionStatusResult] = ??? + + override def describeStackEventsAsync(describeStackEventsRequest: DescribeStackEventsRequest): Future[DescribeStackEventsResult] = ??? + + override def describeStackEventsAsync(describeStackEventsRequest: DescribeStackEventsRequest, asyncHandler: AsyncHandler[DescribeStackEventsRequest, DescribeStackEventsResult]): Future[DescribeStackEventsResult] = ??? + + override def describeStackInstanceAsync(describeStackInstanceRequest: DescribeStackInstanceRequest): Future[DescribeStackInstanceResult] = ??? + + override def describeStackInstanceAsync(describeStackInstanceRequest: DescribeStackInstanceRequest, asyncHandler: AsyncHandler[DescribeStackInstanceRequest, DescribeStackInstanceResult]): Future[DescribeStackInstanceResult] = ??? + + override def describeStackResourceAsync(describeStackResourceRequest: DescribeStackResourceRequest): Future[DescribeStackResourceResult] = ??? + + override def describeStackResourceAsync(describeStackResourceRequest: DescribeStackResourceRequest, asyncHandler: AsyncHandler[DescribeStackResourceRequest, DescribeStackResourceResult]): Future[DescribeStackResourceResult] = ??? + + override def describeStackResourceDriftsAsync(describeStackResourceDriftsRequest: DescribeStackResourceDriftsRequest): Future[DescribeStackResourceDriftsResult] = ??? + + override def describeStackResourceDriftsAsync(describeStackResourceDriftsRequest: DescribeStackResourceDriftsRequest, asyncHandler: AsyncHandler[DescribeStackResourceDriftsRequest, DescribeStackResourceDriftsResult]): Future[DescribeStackResourceDriftsResult] = ??? + + override def describeStackResourcesAsync(describeStackResourcesRequest: DescribeStackResourcesRequest): Future[DescribeStackResourcesResult] = ??? + + override def describeStackResourcesAsync(describeStackResourcesRequest: DescribeStackResourcesRequest, asyncHandler: AsyncHandler[DescribeStackResourcesRequest, DescribeStackResourcesResult]): Future[DescribeStackResourcesResult] = ??? + + override def describeStackSetAsync(describeStackSetRequest: DescribeStackSetRequest): Future[DescribeStackSetResult] = ??? + + override def describeStackSetAsync(describeStackSetRequest: DescribeStackSetRequest, asyncHandler: AsyncHandler[DescribeStackSetRequest, DescribeStackSetResult]): Future[DescribeStackSetResult] = ??? + + override def describeStackSetOperationAsync(describeStackSetOperationRequest: DescribeStackSetOperationRequest): Future[DescribeStackSetOperationResult] = ??? + + override def describeStackSetOperationAsync(describeStackSetOperationRequest: DescribeStackSetOperationRequest, asyncHandler: AsyncHandler[DescribeStackSetOperationRequest, DescribeStackSetOperationResult]): Future[DescribeStackSetOperationResult] = ??? + + override def describeStacksAsync(describeStacksRequest: DescribeStacksRequest): Future[DescribeStacksResult] = ??? - override def cancelUpdateStackAsync(cancelUpdateStackRequest: CancelUpdateStackRequest, asyncHandler: AsyncHandler[CancelUpdateStackRequest, CancelUpdateStackResult]) = ??? + override def describeStacksAsync(describeStacksRequest: DescribeStacksRequest, asyncHandler: AsyncHandler[DescribeStacksRequest, DescribeStacksResult]): Future[DescribeStacksResult] = ??? - override def continueUpdateRollbackAsync(continueUpdateRollbackRequest: ContinueUpdateRollbackRequest) = ??? + override def describeStacksAsync(): Future[DescribeStacksResult] = ??? - override def continueUpdateRollbackAsync(continueUpdateRollbackRequest: ContinueUpdateRollbackRequest, - asyncHandler: AsyncHandler[ContinueUpdateRollbackRequest, ContinueUpdateRollbackResult]) = ??? + override def describeStacksAsync(asyncHandler: AsyncHandler[DescribeStacksRequest, DescribeStacksResult]): Future[DescribeStacksResult] = ??? - override def createChangeSetAsync(createChangeSetRequest: CreateChangeSetRequest) = ??? + override def describeTypeAsync(describeTypeRequest: DescribeTypeRequest): Future[DescribeTypeResult] = ??? - override def createChangeSetAsync(createChangeSetRequest: CreateChangeSetRequest, asyncHandler: AsyncHandler[CreateChangeSetRequest, CreateChangeSetResult]) = ??? + override def describeTypeAsync(describeTypeRequest: DescribeTypeRequest, asyncHandler: AsyncHandler[DescribeTypeRequest, DescribeTypeResult]): Future[DescribeTypeResult] = ??? - override def createStackAsync(createStackRequest: CreateStackRequest) = ??? + override def describeTypeRegistrationAsync(describeTypeRegistrationRequest: DescribeTypeRegistrationRequest): Future[DescribeTypeRegistrationResult] = ??? - override def createStackAsync(createStackRequest: CreateStackRequest, asyncHandler: AsyncHandler[CreateStackRequest, CreateStackResult]) = ??? + override def describeTypeRegistrationAsync(describeTypeRegistrationRequest: DescribeTypeRegistrationRequest, asyncHandler: AsyncHandler[DescribeTypeRegistrationRequest, DescribeTypeRegistrationResult]): Future[DescribeTypeRegistrationResult] = ??? - override def createStackInstancesAsync(createStackInstancesRequest: CreateStackInstancesRequest) = ??? + override def detectStackDriftAsync(detectStackDriftRequest: DetectStackDriftRequest): Future[DetectStackDriftResult] = ??? - override def createStackInstancesAsync(createStackInstancesRequest: CreateStackInstancesRequest, - asyncHandler: AsyncHandler[CreateStackInstancesRequest, CreateStackInstancesResult]) = ??? + override def detectStackDriftAsync(detectStackDriftRequest: DetectStackDriftRequest, asyncHandler: AsyncHandler[DetectStackDriftRequest, DetectStackDriftResult]): Future[DetectStackDriftResult] = ??? - override def createStackSetAsync(createStackSetRequest: CreateStackSetRequest) = ??? + override def detectStackResourceDriftAsync(detectStackResourceDriftRequest: DetectStackResourceDriftRequest): Future[DetectStackResourceDriftResult] = ??? - override def createStackSetAsync(createStackSetRequest: CreateStackSetRequest, asyncHandler: AsyncHandler[CreateStackSetRequest, CreateStackSetResult]) = ??? + override def detectStackResourceDriftAsync(detectStackResourceDriftRequest: DetectStackResourceDriftRequest, asyncHandler: AsyncHandler[DetectStackResourceDriftRequest, DetectStackResourceDriftResult]): Future[DetectStackResourceDriftResult] = ??? - override def deleteChangeSetAsync(deleteChangeSetRequest: DeleteChangeSetRequest) = ??? + override def detectStackSetDriftAsync(detectStackSetDriftRequest: DetectStackSetDriftRequest): Future[DetectStackSetDriftResult] = ??? - override def deleteChangeSetAsync(deleteChangeSetRequest: DeleteChangeSetRequest, asyncHandler: AsyncHandler[DeleteChangeSetRequest, DeleteChangeSetResult]) = ??? + override def detectStackSetDriftAsync(detectStackSetDriftRequest: DetectStackSetDriftRequest, asyncHandler: AsyncHandler[DetectStackSetDriftRequest, DetectStackSetDriftResult]): Future[DetectStackSetDriftResult] = ??? - override def deleteStackAsync(deleteStackRequest: DeleteStackRequest) = ??? + override def estimateTemplateCostAsync(estimateTemplateCostRequest: EstimateTemplateCostRequest): Future[EstimateTemplateCostResult] = ??? - override def deleteStackAsync(deleteStackRequest: DeleteStackRequest, asyncHandler: AsyncHandler[DeleteStackRequest, DeleteStackResult]) = ??? + override def estimateTemplateCostAsync(estimateTemplateCostRequest: EstimateTemplateCostRequest, asyncHandler: AsyncHandler[EstimateTemplateCostRequest, EstimateTemplateCostResult]): Future[EstimateTemplateCostResult] = ??? - override def deleteStackInstancesAsync(deleteStackInstancesRequest: DeleteStackInstancesRequest) = ??? + override def estimateTemplateCostAsync(): Future[EstimateTemplateCostResult] = ??? - override def deleteStackInstancesAsync(deleteStackInstancesRequest: DeleteStackInstancesRequest, - asyncHandler: AsyncHandler[DeleteStackInstancesRequest, DeleteStackInstancesResult]) = ??? + override def estimateTemplateCostAsync(asyncHandler: AsyncHandler[EstimateTemplateCostRequest, EstimateTemplateCostResult]): Future[EstimateTemplateCostResult] = ??? - override def deleteStackSetAsync(deleteStackSetRequest: DeleteStackSetRequest) = ??? + override def executeChangeSetAsync(executeChangeSetRequest: ExecuteChangeSetRequest): Future[ExecuteChangeSetResult] = ??? - override def deleteStackSetAsync(deleteStackSetRequest: DeleteStackSetRequest, asyncHandler: AsyncHandler[DeleteStackSetRequest, DeleteStackSetResult]) = ??? + override def executeChangeSetAsync(executeChangeSetRequest: ExecuteChangeSetRequest, asyncHandler: AsyncHandler[ExecuteChangeSetRequest, ExecuteChangeSetResult]): Future[ExecuteChangeSetResult] = ??? - override def describeAccountLimitsAsync(describeAccountLimitsRequest: DescribeAccountLimitsRequest) = ??? + override def getStackPolicyAsync(getStackPolicyRequest: GetStackPolicyRequest): Future[GetStackPolicyResult] = ??? - override def describeAccountLimitsAsync(describeAccountLimitsRequest: DescribeAccountLimitsRequest, - asyncHandler: AsyncHandler[DescribeAccountLimitsRequest, DescribeAccountLimitsResult]) = ??? + override def getStackPolicyAsync(getStackPolicyRequest: GetStackPolicyRequest, asyncHandler: AsyncHandler[GetStackPolicyRequest, GetStackPolicyResult]): Future[GetStackPolicyResult] = ??? - override def describeChangeSetAsync(describeChangeSetRequest: DescribeChangeSetRequest) = ??? + override def getTemplateAsync(getTemplateRequest: GetTemplateRequest): Future[GetTemplateResult] = ??? - override def describeChangeSetAsync(describeChangeSetRequest: DescribeChangeSetRequest, asyncHandler: AsyncHandler[DescribeChangeSetRequest, DescribeChangeSetResult]) = ??? + override def getTemplateAsync(getTemplateRequest: GetTemplateRequest, asyncHandler: AsyncHandler[GetTemplateRequest, GetTemplateResult]): Future[GetTemplateResult] = ??? - override def describeStackEventsAsync(describeStackEventsRequest: DescribeStackEventsRequest) = ??? + override def getTemplateSummaryAsync(getTemplateSummaryRequest: GetTemplateSummaryRequest): Future[GetTemplateSummaryResult] = ??? - override def describeStackEventsAsync(describeStackEventsRequest: DescribeStackEventsRequest, - asyncHandler: AsyncHandler[DescribeStackEventsRequest, DescribeStackEventsResult]) = ??? + override def getTemplateSummaryAsync(getTemplateSummaryRequest: GetTemplateSummaryRequest, asyncHandler: AsyncHandler[GetTemplateSummaryRequest, GetTemplateSummaryResult]): Future[GetTemplateSummaryResult] = ??? - override def describeStackInstanceAsync(describeStackInstanceRequest: DescribeStackInstanceRequest) = ??? + override def getTemplateSummaryAsync: Future[GetTemplateSummaryResult] = ??? - override def describeStackInstanceAsync(describeStackInstanceRequest: DescribeStackInstanceRequest, - asyncHandler: AsyncHandler[DescribeStackInstanceRequest, DescribeStackInstanceResult]) = ??? + override def getTemplateSummaryAsync(asyncHandler: AsyncHandler[GetTemplateSummaryRequest, GetTemplateSummaryResult]): Future[GetTemplateSummaryResult] = ??? - override def describeStackResourceAsync(describeStackResourceRequest: DescribeStackResourceRequest) = ??? + override def listChangeSetsAsync(listChangeSetsRequest: ListChangeSetsRequest): Future[ListChangeSetsResult] = ??? - override def describeStackResourceAsync(describeStackResourceRequest: DescribeStackResourceRequest, - asyncHandler: AsyncHandler[DescribeStackResourceRequest, DescribeStackResourceResult]) = ??? + override def listChangeSetsAsync(listChangeSetsRequest: ListChangeSetsRequest, asyncHandler: AsyncHandler[ListChangeSetsRequest, ListChangeSetsResult]): Future[ListChangeSetsResult] = ??? - override def describeStackResourcesAsync(describeStackResourcesRequest: DescribeStackResourcesRequest) = ??? + override def listExportsAsync(listExportsRequest: ListExportsRequest): Future[ListExportsResult] = ??? - override def describeStackResourcesAsync(describeStackResourcesRequest: DescribeStackResourcesRequest, - asyncHandler: AsyncHandler[DescribeStackResourcesRequest, DescribeStackResourcesResult]) = ??? + override def listExportsAsync(listExportsRequest: ListExportsRequest, asyncHandler: AsyncHandler[ListExportsRequest, ListExportsResult]): Future[ListExportsResult] = ??? - override def describeStackSetAsync(describeStackSetRequest: DescribeStackSetRequest) = ??? + override def listImportsAsync(listImportsRequest: ListImportsRequest): Future[ListImportsResult] = ??? - override def describeStackSetAsync(describeStackSetRequest: DescribeStackSetRequest, asyncHandler: AsyncHandler[DescribeStackSetRequest, DescribeStackSetResult]) = ??? + override def listImportsAsync(listImportsRequest: ListImportsRequest, asyncHandler: AsyncHandler[ListImportsRequest, ListImportsResult]): Future[ListImportsResult] = ??? - override def describeStackSetOperationAsync(describeStackSetOperationRequest: DescribeStackSetOperationRequest) = ??? + override def listStackInstancesAsync(listStackInstancesRequest: ListStackInstancesRequest): Future[ListStackInstancesResult] = ??? - override def describeStackSetOperationAsync(describeStackSetOperationRequest: DescribeStackSetOperationRequest, - asyncHandler: AsyncHandler[DescribeStackSetOperationRequest, DescribeStackSetOperationResult]) = ??? + override def listStackInstancesAsync(listStackInstancesRequest: ListStackInstancesRequest, asyncHandler: AsyncHandler[ListStackInstancesRequest, ListStackInstancesResult]): Future[ListStackInstancesResult] = ??? - override def describeStacksAsync(describeStacksRequest: DescribeStacksRequest) = ??? + override def listStackResourcesAsync(listStackResourcesRequest: ListStackResourcesRequest): Future[ListStackResourcesResult] = ??? - override def describeStacksAsync(describeStacksRequest: DescribeStacksRequest, asyncHandler: AsyncHandler[DescribeStacksRequest, DescribeStacksResult]) = ??? + override def listStackResourcesAsync(listStackResourcesRequest: ListStackResourcesRequest, asyncHandler: AsyncHandler[ListStackResourcesRequest, ListStackResourcesResult]): Future[ListStackResourcesResult] = ??? - override def describeStacksAsync() = ??? + override def listStackSetOperationResultsAsync(listStackSetOperationResultsRequest: ListStackSetOperationResultsRequest): Future[ListStackSetOperationResultsResult] = ??? - override def describeStacksAsync(asyncHandler: AsyncHandler[DescribeStacksRequest, DescribeStacksResult]) = ??? + override def listStackSetOperationResultsAsync(listStackSetOperationResultsRequest: ListStackSetOperationResultsRequest, asyncHandler: AsyncHandler[ListStackSetOperationResultsRequest, ListStackSetOperationResultsResult]): Future[ListStackSetOperationResultsResult] = ??? - override def estimateTemplateCostAsync(estimateTemplateCostRequest: EstimateTemplateCostRequest) = ??? + override def listStackSetOperationsAsync(listStackSetOperationsRequest: ListStackSetOperationsRequest): Future[ListStackSetOperationsResult] = ??? - override def estimateTemplateCostAsync(estimateTemplateCostRequest: EstimateTemplateCostRequest, - asyncHandler: AsyncHandler[EstimateTemplateCostRequest, EstimateTemplateCostResult]) = ??? + override def listStackSetOperationsAsync(listStackSetOperationsRequest: ListStackSetOperationsRequest, asyncHandler: AsyncHandler[ListStackSetOperationsRequest, ListStackSetOperationsResult]): Future[ListStackSetOperationsResult] = ??? - override def estimateTemplateCostAsync() = ??? + override def listStackSetsAsync(listStackSetsRequest: ListStackSetsRequest): Future[ListStackSetsResult] = ??? - override def estimateTemplateCostAsync(asyncHandler: AsyncHandler[EstimateTemplateCostRequest, EstimateTemplateCostResult]) = ??? + override def listStackSetsAsync(listStackSetsRequest: ListStackSetsRequest, asyncHandler: AsyncHandler[ListStackSetsRequest, ListStackSetsResult]): Future[ListStackSetsResult] = ??? - override def executeChangeSetAsync(executeChangeSetRequest: ExecuteChangeSetRequest) = ??? + override def listStacksAsync(listStacksRequest: ListStacksRequest): Future[ListStacksResult] = ??? - override def executeChangeSetAsync(executeChangeSetRequest: ExecuteChangeSetRequest, asyncHandler: AsyncHandler[ExecuteChangeSetRequest, ExecuteChangeSetResult]) = ??? + override def listStacksAsync(listStacksRequest: ListStacksRequest, asyncHandler: AsyncHandler[ListStacksRequest, ListStacksResult]): Future[ListStacksResult] = ??? - override def getStackPolicyAsync(getStackPolicyRequest: GetStackPolicyRequest) = ??? + override def listStacksAsync(): Future[ListStacksResult] = ??? - override def getStackPolicyAsync(getStackPolicyRequest: GetStackPolicyRequest, asyncHandler: AsyncHandler[GetStackPolicyRequest, GetStackPolicyResult]) = ??? + override def listStacksAsync(asyncHandler: AsyncHandler[ListStacksRequest, ListStacksResult]): Future[ListStacksResult] = ??? - override def getTemplateAsync(getTemplateRequest: GetTemplateRequest) = ??? + override def listTypeRegistrationsAsync(listTypeRegistrationsRequest: ListTypeRegistrationsRequest): Future[ListTypeRegistrationsResult] = ??? - override def getTemplateAsync(getTemplateRequest: GetTemplateRequest, asyncHandler: AsyncHandler[GetTemplateRequest, GetTemplateResult]) = ??? + override def listTypeRegistrationsAsync(listTypeRegistrationsRequest: ListTypeRegistrationsRequest, asyncHandler: AsyncHandler[ListTypeRegistrationsRequest, ListTypeRegistrationsResult]): Future[ListTypeRegistrationsResult] = ??? - override def getTemplateSummaryAsync(getTemplateSummaryRequest: GetTemplateSummaryRequest) = ??? + override def listTypeVersionsAsync(listTypeVersionsRequest: ListTypeVersionsRequest): Future[ListTypeVersionsResult] = ??? - override def getTemplateSummaryAsync(getTemplateSummaryRequest: GetTemplateSummaryRequest, asyncHandler: AsyncHandler[GetTemplateSummaryRequest, GetTemplateSummaryResult]) = ??? + override def listTypeVersionsAsync(listTypeVersionsRequest: ListTypeVersionsRequest, asyncHandler: AsyncHandler[ListTypeVersionsRequest, ListTypeVersionsResult]): Future[ListTypeVersionsResult] = ??? - override def getTemplateSummaryAsync = ??? + override def listTypesAsync(listTypesRequest: ListTypesRequest): Future[ListTypesResult] = ??? - override def getTemplateSummaryAsync(asyncHandler: AsyncHandler[GetTemplateSummaryRequest, GetTemplateSummaryResult]) = ??? + override def listTypesAsync(listTypesRequest: ListTypesRequest, asyncHandler: AsyncHandler[ListTypesRequest, ListTypesResult]): Future[ListTypesResult] = ??? - override def listChangeSetsAsync(listChangeSetsRequest: ListChangeSetsRequest) = ??? + override def recordHandlerProgressAsync(recordHandlerProgressRequest: RecordHandlerProgressRequest): Future[RecordHandlerProgressResult] = ??? - override def listChangeSetsAsync(listChangeSetsRequest: ListChangeSetsRequest, asyncHandler: AsyncHandler[ListChangeSetsRequest, ListChangeSetsResult]) = ??? + override def recordHandlerProgressAsync(recordHandlerProgressRequest: RecordHandlerProgressRequest, asyncHandler: AsyncHandler[RecordHandlerProgressRequest, RecordHandlerProgressResult]): Future[RecordHandlerProgressResult] = ??? - override def listExportsAsync(listExportsRequest: ListExportsRequest) = ??? + override def registerTypeAsync(registerTypeRequest: RegisterTypeRequest): Future[RegisterTypeResult] = ??? - override def listExportsAsync(listExportsRequest: ListExportsRequest, asyncHandler: AsyncHandler[ListExportsRequest, ListExportsResult]) = ??? + override def registerTypeAsync(registerTypeRequest: RegisterTypeRequest, asyncHandler: AsyncHandler[RegisterTypeRequest, RegisterTypeResult]): Future[RegisterTypeResult] = ??? - override def listImportsAsync(listImportsRequest: ListImportsRequest) = ??? + override def setStackPolicyAsync(setStackPolicyRequest: SetStackPolicyRequest): Future[SetStackPolicyResult] = ??? - override def listImportsAsync(listImportsRequest: ListImportsRequest, asyncHandler: AsyncHandler[ListImportsRequest, ListImportsResult]) = ??? + override def setStackPolicyAsync(setStackPolicyRequest: SetStackPolicyRequest, asyncHandler: AsyncHandler[SetStackPolicyRequest, SetStackPolicyResult]): Future[SetStackPolicyResult] = ??? - override def listStackInstancesAsync(listStackInstancesRequest: ListStackInstancesRequest) = ??? + override def setTypeDefaultVersionAsync(setTypeDefaultVersionRequest: SetTypeDefaultVersionRequest): Future[SetTypeDefaultVersionResult] = ??? - override def listStackInstancesAsync(listStackInstancesRequest: ListStackInstancesRequest, asyncHandler: AsyncHandler[ListStackInstancesRequest, ListStackInstancesResult]) = ??? + override def setTypeDefaultVersionAsync(setTypeDefaultVersionRequest: SetTypeDefaultVersionRequest, asyncHandler: AsyncHandler[SetTypeDefaultVersionRequest, SetTypeDefaultVersionResult]): Future[SetTypeDefaultVersionResult] = ??? - override def listStackResourcesAsync(listStackResourcesRequest: ListStackResourcesRequest) = ??? + override def signalResourceAsync(signalResourceRequest: SignalResourceRequest): Future[SignalResourceResult] = ??? - override def listStackResourcesAsync(listStackResourcesRequest: ListStackResourcesRequest, asyncHandler: AsyncHandler[ListStackResourcesRequest, ListStackResourcesResult]) = ??? + override def signalResourceAsync(signalResourceRequest: SignalResourceRequest, asyncHandler: AsyncHandler[SignalResourceRequest, SignalResourceResult]): Future[SignalResourceResult] = ??? - override def listStackSetOperationResultsAsync(listStackSetOperationResultsRequest: ListStackSetOperationResultsRequest) = ??? + override def stopStackSetOperationAsync(stopStackSetOperationRequest: StopStackSetOperationRequest): Future[StopStackSetOperationResult] = ??? - override def listStackSetOperationResultsAsync(listStackSetOperationResultsRequest: ListStackSetOperationResultsRequest, - asyncHandler: AsyncHandler[ListStackSetOperationResultsRequest, ListStackSetOperationResultsResult]) = ??? + override def stopStackSetOperationAsync(stopStackSetOperationRequest: StopStackSetOperationRequest, asyncHandler: AsyncHandler[StopStackSetOperationRequest, StopStackSetOperationResult]): Future[StopStackSetOperationResult] = ??? - override def listStackSetOperationsAsync(listStackSetOperationsRequest: ListStackSetOperationsRequest) = ??? + override def updateStackAsync(updateStackRequest: UpdateStackRequest): Future[UpdateStackResult] = ??? - override def listStackSetOperationsAsync(listStackSetOperationsRequest: ListStackSetOperationsRequest, - asyncHandler: AsyncHandler[ListStackSetOperationsRequest, ListStackSetOperationsResult]) = ??? + override def updateStackAsync(updateStackRequest: UpdateStackRequest, asyncHandler: AsyncHandler[UpdateStackRequest, UpdateStackResult]): Future[UpdateStackResult] = ??? - override def listStackSetsAsync(listStackSetsRequest: ListStackSetsRequest) = ??? + override def updateStackInstancesAsync(updateStackInstancesRequest: UpdateStackInstancesRequest): Future[UpdateStackInstancesResult] = ??? - override def listStackSetsAsync(listStackSetsRequest: ListStackSetsRequest, asyncHandler: AsyncHandler[ListStackSetsRequest, ListStackSetsResult]) = ??? + override def updateStackInstancesAsync(updateStackInstancesRequest: UpdateStackInstancesRequest, asyncHandler: AsyncHandler[UpdateStackInstancesRequest, UpdateStackInstancesResult]): Future[UpdateStackInstancesResult] = ??? - override def listStacksAsync(listStacksRequest: ListStacksRequest) = ??? + override def updateStackSetAsync(updateStackSetRequest: UpdateStackSetRequest): Future[UpdateStackSetResult] = ??? - override def listStacksAsync(listStacksRequest: ListStacksRequest, asyncHandler: AsyncHandler[ListStacksRequest, ListStacksResult]) = ??? + override def updateStackSetAsync(updateStackSetRequest: UpdateStackSetRequest, asyncHandler: AsyncHandler[UpdateStackSetRequest, UpdateStackSetResult]): Future[UpdateStackSetResult] = ??? - override def listStacksAsync() = ??? + override def updateTerminationProtectionAsync(updateTerminationProtectionRequest: UpdateTerminationProtectionRequest): Future[UpdateTerminationProtectionResult] = ??? - override def listStacksAsync(asyncHandler: AsyncHandler[ListStacksRequest, ListStacksResult]) = ??? + override def updateTerminationProtectionAsync(updateTerminationProtectionRequest: UpdateTerminationProtectionRequest, asyncHandler: AsyncHandler[UpdateTerminationProtectionRequest, UpdateTerminationProtectionResult]): Future[UpdateTerminationProtectionResult] = ??? - override def setStackPolicyAsync(setStackPolicyRequest: SetStackPolicyRequest) = ??? + override def validateTemplateAsync(validateTemplateRequest: ValidateTemplateRequest): Future[ValidateTemplateResult] = ??? - override def setStackPolicyAsync(setStackPolicyRequest: SetStackPolicyRequest, asyncHandler: AsyncHandler[SetStackPolicyRequest, SetStackPolicyResult]) = ??? + override def validateTemplateAsync(validateTemplateRequest: ValidateTemplateRequest, asyncHandler: AsyncHandler[ValidateTemplateRequest, ValidateTemplateResult]): Future[ValidateTemplateResult] = ??? - override def signalResourceAsync(signalResourceRequest: SignalResourceRequest) = ??? + override def setEndpoint(endpoint: String): Unit = ??? - override def signalResourceAsync(signalResourceRequest: SignalResourceRequest, asyncHandler: AsyncHandler[SignalResourceRequest, SignalResourceResult]) = ??? + override def setRegion(region: Region): Unit = ??? - override def stopStackSetOperationAsync(stopStackSetOperationRequest: StopStackSetOperationRequest) = ??? + override def cancelUpdateStack(cancelUpdateStackRequest: CancelUpdateStackRequest): CancelUpdateStackResult = ??? - override def stopStackSetOperationAsync(stopStackSetOperationRequest: StopStackSetOperationRequest, - asyncHandler: AsyncHandler[StopStackSetOperationRequest, StopStackSetOperationResult]) = ??? + override def continueUpdateRollback(continueUpdateRollbackRequest: ContinueUpdateRollbackRequest): ContinueUpdateRollbackResult = ??? - override def updateStackAsync(updateStackRequest: UpdateStackRequest) = ??? + override def createChangeSet(createChangeSetRequest: CreateChangeSetRequest): CreateChangeSetResult = ??? - override def updateStackAsync(updateStackRequest: UpdateStackRequest, asyncHandler: AsyncHandler[UpdateStackRequest, UpdateStackResult]) = ??? + override def createStack(createStackRequest: CreateStackRequest): CreateStackResult = ??? - override def updateStackInstancesAsync(updateStackInstancesRequest: UpdateStackInstancesRequest) = ??? + override def createStackInstances(createStackInstancesRequest: CreateStackInstancesRequest): CreateStackInstancesResult = ??? - override def updateStackInstancesAsync(updateStackInstancesRequest: UpdateStackInstancesRequest, - asyncHandler: AsyncHandler[UpdateStackInstancesRequest, UpdateStackInstancesResult]) = ??? + override def createStackSet(createStackSetRequest: CreateStackSetRequest): CreateStackSetResult = ??? - override def updateStackSetAsync(updateStackSetRequest: UpdateStackSetRequest) = ??? + override def deleteChangeSet(deleteChangeSetRequest: DeleteChangeSetRequest): DeleteChangeSetResult = ??? - override def updateStackSetAsync(updateStackSetRequest: UpdateStackSetRequest, asyncHandler: AsyncHandler[UpdateStackSetRequest, UpdateStackSetResult]) = ??? + override def deleteStack(deleteStackRequest: DeleteStackRequest): DeleteStackResult = ??? - override def updateTerminationProtectionAsync(updateTerminationProtectionRequest: UpdateTerminationProtectionRequest) = ??? + override def deleteStackInstances(deleteStackInstancesRequest: DeleteStackInstancesRequest): DeleteStackInstancesResult = ??? - override def updateTerminationProtectionAsync(updateTerminationProtectionRequest: UpdateTerminationProtectionRequest, - asyncHandler: AsyncHandler[UpdateTerminationProtectionRequest, UpdateTerminationProtectionResult]) = ??? + override def deleteStackSet(deleteStackSetRequest: DeleteStackSetRequest): DeleteStackSetResult = ??? - override def validateTemplateAsync(validateTemplateRequest: ValidateTemplateRequest) = ??? + override def deregisterType(deregisterTypeRequest: DeregisterTypeRequest): DeregisterTypeResult = ??? - override def validateTemplateAsync(validateTemplateRequest: ValidateTemplateRequest, asyncHandler: AsyncHandler[ValidateTemplateRequest, ValidateTemplateResult]) = ??? + override def describeAccountLimits(describeAccountLimitsRequest: DescribeAccountLimitsRequest): DescribeAccountLimitsResult = ??? - override def setEndpoint(endpoint: String) = ??? + override def describeChangeSet(describeChangeSetRequest: DescribeChangeSetRequest): DescribeChangeSetResult = ??? - override def setRegion(region: Region) = ??? + override def describeStackDriftDetectionStatus(describeStackDriftDetectionStatusRequest: DescribeStackDriftDetectionStatusRequest): DescribeStackDriftDetectionStatusResult = ??? - override def cancelUpdateStack(cancelUpdateStackRequest: CancelUpdateStackRequest) = ??? + override def describeStackEvents(describeStackEventsRequest: DescribeStackEventsRequest): DescribeStackEventsResult = ??? - override def continueUpdateRollback(continueUpdateRollbackRequest: ContinueUpdateRollbackRequest) = ??? + override def describeStackInstance(describeStackInstanceRequest: DescribeStackInstanceRequest): DescribeStackInstanceResult = ??? - override def createChangeSet(createChangeSetRequest: CreateChangeSetRequest) = ??? + override def describeStackResource(describeStackResourceRequest: DescribeStackResourceRequest): DescribeStackResourceResult = ??? - override def createStack(createStackRequest: CreateStackRequest) = ??? + override def describeStackResourceDrifts(describeStackResourceDriftsRequest: DescribeStackResourceDriftsRequest): DescribeStackResourceDriftsResult = ??? - override def createStackInstances(createStackInstancesRequest: CreateStackInstancesRequest) = ??? + override def describeStackResources(describeStackResourcesRequest: DescribeStackResourcesRequest): DescribeStackResourcesResult = ??? - override def createStackSet(createStackSetRequest: CreateStackSetRequest) = ??? + override def describeStackSet(describeStackSetRequest: DescribeStackSetRequest): DescribeStackSetResult = ??? - override def deleteChangeSet(deleteChangeSetRequest: DeleteChangeSetRequest) = ??? + override def describeStackSetOperation(describeStackSetOperationRequest: DescribeStackSetOperationRequest): DescribeStackSetOperationResult = ??? - override def deleteStack(deleteStackRequest: DeleteStackRequest) = ??? + override def describeStacks(describeStacksRequest: DescribeStacksRequest): DescribeStacksResult = ??? - override def deleteStackInstances(deleteStackInstancesRequest: DeleteStackInstancesRequest) = ??? + override def describeStacks(): DescribeStacksResult = ??? - override def deleteStackSet(deleteStackSetRequest: DeleteStackSetRequest) = ??? + override def describeType(describeTypeRequest: DescribeTypeRequest): DescribeTypeResult = ??? - override def describeAccountLimits(describeAccountLimitsRequest: DescribeAccountLimitsRequest) = ??? + override def describeTypeRegistration(describeTypeRegistrationRequest: DescribeTypeRegistrationRequest): DescribeTypeRegistrationResult = ??? - override def describeChangeSet(describeChangeSetRequest: DescribeChangeSetRequest) = ??? + override def detectStackDrift(detectStackDriftRequest: DetectStackDriftRequest): DetectStackDriftResult = ??? - override def describeStackEvents(describeStackEventsRequest: DescribeStackEventsRequest) = ??? + override def detectStackResourceDrift(detectStackResourceDriftRequest: DetectStackResourceDriftRequest): DetectStackResourceDriftResult = ??? - override def describeStackInstance(describeStackInstanceRequest: DescribeStackInstanceRequest) = ??? + override def detectStackSetDrift(detectStackSetDriftRequest: DetectStackSetDriftRequest): DetectStackSetDriftResult = ??? - override def describeStackResource(describeStackResourceRequest: DescribeStackResourceRequest) = ??? + override def estimateTemplateCost(estimateTemplateCostRequest: EstimateTemplateCostRequest): EstimateTemplateCostResult = ??? - override def describeStackResources(describeStackResourcesRequest: DescribeStackResourcesRequest) = ??? + override def estimateTemplateCost(): EstimateTemplateCostResult = ??? - override def describeStackSet(describeStackSetRequest: DescribeStackSetRequest) = ??? + override def executeChangeSet(executeChangeSetRequest: ExecuteChangeSetRequest): ExecuteChangeSetResult = ??? - override def describeStackSetOperation(describeStackSetOperationRequest: DescribeStackSetOperationRequest) = ??? + override def getStackPolicy(getStackPolicyRequest: GetStackPolicyRequest): GetStackPolicyResult = ??? - override def describeStacks(describeStacksRequest: DescribeStacksRequest) = ??? + override def getTemplate(getTemplateRequest: GetTemplateRequest): GetTemplateResult = ??? - override def describeStacks() = ??? + override def getTemplateSummary(getTemplateSummaryRequest: GetTemplateSummaryRequest): GetTemplateSummaryResult = ??? - override def estimateTemplateCost(estimateTemplateCostRequest: EstimateTemplateCostRequest) = ??? + override def getTemplateSummary: GetTemplateSummaryResult = ??? - override def estimateTemplateCost() = ??? + override def listChangeSets(listChangeSetsRequest: ListChangeSetsRequest): ListChangeSetsResult = ??? - override def executeChangeSet(executeChangeSetRequest: ExecuteChangeSetRequest) = ??? + override def listExports(listExportsRequest: ListExportsRequest): ListExportsResult = ??? - override def getStackPolicy(getStackPolicyRequest: GetStackPolicyRequest) = ??? + override def listImports(listImportsRequest: ListImportsRequest): ListImportsResult = ??? - override def getTemplate(getTemplateRequest: GetTemplateRequest) = ??? + override def listStackInstances(listStackInstancesRequest: ListStackInstancesRequest): ListStackInstancesResult = ??? - override def getTemplateSummary(getTemplateSummaryRequest: GetTemplateSummaryRequest) = ??? + override def listStackResources(listStackResourcesRequest: ListStackResourcesRequest): ListStackResourcesResult = ??? - override def getTemplateSummary = ??? + override def listStackSetOperationResults(listStackSetOperationResultsRequest: ListStackSetOperationResultsRequest): ListStackSetOperationResultsResult = ??? - override def listChangeSets(listChangeSetsRequest: ListChangeSetsRequest) = ??? + override def listStackSetOperations(listStackSetOperationsRequest: ListStackSetOperationsRequest): ListStackSetOperationsResult = ??? - override def listExports(listExportsRequest: ListExportsRequest) = ??? + override def listStackSets(listStackSetsRequest: ListStackSetsRequest): ListStackSetsResult = ??? - override def listImports(listImportsRequest: ListImportsRequest) = ??? + override def listStacks(listStacksRequest: ListStacksRequest): ListStacksResult = ??? - override def listStackInstances(listStackInstancesRequest: ListStackInstancesRequest) = ??? + override def listStacks(): ListStacksResult = ??? - override def listStackResources(listStackResourcesRequest: ListStackResourcesRequest) = ??? + override def listTypeRegistrations(listTypeRegistrationsRequest: ListTypeRegistrationsRequest): ListTypeRegistrationsResult = ??? - override def listStackSetOperationResults(listStackSetOperationResultsRequest: ListStackSetOperationResultsRequest) = ??? + override def listTypeVersions(listTypeVersionsRequest: ListTypeVersionsRequest): ListTypeVersionsResult = ??? - override def listStackSetOperations(listStackSetOperationsRequest: ListStackSetOperationsRequest) = ??? + override def listTypes(listTypesRequest: ListTypesRequest): ListTypesResult = ??? - override def listStackSets(listStackSetsRequest: ListStackSetsRequest) = ??? + override def recordHandlerProgress(recordHandlerProgressRequest: RecordHandlerProgressRequest): RecordHandlerProgressResult = ??? - override def listStacks(listStacksRequest: ListStacksRequest) = ??? + override def registerType(registerTypeRequest: RegisterTypeRequest): RegisterTypeResult = ??? - override def listStacks() = ??? + override def setStackPolicy(setStackPolicyRequest: SetStackPolicyRequest): SetStackPolicyResult = ??? - override def setStackPolicy(setStackPolicyRequest: SetStackPolicyRequest) = ??? + override def setTypeDefaultVersion(setTypeDefaultVersionRequest: SetTypeDefaultVersionRequest): SetTypeDefaultVersionResult = ??? - override def signalResource(signalResourceRequest: SignalResourceRequest) = ??? + override def signalResource(signalResourceRequest: SignalResourceRequest): SignalResourceResult = ??? - override def stopStackSetOperation(stopStackSetOperationRequest: StopStackSetOperationRequest) = ??? + override def stopStackSetOperation(stopStackSetOperationRequest: StopStackSetOperationRequest): StopStackSetOperationResult = ??? - override def updateStack(updateStackRequest: UpdateStackRequest) = ??? + override def updateStack(updateStackRequest: UpdateStackRequest): UpdateStackResult = ??? - override def updateStackInstances(updateStackInstancesRequest: UpdateStackInstancesRequest) = ??? + override def updateStackInstances(updateStackInstancesRequest: UpdateStackInstancesRequest): UpdateStackInstancesResult = ??? - override def updateStackSet(updateStackSetRequest: UpdateStackSetRequest) = ??? + override def updateStackSet(updateStackSetRequest: UpdateStackSetRequest): UpdateStackSetResult = ??? - override def updateTerminationProtection(updateTerminationProtectionRequest: UpdateTerminationProtectionRequest) = ??? + override def updateTerminationProtection(updateTerminationProtectionRequest: UpdateTerminationProtectionRequest): UpdateTerminationProtectionResult = ??? - override def validateTemplate(validateTemplateRequest: ValidateTemplateRequest) = ??? + override def validateTemplate(validateTemplateRequest: ValidateTemplateRequest): ValidateTemplateResult = ??? - override def shutdown() = ??? + override def shutdown(): Unit = ??? - override def getCachedResponseMetadata(request: AmazonWebServiceRequest) = ??? + override def getCachedResponseMetadata(request: AmazonWebServiceRequest): ResponseMetadata = ??? - override def waiters() = ??? + override def waiters(): AmazonCloudFormationWaiters = ??? } diff --git a/main/src/test/scala/com/dwolla/fs2aws/cloudformation/AmazonAsyncMockingImplicits.scala b/main/src/test/scala/com/dwolla/fs2aws/cloudformation/AmazonAsyncMockingImplicits.scala index 5fbe9d7c..19d2bdee 100644 --- a/main/src/test/scala/com/dwolla/fs2aws/cloudformation/AmazonAsyncMockingImplicits.scala +++ b/main/src/test/scala/com/dwolla/fs2aws/cloudformation/AmazonAsyncMockingImplicits.scala @@ -43,7 +43,7 @@ object AmazonAsyncMockingImplicits { */ implicit class AmazonAsyncResult[Res](res: Res) { - def completes[Req <: AmazonWebServiceRequest : ClassTag](func: (Req, AsyncHandler[Req, Res]) => JFuture[Res]): Unit = { + def completes[Req <: AmazonWebServiceRequest](func: (Req, AsyncHandler[Req, Res]) => JFuture[Res]): Unit = { when(func(any[Req], any[AsyncHandler[Req, Res]])) thenAnswer ((invocation: InvocationOnMock) => { invocation.getArguments match { @@ -96,4 +96,4 @@ object AmazonAsyncMockingImplicits { implicit def liftExceptionToLeft[Res](ex: Exception): Either[Exception, Res] = Left(ex) implicit def liftResponseToRight[Res](res: Res): Either[Exception, Res] = Right(res) -} \ No newline at end of file +} diff --git a/project/build.properties b/project/build.properties index cb6a5a8a..ddffd371 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version = 1.3.13 +sbt.version = 1.4.9 diff --git a/project/plugins.sbt b/project/plugins.sbt index 81bbc2d5..49562b6e 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,10 +1,10 @@ -addSbtPlugin("org.foundweekends" % "sbt-bintray" % "0.5.5") -addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.11") -addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.1.1") -addSbtPlugin("org.portable-scala" % "sbt-crossproject" % "1.0.0") +addSbtPlugin("com.geirsson" % "sbt-ci-release" % "1.5.5") +addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.5.0") +addSbtPlugin("org.portable-scala" % "sbt-crossproject" % "1.0.0") addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "1.0.0") -addSbtPlugin("com.dwijnand" % "sbt-travisci" % "1.2.0") -addSbtPlugin("io.github.davidgregory084" % "sbt-tpolecat" % "0.1.13") +addSbtPlugin("io.github.davidgregory084" % "sbt-tpolecat" % "0.1.16") +addSbtPlugin("com.codecommit" % "sbt-github-actions" % "0.10.1") +addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "3.9.7") resolvers += Resolver.bintrayRepo("oyvindberg", "converter") -addSbtPlugin("org.scalablytyped.converter" % "sbt-converter" % "1.0.0-beta21") +addSbtPlugin("org.scalablytyped.converter" % "sbt-converter" % "1.0.0-beta30") diff --git a/version.sbt b/version.sbt deleted file mode 100644 index 1fd24c59..00000000 --- a/version.sbt +++ /dev/null @@ -1 +0,0 @@ -version in ThisBuild := "2.0.0-M11-SNAPSHOT"