From b5a689054dba11c8d48237042a185e3d545c80b6 Mon Sep 17 00:00:00 2001 From: Jakob Odersky Date: Wed, 6 Jun 2018 01:38:28 -0700 Subject: Add tests --- src/sbt-test/sbt-gpg/simple/build.sbt | 34 ++++++++++++++++++++++ .../sbt-gpg/simple/project/build.properties | 1 + src/sbt-test/sbt-gpg/simple/project/plugins.sbt | 5 ++++ src/sbt-test/sbt-gpg/simple/snakeoil.asc | 10 +++++++ .../sbt-gpg/simple/src/main/scala/main.scala | 4 +++ src/sbt-test/sbt-gpg/simple/test | 1 + 6 files changed, 55 insertions(+) create mode 100644 src/sbt-test/sbt-gpg/simple/build.sbt create mode 100644 src/sbt-test/sbt-gpg/simple/project/build.properties create mode 100644 src/sbt-test/sbt-gpg/simple/project/plugins.sbt create mode 100644 src/sbt-test/sbt-gpg/simple/snakeoil.asc create mode 100644 src/sbt-test/sbt-gpg/simple/src/main/scala/main.scala create mode 100644 src/sbt-test/sbt-gpg/simple/test (limited to 'src/sbt-test') diff --git a/src/sbt-test/sbt-gpg/simple/build.sbt b/src/sbt-test/sbt-gpg/simple/build.sbt new file mode 100644 index 0000000..124217c --- /dev/null +++ b/src/sbt-test/sbt-gpg/simple/build.sbt @@ -0,0 +1,34 @@ +import sbt.librarymanagement.Artifact +import sys.process._ + +lazy val root = project + .in(file(".")) + .settings( + credentials += { + "gpg --import snakeoil.asc".!! + Credentials( + "GnuPG Key ID", + "gpg", + "AF19 CAC5 0D55 E6AE E0D1 F28E F05C 07EE CC58 F7C3", + "ignored" + ) + } + ) + .settings( + TaskKey[Unit]("check") := { + val artifacts: Map[Artifact, java.io.File] = + packagedArtifacts.value + + // check that every artifact is signed and that the actual signature file + // exists + artifacts.foreach{ case (art, file) => + if (art.extension.endsWith(".asc")) { + file.exists || sys.error(s"Signature file $file does not exist") + } else { + artifacts.contains(art.withExtension(art.extension + ".asc")) || + sys.error(s"Found unsigned artifact: $art ($file)") + } + } + () + } + ) diff --git a/src/sbt-test/sbt-gpg/simple/project/build.properties b/src/sbt-test/sbt-gpg/simple/project/build.properties new file mode 100644 index 0000000..d6e3507 --- /dev/null +++ b/src/sbt-test/sbt-gpg/simple/project/build.properties @@ -0,0 +1 @@ +sbt.version=1.1.6 diff --git a/src/sbt-test/sbt-gpg/simple/project/plugins.sbt b/src/sbt-test/sbt-gpg/simple/project/plugins.sbt new file mode 100644 index 0000000..9189b14 --- /dev/null +++ b/src/sbt-test/sbt-gpg/simple/project/plugins.sbt @@ -0,0 +1,5 @@ +sys.props.get("plugin.version") match { + case Some(v) => addSbtPlugin("io.crashbox" % "sbt-gpg" % v) + case _ => sys.error("""|The system property 'plugin.version' is not defined. + |Specify this property using the scriptedLaunchOpts -D.""".stripMargin) +} diff --git a/src/sbt-test/sbt-gpg/simple/snakeoil.asc b/src/sbt-test/sbt-gpg/simple/snakeoil.asc new file mode 100644 index 0000000..63c8b6c --- /dev/null +++ b/src/sbt-test/sbt-gpg/simple/snakeoil.asc @@ -0,0 +1,10 @@ +-----BEGIN PGP PRIVATE KEY BLOCK----- + +lHcEWxeZrxMIKoZIzj0DAQcCAwRA9vfhxcWelB6JE/5f6oN9Hg4cd4T5D4Db2qzV +lGjp1zwdNIZl7k0Rx5q8g9htiqMwaXEItTrdkon0SCBDKcSLAAD+PVWeC91kNMba +hyDE6Uc2+SwaakJA9+nSAn6bF2+pdP0Qt7QQc2J0LWdwZyBzbmFrZW9pbIiQBBMT +CgA4FiEErxnKxQ1V5q7g0fKO8FwH7sxY98MFAlsXma8CGwMFCwkIBwMFFQoJCAsF +FgIDAQACHgECF4AACgkQ8FwH7sxY98OMtgD+NSSsPl4+AnRIgbfSdKPQNL3Gnq02 +6NNUtIba+/BxSJ0BANKPyV49t8yRo6CpR6Hnt9PGoY1IbkbR9MW8I5Cndeps +=VHhU +-----END PGP PRIVATE KEY BLOCK----- diff --git a/src/sbt-test/sbt-gpg/simple/src/main/scala/main.scala b/src/sbt-test/sbt-gpg/simple/src/main/scala/main.scala new file mode 100644 index 0000000..26030eb --- /dev/null +++ b/src/sbt-test/sbt-gpg/simple/src/main/scala/main.scala @@ -0,0 +1,4 @@ +object Main extends App { + println("Hello world!") +} + diff --git a/src/sbt-test/sbt-gpg/simple/test b/src/sbt-test/sbt-gpg/simple/test new file mode 100644 index 0000000..15675b1 --- /dev/null +++ b/src/sbt-test/sbt-gpg/simple/test @@ -0,0 +1 @@ +> check -- cgit v1.2.3