@@ -164,3 +164,49 @@ lazy val scalaJava8Compat = (project in file("."))
164
164
|import scala.compat.java8.FutureConverters._
165
165
|""" .stripMargin
166
166
)
167
+ .settings(
168
+ publishTo := Some (Resolver .file(" sonatype-local-bundle" , sonatypeBundleDirectory.value)),
169
+ TaskKey [Unit ](" check247" ) := {
170
+ import scala .sys .process ._
171
+ val v = version.value
172
+ val base = moduleName.value + " _" + scalaBinaryVersion.value
173
+ val name = s " $base- $v.jar "
174
+ val wd = sonatypeBundleDirectory.value /
175
+ organization.value.replace('.' , '/' ) /
176
+ base / v
177
+ Process (s " unzip -o $name" , wd).! .ensuring(_ == 0 )
178
+ val javap = Process (s " javap -c -v scala.compat.java8.Priority1FunctionConverters " , wd).!!
179
+ println(" \n ++++javap++++" )
180
+ println(javap)
181
+ println(" ----javap----\n " )
182
+ // // 2.11
183
+ // " public abstract <A0 extends java.lang.Object, R extends java.lang.Object> scala.Function1<java.lang.Object, R> enrichAsJavaIntFunction(scala.Function1<A0, R>, scala.Predef$$eq$colon$eq<A0, java.lang.Object>);"
184
+ // // 2.13
185
+ // " public default <A0 extends java.lang.Object, R extends java.lang.Object> scala.Function1<java.lang.Object, R> enrichAsJavaIntFunction(scala.Function1<A0, R>, scala.$eq$colon$eq<A0, java.lang.Object>);"
186
+ // // 2.13 in release 1.0.1 on maven central
187
+ // " public default <R extends java.lang.Object> scala.Function1<java.lang.Object, R> enrichAsJavaIntFunction(scala.Function1<java.lang.Object, R>);"
188
+ val sig = javap
189
+ .linesIterator
190
+ .find(_.contains(" > enrichAsJavaIntFunction(scala.Function1<" ))
191
+ sig.foreach(println)
192
+ sig.get.ensuring(_.contains(" $eq$colon$eq" ))
193
+ },
194
+ )
195
+
196
+ lazy val tmp = project
197
+ .settings(
198
+ scalaVersion := " 2.13.6" ,
199
+ // libraryDependencies := Seq("org.scala-lang.modules" %% "scala-java8-compat" % "0.9.1"),
200
+ libraryDependencies := Seq (" org.scala-lang.modules" %% " scala-java8-compat" % " 1.0.0" ),
201
+ TaskKey [Unit ](" runMe" ) := {
202
+ import scala .sys .process ._
203
+ val myCp = (Compile / products).value
204
+ val compatCp = (scalaJava8Compat / Compile / products).value
205
+ val scalaLib = scalaInstance.value.libraryJars
206
+ val cp = (myCp ++ compatCp ++ scalaLib).mkString(" :" )
207
+ val cmd = s " java -cp $cp Main "
208
+ println(cmd)
209
+ val out = cmd.!!
210
+ println(out)
211
+ },
212
+ )
0 commit comments