From 2ef7e7a69904367fdaab7196463a5e291cb3e49e Mon Sep 17 00:00:00 2001 From: Roland Date: Fri, 27 Jul 2012 16:42:59 +0200 Subject: [PATCH] restrict Sphinx tasks to akka-docs cage --- project/AkkaBuild.scala | 16 ++++++---------- project/Release.scala | 5 ++++- project/Sphinx.scala | 11 +++++++---- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/project/AkkaBuild.scala b/project/AkkaBuild.scala index d015ab312d..d2eb7a73f5 100644 --- a/project/AkkaBuild.scala +++ b/project/AkkaBuild.scala @@ -15,7 +15,7 @@ import com.typesafe.tools.mima.plugin.MimaPlugin.mimaDefaultSettings import com.typesafe.tools.mima.plugin.MimaKeys.previousArtifact import java.lang.Boolean.getBoolean import sbt.Tests -import Sphinx.{ sphinxDocs, sphinxHtml, sphinxLatex, sphinxPdf, sphinxPygments, sphinxTags } +import Sphinx.{ sphinxDocs, sphinxTags } object AkkaBuild extends Build { System.setProperty("akka.mode", "test") // Is there better place for this? @@ -36,7 +36,7 @@ object AkkaBuild extends Build { lazy val akka = Project( id = "akka", base = file("."), - settings = parentSettings ++ Release.settings ++ Unidoc.settings ++ Sphinx.settings ++ Publish.versionSettings ++ + settings = parentSettings ++ Release.settings ++ Unidoc.settings ++ Publish.versionSettings ++ Dist.settings ++ mimaSettings ++ Seq( testMailbox in GlobalScope := System.getProperty("akka.testMailbox", "false").toBoolean, parallelExecution in GlobalScope := System.getProperty("akka.parallelExecution", "false").toBoolean, @@ -57,13 +57,7 @@ object AkkaBuild extends Build { |implicit def ec = system.dispatcher |implicit val timeout = Timeout(5 seconds) |""".stripMargin, - initialCommands in Test in ThisBuild += "import akka.testkit._", - // online version of docs - sphinxDocs <<= baseDirectory / "akka-docs", - sphinxTags in sphinxHtml += "online", - sphinxPygments <<= sphinxPygments in LocalProject(docs.id), - sphinxLatex <<= sphinxLatex in LocalProject(docs.id), - sphinxPdf <<= sphinxPdf in LocalProject(docs.id) + initialCommands in Test in ThisBuild += "import akka.testkit._" ), aggregate = Seq(actor, testkit, actorTests, remote, remoteTests, camel, cluster, slf4j, agent, transactor, mailboxes, zeroMQ, kernel, /*akkaSbtPlugin,*/ samples, tutorials, osgi, osgiAries, docs) ) @@ -326,7 +320,9 @@ object AkkaBuild extends Build { unmanagedSourceDirectories in Test <<= baseDirectory { _ ** "code" get }, libraryDependencies ++= Dependencies.docs, unmanagedSourceDirectories in ScalariformKeys.format in Test <<= unmanagedSourceDirectories in Test, - testOptions += Tests.Argument(TestFrameworks.JUnit, "-v") + testOptions += Tests.Argument(TestFrameworks.JUnit, "-v"), + // online version of docs + sphinxTags in Sphinx.Html += "online" ) ) diff --git a/project/Release.scala b/project/Release.scala index d43766efc2..2d952b21e2 100644 --- a/project/Release.scala +++ b/project/Release.scala @@ -23,7 +23,7 @@ object Release { val repo = extracted.get(Publish.defaultPublishTo) val state1 = extracted.runAggregated(publish in projectRef, state) val (state2, api) = extracted.runTask(Unidoc.unidoc, state1) - val (state3, docs) = extracted.runTask(Sphinx.sphinx, state2) + val (state3, docs) = extracted.runTask(Sphinx.sphinx in docsProject, state2) val (state4, dist) = extracted.runTask(Dist.dist, state3) IO.delete(release) IO.createDirectory(release) @@ -33,4 +33,7 @@ object Release { IO.copyFile(dist, release / "downloads" / dist.name) state4 } + + def docsProject: ProjectReference = LocalProject(AkkaBuild.docs.id) + } diff --git a/project/Sphinx.scala b/project/Sphinx.scala index 6acb5b3234..9fb74913ba 100644 --- a/project/Sphinx.scala +++ b/project/Sphinx.scala @@ -23,15 +23,18 @@ object Sphinx { sphinxDocs <<= baseDirectory, sphinxTarget <<= crossTarget / "sphinx", sphinxPygmentsDir <<= sphinxDocs { _ / "_sphinx" / "pygments" }, - sphinxTags in sphinxHtml := Seq.empty, - sphinxTags in sphinxLatex := Seq.empty, + sphinxTags in Html := Seq.empty, + sphinxTags in Latex := Seq.empty, sphinxPygments <<= pygmentsTask, - sphinxHtml <<= buildTask("html", sphinxTags in sphinxHtml), - sphinxLatex <<= buildTask("latex", sphinxTags in sphinxLatex), + sphinxHtml <<= buildTask("html", sphinxTags in Html), + sphinxLatex <<= buildTask("latex", sphinxTags in Latex), sphinxPdf <<= pdfTask, sphinx <<= sphinxTask ) + lazy val Latex = Configuration("sphinx-latex", "tags for LaTeX version of docs", true, Nil, false) + lazy val Html = Configuration("sphinx-html", "tags for HTML version of docs", true, Nil, false) + def pygmentsTask = (sphinxDocs, sphinxPygmentsDir, sphinxTarget, streams) map { (cwd, pygments, baseTarget, s) => { val target = baseTarget / "site-packages"