Skip to content

Commit 9ebecfe

Browse files
author
Antonio Alonso Dominguez
committed
Initial support for Scala Native
1 parent 2cb29f8 commit 9ebecfe

File tree

3 files changed

+26
-3
lines changed

3 files changed

+26
-3
lines changed

build.sbt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import ScalaModulePlugin._
2+
import sbtcrossproject.{crossProject, CrossType}
23

34
scalaVersionsByJvm in ThisBuild := {
45
val v211 = "2.11.11"
@@ -14,10 +15,10 @@ scalaVersionsByJvm in ThisBuild := {
1415
}
1516

1617
lazy val root = project.in(file("."))
17-
.aggregate(`scala-parser-combinatorsJS`, `scala-parser-combinatorsJVM`)
18+
.aggregate(`scala-parser-combinatorsJS`, `scala-parser-combinatorsJVM`, `scala-parser-combinatorsNative`)
1819
.settings(disablePublishing)
1920

20-
lazy val `scala-parser-combinators` = crossProject.in(file(".")).
21+
lazy val `scala-parser-combinators` = crossProject(JSPlatform, JVMPlatform, NativePlatform).in(file(".")).
2122
settings(scalaModuleSettings: _*).
2223
settings(
2324
name := "scala-parser-combinators-root",
@@ -43,6 +44,10 @@ lazy val `scala-parser-combinators` = crossProject.in(file(".")).
4344
jsSettings(
4445
name := "scala-parser-combinators-js"
4546
).
47+
nativeSettings(
48+
name := "scala-parser-combinators-native",
49+
scalaVersion := "2.11.11"
50+
).
4651
settings(
4752
moduleName := "scala-parser-combinators",
4853
version := "1.0.7-SNAPSHOT"
@@ -65,3 +70,4 @@ lazy val `scala-parser-combinators` = crossProject.in(file(".")).
6570

6671
lazy val `scala-parser-combinatorsJVM` = `scala-parser-combinators`.jvm
6772
lazy val `scala-parser-combinatorsJS` = `scala-parser-combinators`.js
73+
lazy val `scala-parser-combinatorsNative` = `scala-parser-combinators`.native
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package scala.util.parsing.input
2+
3+
import java.lang.CharSequence
4+
import java.util.{AbstractMap, Collections}
5+
6+
private[input] trait PositionCache {
7+
private[input] lazy val indexCache: java.util.Map[CharSequence,Array[Int]] = new AbstractMap[CharSequence, Array[Int]] {
8+
9+
override def entrySet() = Collections.emptySet()
10+
11+
// the /dev/null of Maps
12+
override def put(ch: CharSequence, a: Array[Int]) = null
13+
}
14+
}

project/plugins.sbt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
addSbtPlugin("org.scala-lang.modules" % "scala-module-plugin" % "1.0.8")
22

3-
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.16")
3+
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.16")
4+
addSbtPlugin("org.scala-native" % "sbt-crossproject" % "0.2.0")
5+
addSbtPlugin("org.scala-native" % "sbt-scalajs-crossproject" % "0.2.0")
6+
addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.2.1")

0 commit comments

Comments
 (0)