Skip to content

Commit 78ab7c1

Browse files
committed
Use build.sbt to reduce Scala code
1 parent fe287ba commit 78ab7c1

File tree

5 files changed

+122
-157
lines changed

5 files changed

+122
-157
lines changed

build.sbt

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
import de.johoop.findbugs4sbt.ReportType
2+
3+
organization := "org.msgpack"
4+
organizationName := "MessagePack"
5+
organizationHomepage := Some(new
6+
URL("http://msgpack.org/"))
7+
description := "MessagePack for Java"
8+
scalaVersion in Global := "2.11.7"
9+
logBuffered in Test := false
10+
autoScalaLibrary := false
11+
crossPaths := false
12+
13+
// For performance testing, ensure each test run one-by-one
14+
concurrentRestrictions in Global := Seq(
15+
Tags.limit(Tags.Test, 1)
16+
)
17+
18+
incOptions := incOptions.value.withNameHashing(true)
19+
20+
// JVM options for building
21+
scalacOptions ++= Seq("-encoding", "UTF-8", "-deprecation", "-unchecked", "-target:jvm-1.6", "-feature")
22+
23+
javaOptions in Test ++= Seq("-ea")
24+
javacOptions in (Compile, compile) ++= Seq("-encoding", "UTF-8", "-Xlint:unchecked", "-Xlint:deprecation", "-source", "1.6", "-target", "1.6")
25+
26+
// Use lenient validation mode when generating Javadoc (for Java8)
27+
javacOptions in doc := {
28+
val opts = Seq("-source", "1.6")
29+
if (scala.util.Properties.isJavaAtLeast("1.8")) {
30+
opts ++ Seq("-Xdoclint:none")
31+
}
32+
else {
33+
opts
34+
}
35+
}
36+
37+
val junitInterface = "com.novocode" % "junit-interface" % "0.11" % "test"
38+
39+
// Project settings
40+
lazy val root = Project(id = "msgpack-java", base = file("."))
41+
.settings(
42+
// Do not publish the root project
43+
publishArtifact := false,
44+
publish := {},
45+
publishLocal := {},
46+
findbugs := {
47+
// do not run findbugs for the root project
48+
}
49+
).aggregate(msgpackCore, msgpackJackson)
50+
51+
lazy val msgpackCore = Project(id = "msgpack-core", base = file("msgpack-core"))
52+
.settings(
53+
description := "Core library of the MessagePack for Java",
54+
libraryDependencies ++= Seq(
55+
// msgpack-core should have no external dependencies
56+
junitInterface,
57+
"org.scalatest" %% "scalatest" % "2.2.4" % "test",
58+
"org.scalacheck" %% "scalacheck" % "1.12.2" % "test",
59+
"org.xerial" % "xerial-core" % "3.3.6" % "test",
60+
"org.msgpack" % "msgpack" % "0.6.11" % "test",
61+
"commons-codec" % "commons-codec" % "1.10" % "test",
62+
"com.typesafe.akka" %% "akka-actor" % "2.3.9" % "test"
63+
)
64+
)
65+
66+
lazy val msgpackJackson = Project(id = "msgpack-jackson", base = file("msgpack-jackson"))
67+
.settings(
68+
name := "jackson-dataformat-msgpack",
69+
description := "Jackson extension that adds support for MessagePack",
70+
libraryDependencies ++= Seq(
71+
"com.fasterxml.jackson.core" % "jackson-databind" % "2.6.3",
72+
junitInterface,
73+
"org.apache.commons" % "commons-math3" % "3.4.1" % "test"
74+
),
75+
testOptions += Tests.Argument(TestFrameworks.JUnit, "-v")
76+
).dependsOn(msgpackCore)
77+
78+
79+
// Release settings
80+
81+
import sbtrelease.ReleasePlugin.autoImport.ReleaseTransformations._
82+
83+
releaseTagName := {
84+
(version in ThisBuild).value
85+
}
86+
releaseProcess := Seq[ReleaseStep](
87+
checkSnapshotDependencies,
88+
inquireVersions,
89+
runClean,
90+
runTest,
91+
setReleaseVersion,
92+
commitReleaseVersion,
93+
tagRelease,
94+
ReleaseStep(action = Command.process("publishSigned", _)),
95+
setNextVersion,
96+
commitNextVersion,
97+
ReleaseStep(action = Command.process("sonatypeReleaseAll", _)),
98+
pushChanges
99+
)
100+
101+
// Jacoco code coverage report
102+
jacoco.settings
103+
parallelExecution in jacoco.Config := false
104+
105+
// Find bugs
106+
findbugsSettings
107+
findbugsReportType := Some(ReportType.FancyHtml)
108+
findbugsReportPath := Some(crossTarget.value / "findbugs" / "report.html")
109+
110+
// Style check config: (sbt-jchekcstyle)
111+
jcheckStyleConfig := "facebook"
112+
113+
// Run jcheckstyle both for main and test codes
114+
compile <<= (compile in Compile) dependsOn (jcheckStyle in Compile)
115+
compile <<= (compile in Test) dependsOn (jcheckStyle in Test)

msgpack-jackson/src/test/java/org/msgpack/jackson/dataformat/MessagePackParserTest.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -484,8 +484,10 @@ public void testReadPrimitiveObjectViaObjectMapper()
484484
ObjectMapper objectMapper = new ObjectMapper(new MessagePackFactory());
485485
objectMapper.configure(JsonParser.Feature.AUTO_CLOSE_SOURCE, false);
486486
assertEquals("foo", objectMapper.readValue(in, new TypeReference<String>() {}));
487-
assertEquals(Long.MAX_VALUE, objectMapper.readValue(in, new TypeReference<Long>() {}));
488-
assertEquals(3.14, objectMapper.readValue(in, new TypeReference<Double>() {}));
487+
long l = objectMapper.readValue(in, new TypeReference<Long>() {});
488+
assertEquals(Long.MAX_VALUE, l);
489+
double d = objectMapper.readValue(in, new TypeReference<Double>() {});
490+
assertEquals(3.14, d, 0.001);
489491
byte[] bs = objectMapper.readValue(in, new TypeReference<byte[]>() {});
490492
assertEquals(bytes.length, bs.length);
491493
assertEquals(bytes[0], bs[0]);

project/Build.scala

Lines changed: 0 additions & 152 deletions
This file was deleted.

project/build.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
sbt.version=0.13.8
1+
sbt.version=0.13.9
22

project/plugins.sbt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

2-
addSbtPlugin("com.github.gseitz" % "sbt-release" % "0.8.5")
2+
addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.0")
33

4-
addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "0.5.0")
4+
addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "1.0")
55

66
addSbtPlugin("com.jsuereth" % "sbt-pgp" % "1.0.0")
77

0 commit comments

Comments
 (0)