diff --git a/project/Release.scala b/project/Release.scala index 697fbb39e6..d829431d20 100644 --- a/project/Release.scala +++ b/project/Release.scala @@ -4,6 +4,7 @@ import sbt._ import sbt.Keys._ import java.io.File import com.typesafe.sbt.site.SphinxSupport.{ generate, Sphinx } +import com.typesafe.sbt.pgp.PgpKeys.publishSigned object Release { val releaseDirectory = SettingKey[File]("release-directory") @@ -22,7 +23,7 @@ object Release { val releaseVersion = extracted.get(version) val projectRef = extracted.get(thisProjectRef) val repo = extracted.get(Publish.defaultPublishTo) - val state1 = extracted.runAggregated(publish in projectRef, state) + val state1 = extracted.runAggregated(publishSigned in projectRef, state) val (state2, (api, japi)) = extracted.runTask(Unidoc.unidoc, state1) val (state3, docs) = extracted.runTask(generate in Sphinx, state2) val (state4, dist) = extracted.runTask(Dist.dist, state3) diff --git a/project/plugins.sbt b/project/plugins.sbt index ead12a47f3..d51b2bc93d 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -17,3 +17,5 @@ addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "0.1.3") addSbtPlugin("me.lessis" % "ls-sbt" % "0.1.2") addSbtPlugin("com.github.sbt" %% "sbt-scalabuff" % "0.2") + +addSbtPlugin("com.typesafe.sbt" % "sbt-pgp" % "0.8") diff --git a/project/scripts/find-replace b/project/scripts/find-replace index d1a309330e..def19002e8 100755 --- a/project/scripts/find-replace +++ b/project/scripts/find-replace @@ -65,7 +65,7 @@ for file in $files; do # escape / for sed sedfind=$(echo $find_expr | sed 's/\//\\\//g') sedreplace=$(echo $replace_expr | sed 's/\//\\\//g') - sed -i '.sed' "s/${sedfind}/${sedreplace}/g" $file + sed -i.sed "s/${sedfind}/${sedreplace}/g" $file eval "$simple_diff $file.sed $file" rm -f $file.sed done diff --git a/project/scripts/release b/project/scripts/release index 8ba071196f..31714aace4 100755 --- a/project/scripts/release +++ b/project/scripts/release @@ -15,22 +15,20 @@ # Make sure to use the email address that you will use later to register # with Sonatype. # -# 1.2) Install the sbt-pgp plugin from http://www.scala-sbt.org/sbt-pgp/ -# The plugin will try to use the default key stored in ~/.gnupg/pubring.gpg -# and ~/.gnupg/secring.gpg. -# -# 1.3) Check that signing works +# 1.2) Check that signing works # From inside sbt do the following -# sbt> publish-local +# sbt> publish-local-signed # It should should ask you for your pass phrase, and create .asc files for # all artifacts # -# 1.4) Publish your key to a server that Sonatype use +# 1.3) Publish your key to a server that Sonatype use # From the command line: # shell> gpg --keyserver hkp://pool.sks-keyservers.net/ --send-keys # To find out your key id do this from the command line: # shell> gpg --list-keys # pub 2048/ ... +# You can verify the existence of your key here, if you don't trust your tool: +# http://sks-keyservers.net/i/#extract # # 2) You must have publishing rights to oss.sonatype.org # @@ -52,7 +50,11 @@ # # 3) You must have publishing rights to scalasbt.artifactoryonline.com # -# 3.1) Politely ask the Q-branch to create a user for you +# 3.1) Politely ask the maintainers of the community plugins repository +# for credentials here: +# http://groups.google.com/group/sbt-repo-admins?hl=en +# More information about this repository is available here: +# http://www.scala-sbt.org/release/docs/Community/Community-Plugins.html # # 3.2) Add your credentials to sbt by adding this to your global.sbt file # credentials += Credentials("Artifactory Realm",