Skip to content

Commit c526ce5

Browse files
committed
SBT 0.13 build for scala-xml
To test using partest, simply run `test` in sbt. Notes: - depends on scala-partest 1.0-RC1, cross-compiled against Scala 2.11.0-M4 - the synthetic fingerprint is required for test-interface
1 parent c5a2ff3 commit c526ce5

File tree

86 files changed

+114
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+114
-0
lines changed

build.sbt

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
organization := "org.scala-lang"
2+
3+
name := "scala-xml"
4+
5+
version := "1.0-RC1"
6+
7+
scalaVersion := "2.11.0-M4"
8+
9+
scalaBinaryVersion := scalaVersion.value
10+
11+
libraryDependencies += "org.apache.ant" % "ant" % "1.8.4"
12+
13+
libraryDependencies += "com.googlecode.java-diff-utils" % "diffutils" % "1.3.0"
14+
15+
libraryDependencies += "org.scala-lang" % "scala-xml" % "2.11.0-M4"
16+
17+
libraryDependencies += "org.scala-lang" % "scalap" % "2.11.0-M4"
18+
19+
libraryDependencies += "org.scalacheck" %% "scalacheck" % "1.10.1"
20+
21+
libraryDependencies += "org.scala-sbt" % "test-interface" % "1.0"
22+
23+
24+
// xml.properties
25+
resourceGenerators in Compile <+= Def.task {
26+
val props = new java.util.Properties
27+
props.put("version.number", version.value)
28+
props.put("scala.version.number", scalaVersion.value)
29+
val file = (resourceManaged in Compile).value / "xml.properties"
30+
IO.write(props, null, file)
31+
Seq(file)
32+
}
33+
34+
mappings in (Compile, packageBin) += {
35+
(baseDirectory.value / "xml.properties") -> "xml.properties"
36+
}
37+
38+
39+
// maven publishing
40+
publishTo := {
41+
val nexus = "https://oss.sonatype.org/"
42+
if (version.value.trim.endsWith("SNAPSHOT"))
43+
Some("snapshots" at nexus + "content/repositories/snapshots")
44+
else
45+
Some("releases" at nexus + "service/local/staging/deploy/maven2")
46+
}
47+
48+
publishMavenStyle := true
49+
50+
publishArtifact in Test := false
51+
52+
pomIncludeRepository := { _ => false }
53+
54+
pomExtra := (
55+
<url>http://www.scala-lang.org/</url>
56+
<inceptionYear>2002</inceptionYear>
57+
<licenses>
58+
<license>
59+
<name>BSD-like</name>
60+
<url>http://www.scala-lang.org/downloads/license.html
61+
</url>
62+
<distribution>repo</distribution>
63+
</license>
64+
</licenses>
65+
<scm>
66+
<connection>scm:git:git://github.com/scala/scala-xml.git</connection>
67+
<url>https://github.com/scala/scala-xml</url>
68+
</scm>
69+
<issueManagement>
70+
<system>JIRA</system>
71+
<url>https://issues.scala-lang.org/</url>
72+
</issueManagement>
73+
<developers>
74+
<developer>
75+
<id>lamp</id>
76+
<name>EPFL LAMP</name>
77+
</developer>
78+
<developer>
79+
<id>Typesafe</id>
80+
<name>Typesafe, Inc.</name>
81+
</developer>
82+
</developers>
83+
)
84+
85+
// for testing with partest
86+
libraryDependencies += "org.scala-lang" %% "scala-partest-interface" % "0.1" % "test"
87+
88+
// the actual partest the interface calls into -- must be binary version close enough to ours
89+
// so that it can link to the compiler/lib we're using (testing)
90+
libraryDependencies += "org.scala-lang" %% "scala-partest" % "1.0-RC1" % "test"
91+
92+
fork in Test := true
93+
94+
javaOptions in Test += "-Xmx1G"
95+
96+
testFrameworks += new TestFramework("scala.tools.partest.Framework")
97+
98+
definedTests in Test += (
99+
new sbt.TestDefinition(
100+
"partest",
101+
// marker fingerprint since there are no test classes
102+
// to be discovered by sbt:
103+
new sbt.testing.AnnotatedFingerprint {
104+
def isModule = true
105+
def annotationName = "partest"
106+
}, true, Array())
107+
)
108+
109+
110+
// TODO: mima
111+
// import com.typesafe.tools.mima.plugin.MimaPlugin.mimaDefaultSettings
112+
// import com.typesafe.tools.mima.plugin.MimaKeys.previousArtifact
113+
// previousArtifact := Some("org.scala-lang" % "partest_2.11.0-M4" % "1.0")

project/build.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
sbt.version=0.13.0-RC5

0 commit comments

Comments
 (0)