diff --git a/build/build.scala b/build/build.scala
index f9202647..1e2e52ef 100644
--- a/build/build.scala
+++ b/build/build.scala
@@ -2,7 +2,7 @@ package cbt_build.cbt
import cbt._
import cbt_internal._
-class Build(val context: Context) extends Shared with Scalariform with PublishLocal with CommandLineOverrides{
+class Build(val context: Context) extends Shared with Scalariform with PublishLocal with CommandLineOverrides with Ensime {
override def name: String = "cbt"
override def version: String = "0.9-SNAPSHOT"
override def description: String = "Fast, intuitive Build Tool for Scala"
diff --git a/doc/plugin-author-guide.md b/doc/plugin-author-guide.md
index db0eede6..98397538 100644
--- a/doc/plugin-author-guide.md
+++ b/doc/plugin-author-guide.md
@@ -103,3 +103,9 @@ representing the operation, e.g. `compile` or `doc`. If there
is only one inner case class inside of anothe case class,
call it `config`, give it a name representing the operation,
e.g. `compile` or `doc`.
+
+### Finalizing your plugin
+
+Add your plugin to stage2/plugins.scala
+
+Create a test project, and then test it in test/test.scala
diff --git a/examples/scalaxb-example/build/build.scala b/examples/scalaxb-example/build/build.scala
new file mode 100644
index 00000000..32e5ddcb
--- /dev/null
+++ b/examples/scalaxb-example/build/build.scala
@@ -0,0 +1,8 @@
+import cbt._
+
+class Build(val context: Context) extends BaseBuild with ScalaXB {
+ override def compile = taskCache[Build]("compile").memoize{
+ generateScalaXBSources().defaultConfig.apply
+ super.compile
+ }
+}
diff --git a/examples/scalaxb-example/build/build/build.scala b/examples/scalaxb-example/build/build/build.scala
new file mode 100644
index 00000000..20c4bf97
--- /dev/null
+++ b/examples/scalaxb-example/build/build/build.scala
@@ -0,0 +1,6 @@
+import cbt._
+
+class Build(val context: Context) extends BuildBuild {
+ override def dependencies = super.dependencies :+ plugins.scalaxb
+}
+
diff --git a/examples/scalaxb-example/src/main/scala/usage.scala b/examples/scalaxb-example/src/main/scala/usage.scala
new file mode 100644
index 00000000..c10d484d
--- /dev/null
+++ b/examples/scalaxb-example/src/main/scala/usage.scala
@@ -0,0 +1,10 @@
+import www.example.com.IPO
+
+object Usage extends App {
+ val shipTo = scalaxb.fromXML[IPO.Address](
+ foo
+ 1537 Paper Street
+ Wilmington
+ )
+ println(shipTo.toString)
+}
diff --git a/examples/scalaxb-example/src/main/xsd/address.xsd b/examples/scalaxb-example/src/main/xsd/address.xsd
new file mode 100644
index 00000000..55ec3627
--- /dev/null
+++ b/examples/scalaxb-example/src/main/xsd/address.xsd
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
diff --git a/nailgun_launcher/EarlyDependencies.java b/nailgun_launcher/EarlyDependencies.java
index 5725e3ab..4cad5a10 100644
--- a/nailgun_launcher/EarlyDependencies.java
+++ b/nailgun_launcher/EarlyDependencies.java
@@ -10,9 +10,9 @@
public class EarlyDependencies{
- public static String scalaVersion = "2.11.8";
+ public static String scalaVersion = "2.11.11";
public static String scalaXmlVersion = "1.0.6";
- public static String zincVersion = "0.3.13";
+ public static String zincVersion = "0.3.15";
/** ClassLoader for stage1 */
ClassLoader classLoader;
@@ -29,20 +29,20 @@ public class EarlyDependencies{
public EarlyDependencies(
String mavenCache, String mavenUrl, ClassLoaderCache classLoaderCache, ClassLoader rootClassLoader
) throws Throwable {
- String scalaReflect_2_11_8_File = mavenCache + "/org/scala-lang/scala-reflect/2.11.8/scala-reflect-2.11.8.jar";
- String scalaCompiler_2_11_8_File = mavenCache + "/org/scala-lang/scala-compiler/2.11.8/scala-compiler-2.11.8.jar";
+ String scalaReflect_2_11_11_File = mavenCache + "/org/scala-lang/scala-reflect/2.11.11/scala-reflect-2.11.11.jar";
+ String scalaCompiler_2_11_11_File = mavenCache + "/org/scala-lang/scala-compiler/2.11.11/scala-compiler-2.11.11.jar";
String scalaXml_1_0_6_File = mavenCache + "/org/scala-lang/modules/scala-xml_2.11/1.0.6/scala-xml_2.11-1.0.6.jar";
- String scalaLibrary_2_11_8_File = mavenCache + "/org/scala-lang/scala-library/2.11.8/scala-library-2.11.8.jar";
- String zinc_0_3_13_File = mavenCache + "/com/typesafe/zinc/zinc/0.3.13/zinc-0.3.13.jar";
- String incrementalCompiler_0_13_13_File = mavenCache + "/com/typesafe/sbt/incremental-compiler/0.13.13/incremental-compiler-0.13.13.jar";
- String compilerInterface_0_13_13_File = mavenCache + "/com/typesafe/sbt/compiler-interface/0.13.13/compiler-interface-0.13.13-sources.jar";
+ String scalaLibrary_2_11_11_File = mavenCache + "/org/scala-lang/scala-library/2.11.11/scala-library-2.11.11.jar";
+ String zinc_0_3_15_File = mavenCache + "/com/typesafe/zinc/zinc/0.3.15/zinc-0.3.15.jar";
+ String incrementalCompiler_0_13_15_File = mavenCache + "/com/typesafe/sbt/incremental-compiler/0.13.15/incremental-compiler-0.13.15.jar";
+ String compilerInterface_0_13_15_File = mavenCache + "/com/typesafe/sbt/compiler-interface/0.13.15/compiler-interface-0.13.15-sources.jar";
String scalaCompiler_2_10_6_File = mavenCache + "/org/scala-lang/scala-compiler/2.10.6/scala-compiler-2.10.6.jar";
- String sbtInterface_0_13_13_File = mavenCache + "/com/typesafe/sbt/sbt-interface/0.13.13/sbt-interface-0.13.13.jar";
+ String sbtInterface_0_13_15_File = mavenCache + "/com/typesafe/sbt/sbt-interface/0.13.15/sbt-interface-0.13.15.jar";
String scalaReflect_2_10_6_File = mavenCache + "/org/scala-lang/scala-reflect/2.10.6/scala-reflect-2.10.6.jar";
String scalaLibrary_2_10_6_File = mavenCache + "/org/scala-lang/scala-library/2.10.6/scala-library-2.10.6.jar";
- download(new URL(mavenUrl + "/org/scala-lang/scala-reflect/2.11.8/scala-reflect-2.11.8.jar"), Paths.get(scalaReflect_2_11_8_File), "b74530deeba742ab4f3134de0c2da0edc49ca361");
- download(new URL(mavenUrl + "/org/scala-lang/scala-compiler/2.11.8/scala-compiler-2.11.8.jar"), Paths.get(scalaCompiler_2_11_8_File), "fe1285c9f7b58954c5ef6d80b59063569c065e9a");
+ download(new URL(mavenUrl + "/org/scala-lang/scala-reflect/2.11.11/scala-reflect-2.11.11.jar"), Paths.get(scalaReflect_2_11_11_File), "2addc7e09cf2e77e2243a5772bd0430c32c2b410");
+ download(new URL(mavenUrl + "/org/scala-lang/scala-compiler/2.11.11/scala-compiler-2.11.11.jar"), Paths.get(scalaCompiler_2_11_11_File), "2f1568549280da6d0a332846cb7c27edae76fd10");
// org.scala-lang:scala-library:2.10.6
String[] scalaLibrary_2_10_6_ClasspathArray = new String[]{scalaLibrary_2_10_6_File};
@@ -66,92 +66,92 @@ public EarlyDependencies(
scalaReflect_2_10_6_ClasspathArray
);
- // com.typesafe.sbt:sbt-interface:0.13.13
- String[] sbtInterface_0_13_13_ClasspathArray = new String[]{sbtInterface_0_13_13_File, scalaLibrary_2_10_6_File, scalaReflect_2_10_6_File};
- ClassLoader sbtInterface_0_13_13_ = loadDependency(
- mavenUrl + "/com/typesafe/sbt/sbt-interface/0.13.13/sbt-interface-0.13.13.jar",
- sbtInterface_0_13_13_File,
- "9367c5c7a835f9505774fc3b7c3a8146a1396f85",
+ // com.typesafe.sbt:sbt-interface:0.13.15
+ String[] sbtInterface_0_13_15_ClasspathArray = new String[]{sbtInterface_0_13_15_File, scalaLibrary_2_10_6_File, scalaReflect_2_10_6_File};
+ ClassLoader sbtInterface_0_13_15_ = loadDependency(
+ mavenUrl + "/com/typesafe/sbt/sbt-interface/0.13.15/sbt-interface-0.13.15.jar",
+ sbtInterface_0_13_15_File,
+ "93fe450d5f5efb111397a34bc1fba0d50368a265",
classLoaderCache,
scalaReflect_2_10_6_,
- sbtInterface_0_13_13_ClasspathArray
+ sbtInterface_0_13_15_ClasspathArray
);
// org.scala-lang:scala-compiler:2.10.6
- String[] scalaCompiler_2_10_6_ClasspathArray = new String[]{sbtInterface_0_13_13_File, scalaCompiler_2_10_6_File, scalaLibrary_2_10_6_File, scalaReflect_2_10_6_File};
+ String[] scalaCompiler_2_10_6_ClasspathArray = new String[]{sbtInterface_0_13_15_File, scalaCompiler_2_10_6_File, scalaLibrary_2_10_6_File, scalaReflect_2_10_6_File};
ClassLoader scalaCompiler_2_10_6_ = loadDependency(
mavenUrl + "/org/scala-lang/scala-compiler/2.10.6/scala-compiler-2.10.6.jar",
scalaCompiler_2_10_6_File,
"9b15174852f5b6bb1edbf303d5722286a0a54011",
classLoaderCache,
- sbtInterface_0_13_13_,
+ sbtInterface_0_13_15_,
scalaCompiler_2_10_6_ClasspathArray
);
- // com.typesafe.sbt:compiler-interface:0.13.13
- String[] compilerInterface_0_13_13_ClasspathArray = new String[]{compilerInterface_0_13_13_File, sbtInterface_0_13_13_File, scalaCompiler_2_10_6_File, scalaLibrary_2_10_6_File, scalaReflect_2_10_6_File};
- ClassLoader compilerInterface_0_13_13_ = loadDependency(
- mavenUrl + "/com/typesafe/sbt/compiler-interface/0.13.13/compiler-interface-0.13.13-sources.jar",
- compilerInterface_0_13_13_File,
- "691bf88813bb34771c0ca4418d579bb652e1526f",
+ // com.typesafe.sbt:compiler-interface:0.13.15
+ String[] compilerInterface_0_13_15_ClasspathArray = new String[]{compilerInterface_0_13_15_File, sbtInterface_0_13_15_File, scalaCompiler_2_10_6_File, scalaLibrary_2_10_6_File, scalaReflect_2_10_6_File};
+ ClassLoader compilerInterface_0_13_15_ = loadDependency(
+ mavenUrl + "/com/typesafe/sbt/compiler-interface/0.13.15/compiler-interface-0.13.15-sources.jar",
+ compilerInterface_0_13_15_File,
+ "bad996ed4fc3e83b872525e9cd7b80d81b98a324",
classLoaderCache,
scalaCompiler_2_10_6_,
- compilerInterface_0_13_13_ClasspathArray
+ compilerInterface_0_13_15_ClasspathArray
);
- // com.typesafe.sbt:incremental-compiler:0.13.13
- String[] incrementalCompiler_0_13_13_ClasspathArray = new String[]{compilerInterface_0_13_13_File, incrementalCompiler_0_13_13_File, sbtInterface_0_13_13_File, scalaCompiler_2_10_6_File, scalaLibrary_2_10_6_File, scalaReflect_2_10_6_File};
- ClassLoader incrementalCompiler_0_13_13_ = loadDependency(
- mavenUrl + "/com/typesafe/sbt/incremental-compiler/0.13.13/incremental-compiler-0.13.13.jar",
- incrementalCompiler_0_13_13_File,
- "65008fb90b965ea44d0959b8a2e214df206cda6e",
+ // com.typesafe.sbt:incremental-compiler:0.13.15
+ String[] incrementalCompiler_0_13_15_ClasspathArray = new String[]{compilerInterface_0_13_15_File, incrementalCompiler_0_13_15_File, sbtInterface_0_13_15_File, scalaCompiler_2_10_6_File, scalaLibrary_2_10_6_File, scalaReflect_2_10_6_File};
+ ClassLoader incrementalCompiler_0_13_15_ = loadDependency(
+ mavenUrl + "/com/typesafe/sbt/incremental-compiler/0.13.15/incremental-compiler-0.13.15.jar",
+ incrementalCompiler_0_13_15_File,
+ "95e20d00b25a7aae19838009c11578b7e6b258ad",
classLoaderCache,
- compilerInterface_0_13_13_,
- incrementalCompiler_0_13_13_ClasspathArray
+ compilerInterface_0_13_15_,
+ incrementalCompiler_0_13_15_ClasspathArray
);
- // com.typesafe.zinc:zinc:0.3.13
- String[] zinc_0_3_13_ClasspathArray = new String[]{compilerInterface_0_13_13_File, incrementalCompiler_0_13_13_File, sbtInterface_0_13_13_File, zinc_0_3_13_File, scalaCompiler_2_10_6_File, scalaLibrary_2_10_6_File, scalaReflect_2_10_6_File};
- ClassLoader zinc_0_3_13_ = loadDependency(
- mavenUrl + "/com/typesafe/zinc/zinc/0.3.13/zinc-0.3.13.jar",
- zinc_0_3_13_File,
- "ae0dcd6105d6e87ece2d181c5f0f7a79a966775a",
+ // com.typesafe.zinc:zinc:0.3.15
+ String[] zinc_0_3_15_ClasspathArray = new String[]{compilerInterface_0_13_15_File, incrementalCompiler_0_13_15_File, sbtInterface_0_13_15_File, zinc_0_3_15_File, scalaCompiler_2_10_6_File, scalaLibrary_2_10_6_File, scalaReflect_2_10_6_File};
+ ClassLoader zinc_0_3_15_ = loadDependency(
+ mavenUrl + "/com/typesafe/zinc/zinc/0.3.15/zinc-0.3.15.jar",
+ zinc_0_3_15_File,
+ "12e1f782684f2702e847faa0994eed4711270687",
classLoaderCache,
- incrementalCompiler_0_13_13_,
- zinc_0_3_13_ClasspathArray
+ incrementalCompiler_0_13_15_,
+ zinc_0_3_15_ClasspathArray
);
- // org.scala-lang:scala-library:2.11.8
- String[] scalaLibrary_2_11_8_ClasspathArray = new String[]{scalaLibrary_2_11_8_File};
- ClassLoader scalaLibrary_2_11_8_ = loadDependency(
- mavenUrl + "/org/scala-lang/scala-library/2.11.8/scala-library-2.11.8.jar",
- scalaLibrary_2_11_8_File,
- "ddd5a8bced249bedd86fb4578a39b9fb71480573",
+ // org.scala-lang:scala-library:2.11.11
+ String[] scalaLibrary_2_11_11_ClasspathArray = new String[]{scalaLibrary_2_11_11_File};
+ ClassLoader scalaLibrary_2_11_11_ = loadDependency(
+ mavenUrl + "/org/scala-lang/scala-library/2.11.11/scala-library-2.11.11.jar",
+ scalaLibrary_2_11_11_File,
+ "e283d2b7fde6504f6a86458b1f6af465353907cc",
classLoaderCache,
rootClassLoader,
- scalaLibrary_2_11_8_ClasspathArray
+ scalaLibrary_2_11_11_ClasspathArray
);
// org.scala-lang.modules:scala-xml_2.11:1.0.6
- String[] scalaXml_1_0_6_ClasspathArray = new String[]{scalaXml_1_0_6_File, scalaLibrary_2_11_8_File};
+ String[] scalaXml_1_0_6_ClasspathArray = new String[]{scalaXml_1_0_6_File, scalaLibrary_2_11_11_File};
ClassLoader scalaXml_1_0_6_ = loadDependency(
mavenUrl + "/org/scala-lang/modules/scala-xml_2.11/1.0.6/scala-xml_2.11-1.0.6.jar",
scalaXml_1_0_6_File,
"4ebd108453e6455351c0ec50d32509ae1154fdb1",
classLoaderCache,
- scalaLibrary_2_11_8_,
+ scalaLibrary_2_11_11_,
scalaXml_1_0_6_ClasspathArray
);
classLoader = scalaXml_1_0_6_;
classpathArray = scalaXml_1_0_6_ClasspathArray;
- zinc = zinc_0_3_13_;
+ zinc = zinc_0_3_15_;
- scalaCompiler_File = scalaCompiler_2_11_8_File;
- scalaLibrary_File = scalaLibrary_2_11_8_File;
- scalaReflect_File = scalaReflect_2_11_8_File;
- sbtInterface_File = sbtInterface_0_13_13_File;
- compilerInterface_File = compilerInterface_0_13_13_File;
+ scalaCompiler_File = scalaCompiler_2_11_11_File;
+ scalaLibrary_File = scalaLibrary_2_11_11_File;
+ scalaReflect_File = scalaReflect_2_11_11_File;
+ sbtInterface_File = sbtInterface_0_13_15_File;
+ compilerInterface_File = compilerInterface_0_13_15_File;
}
}
diff --git a/plugins/scalaxb/ScalaXB.scala b/plugins/scalaxb/ScalaXB.scala
new file mode 100644
index 00000000..009f942b
--- /dev/null
+++ b/plugins/scalaxb/ScalaXB.scala
@@ -0,0 +1,138 @@
+package cbt
+
+import java.io.File
+import scalaxb.{compiler => sc}
+import scalaxb.compiler.{Config => ScConfig}
+import sc.ConfigEntry._
+import cbt.ScalaXB._
+
+trait ScalaXB extends BaseBuild {
+ private val targetDirectory = projectDirectory / "target"
+
+ def generateScalaXBSources(outputDirectory: File = (targetDirectory / "src_managed"), verbose: Boolean = false) =
+ ScalaXB.GenerateScalaXBSources(sources, projectDirectory, outputDirectory, verbose)
+}
+
+object ScalaXB {
+ case class GenerateScalaXBSources(sources: Seq[File], projectRoot: File, outputDirectory: File, verbose: Boolean = false) {
+ def defaultConfig: Config =
+ Config(
+ xsdSourceDir = projectRoot / "src" / "main" / "xsd",
+ wsdlSourceDir = projectRoot / "src" / "main" / "wsdl",
+ generatedPackageName = "generated",
+ generatedPackageNames = Map(),
+ autoPackages = false,
+ classPrefix = None,
+ paramPrefix = None,
+ attributePrefix = None,
+ prependFamily = false,
+ wrapContents = Nil,
+ contentSizeLimit = Int.MaxValue,
+ chunkSize = 10,
+ namedAttributes = false,
+ packageDir = true,
+ generateRuntime = true,
+ generateClients = List(Dispatch(ScConfig.defaultDispatchVersion.value), Async),
+ ignoreUnknown = false,
+ vararg = false,
+ generateVisitor = false,
+ generateMutable = false,
+ protocolFileName = sc.Defaults.protocolFileName,
+ protocolPackageName = None,
+ laxAny = false,
+ additionalCombinedPackageNames = Map()
+ )
+
+ case class Config (
+ xsdSourceDir: File,
+ wsdlSourceDir: File,
+ generatedPackageName: String,
+ generatedPackageNames: Map[String, String],
+ autoPackages: Boolean,
+ classPrefix: Option[String],
+ paramPrefix: Option[String],
+ attributePrefix: Option[String],
+ prependFamily: Boolean,
+ wrapContents: List[String],
+ contentSizeLimit: Int,
+ chunkSize: Int,
+ namedAttributes: Boolean,
+ packageDir: Boolean,
+ generateRuntime: Boolean,
+ protocolFileName: String,
+ protocolPackageName: Option[String],
+ generateMutable: Boolean,
+ generateVisitor: Boolean,
+ laxAny: Boolean,
+ additionalCombinedPackageNames: Map[Option[String], Option[String]],
+ generateClients: List[HttpClient],
+ ignoreUnknown: Boolean,
+ vararg: Boolean
+ ) {
+
+ def apply = {
+ def compile: Seq[File] =
+ sources.headOption map { src =>
+ import sc._
+ sc.Log.configureLogger(verbose)
+ val module = Module.moduleByFileName(src)
+ module.processFiles(sources.toVector, scConfig.update(Outdir(outputDirectory)))
+ } getOrElse {Nil}
+
+ compile
+ }
+
+ def combinedPackageNames: Map[Option[String], Option[String]] =
+ generatedPackageNames.map { case (k, v) => ((Option(k.toString), Some(v))) }.updated(None, Some(generatedPackageName))
+
+ def scConfig: ScConfig =
+ ScConfig(
+ Vector(PackageNames(combinedPackageNames)) ++
+ (if (packageDir) Vector(GeneratePackageDir) else Vector()) ++
+ classPrefix.map(ClassPrefix(_)).toVector ++
+ paramPrefix.map(ParamPrefix(_)).toVector ++
+ attributePrefix.map(AttributePrefix(_)).toVector ++
+ Vector(ScConfig.defaultOutdir) ++
+ (if (prependFamily.value) Vector(PrependFamilyName) else Vector()) ++
+ Vector(WrappedComplexTypes(wrapContents)) ++
+ Vector(SeperateProtocol) ++
+ Vector(ProtocolFileName(protocolFileName)) ++
+ Vector(ProtocolPackageName(protocolPackageName)) ++
+ Vector(ScConfig.defaultDefaultNamespace) ++
+ (if (generateRuntime) Vector(GenerateRuntime) else Vector()) ++
+ (generateClients.toVector.flatMap {
+ case Dispatch(version, true) => Vector(GenerateDispatchClient, DispatchVersion(version), GenerateDispatchAs)
+ case Dispatch(version, false) => Vector(GenerateDispatchClient, DispatchVersion(version))
+ case Gigahorse(version, Gigahorse.OkHttp) => Vector(GenerateGigahorseClient, GigahorseVersion(version), GigahorseBackend("okhttp"))
+ case Gigahorse(version, Gigahorse.AHC) => Vector(GenerateGigahorseClient, GigahorseVersion(version), GigahorseBackend("asynchttpclient"))
+ case Async => Vector(GenerateAsync)
+ }) ++
+ Vector(ContentsSizeLimit(contentSizeLimit)) ++
+ Vector(SequenceChunkSize(chunkSize)) ++
+ (if (namedAttributes) Vector(NamedAttributes) else Vector()) ++
+ (if (laxAny) Vector(LaxAny) else Vector()) ++
+ (if (ignoreUnknown) Vector(IgnoreUnknown) else Vector()) ++
+ (if (vararg && !generateMutable) Vector(VarArg) else Vector()) ++
+ (if (generateMutable) Vector(GenerateMutable) else Vector()) ++
+ (if (generateVisitor) Vector(GenerateVisitor) else Vector()) ++
+ (if (autoPackages) Vector(AutoPackages) else Vector())
+ )
+
+ }
+ }
+
+
+ object ScalaXBConfig {
+ }
+
+ sealed trait HttpClient
+ case class Dispatch(version: String, generateAs: Boolean = false) extends HttpClient
+ case class Gigahorse(version: String, backend: Gigahorse.Backend) extends HttpClient
+ case object Async extends HttpClient
+ object Gigahorse {
+ sealed trait Backend
+ case object OkHttp extends Backend
+ case object AHC extends Backend
+ }
+}
+
diff --git a/plugins/scalaxb/build/build.scala b/plugins/scalaxb/build/build.scala
new file mode 100644
index 00000000..58e88b6f
--- /dev/null
+++ b/plugins/scalaxb/build/build.scala
@@ -0,0 +1,9 @@
+import cbt._
+
+class Build(val context: Context) extends Plugin with Ensime {
+ def scalaXBVersion = "1.5.2"
+
+ override def dependencies = super.dependencies ++ Resolver(mavenCentral).bind(
+ ScalaDependency("org.scalaxb", "scalaxb", scalaXBVersion)
+ )
+}
diff --git a/stage2/plugins.scala b/stage2/plugins.scala
index ea1aa747..b0aa7522 100644
--- a/stage2/plugins.scala
+++ b/stage2/plugins.scala
@@ -15,6 +15,7 @@ class plugins( context: Context, scalaVersion: String ) {
final lazy val scalafmt = plugin( "scalafmt" )
final lazy val scalaJs = plugin( "scalajs" )
final lazy val scalapb = plugin( "scalapb" )
+ final lazy val scalaxb = plugin( "scalaxb" )
final lazy val scalariform = plugin( "scalariform" )
final lazy val scalastyle = plugin( "scalastyle" )
final lazy val sonatypeRelease = plugin( "sonatype-release" )
diff --git a/test/test.scala b/test/test.scala
index adb4d8ab..b5553fe6 100644
--- a/test/test.scala
+++ b/test/test.scala
@@ -353,6 +353,11 @@ object Main{
assert(res.out contains "age: 123", res.out ++ "\n--\n" ++ res.err)
}
+ {
+ val res = runCbt("../examples/scalaxb-example", Seq("run"))
+ assert(res.exit0)
+ }
+
{
val res = runCbt("broken-build/build-class-with-wrong-arguments", Seq("run"))
assert(!res.exit0)
@@ -508,7 +513,7 @@ object Main{
if (slow) {
import scala.xml._
- val expected =
+ val expected =
(cbtHome / "examples" / "export-build-information" / "expected.xml").readAsString.replaceAll("CBT_HOME", cbtHome.getPath)
val expectedXml = Utility.trim(XML.loadString(expected))
val res = runCbt("../examples/export-build-information", Seq("buildInfoXml"))