@@ -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+
237241def 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
294298def 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