Merge pull request #2596 from eed3si9n/wip/1.0.0-m1

sbt 1.0.0-M1 publishing related changes
This commit is contained in:
eugene yokota 2016-05-08 18:24:58 -04:00
commit 642b091bf6
8 changed files with 68 additions and 21 deletions

View File

@ -1,11 +1,16 @@
Migration notes
===============
- `project/Build.scala` style based on `sbt.Build` is removed. Migrate to `build.sbt`.
- `Project(...)` constructor is limited to just two parameters.
- Build definition is based on Scala 2.11.8
- Build.scala style builds are gone. Use multi-project `build.sbt`.
- `Project(...)` constructor is restricted down to two parameters. Use `project` instead.
- `sbt.Plugin` is also gone. Use auto plugins.
- The incremental compiler, called Zinc, uses class-based name hashing.
- Zinc drops support for Scala 2.8.x and 2.9.x.
- change import in auto plugin to:
#### Additional import required
```scala
import sbt._, syntax._, Keys._
```
Implicit conversions are moved to `sbt.syntax`. Add the following imports to auto plugins
or `project/*.scala`.
import sbt._, syntax._, Keys._

View File

@ -1,4 +1,4 @@
[Google Code]: http://code.google.com/p/simple-build-tool
[sbt/sbt-zero-seven]: https://github.com/sbt/sbt-zero-seven
[CONTRIBUTING]: CONTRIBUTING.md
[Setup]: http://www.scala-sbt.org/release/docs/Getting-Started/Setup
[FAQ]: http://www.scala-sbt.org/release/docs/Faq.html
@ -6,6 +6,11 @@
[searching]: http://stackoverflow.com/tags/sbt
[asking]: https://stackoverflow.com/questions/ask?tags=sbt
[LICENSE]: LICENSE
[sbt/io]: https://github.com/sbt/io
[sbt/util]: https://github.com/sbt/util
[sbt/librarymanagement]: https://github.com/sbt/librarymanagement
[sbt/zinc]: https://github.com/sbt/zinc
[sbt/sbt]: https://github.com/sbt/sbt
sbt
===
@ -14,21 +19,30 @@ sbt is a build tool for Scala, Java, and more.
For general documentation, see http://www.scala-sbt.org/.
sbt 1.0.x
---------
This is the 1.0.x series of sbt. The source code of sbt is split across
several Github repositories, including this one.
- [sbt/io][sbt/io] hosts `sbt.io` module.
- [sbt/util][sbt/util] hosts a collection of internally used modules.
- [sbt/librarymanagement][sbt/librarymanagement] hosts `sbt.librarymanagement` module that wraps Ivy.
- [sbt/zinc][sbt/zinc] hosts Zinc, an incremental compiler for Scala.
- [sbt/sbt][sbt/sbt], this repository hosts modules that implements the build tool.
### Other links
* [Setup]: Describes getting started with the latest binary release.
* [FAQ]: Explains how to get help and more.
* [sbt/sbt-zero-seven]: hosts sbt 0.7.7 and earlier versions
Issues and Pull Requests
------------------------
Please read [CONTRIBUTING] carefully before opening a GitHub Issue.
The short version: try [searching] or [asking] on StackOverflow and [sbt-dev]. Don't open an Issue.
sbt 1.0.x
--------
This is the 1.0.x series of sbt.
* [Setup]: Describes getting started with the latest binary release.
* [FAQ]: Explains how to get help and more.
* [Google Code]: hosts sbt 0.7.7 and earlier versions
The short version: try [searching] or [asking] on StackOverflow and [sbt-dev].
license
-------

View File

@ -13,7 +13,7 @@ def buildLevelSettings: Seq[Setting[_]] = inThisBuild(Seq(
version := "1.0.0-SNAPSHOT",
bintrayOrganization := Some("sbt"),
bintrayRepository := {
if (isSnapshot.value) "maven-releases"
if (!isSnapshot.value) "maven-releases"
else "maven-snapshots"
},
bintrayPackage := "sbt",
@ -201,6 +201,7 @@ lazy val sbtProj = (project in file("sbt")).
baseSettings,
name := "sbt",
normalizedName := "sbt",
crossScalaVersions := Seq(scala211),
crossPaths := false,
libraryDependencies ++= Seq(compilerBrdige)
)

View File

@ -13,6 +13,8 @@
[repositories]
local
maven-central
sbt-maven-releases: https://repo.scala-sbt.org/scalasbt/maven-releases/, bootOnly
sbt-maven-snapshots: https://repo.scala-sbt.org/scalasbt/maven-snapshots/, bootOnly
typesafe-ivy-releases: https://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly
sbt-ivy-snapshots: https://repo.scala-sbt.org/scalasbt/ivy-snapshots/, [organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly

23
notes/1.0.0-M1.markdown Normal file
View File

@ -0,0 +1,23 @@
This is the first milestone (beta) release of sbt 1.0.
There's no binary compatibility with sbt 0.13 or other future versions.
The biggest change in sbt 1.0 from 0.13 is internal code reorganization to modules
(io, util, librarymanagement, zinc, and sbt), but hopefully this shouldn't affect you much.
In addition, classes and objects related to internal implemetations are moved to `sbt.internal`.
This package indicates that we won't keep binary compatibility for them.
Here are some more relevant changes:
- Build definition is based on Scala 2.11.8
- Build.scala style builds are gone. Use multi-project `build.sbt`.
- `Project(...)` constructor is restricted down to two parameters. Use `project` instead.
- `sbt.Plugin` is also gone. Use auto plugins.
- The incremental compiler, called Zinc, is uses class-based name hashing.
- Zinc drops support for Scala 2.8.x and 2.9.x.
#### Additional import required
Implicit conversions are moved to `sbt.syntax`. Add the following imports to auto plugins
or `project/*.scala`.
import sbt._, syntax._, Keys._

View File

@ -9,7 +9,10 @@ object Release {
lazy val deployLauncher = TaskKey[Unit]("deploy-launcher", "Upload the launcher to its traditional location for compatibility with existing scripts.")
def launcherSettings(launcher: TaskKey[File]): Seq[Setting[_]] = Seq(
launcherRemotePath := s"${organization.value}/${moduleName.value}/${version.value}/${moduleName.value}.jar",
launcherRemotePath := {
val organizationPath = organization.value.replaceAll("""\.""", "/")
s"$organizationPath/${moduleName.value}/${version.value}/${moduleName.value}.jar"
},
deployLauncher := {
val repo = bintrayRepo.value
repo.upload(bintrayPackage.value, version.value, launcherRemotePath.value, launcher.value, sLog.value)

View File

@ -78,7 +78,6 @@ object Util {
def srcID = "compiler-interface-src"
def publishPomSettings: Seq[Setting[_]] = Seq(
publishArtifact in makePom := false,
pomPostProcess := cleanPom _
)
@ -100,7 +99,7 @@ object Util {
def excludePomDependency(node: scala.xml.Node) = node \ "artifactId" exists { n => excludePomArtifact(n.text) }
def excludePomArtifact(artifactId: String) = (artifactId == "compiler-interface") || (artifactId startsWith "precompiled")
def excludePomArtifact(artifactId: String) = (artifactId startsWith "compiler-bridge")
val testExclusive = tags in test += ((ExclusiveTest, 1))