-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathbuild.sbt
111 lines (86 loc) · 3.23 KB
/
build.sbt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
import sbt.Keys._
name := "Disentangle"
//organization in ThisBuild := "net.walend.disentangle"
organization in ThisBuild := "net.walend.disentangle"
// Project version. Only release version (w/o SNAPSHOT suffix) can be promoted.
version := "0.2.3-SNAPSHOT"
isSnapshot := true
scalaVersion in ThisBuild := "2.12.6"
scalacOptions in ThisBuild ++= Seq("-unchecked", "-deprecation","-feature")
sbtVersion := "1.1.6"
lazy val root: Project = Project(
id = "root",
base = file(".")
).aggregate(graphCross,toScalaGraph,benchmark,examples)
.settings(
packagedArtifacts := Map.empty // prevent publishing superproject artifacts
)
//.settings(unidocSettings: _*)
lazy val graphCross = project.in(file("graph")).
aggregate(graphJS, graphJVM).
settings(
publish := {},
publishLocal := {}
)
lazy val graph = crossProject.in(file("graph")).
settings(
name := "graph"
).
jvmSettings(
libraryDependencies ++= Seq(
"org.scalatest" %% "scalatest" % "3.0.5" % "test",
"net.sf.jung" % "jung-graph-impl" % "2.0.1" % "test", //for timing comparisons
"net.sf.jung" % "jung-algorithms" % "2.0.1" % "test" //for timing comparisons
)
).
jsSettings(
// Add JS-specific settings here
)
lazy val graphJVM = graph.jvm
lazy val graphJS = graph.js
lazy val toScalaGraph = project.dependsOn(graphJVM)
lazy val benchmark = project.dependsOn(graphJVM,toScalaGraph % "test->test;compile->compile") //todo remove dependency on toScalaGraph
lazy val examples = project.dependsOn(graphJVM % "test->test;compile->compile").enablePlugins(TutPlugin)
//git.remoteRepo := "[email protected]:dwalend/disentangle.git"
//tod why didn't this work?
//credentials += Credentials(Path.userHome / ".sbt" / "1.0" / "sonatype.sbt")
credentials += Credentials("Sonatype Nexus Repository Manager",
"oss.sonatype.org",
"dwalend",
"changeme")
publishMavenStyle := true
publishTo in ThisBuild := {
val nexus = "https://oss.sonatype.org/"
if (isSnapshot.value)
Some("snapshots" at nexus + "content/repositories/snapshots")
else
Some("releases" at nexus + "service/local/staging/deploy/maven2")
}
publishArtifact in Test := false
//pomIncludeRepository := { _ => false } //only needed if there are dependencies outside Sonatype Nexus
// Your profile name of the sonatype account. The default is the same with the organization value
sonatypeProfileName in ThisBuild := "net.walend"
pomIncludeRepository := { _ => false }
homepage := Some(url("https://github.com/dwalend/disentangler"))
// To sync with Maven central, you need to supply the following information:
pomExtra in Global := {
<url>https://github.com/dwalend/Disentangle</url>
<licenses>
<license>
<name>MIT License</name>
<url>http://www.opensource.org/licenses/mit-license.php</url>
</license>
</licenses>
<scm>
<connection>scm:git:github.com:dwalend/Disentangle.git</connection>
<url>github.com/dwalend/Disentangle.git</url>
<developerConnection>scm:git:[email protected]:dwalend/Disentangle.git</developerConnection>
</scm>
<developers>
<developer>
<id>dwalend</id>
<name>David Walend</name>
<url>https://github.com/dwalend</url>
</developer>
</developers>
}