Skip to content

Commit d112842

Browse files
committed
Add nativeProject helper to unify settings
1 parent 6533c0f commit d112842

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

build.sbt

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -101,15 +101,12 @@ lazy val tests = project("tests")
101101
)
102102
.aggregate(samples)
103103

104-
lazy val samples = project("samples")
104+
lazy val samples = nativeProject("samples")
105105
.in(file("tests/samples"))
106-
.enablePlugins(ScalaNativePlugin)
107106
.settings(
108107
publish / skip := true,
109-
scalaVersion := Versions.scala211,
110108
libraryDependencies += "com.lihaoyi" %%% "utest" % "0.6.3" % Test,
111109
testFrameworks += new TestFramework("utest.runner.Framework"),
112-
nativeLinkStubs := true,
113110
compileTask("bindgentests", baseDirectory)
114111
)
115112

@@ -141,12 +138,11 @@ lazy val sbtPlugin = project("sbt-scala-native-bindgen", ScriptedPlugin)
141138
publishLocal := publishLocal.dependsOn(tools / publishLocal).value
142139
)
143140

144-
lazy val docs = project("docs")
141+
lazy val docs = nativeProject("docs")
145142
.enablePlugins(GhpagesPlugin, ParadoxSitePlugin, ParadoxMaterialThemePlugin)
146-
.enablePlugins(ScalaNativePlugin, ScalaNativeBindgenPlugin)
143+
.enablePlugins(ScalaNativeBindgenPlugin)
147144
.settings(
148145
publish / skip := true,
149-
scalaVersion := Versions.scala211,
150146
Test / nativeBindings += {
151147
NativeBinding((Test / resourceDirectory).value / "vector.h")
152148
.name("vector")
@@ -158,7 +154,6 @@ lazy val docs = project("docs")
158154
(ThisBuild / baseDirectory).value / "bindgen/target/scala-native-bindgen")
159155
},
160156
Test / nativeBindgen / target := (Test / scalaSource).value / "org/example",
161-
nativeLinkStubs := true,
162157
compileTask("vector", Test / resourceDirectory),
163158
libraryDependencies += "org.scalatest" %%% "scalatest" % "3.2.0-SNAP10" % Test,
164159
Paradox / paradoxProperties ++= Map(
@@ -234,6 +229,15 @@ def project(name: String, plugged: AutoPlugin*) = {
234229
)
235230
}
236231

232+
def nativeProject(name: String) = {
233+
project(name)
234+
.enablePlugins(ScalaNativePlugin)
235+
.settings(
236+
scalaVersion := Versions.scala211,
237+
nativeLinkStubs := true
238+
)
239+
}
240+
237241
def compileTask(libname: String, srcDirTask: SettingKey[File]) = Def.settings(
238242
Test / nativeLinkingOptions += {
239243
Seq("-L", (Test / target).value.getAbsoluteFile / "bindgen").mkString
@@ -292,12 +296,10 @@ lazy val bindingsExtraArgs = Try {
292296
}.toOption
293297

294298
def bindingProject(name: String) = {
295-
project(s"lib$name")
296-
.enablePlugins(ScalaNativePlugin, ScalaNativeBindgenPlugin)
299+
nativeProject(s"lib$name")
300+
.enablePlugins(ScalaNativeBindgenPlugin)
297301
.in(file(s"bindings/$name"))
298302
.settings(
299-
scalaVersion := Versions.scala211,
300-
nativeLinkStubs := true,
301303
libraryDependencies += "org.scalatest" %%% "scalatest" % "3.2.0-SNAP10" % Test,
302304
Compile / nativeBindgen / target :=
303305
(Compile / scalaSource).value / "org/scalanative/bindgen/bindings" / name

0 commit comments

Comments
 (0)