Skip to content

Multiproject build setup

ComFreek edited this page Mar 13, 2019 · 2 revisions

Target audience: Programmers who want to develop an application using MMT, but also regularly edit MMT itself (e.g. add documentation, fix things) and want these updates to be immediately visible in their own project without tedious repackaging a self-contained mmt.jar.

  1. Clone the MMT repository somewhere: git clone ..., preferably as a submodule
  2. Use this build.sbt:
import sbt.Keys.libraryDependencies

lazy val mmt = RootProject(file("<path-to-mmt-clone>/src"))

lazy val playground = Project(id = "playground", base = file(".")).settings(
	name := "playground",
	version := "0.1",
	scalaVersion := "2.12.8",
	scalacOptions in ThisBuild ++= Seq("-unchecked", "-deprecation"),
	// Add further desired libraryDependencies here
        // e.g. libraryDependencies += "org.jgrapht" % "jgrapht-core" % "1.3.0",
).dependsOn(mmt)
  1. You're ready to go!

Clone this wiki locally