diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index c4c5d9956..6e6669201 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -26,28 +26,7 @@ In order to verify that you don't break anything, you should build the whole pro
## Building the Project from Source
-You can build the project with [SBT](http://www.scala-sbt.org) or [Maven](http://maven.apache.org). Both build files should be kept in sync.
-
-### Using SBT
-
-In the root directory:
-
-Run all tests with
-```
-sbt test
-```
-
-Or only for one module (e.g. engine) with
-```
-sbt engine/test
-```
-
-Build the JAR files with
-```
-sbt assembly
-```
-
-### Using Maven
+You can build the project with [Maven](http://maven.apache.org).
In the root directory:
diff --git a/feel-engine/assembly-complete.xml b/assembly-complete.xml
similarity index 100%
rename from feel-engine/assembly-complete.xml
rename to assembly-complete.xml
diff --git a/build.sbt b/build.sbt
deleted file mode 100644
index 3d6c41fd9..000000000
--- a/build.sbt
+++ /dev/null
@@ -1,99 +0,0 @@
-val shared = Seq(
- organization := "org.camunda.bpm.extension.feel.scala",
- version := "1.9.0-SNAPSHOT",
- scalaVersion := "2.13.0",
- resolvers += Resolver.mavenLocal,
- resolvers += Classpaths.typesafeReleases,
- resolvers += "camunda-bpm-nexus" at "https://app.camunda.com/nexus/content/groups/public",
- scalacOptions ++= Seq("-unchecked", "-deprecation", "-feature")
-)
-
-val commonDependencies = Seq(
- "org.slf4j" % "slf4j-api" % "1.7.25",
- "junit" % "junit" % "4.11" % "test",
- "org.scalatest" % "scalatest_2.13" % "3.0.8" % "test",
- "org.apache.logging.log4j" % "log4j-api" % "2.9.0" % "test",
- "org.apache.logging.log4j" % "log4j-core" % "2.9.0" % "test",
- "org.apache.logging.log4j" % "log4j-slf4j-impl" % "2.9.0" % "test"
-)
-
-val camundaVersion = "7.11.0"
-
-lazy val root = (project in file("."))
- .settings(shared)
- .aggregate(engine, factory, plugin, camundaSpin, examples)
-
-lazy val engine = (project in file("feel-engine"))
- .enablePlugins(AssemblyPlugin)
- .settings(
- shared,
- name := "feel-engine",
- description := "FEEL engine",
- libraryDependencies ++= commonDependencies,
- libraryDependencies ++= Seq(
- "org.scala-lang.modules" % "scala-parser-combinators_2.13" % "1.1.2"
- ),
- assemblyJarName in assembly := s"${name.value}-${version.value}-complete.jar"
- )
-
-lazy val factory = (project in file("feel-engine-factory"))
- .enablePlugins(AssemblyPlugin)
- .settings(
- shared,
- name := "feel-engine-factory",
- description := "FEEL engine factory",
- libraryDependencies ++= commonDependencies,
- libraryDependencies ++= Seq(
- "org.camunda.bpm.dmn" % "camunda-engine-feel-api" % camundaVersion % "provided",
- "org.camunda.bpm.dmn" % "camunda-engine-dmn" % camundaVersion % "provided",
- "joda-time" % "joda-time" % "2.1"
- ),
- assemblyJarName in assembly := s"${name.value}-${version.value}-complete.jar"
- )
- .dependsOn(engine % "test->test;compile->compile")
-
-lazy val plugin = (project in file("feel-engine-plugin"))
- .enablePlugins(AssemblyPlugin)
- .settings(
- shared,
- name := "feel-engine-plugin",
- description := "FEEL engine plugin",
- libraryDependencies ++= commonDependencies,
- libraryDependencies ++= Seq(
- "org.camunda.bpm" % "camunda-engine" % camundaVersion % "provided",
- "com.h2database" % "h2" % "1.4.193" % "test"
- ),
- assemblyJarName in assembly := s"${name.value}-${version.value}-complete.jar"
- )
- .dependsOn(
- factory % "test->test;compile->compile",
- engine % "test->test;compile->compile"
- )
-
-lazy val camundaSpin = (project in file("feel-camunda-spin")) .enablePlugins(AssemblyPlugin)
- .settings(
- shared,
- name := "feel-camunda-spin",
- description := "FEEL engine - Camunda Spin Integration",
- libraryDependencies ++= commonDependencies,
- libraryDependencies ++= Seq(
- "org.camunda.spin" % "camunda-spin-core" % "1.5.0" % "provided",
- "org.camunda.spin" % "camunda-spin-dataformat-all" % "1.5.0" % "test"
- )
- )
- .dependsOn(engine % "test->test;compile->compile")
-
-lazy val examples = (project in file("examples"))
- .settings(
- shared,
- name := "feel-engine-plugin",
- description := "FEEL engine plugin",
- libraryDependencies ++= commonDependencies,
- libraryDependencies ++= Seq(
- "org.camunda.bpm.dmn" % "camunda-engine-dmn" % camundaVersion % "test"
- )
- )
- .dependsOn(
- factory % "test->test;compile->compile",
- engine % "test->test;compile->compile"
- )
diff --git a/examples/pom.xml b/examples/pom.xml
deleted file mode 100644
index aa78b2abe..000000000
--- a/examples/pom.xml
+++ /dev/null
@@ -1,118 +0,0 @@
-
- 4.0.0
-
- org.camunda.feel
- feel-engine-examples
- 0.0.1-SNAPSHOT
-
- FEEL Engine Examples
-
-
- 1.8
- 1.11.0-SNAPSHOT
- 3.0.8
- 2.9.0
- 2.13.0
- 2.13.0
- 3.1
-
-
-
-
-
- org.camunda.feel
- feel-engine
- ${version.feel-engine}
-
-
-
- org.scalatest
- scalatest_2.13
- ${version.scalatest}
- test
-
-
-
- org.apache.logging.log4j
- log4j-api
- ${version.log4j}
- test
-
-
-
- org.apache.logging.log4j
- log4j-core
- ${version.log4j}
- test
-
-
-
- org.apache.logging.log4j
- log4j-slf4j-impl
- ${version.log4j}
- test
-
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- ${plugin.version.compiler}
-
- ${version.java}
- ${version.java}
-
-
-
- net.alchim31.maven
- scala-maven-plugin
- 3.2.1
-
- ${scala.binary.version}
- ${scala.version}
-
-
-
- scala-compile-first
- process-resources
-
- add-source
- compile
-
-
-
- scala-test-compile
- process-test-resources
-
- testCompile
-
-
-
- scala-doc
- package
-
- doc-jar
-
-
-
-
-
- org.scalatest
- scalatest-maven-plugin
- 1.0
-
-
- test
-
- test
-
-
-
-
-
-
-
-
diff --git a/examples/project/build.properties b/examples/project/build.properties
deleted file mode 100644
index 64317fdae..000000000
--- a/examples/project/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-sbt.version=0.13.15
diff --git a/examples/project/plugins.sbt b/examples/project/plugins.sbt
deleted file mode 100644
index bedfbbf44..000000000
--- a/examples/project/plugins.sbt
+++ /dev/null
@@ -1 +0,0 @@
-addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "4.0.0")
\ No newline at end of file
diff --git a/examples/src/main/java/org/camunda/feel/example/spi/CustomJavaFunctionProvider.java b/examples/src/main/java/org/camunda/feel/example/spi/CustomJavaFunctionProvider.java
deleted file mode 100644
index e7183ddf0..000000000
--- a/examples/src/main/java/org/camunda/feel/example/spi/CustomJavaFunctionProvider.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH
- * under one or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information regarding copyright
- * ownership. Camunda licenses this file to you under the Apache License,
- * Version 2.0; you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.camunda.feel.example.spi;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Optional;
-
-import org.camunda.feel.syntaxtree.ValNumber;
-import org.camunda.feel.context.JavaFunction;
-import org.camunda.feel.context.JavaFunctionProvider;
-import scala.math.BigDecimal;
-
-public class CustomJavaFunctionProvider extends JavaFunctionProvider {
-
- private static final Map functions = new HashMap<>();
-
- static {
-
- final JavaFunction function = new JavaFunction(Arrays.asList("x"), args -> {
- final ValNumber arg = (ValNumber) args.get(0);
-
- int x = arg.value().intValue();
-
- return new ValNumber(BigDecimal.valueOf(x - 1));
- });
-
- functions.put("bar", function);
- }
-
- @Override
- public Optional resolveFunction(String functionName) {
- return Optional.ofNullable(functions.get(functionName));
- }
-
- @Override
- public Collection getFunctionNames() {
- return functions.keySet();
- }
-}
diff --git a/examples/src/main/java/org/camunda/feel/example/spi/CustomJavaValueMapper.java b/examples/src/main/java/org/camunda/feel/example/spi/CustomJavaValueMapper.java
deleted file mode 100644
index a302bed0a..000000000
--- a/examples/src/main/java/org/camunda/feel/example/spi/CustomJavaValueMapper.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH
- * under one or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information regarding copyright
- * ownership. Camunda licenses this file to you under the Apache License,
- * Version 2.0; you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.camunda.feel.example.spi;
-
-import java.util.Optional;
-import java.util.function.Function;
-
-import org.camunda.feel.syntaxtree.Val;
-import org.camunda.feel.syntaxtree.ValNumber;
-import org.camunda.feel.syntaxtree.ValString;
-import org.camunda.feel.valuemapper.JavaCustomValueMapper;
-
-public class CustomJavaValueMapper extends JavaCustomValueMapper {
-
- @Override
- public Optional toValue(Object x, Function