Skip to content
This repository has been archived by the owner on May 26, 2021. It is now read-only.
/ NetLogo-Headless Public archive

NO LONGER UNDER DEVELOPMENT - See 'netlogo-headless' directory in NetLogo/NetLogo

License

Notifications You must be signed in to change notification settings

NetLogo/NetLogo-Headless

Repository files navigation

NetLogo-Headless

This project is no longer under development. Instead, see the netlogo-headless directory in the NetLogo/NetLogo repository.

The NetLogo Headless project is broken into a number of modules, explained in the sections below. The end result of these modules is two artifacts NetLogoHeadless.jar and netlogo-parser_sjs.jar. NetLogoHeadless.jar bundles all the code for NetLogoHeadless. netlogo-parser_sjs.jar is a scalajs jar that allows users to use NetLogo from scalajs.

Projects:

The dependencies are as follows

  sharedResources
    ^          ^
    |          |
parserJVM    macros
    |          |
jvmBuild    parserJS

SBT works as it normally does. You can prefix tasks with the project name, like:

> parserJVM/compile
[info] Updating {file:~/NetLogo-Headless/}parserJVM...

or you can switch "into" a project and use the commands without prefix:

> project parserJVM
> compile
[info] Updating {file:~/NetLogo-Headless/}parserJVM...

Macros

This project provides a number of features for parserJs that would otherwise be unavailable. These include resource-loading and character detection. Please note that this project is not needed by parser-js at runtime, and runtime dependencies between this project and parser-js are undesirable.

JVM Build

This project bundles all of NetLogoHeadless into one jar. It depends on (and should include files from) sharedResources and parserJvm.

Parser JS

This project bundles the parser files into a scala.js jar. It depends on macros for compile-time values of files that will not be available to it at runtime. It merges sources from parser-core (also used by Parser JVM) with the sources in parser-js.

Parser JVM

This project bundles the parser files into a scala jar. It could be used anywhere that a NetLogo parser (without code generation) is required. It merges source from parser-core (also used by Parser JS) with the sources in parser-jvm.

Shared Resources

This project contains resources that are shared among all projects. These are primarily static text files, but this project also handles I18N normalization and bundling.