Skip to content

Commit

Permalink
Merge pull request #536 from UniFormal/master
Browse files Browse the repository at this point in the history
Release 20
  • Loading branch information
Jazzpirate committed Sep 23, 2020
2 parents 1c61825 + 514b7a6 commit 0f8f051
Show file tree
Hide file tree
Showing 182 changed files with 5,749 additions and 3,219 deletions.
43 changes: 43 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: CI

on: [push, pull_request]

jobs:
ci:
name: Continuous Integration
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2

- name: Install OpenJDK 14 and sbt
uses: olafurpg/setup-scala@v5
with:
java-version: [email protected]

- name: Install Dependencies
run: |
cd src
sbt ++2.12.9 update
- name: Build 'mmt.jar'
run: |
cd src
sbt ++2.12.9 deploy
- name: Store 'mmt.jar' artifact
uses: actions/upload-artifact@v2
with:
name: mmt.jar
path: deploy/mmt.jar

- name: Unit Tests
run: |
cd src
sbt ++2.12.9 test
- name: Integration Tests
shell: bash
run: |
export TEST_USE_BRANCH=${GITHUB_REF#refs/heads/}
java -cp deploy/mmt.jar info.kwarc.mmt.test.TestRunner
171 changes: 0 additions & 171 deletions .travis.yml

This file was deleted.

Binary file modified deploy/lib/scala-compiler.jar
Binary file not shown.
Binary file modified deploy/lib/scala-library.jar
Binary file not shown.
Binary file modified deploy/lib/scala-parser-combinators.jar
Binary file not shown.
Binary file added deploy/lib/scala-reflect.jar
Binary file not shown.
Binary file modified deploy/lib/scala-xml.jar
Binary file not shown.
11 changes: 11 additions & 0 deletions deploy/lib/version.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Don't put version numbers into file names here.
It messes up references every time we upgrade to a new version.
Instead, track the versions here.

Scala language: 2.12.9
Scala modules:
xml: 1.0.6
parser-combinators: 1.0.7
reflect: 2.12.9

xz: 1.8
60 changes: 53 additions & 7 deletions src/build.sbt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import Utils.utils
import sbt.Keys._
import sbt.Keys.{scalacOptions, _}

import scala.io.Source

Expand Down Expand Up @@ -41,6 +41,13 @@ lazy val mmtMainClass = "info.kwarc.mmt.api.frontend.Run"
// =================================
// GLOBAL SETTINGS
// =================================

// !!!WARNING!!!
// If you update scalaVersion, also
// (1) update apiJars and redownload updated deps
// (2) verify whether there is a Scala paradise plugin available on Maven central for the new Scala version
// Search for "paradise" way to below to find the dependency "org.scalamacros" % "paradise_****" in this build.sbt file.
//
scalaVersion in Global := "2.12.9"
scalacOptions in Global := Seq(
"-feature", "-language:postfixOps", "-language:implicitConversions", "-deprecation",
Expand Down Expand Up @@ -145,7 +152,7 @@ lazy val src = (project in file(".")).
exclusions(excludedProjects).
aggregatesAndDepends(
mmt, api,
lf, concepts, tptp, owl, mizar, frameit, mathscheme, pvs, metamath, tps, imps, isabelle, odk, specware, stex, mathhub, planetary, interviews, latex, openmath, oeis, repl, got, coq, glf,
lf, concepts, tptp, owl, mizar, frameit, mathscheme, pvs, tps, imps, isabelle, odk, specware, stex, mathhub, planetary, interviews, latex, openmath, oeis, repl, got, coq, glf,
tiscaf, lfcatalog,
jedit, intellij, argsemcomp
).
Expand Down Expand Up @@ -364,9 +371,48 @@ lazy val mizar = (project in file("mmt-mizar")).
dependsOn(api, lf).
settings(mmtProjectsSettings("mmt-mizar"): _*)

lazy val frameit = (project in file("frameit-mmt")).
dependsOn(api, lf).
settings(mmtProjectsSettings("frameit-mmt"): _*)

// use of MMT in the frameit system, here for ease of deployment but not part of the main mmt target
// reponsible: Navid
// finch is an HTTP server library (https://github.com/finagle/finch), a FrameIT dependency
val finchVersion = "0.32.1"
// Circe is a JSON library (https://circe.github.io/circe/), a FrameIT dependency
val circeVersion = "0.13.0"
lazy val frameit = (project in file("frameit-mmt"))
.dependsOn(api, lf)
.settings(mmtProjectsSettings("frameit-mmt"): _*)
.settings(
libraryDependencies ++= Seq(
// a server infrastructure library
"com.twitter" %% "twitter-server" % "20.7.0",

// an incarnation of an HTTP server library for the above infrastructure
"com.github.finagle" %% "finchx-core" % finchVersion,
// with ability to automatically encode/decode JSON payloads via the circe library below
"com.github.finagle" %% "finchx-circe" % finchVersion,
"com.github.finagle" %% "finchx-generic" % finchVersion,

// and with testing abilities
"com.github.finagle" %% "finchx-test" % finchVersion % "test",
"com.github.finagle" %% "finchx-json-test" % finchVersion % "test",

"org.scalatest" %% "scalatest" % "3.2.0" % "test",

// a JSON library
"io.circe" %% "circe-generic" % circeVersion,
// with extras to support encoding/decoding a case class hierarchy
"io.circe" %% "circe-generic-extras" % circeVersion,
"io.circe" %% "circe-parser" % circeVersion,
),

scalacOptions in Compile ++= Seq(
"-Xplugin-require:macroparadise"
),

// in order for @ConfiguredJsonCodec from circe-generic-extras (a FrameIT dependency above) to work
resolvers += Resolver.sonatypeRepo("releases"),
addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.1" cross CrossVersion.full)
)

// plugin for mathscheme-related functionality. Obsolete
lazy val mathscheme = (project in file("mmt-mathscheme")).
Expand All @@ -379,10 +425,10 @@ lazy val pvs = (project in file("mmt-pvs")).
settings(mmtProjectsSettings("mmt-pvs"): _*)

// plugin for reading metamath
lazy val mmscala = RootProject(uri("https://github.com/UniFormal/mm-scala#master"))
/*lazy val mmscala = RootProject(uri("https://github.com/UniFormal/mm-scala#master"))
lazy val metamath = (project in file("mmt-metamath")).
dependsOn(api, lf, mmscala).
settings(mmtProjectsSettings("mmt-metamath"): _*)
settings(mmtProjectsSettings("mmt-metamath"): _*) */

// plugin for reading isabelle. Author: Makarius Wenzel
// This only works if an Isabelle environment is present. If not, we use an empty dummy project.
Expand Down
Loading

0 comments on commit 0f8f051

Please sign in to comment.