Commit b021c896 authored by Mathieu's avatar Mathieu
Browse files

To scalajs 1.0

parent 48f07079
Pipeline #612 failed with stage
in 4 minutes and 11 seconds
......@@ -8,7 +8,7 @@ def settings = Seq(
resolvers += Resolver.sonatypeRepo("snapshots"),
resolvers += Resolver.sonatypeRepo("releases"),
resolvers += Resolver.sonatypeRepo("staging"),
scalaVersion in Global := "2.12.10",
scalaVersion in Global := "2.12.8",
scalacOptions ++= Seq("-deprecation"),
publishArtifact in (packageDoc in publishLocal) := false,
publishArtifact in (packageSrc in publishLocal) := false,
......@@ -17,8 +17,8 @@ def settings = Seq(
)
lazy val scalatraVersion = "2.7.0-RC1"
lazy val jettyVersion = "9.4.24.v20191120"
lazy val scalatraVersion = "2.7.0"
lazy val jettyVersion = "9.4.28.v20200408"
//lazy val jettyVersion = "9.3.25.v20180904"
lazy val scalatra = OsgiProject(dir, "org.scalatra",
......@@ -162,21 +162,31 @@ lazy val netlogo6 = OsgiProject(
"net.lingala.zip4j" % "zip4j" % "1.3.2" % "provided"
), version := netLogo6Version, scalaVersion := "2.12.8", crossPaths := false) settings(settings: _*)
lazy val scalaTagsVersion = "0.8.3"
lazy val scalaRxVersion = "0.4.0"
lazy val scalaDomVersion = "0.9.3"
//lazy val scalaUpickleVersion = "0.9.6"
lazy val scalaBoopickleVersion = "1.3.1"
lazy val scalaAutowireVersion = "0.2.6"
lazy val scalajsVersion = "0.6.31"
lazy val scalaTagsVersion = "0.9.1"
lazy val scalaRxVersion = "0.4.2"
lazy val scalaDomVersion = "1.0.0"
lazy val scalaBoopickleVersion = "1.3.3"
lazy val scalaAutowireVersion = "0.3.2"
lazy val scalajsVersion = "1.1.0"
lazy val rx = OsgiProject(dir, "rx", exports = Seq("rx.*")) settings(
libraryDependencies ++= Seq("com.lihaoyi" %% "scalarx" % scalaRxVersion),
version := scalaRxVersion) settings(settings: _*)
lazy val scalajsTools = OsgiProject(dir, "scalajs-tools", exports = Seq("scala.scalajs.*", "org.scalajs.core.tools.*", "org.scalajs.core.ir.*", "com.google.javascript.*", "com.google.common.*", "rhino_ast.java.com.google.javascript.rhino.*", "com.google.gson.*", "com.google.debugging.sourcemap.*", "org.json.*", "java7compat.nio.charset.*", "com.google.protobuf.*")) settings(
libraryDependencies += "org.scala-js" %% "scalajs-tools" % scalajsVersion, version := scalajsVersion) settings(settings: _*)
/*lazy val scalajsTools = OsgiProject(dir, "scalajs-tools", exports = Seq("scala.scalajs.*", "org.scalajs.core.tools.*", "org.scalajs.core.ir.*", "com.google.javascript.*", "com.google.common.*", "rhino_ast.java.com.google.javascript.rhino.*", "com.google.gson.*", "com.google.debugging.sourcemap.*", "org.json.*", "java7compat.nio.charset.*", "com.google.protobuf.*")) settings(
libraryDependencies += "org.scala-js" %% "scalajs-tools" % scalajsVersion, version := scalajsVersion) settings(settings: _*)*/
lazy val scalajsLinker = OsgiProject(dir, "scalajs-linker", exports = Seq("org.scalajs.linker.*", "org.scalajs.ir.*", "com.google.javascript.*", "com.google.common.*", "rhino_ast.java.com.google.javascript.rhino.*", "com.google.gson.*", "com.google.debugging.sourcemap.*", "org.json.*", "java7compat.nio.charset.*", "com.google.protobuf.*")) settings(
libraryDependencies += "org.scala-js" %% "scalajs-linker" % scalajsVersion,
//// libraryDependencies += "org.scala-js" %% "scalajs-logging" % scalajsVersion,
// //"org.scala-js" %% "scalajs-linker-interface" % scalajsVersion),
version := scalajsVersion) settings(settings: _*)
//
lazy val scalajsLogging = OsgiProject(dir, "scalajs-logging", exports = Seq("org.scalajs.logging.*")) settings(
libraryDependencies += "org.scala-js" %% "scalajs-logging" % scalajsVersion,
version := scalajsVersion) settings(settings: _*)
lazy val scalaJS = OsgiProject(dir, "scalajs", exports = Seq("scala.scalajs.*"), imports = Seq("*")) settings (
libraryDependencies += "org.scala-js" %% "scalajs-library" % scalajsVersion,
version := scalajsVersion
......@@ -191,10 +201,6 @@ lazy val scalatexSite =
libraryDependencies += "org.openmole" %% "scalatex-site" % "0.4.5",
version := "0.4.5") settings(settings: _*)
/*lazy val upickle = OsgiProject(dir, "upickle", exports = Seq("upickle.*", "jawn.*", "derive.*"), imports = Seq("*")) settings(
libraryDependencies ++= Seq("com.lihaoyi" %% "upickle" % scalaUpickleVersion),
version := scalaUpickleVersion) settings(settings: _*) dependsOn(sourceCode)*/
lazy val boopickle = OsgiProject(dir, "boopickle", exports = Seq("boopickle.*"), imports = Seq("*")) settings(
libraryDependencies ++= Seq("io.suzaku" %% "boopickle" % scalaBoopickleVersion),
version := scalaBoopickleVersion) settings(settings: _*)
......
addSbtPlugin("org.openmole" % "openmole-buildsystem-plugin" % "1.8-SNAPSHOT")
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.1.0")
......@@ -86,17 +86,17 @@ def allThirdParties = Seq(
openmoleOutputRedirection,
txtmark)
lazy val openmoleCache = OsgiProject(thirdPartiesDir, "org.openmole.tool.cache", imports = Seq("*")) dependsOn (openmoleLogger) settings (thirdPartiesSettings: _*) settings (libraryDependencies += Libraries.squants, libraryDependencies += Libraries.cats)
lazy val openmoleTar = OsgiProject(thirdPartiesDir, "org.openmole.tool.tar", imports = Seq("*")) dependsOn (openmoleFile) settings (thirdPartiesSettings: _*) settings(libraryDependencies += Libraries.xzJava)
lazy val openmoleCache = OsgiProject(thirdPartiesDir, "org.openmole.tool.cache", imports = Seq("*")) dependsOn (openmoleLogger) settings (thirdPartiesSettings: _*) settings(libraryDependencies += Libraries.squants, libraryDependencies += Libraries.cats)
lazy val openmoleTar = OsgiProject(thirdPartiesDir, "org.openmole.tool.tar", imports = Seq("*")) dependsOn (openmoleFile) settings (thirdPartiesSettings: _*) settings (libraryDependencies += Libraries.xzJava)
lazy val openmoleFile = OsgiProject(thirdPartiesDir, "org.openmole.tool.file", imports = Seq("*")) dependsOn(openmoleLock, openmoleStream, openmoleLogger) settings (thirdPartiesSettings: _*)
lazy val openmoleLock = OsgiProject(thirdPartiesDir, "org.openmole.tool.lock", imports = Seq("*")) settings (thirdPartiesSettings: _*)
lazy val openmoleLogger = OsgiProject(thirdPartiesDir, "org.openmole.tool.logger", imports = Seq("*")) dependsOn(openmoleOutputRedirection) settings (thirdPartiesSettings: _*) settings (libraryDependencies += Libraries.sourceCode)
lazy val openmoleLogger = OsgiProject(thirdPartiesDir, "org.openmole.tool.logger", imports = Seq("*")) dependsOn (openmoleOutputRedirection) settings (thirdPartiesSettings: _*) settings (libraryDependencies += Libraries.sourceCode)
lazy val openmoleThread = OsgiProject(thirdPartiesDir, "org.openmole.tool.thread", imports = Seq("*")) dependsOn(openmoleLogger, openmoleCollection) settings (thirdPartiesSettings: _*) settings (libraryDependencies += Libraries.squants)
lazy val openmoleHash = OsgiProject(thirdPartiesDir, "org.openmole.tool.hash", imports = Seq("*")) dependsOn(openmoleFile, openmoleStream) settings (thirdPartiesSettings: _*)
lazy val openmoleStream = OsgiProject(thirdPartiesDir, "org.openmole.tool.stream", imports = Seq("*")) dependsOn (openmoleThread) settings(libraryDependencies += Libraries.collections, libraryDependencies += Libraries.squants) settings (thirdPartiesSettings: _*)
lazy val openmoleCollection = OsgiProject(thirdPartiesDir, "org.openmole.tool.collection", imports = Seq("*")) settings (Libraries.addScalaLang(scalaVersionValue)) settings (thirdPartiesSettings: _*)
lazy val openmoleCrypto = OsgiProject(thirdPartiesDir, "org.openmole.tool.crypto", imports = Seq("*")) settings(libraryDependencies += Libraries.bouncyCastle, libraryDependencies += Libraries.jasypt) settings (thirdPartiesSettings: _*)
lazy val openmoleStatistics = OsgiProject(thirdPartiesDir, "org.openmole.tool.statistics", imports = Seq("*")) dependsOn (openmoleLogger, openmoleTypes) settings (thirdPartiesSettings: _*)
lazy val openmoleStatistics = OsgiProject(thirdPartiesDir, "org.openmole.tool.statistics", imports = Seq("*")) dependsOn(openmoleLogger, openmoleTypes) settings (thirdPartiesSettings: _*)
lazy val openmoleTypes = OsgiProject(thirdPartiesDir, "org.openmole.tool.types", imports = Seq("*")) settings(libraryDependencies += Libraries.shapeless, libraryDependencies += Libraries.squants) settings (thirdPartiesSettings: _*)
lazy val openmoleByteCode = OsgiProject(thirdPartiesDir, "org.openmole.tool.bytecode", imports = Seq("*")) settings (libraryDependencies += Libraries.asm) settings (thirdPartiesSettings: _*)
lazy val openmoleOSGi = OsgiProject(thirdPartiesDir, "org.openmole.tool.osgi", imports = Seq("*")) dependsOn (openmoleFile) settings (libraryDependencies += Libraries.equinoxOSGi) settings (thirdPartiesSettings: _*)
......@@ -157,7 +157,7 @@ def allCore = Seq(
pluginRegistry)
lazy val keyword = OsgiProject(coreDir, "org.openmole.core.keyword", imports = Seq("*")) settings (coreSettings: _*) settings (
defaultActivator) dependsOn(pluginRegistry)
defaultActivator) dependsOn (pluginRegistry)
lazy val context = OsgiProject(coreDir, "org.openmole.core.context", imports = Seq("*")) settings(
libraryDependencies ++= Seq(Libraries.cats, Libraries.sourceCode), defaultActivator
......@@ -202,7 +202,7 @@ lazy val openmoleDSL = OsgiProject(coreDir, "org.openmole.core.dsl", imports = S
lazy val exception = OsgiProject(coreDir, "org.openmole.core.exception", imports = Seq("*")) settings (coreSettings: _*)
lazy val csv = OsgiProject(coreDir, "org.openmole.core.csv", imports = Seq("*")) dependsOn(context) settings (coreSettings: _*) settings(
lazy val csv = OsgiProject(coreDir, "org.openmole.core.csv", imports = Seq("*")) dependsOn (context) settings (coreSettings: _*) settings (
libraryDependencies += Libraries.opencsv)
lazy val tools = OsgiProject(coreDir, "org.openmole.core.tools", global = true, imports = Seq("*")) settings
......@@ -244,7 +244,7 @@ lazy val pluginManager = OsgiProject(
imports = Seq("*")
) settings (defaultActivator) dependsOn(exception, tools, location) settings (coreSettings: _*)
lazy val pluginRegistry = OsgiProject(coreDir, "org.openmole.core.pluginregistry", imports = Seq("*")) dependsOn (exception, highlight, namespace, preference) settings (coreSettings: _*)
lazy val pluginRegistry = OsgiProject(coreDir, "org.openmole.core.pluginregistry", imports = Seq("*")) dependsOn(exception, highlight, namespace, preference) settings (coreSettings: _*)
lazy val fileService = OsgiProject(coreDir, "org.openmole.core.fileservice", imports = Seq("*")) dependsOn(tools, workspace, openmoleTar, preference, threadProvider, pluginRegistry) settings (coreSettings: _*) settings (defaultActivator) settings (libraryDependencies += Libraries.guava)
......@@ -281,7 +281,7 @@ lazy val console = OsgiProject(coreDir, "org.openmole.core.console", global = tr
lazy val project = OsgiProject(coreDir, "org.openmole.core.project", imports = Seq("*")) dependsOn(namespace, console, openmoleDSL, services) settings (OsgiKeys.importPackage := Seq("*")) settings (coreSettings: _*) settings (
Libraries.addScalaLang(scalaVersionValue)
)
)
lazy val buildinfo = OsgiProject(coreDir, "org.openmole.core.buildinfo", imports = Seq("*")) enablePlugins (BuildInfoPlugin) settings(
//sourceGenerators in Compile += buildInfo.taskValue,
......@@ -366,7 +366,7 @@ lazy val netLogo6API = OsgiProject(pluginDir, "org.openmole.plugin.tool.netlogo6
lazy val pattern = OsgiProject(pluginDir, "org.openmole.plugin.tool.pattern", imports = Seq("*")) dependsOn(exception, openmoleDSL) settings (toolsSettings: _*) settings (defaultActivator)
lazy val json = OsgiProject(pluginDir, "org.openmole.plugin.tool.json", imports = Seq("*")) dependsOn(exception, openmoleDSL) settings (toolsSettings: _*) settings (
lazy val json = OsgiProject(pluginDir, "org.openmole.plugin.tool.json", imports = Seq("*")) dependsOn(exception, openmoleDSL) settings (toolsSettings: _*) settings(
libraryDependencies += Libraries.json4s,
libraryDependencies += Libraries.shapeless)
......@@ -458,10 +458,10 @@ lazy val fileHook = OsgiProject(pluginDir, "org.openmole.plugin.hook.file", impo
lazy val modifierHook = OsgiProject(pluginDir, "org.openmole.plugin.hook.modifier", imports = Seq("*")) dependsOn (openmoleDSL) settings (
libraryDependencies += Libraries.scalatest) settings (pluginSettings: _*)
lazy val jsonHook = OsgiProject(pluginDir, "org.openmole.plugin.hook.json", imports = Seq("*")) dependsOn(openmoleDSL,json, replication % "test") settings (
lazy val jsonHook = OsgiProject(pluginDir, "org.openmole.plugin.hook.json", imports = Seq("*")) dependsOn(openmoleDSL, json, replication % "test") settings (
libraryDependencies += Libraries.scalatest) settings (pluginSettings: _*)
lazy val omrHook = OsgiProject(pluginDir, "org.openmole.plugin.hook.omr", imports = Seq("*")) dependsOn(openmoleDSL, jsonHook, replication % "test") settings (
lazy val omrHook = OsgiProject(pluginDir, "org.openmole.plugin.hook.omr", imports = Seq("*")) dependsOn(openmoleDSL, jsonHook, replication % "test") settings(
libraryDependencies += Libraries.scalatest, libraryDependencies += Libraries.circe) settings (pluginSettings: _*)
......@@ -487,7 +487,7 @@ lazy val sensitivity = OsgiProject(pluginDir, "org.openmole.plugin.method.sensit
/* Sampling */
// FIXME problem with osgi bundling for spatialSampling
def allSampling = Seq(combineSampling, csvSampling,oneFactorSampling, lhsSampling, quasirandomSampling, spatialSampling)
def allSampling = Seq(combineSampling, csvSampling, oneFactorSampling, lhsSampling, quasirandomSampling, spatialSampling)
lazy val combineSampling = OsgiProject(pluginDir, "org.openmole.plugin.sampling.combine", imports = Seq("*")) dependsOn(exception, modifierDomain, collectionDomain, workflow) settings (pluginSettings: _*)
......@@ -504,10 +504,10 @@ lazy val quasirandomSampling = OsgiProject(pluginDir, "org.openmole.plugin.sampl
) settings (pluginSettings: _*)
lazy val spatialSampling = OsgiProject(pluginDir, "org.openmole.plugin.sampling.spatial", imports = Seq("*")) dependsOn(exception, workflow, workspace) settings (
lazy val spatialSampling = OsgiProject(pluginDir, "org.openmole.plugin.sampling.spatial", imports = Seq("*")) dependsOn(exception, workflow, workspace) settings(
libraryDependencies += Libraries.math,
libraryDependencies += Libraries.spatialdata
) settings (pluginSettings: _*)
) settings (pluginSettings: _*)
/* Source */
......@@ -541,15 +541,15 @@ lazy val template = OsgiProject(pluginDir, "org.openmole.plugin.task.template",
lazy val systemexec = OsgiProject(pluginDir, "org.openmole.plugin.task.systemexec", imports = Seq("*")) dependsOn(openmoleDSL, external, workspace) settings (
libraryDependencies += Libraries.exec) settings (pluginSettings: _*)
lazy val container = OsgiProject(pluginDir, "org.openmole.plugin.task.container", imports = Seq("*")) dependsOn(openmoleFile, pluginManager, external, expansion, exception) settings (pluginSettings: _*) settings(
lazy val container = OsgiProject(pluginDir, "org.openmole.plugin.task.container", imports = Seq("*")) dependsOn(openmoleFile, pluginManager, external, expansion, exception) settings (pluginSettings: _*) settings (
libraryDependencies += Libraries.container
)
)
lazy val r = OsgiProject(pluginDir, "org.openmole.plugin.task.r", imports = Seq("*")) dependsOn (container, json) settings (pluginSettings: _*)
lazy val r = OsgiProject(pluginDir, "org.openmole.plugin.task.r", imports = Seq("*")) dependsOn(container, json) settings (pluginSettings: _*)
lazy val scilab = OsgiProject(pluginDir, "org.openmole.plugin.task.scilab", imports = Seq("*")) dependsOn (container) settings (pluginSettings: _*)
lazy val python = OsgiProject(pluginDir, "org.openmole.plugin.task.python", imports = Seq("*")) dependsOn (container, json) settings (pluginSettings: _*)
lazy val python = OsgiProject(pluginDir, "org.openmole.plugin.task.python", imports = Seq("*")) dependsOn(container, json) settings (pluginSettings: _*)
lazy val gama = OsgiProject(pluginDir, "org.openmole.plugin.task.gama", imports = Seq("*")) dependsOn (container) settings (pluginSettings: _*)
......@@ -610,8 +610,11 @@ lazy val extPluginGUIServer = OsgiProject(guiExt, "org.openmole.gui.ext.plugin.s
lazy val sharedGUI = OsgiProject(guiExt, "org.openmole.gui.ext.api") dependsOn(dataGUI, market) settings (defaultSettings: _*)
lazy val jsCompile = OsgiProject(guiServerDir, "org.openmole.gui.server.jscompile", imports = Seq("*")) dependsOn(pluginManager, fileService, workspace, dataGUI) settings (defaultSettings: _*) settings(
libraryDependencies += "org.scala-js" %% "scalajs-library" % Libraries.scalajsVersion % "provided" intransitive(),
libraryDependencies += Libraries.scalajsTools,
libraryDependencies += "org.scala-js" %%% "scalajs-library" % Libraries.scalajsVersion % "provided" intransitive(),
libraryDependencies += "org.scala-lang.modules" %%% "scala-collection-compat" % "2.1.4" % "provided" intransitive(),
libraryDependencies += Libraries.scalajsLogging,
libraryDependencies += Libraries.scalajsLinker,
(resourceDirectories in Compile) += (crossTarget.value / "resources"),
(OsgiKeys.embeddedJars) := {
val scalaLib =
......@@ -630,11 +633,11 @@ lazy val clientGUI = OsgiProject(guiClientDir, "org.openmole.gui.client.core") e
(sharedGUI, clientToolGUI, market, dataGUI, extClientTool) settings(
libraryDependencies += Libraries.async,
npmDeps in Compile += Dep("ace-builds/src-min", "1.4.3", List("mode-scala.js", "theme-github.js", "ext-language_tools.js"), true),
npmDeps in Compile += Dep("sortablejs", "1.7.0", List("Sortable.min.js"))
npmDeps in Compile += Dep("sortablejs", "1.10.2", List("Sortable.min.js"))
) settings (defaultSettings: _*)
lazy val clientToolGUI = OsgiProject(guiClientDir, "org.openmole.gui.client.tool", privatePackages = Seq("autowire.*", "boopickle.*", "sourcecode.*", "rx.*", "org.scalajs.dom.*", "scalatags.*", "scaladget.*", "net.scalapro.sortable.*", "com.definitelyscala.plotlyjs.*", "org.querki.jsext.*")) enablePlugins (ScalaJSPlugin) dependsOn (workspace) settings(
lazy val clientToolGUI = OsgiProject(guiClientDir, "org.openmole.gui.client.tool", privatePackages = Seq("autowire.*", "boopickle.*", "sourcecode.*", "rx.*", "org.scalajs.dom.*", "scalatags.*", "scaladget.*", "net.scalapro.sortable.*", "org.openmole.plotlyjs.*", "org.querki.jsext.*", "scala.collection.compat.*")) enablePlugins (ScalaJSPlugin) dependsOn (workspace) settings(
Libraries.autowireJS,
Libraries.boopickleJS,
Libraries.scalajsDomJS,
......@@ -644,7 +647,8 @@ lazy val clientToolGUI = OsgiProject(guiClientDir, "org.openmole.gui.client.tool
Libraries.scaladgetTools,
Libraries.rxJS,
Libraries.sortable,
Libraries.plotlyJS) dependsOn (extClientTool) settings (defaultSettings: _*)
Libraries.plotlyJS,
Libraries.scalaCompatJS) dependsOn (extClientTool) settings (defaultSettings: _*)
/* -------------------------- Server ----------------------- */
......@@ -739,7 +743,7 @@ def binDir = file("bin")
def bundleFilter(m: ModuleID, artifact: Artifact) = {
def excludedLibraryDependencies = Set("slick", "squants", "shapeless", "sourcecode", "eddsa", "sshj")
def exclude =
def exclude =
(m.organization != "org.openmole.library" && excludedLibraryDependencies.exists(m.name.contains)) ||
(m.name contains "scala-xml") ||
(m.name contains "protobuf") ||
......@@ -808,7 +812,7 @@ def openmoleDependencies = openmoleNakedDependencies ++ corePlugins ++ guiPlugin
def requieredRuntimeLibraries = Seq(Libraries.osgiCompendium, Libraries.logging)
lazy val openmoleNaked =
lazy val openmoleNaked =
Project("openmole-naked", binDir / "openmole-naked") settings (assemblySettings: _*) enablePlugins (ExecNpmPlugin) settings(
setExecutable ++= Seq("openmole", "openmole.bat"),
Osgi.bundleDependencies in Compile := OsgiKeys.bundle.all(ScopeFilter(inDependencies(ThisProject, includeRoot = false))).value,
......@@ -869,7 +873,7 @@ lazy val api = Project("api", binDir / "target" / "api") settings (defaultSettin
)
lazy val site = crossProject.in(binDir / "org.openmole.site") settings (defaultSettings: _*) jvmSettings (scalatex.SbtPlugin.projectSettings) jvmSettings(
lazy val site = crossProject(JSPlatform, JVMPlatform).in(binDir / "org.openmole.site") settings (defaultSettings: _*) jvmSettings (scalatex.SbtPlugin.projectSettings) jvmSettings(
libraryDependencies += Libraries.scalatexSite,
libraryDependencies += Libraries.json4s,
libraryDependencies += Libraries.spray,
......@@ -892,7 +896,7 @@ lazy val siteJVM = site.jvm dependsOn(tools, project, serializer, buildinfo, mar
lazy val cloneMarket = taskKey[Unit]("cloning market place")
lazy val defineMarketBranch = taskKey[Option[String]]("define market place branch")
lazy val marketIndex = Project("marketindex", binDir / "org.openmole.marketindex") settings (defaultSettings: _*) settings (
lazy val marketIndex = Project("marketindex", binDir / "org.openmole.marketindex") settings (defaultSettings: _*) settings(
libraryDependencies += Libraries.json4s,
defineMarketBranch := {
val OMversion = version.value
......@@ -1067,8 +1071,8 @@ lazy val dockerBin = Project("docker", binDir / "docker") enablePlugins (sbtdock
|ln -s /openmole/openmole /usr/bin/openmole""".stripMargin)
runRaw(
"""echo '#!/bin/bash' > /usr/bin/openmole-docker && \
|echo 'export HOME=/var/openmole && mkdir -p $HOME && chown openmole:openmole $HOME && sudo -u openmole openmole --http --mem 2G --port 8443 --remote $@' >>/usr/bin/openmole-docker && \
|chmod +x-w /usr/bin/openmole-docker""".stripMargin)
|echo 'export HOME=/var/openmole && mkdir -p $HOME && chown openmole:openmole $HOME && sudo -u openmole openmole --http --mem 2G --port 8443 --remote $@' >>/usr/bin/openmole-docker && \
|chmod +x-w /usr/bin/openmole-docker""".stripMargin)
volume("/var/openmole")
expose(8443)
cmdShell("openmole-docker")
......
......@@ -68,7 +68,7 @@ class EnvironmentErrorPanel(environmentErrorData: EnvironmentErrorData, environm
ReactiveRow(
id,
Seq(
FixedCell(tags.span(wordWrap := "break-word")(tags.a(error.errorMessage, pointer +++ Seq(fontSize := 13, scalatags.JsDom.all.color := "#222", textDecoration.underline), onclick := { () toggleDetail(id) })), 0),
FixedCell(tags.span(wordWrap := "break-word")(tags.a(error.errorMessage, pointer, fontSize := 13, scalatags.JsDom.all.color := "#222", textDecoration.underline, onclick := { () toggleDetail(id) })), 0),
FixedCell(levelLabel(error.level)(badge(nb.toString, environmentErrorBadge)), 1),
FixedCell(span(fontSize := 13, textCenter)(Utils.longToDate(date)), 2)
), Seq(borderTop := "2px solid white" /*, backgroundColor := "#ff000033"*/ )
......
......@@ -4,7 +4,7 @@ import scaladget.tools._
import org.openmole.gui.ext.data._
import org.scalajs.dom.raw.HTMLElement
import rx._
import scala.scalajs.concurrent.JSExecutionContext.Implicits.runNow
import scala.scalajs.concurrent.JSExecutionContext.Implicits.queue
import scala.concurrent.Future
import scala.util.{ Success, Failure }
import scalatags.JsDom.all._
......
......@@ -86,15 +86,20 @@ sealed trait TreeNodeTab {
}
def onActivate: () Unit = () {}
def onDesactivate: () Unit = () {}
def extension: FileExtension = safePathTab.now.name
// Get the file content to be saved
def content: String
def editor: Option[EditorPanelUI]
def editable: Boolean
def editing: Boolean
def refresh(afterRefresh: () Unit = () {}): Unit
def resizeEditor: Unit
......@@ -127,13 +132,17 @@ object TreeNodeTab {
omsEditor.initEditor
def editable = true
def editing = true
override def onActivate: () Unit = () {}
def content = omsEditor.code
def refresh(onsaved: () Unit) = save(safePathTab.now, omsEditor, onsaved)
def resizeEditor = omsEditor.editor.resize()
def indexAxises(header: SequenceHeader) = header.zipWithIndex.map { afe IndexedAxis(afe._1, afe._2) }
lazy val controlElement = {
......@@ -199,10 +208,15 @@ object TreeNodeTab {
lazy val safePathTab = Var(safePath)
def content: String = htmlContent
def editor = None
def editable: Boolean = false
def editing: Boolean = false
def refresh(afterRefresh: () Unit): Unit = () {}
def resizeEditor = {}
lazy val controlElement: TypedTag[HTMLElement] = div()
......@@ -234,7 +248,9 @@ object TreeNodeTab {
}
sealed trait RowFilter
object First100 extends RowFilter
object Last100 extends RowFilter
object All extends RowFilter
......@@ -248,9 +264,12 @@ object TreeNodeTab {
lazy val safePathTab = Var(safePath)
lazy val isEditing = Var(dataTab.editing)
Rx { editableEditor.setReadOnly(!isEditing()) }
Rx {
editableEditor.setReadOnly(!isEditing())
}
def content: String = editableEditor.code
def isCSV = DataUtils.isCSV(safePath)
val filteredSequence = dataTab.filter match {
......@@ -471,7 +490,9 @@ object TreeNodeTab {
scalatags.JsDom.tags.span(marginLeft := 10)(filterAxisOptions.selector),
scalatags.JsDom.tags.span(maxHeight := 34)(
Rx {
if (filterAxisOptions.content().map { _.fullSequenceIndex } == Some(-1)) Seq(scalatags.JsDom.tags.span(maxHeight := 34))
if (filterAxisOptions.content().map {
_.fullSequenceIndex
} == Some(-1)) Seq(scalatags.JsDom.tags.span(maxHeight := 34))
else Seq(form(closureInput, inputFilterValidation))
})
)
......@@ -601,7 +622,11 @@ class TreeNodeTabs {
def stopTimerIfNoTabs = {
if (tabs.now.isEmpty) {
timer.map { _.foreach { clearInterval } }
timer.map {
_.foreach {
clearInterval
}
}
timer() = None
}
}
......@@ -610,13 +635,17 @@ class TreeNodeTabs {
timer.now match {
case None
timer() = Some(setInterval(15000) {
tabs.now.foreach { _.refresh() }
tabs.now.foreach {
_.refresh()
}
})
case _
}
def setActive(tab: TreeNodeTab) = {
if (tabs.now.contains(tab)) { unActiveAll }
if (tabs.now.contains(tab)) {
unActiveAll
}
tab.activate
}
......@@ -638,7 +667,9 @@ class TreeNodeTabs {
def removeTab(tab: TreeNodeTab) = {
tab.desactivate
val newTabs = tabs.now.filterNot { _ == tab }
val newTabs = tabs.now.filterNot {
_ == tab
}
tabs() = newTabs
if (tabs.now.isEmpty) temporaryControl() = div()
newTabs.lastOption.map { t setActive(t) }
......@@ -782,18 +813,16 @@ class TreeNodeTabs {
}
}
new Sortable(
Sortable(
tabList,
new SortableProps {
override val onEnd = scala.scalajs.js.defined {
(event: EventS)
val oldI = event.oldIndex.asInstanceOf[Int]
val newI = event.newIndex.asInstanceOf[Int]
tabs() = tabs.now.updated(oldI, tabs.now(newI)).updated(newI, tabs.now(oldI))
setActive(tabs.now(newI))
SortableOptions.onEnd(
(event: EventS) {
val oldI = event.oldIndex.asInstanceOf[Int]
val newI = event.newIndex.asInstanceOf[Int]
tabs() = tabs.now.updated(oldI, tabs.now(newI)).updated(newI, tabs.now(oldI))
setActive(tabs.now(newI))
}
}
)
))
div(role := "tabpanel")(
fontSizeControl,
......
package org.openmole.gui.client.tool.plot
import com.definitelyscala.plotlyjs._
import com.definitelyscala.plotlyjs.all._
import com.definitelyscala.plotlyjs.PlotlyImplicits._
import org.openmole.plotlyjs._
import org.openmole.plotlyjs.all._
import org.openmole.plotlyjs.PlotlyImplicits._
import scala.scalajs.js.JSConverters._
import scalatags.JsDom.all._
import scala.scalajs.js
......@@ -18,9 +18,8 @@ object HeatMapPlot {
val dims: js.Array[js.Array[String]] = serie.yValues.map { _.values.toJSArray }.reverse /*.reverse.toArray }.transpose.map { _.toJSArray }*/ .toJSArray
val data = PlotData
val data = heatmap
.z(dims)
.set(plotlytype.heatmap)
val layout = Layout
.title(title)
......
package org.openmole.gui.client.tool.plot
import com.definitelyscala.plotlyjs._
import com.definitelyscala.plotlyjs.all._
import com.definitelyscala.plotlyjs.PlotlyImplicits._
import org.openmole.plotlyjs._
import org.openmole.plotlyjs.all._
import org.openmole.plotlyjs.PlotlyImplicits._
import scala.scalajs.js.JSConverters._
import scala.scalajs.js
import scalatags.JsDom.all._
......@@ -21,22 +21,21 @@ object ScatterPlot {
lazy val baseLayout = Plot.baseLayout(title)
.width(800)
.xaxis(plotlyaxis.title(serie.xValues.label))
.xaxis(axis.title(serie.xValues.label))
val layout = {
if (nbDims == 2)
baseLayout
.xaxis(plotlyaxis.title(serie.xValues.label))
.yaxis(plotlyaxis.title(serie.yValues.head.label))
.xaxis(axis.title(serie.xValues.label))
.yaxis(axis.title(serie.yValues.head.label))
else baseLayout
}
val data = serie.yValues.map { y
serie.plotDataBuilder
.set(plottype.scatter).set(plotmode.markers)
.x(serie.xValues.values.toJSArray)
.y(y.values.toJSArray)
.set(plotlymode.markers)
.set(plotlytype.scatter)
}.toJSArray
val plotDataArray = {
......
package org.openmole.gui.client.tool.plot
import com.definitelyscala.plotlyjs.all._
import org.openmole.plotlyjs._
import org.openmole.plotlyjs.all._
import org.openmole.plotlyjs.PlotlyImplicits._
import org.openmole.plotlyjs.plotlyConts._
import scala.scalajs.js.JSConverters._
import com.definitelyscala.plotlyjs._
case class Dim(values: Seq[String], label: String = "") {
def toDimension = Dimension.values(values.toJSArray).label(label)
......@@ -13,7 +15,7 @@ case class Serie(
// dimensionSize: Int = 0,
xValues: Dim = Dim(Seq()),
yValues: Array[Dim] = Array(),
plotDataBuilder: PlotDataBuilder = PlotData.set(plotlymode.markers.lines),
markerBuilder: PlotMarkerBuilder = plotlymarker.set(plotlysymbol.cross),
colorScale: ColorScale = ColorScale.blues
plotDataBuilder: PlotDataBuilder = linechart.lines,
markerBuilder: PlotMarkerBuilder = marker.symbol(cross),
colorScale: ColorScale = colorscale.blues
)
\ No newline at end of file
package org.openmole.gui.client.tool.plot
import com.definitelyscala.plotlyjs._
import com.definitelyscala.plotlyjs.all._
import com.definitelyscala.plotlyjs.PlotlyImplicits._
import org.openmole.plotlyjs._
import org.openmole.plotlyjs.all._
import org.openmole.plotlyjs.PlotlyImplicits._
import scala.scalajs.js.JSConverters._
import scalatags.JsDom.all._
......