@@ -74,7 +74,9 @@ val root = project("scala-native-bindgen")
74
74
releaseStepCommandAndRemaining(" verify" ),
75
75
setReleaseVersion,
76
76
tagRelease,
77
- releaseStepCommandAndRemaining(" ^publish" ),
77
+ releaseStepCommandAndRemaining(" +bindings/publish" ),
78
+ releaseStepCommandAndRemaining(" +tools/publish" ),
79
+ releaseStepCommandAndRemaining(" ^sbt-scala-native-bindgen/publish" ),
78
80
pushChanges,
79
81
releaseStepTask(docs / ghpagesPushSite)
80
82
)
@@ -99,19 +101,21 @@ lazy val tests = project("tests")
99
101
)
100
102
.aggregate(samples)
101
103
102
- lazy val samples = project (" samples" )
104
+ lazy val samples = nativeProject (" samples" )
103
105
.in(file(" tests/samples" ))
104
- .enablePlugins(ScalaNativePlugin )
105
106
.settings(
106
107
publish / skip := true ,
107
- scalaVersion := Versions .scala211,
108
108
libraryDependencies += " com.lihaoyi" %%% " utest" % " 0.6.3" % Test ,
109
109
testFrameworks += new TestFramework (" utest.runner.Framework" ),
110
- nativeLinkStubs := true ,
111
110
compileTask(" bindgentests" , baseDirectory)
112
111
)
113
112
114
113
lazy val tools = project(" tools" )
114
+ .settings(
115
+ crossScalaVersions := List (Versions .scala210,
116
+ Versions .scala211,
117
+ Versions .scala212)
118
+ )
115
119
116
120
lazy val sbtPlugin = project(" sbt-scala-native-bindgen" , ScriptedPlugin )
117
121
.dependsOn(tools)
@@ -134,12 +138,11 @@ lazy val sbtPlugin = project("sbt-scala-native-bindgen", ScriptedPlugin)
134
138
publishLocal := publishLocal.dependsOn(tools / publishLocal).value
135
139
)
136
140
137
- lazy val docs = project (" docs" )
141
+ lazy val docs = nativeProject (" docs" )
138
142
.enablePlugins(GhpagesPlugin , ParadoxSitePlugin , ParadoxMaterialThemePlugin )
139
- .enablePlugins(ScalaNativePlugin , ScalaNativeBindgenPlugin )
143
+ .enablePlugins(ScalaNativeBindgenPlugin )
140
144
.settings(
141
145
publish / skip := true ,
142
- scalaVersion := Versions .scala211,
143
146
Test / nativeBindings += {
144
147
NativeBinding ((Test / resourceDirectory).value / " vector.h" )
145
148
.name(" vector" )
@@ -151,7 +154,6 @@ lazy val docs = project("docs")
151
154
(ThisBuild / baseDirectory).value / " bindgen/target/scala-native-bindgen" )
152
155
},
153
156
Test / nativeBindgen / target := (Test / scalaSource).value / " org/example" ,
154
- nativeLinkStubs := true ,
155
157
compileTask(" vector" , Test / resourceDirectory),
156
158
libraryDependencies += " org.scalatest" %%% " scalatest" % " 3.2.0-SNAP10" % Test ,
157
159
Paradox / paradoxProperties ++= Map (
@@ -170,7 +172,8 @@ lazy val docs = project("docs")
170
172
171
173
lazy val bindings = project(" bindings" )
172
174
.settings(
173
- publish / skip := false
175
+ publish / skip := true ,
176
+ scalaVersion := Versions .scala211
174
177
)
175
178
.aggregate(
176
179
libiconv,
@@ -226,6 +229,15 @@ def project(name: String, plugged: AutoPlugin*) = {
226
229
)
227
230
}
228
231
232
+ def nativeProject (name : String ) = {
233
+ project(name)
234
+ .enablePlugins(ScalaNativePlugin )
235
+ .settings(
236
+ scalaVersion := Versions .scala211,
237
+ nativeLinkStubs := true
238
+ )
239
+ }
240
+
229
241
def compileTask (libname : String , srcDirTask : SettingKey [File ]) = Def .settings(
230
242
Test / nativeLinkingOptions += {
231
243
Seq (" -L" , (Test / target).value.getAbsoluteFile / " bindgen" ).mkString
@@ -284,12 +296,10 @@ lazy val bindingsExtraArgs = Try {
284
296
}.toOption
285
297
286
298
def bindingProject (name : String ) = {
287
- project (s " lib $name" )
288
- .enablePlugins(ScalaNativePlugin , ScalaNativeBindgenPlugin )
299
+ nativeProject (s " lib $name" )
300
+ .enablePlugins(ScalaNativeBindgenPlugin )
289
301
.in(file(s " bindings/ $name" ))
290
302
.settings(
291
- scalaVersion := Versions .scala211,
292
- nativeLinkStubs := true ,
293
303
libraryDependencies += " org.scalatest" %%% " scalatest" % " 3.2.0-SNAP10" % Test ,
294
304
Compile / nativeBindgen / target :=
295
305
(Compile / scalaSource).value / " org/scalanative/bindgen/bindings" / name
0 commit comments