import sbt._ /* import StatusPlugin.autoImport._ import com.typesafe.sbt.site.SitePlugin.autoImport._ import com.typesafe.sbt.site.SiteScaladocPlugin.autoImport._ import com.typesafe.sbt.sbtghpages.GhpagesPlugin.autoImport._ import com.typesafe.sbt.SbtGit, SbtGit.{ git, GitKeys } import Sxr.{ sxr, SxrConf } */ object Docs { def settings: Seq[Setting[_]] = Nil /* val siteExcludes = Set(".buildinfo", "objects.inv") def siteInclude(f: File) = !siteExcludes.contains(f.getName) def settings: Seq[Setting[_]] = Def settings ( siteSubdirName in SiteScaladoc := "api", siteIncludeSxr("sxr"), ghPagesSettings ) def ghPagesSettings = Def settings ( git.remoteRepo := "git@github.com:sbt/sbt.github.com.git", localRepoDirectory, ghpagesSynchLocal := synchLocalImpl.value, ghpagesBranch := "master" ) def localRepoDirectory = ghpagesRepository := { // distinguish between building to update the site or not so that CI jobs // that don't commit+publish don't leave uncommitted changes in the working directory val status = if (isSnapshot.value) "snapshot" else "public" Path.userHome / ".sbt" / "ghpages" / status / organization.value / name.value } def siteIncludeSxr(prefix: String) = Def settings ( mappings in sxr := Path.allSubpaths(sxr.value).toSeq, siteSubdirName in SxrConf := prefix, addMappingsToSiteDir(mappings in sxr, siteSubdirName in SxrConf) ) def synchLocalImpl = Def task { val repo = ghpagesUpdatedRepository.value val versioned = repo / version.value IO.delete(versioned / "sxr") IO.delete(versioned / "api") val mappings = ghpagesPrivateMappings.value val toCopy = for ((file, target) <- mappings if siteInclude(file)) yield (file, versioned / target) IO.copy(toCopy) repo } */ }