diff --git a/.circleci/config.yml b/.circleci/config.yml
deleted file mode 100644
index 671af7d66..000000000
--- a/.circleci/config.yml
+++ /dev/null
@@ -1,88 +0,0 @@
-# This configuration was automatically generated from a CircleCI 1.0 config.
-# It should include any build commands you had along with commands that CircleCI
-# inferred from your project structure. We strongly recommend you read all the
-# comments in this file to understand the structure of CircleCI 2.0, as the idiom
-# for configuration has changed substantially in 2.0 to allow arbitrary jobs rather
-# than the prescribed lifecycle of 1.0. In general, we recommend using this generated
-# configuration as a reference rather than using it in production, though in most
-# cases it should duplicate the execution of your original 1.0 config.
-version: 2
-jobs:
- build:
- working_directory: ~/spullara/mustache.java
- parallelism: 1
- shell: /bin/bash --login
- # CircleCI 2.0 does not support environment variables that refer to each other the same way as 1.0 did.
- # If any of these refer to each other, rewrite them so that they don't or see https://circleci.com/docs/2.0/env-vars/#interpolating-environment-variables-to-set-other-environment-variables .
- environment:
- CIRCLE_ARTIFACTS: /tmp/circleci-artifacts
- CIRCLE_TEST_REPORTS: /tmp/circleci-test-results
- # In CircleCI 1.0 we used a pre-configured image with a large number of languages and other packages.
- # In CircleCI 2.0 you can now specify your own image, or use one of our pre-configured images.
- # The following configuration line tells CircleCI to use the specified docker image as the runtime environment for you job.
- # We have selected a pre-built image that mirrors the build environment we use on
- # the 1.0 platform, but we recommend you choose an image more tailored to the needs
- # of each job. For more information on choosing an image (or alternatively using a
- # VM instead of a container) see https://circleci.com/docs/2.0/executor-types/
- # To see the list of pre-built images that CircleCI provides for most common languages see
- # https://circleci.com/docs/2.0/circleci-images/
- docker:
- - image: circleci/build-image:ubuntu-14.04-XXL-upstart-1189-5614f37
- command: /sbin/init
- steps:
- # Machine Setup
- # If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each
- # The following `checkout` command checks out your code to your working directory. In 1.0 we did this implicitly. In 2.0 you can choose where in the course of a job your code should be checked out.
- - checkout
- # Prepare for artifact and test results collection equivalent to how it was done on 1.0.
- # In many cases you can simplify this from what is generated here.
- # 'See docs on artifact collection here https://circleci.com/docs/2.0/artifacts/'
- - run: mkdir -p $CIRCLE_ARTIFACTS $CIRCLE_TEST_REPORTS
- # This is based on your 1.0 configuration file or project settings
- - run:
- working_directory: ~/spullara/mustache.java
- command: sudo update-alternatives --set java /usr/lib/jvm/jdk1.8.0/bin/java; sudo update-alternatives --set javac /usr/lib/jvm/jdk1.8.0/bin/javac; echo -e "export JAVA_HOME=/usr/lib/jvm/jdk1.8.0" >> $BASH_ENV
- # Dependencies
- # This would typically go in either a build or a build-and-test job when using workflows
- # Restore the dependency cache
- - restore_cache:
- keys:
- # This branch if available
- - v1-dep-{{ .Branch }}-
- # Default branch if not
- - v1-dep-master-
- # Any branch if there are none on the default branch - this should be unnecessary if you have your default branch configured correctly
- - v1-dep-
- # This is based on your 1.0 configuration file or project settings
- - run: mvn install -DskipTests
- # Save dependency cache
- - save_cache:
- key: v1-dep-{{ .Branch }}-{{ epoch }}
- paths:
- # This is a broad list of cache paths to include many possible development environments
- # You can probably delete some of these entries
- - vendor/bundle
- - ~/virtualenvs
- - ~/.m2
- - ~/.ivy2
- - ~/.bundle
- - ~/.go_workspace
- - ~/.gradle
- - ~/.cache/bower
- # Test
- # This would typically be a build job when using workflows, possibly combined with build
- # This is based on your 1.0 configuration file or project settings
- - run: mvn test
- # This is based on your 1.0 configuration file or project settings
- - run: mkdir -p $CIRCLE_TEST_REPORTS/junit/
- - run: find . -type f -regex ".*/target/surefire-reports/.*xml" -exec cp {} $CIRCLE_TEST_REPORTS/junit/ \;
- # Teardown
- # If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each
- # Save test results
- - store_test_results:
- path: /tmp/circleci-test-results
- # Save artifacts
- - store_artifacts:
- path: /tmp/circleci-artifacts
- - store_artifacts:
- path: /tmp/circleci-test-results
diff --git a/circle.yml b/circle.yml
deleted file mode 100644
index 1e03bf9b2..000000000
--- a/circle.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-dependencies:
- override:
- - mvn install -DskipTests
-test:
- override:
- - mvn test
- post:
- - mkdir -p $CIRCLE_TEST_REPORTS/junit/
- - find . -type f -regex ".*/target/surefire-reports/.*xml" -exec cp {} $CIRCLE_TEST_REPORTS/junit/ \;
-machine:
- java:
- version: oraclejdk8
diff --git a/handlebar/pom.xml b/handlebar/pom.xml
deleted file mode 100644
index 8d998eab6..000000000
--- a/handlebar/pom.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
- com.github.spullara.mustache.java
- mustache.java
- 0.9.9-SNAPSHOT
-
- 4.0.0
-
- com.github.spullara.mustache.java
- handlebar
- bundle
-
- handlebar
- http://maven.apache.org
-
-
-
-
- com.github.spullara.cli-parser
- cli-parser
- 1.0
-
-
- com.github.spullara.mustache.java
- compiler
- 0.9.9-SNAPSHOT
-
-
- com.fasterxml.jackson.core
- jackson-core
- ${jackson.version}
-
-
- com.fasterxml.jackson.core
- jackson-databind
- ${jackson.version}
-
-
-
-
- org.eclipse.jetty
- jetty-server
- 9.4.12.v20180830
-
-
-
-
- junit
- junit
- 4.8.1
- test
-
-
-
-
-
-
- org.apache.felix
- maven-bundle-plugin
-
-
-
-
-
-
-
- maven-assembly-plugin
-
-
-
- jar-with-dependencies
-
-
-
- com.sampullara.mustache.Handlebar
-
-
-
-
-
-
- make-assembly
- package
-
- attached
-
-
-
-
-
-
-
-
-
diff --git a/handlebar/src/main/java/com/sampullara/mustache/Handlebar.java b/handlebar/src/main/java/com/sampullara/mustache/Handlebar.java
deleted file mode 100644
index 35734a63f..000000000
--- a/handlebar/src/main/java/com/sampullara/mustache/Handlebar.java
+++ /dev/null
@@ -1,243 +0,0 @@
-package com.sampullara.mustache;
-
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.MappingJsonFactory;
-import com.github.mustachejava.DefaultMustacheFactory;
-import com.github.mustachejava.Mustache;
-import com.github.mustachejava.MustacheFactory;
-import com.github.mustachejava.TemplateFunction;
-import com.sampullara.cli.Args;
-import com.sampullara.cli.Argument;
-import org.eclipse.jetty.server.Handler;
-import org.eclipse.jetty.server.Request;
-import org.eclipse.jetty.server.Server;
-import org.eclipse.jetty.server.handler.AbstractHandler;
-
-import javax.activation.FileTypeMap;
-import javax.activation.MimetypesFileTypeMap;
-import javax.servlet.ServletException;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.io.UnsupportedEncodingException;
-import java.nio.file.Files;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.function.Function;
-
-/**
- * Run a local server and merge .js and .html files using mustache.
- *
- * User: sam Date: Jun 15, 2010 Time: 4:25:31 PM
- */
-public class Handlebar {
-
- @Argument(alias = "p")
- private static Integer port = 8000;
-
- @Argument(alias = "d", required = true)
- private static String dir;
-
- @Argument(alias = "m")
- private static String mocks;
-
- private static File rootDir;
-
- private static final FileTypeMap FILE_TYPE_MAP;
-
- private static final JsonFactory JSON_FACTORY = new MappingJsonFactory();
-
- static {
- FILE_TYPE_MAP = loadFileTypeMapFromContextSupportModule();
- }
-
- private static FileTypeMap loadFileTypeMapFromContextSupportModule() {
- // see if we can find the extended mime.types from the context-support module
- InputStream is = ClassLoader.getSystemResourceAsStream("com/sampullara/mustache/mimes.txt");
- if (null != is) {
- return new MimetypesFileTypeMap(is);
- }
- return FileTypeMap.getDefaultFileTypeMap();
- }
-
- public static Object toObject(final JsonNode node) {
- if (node.isArray()) {
- return new ArrayList() {
- {
- for (JsonNode jsonNodes : node) {
- add(toObject(jsonNodes));
- }
- }
- };
- } else if (node.isObject()) {
- return new HashMap() {
- {
- for (Iterator> i = node.fields(); i.hasNext();) {
- Map.Entry next = i.next();
- Object o = toObject(next.getValue());
- put(next.getKey(), o);
- }
- }
- };
- } else if (node.isBoolean()) {
- return node.booleanValue();
- } else if (node.isNull()) {
- return null;
- } else {
- return node.asText();
- }
- }
-
-
- public static void main(String[] args) throws Exception {
- try {
- Args.parse(Handlebar.class, args);
- } catch (IllegalArgumentException e) {
- Args.usage(Handlebar.class);
- System.exit(1);
- }
-
- rootDir = new File(dir);
- if (null == mocks) mocks = dir;
-
- Handler handler = new AbstractHandler() {
- public void handle(String s, Request r, HttpServletRequest req, HttpServletResponse res)
- throws IOException, ServletException {
- try {
- String pathInfo = req.getPathInfo();
- if (pathInfo.endsWith("/")) pathInfo += "index.html";
-
- // obtain mime type
- String mimeType = FILE_TYPE_MAP.getContentType(pathInfo);
- System.out.println(String.format("%s: %s", mimeType, pathInfo));
-
- // create a handle to the resource
- File staticres = new File(rootDir, pathInfo.substring(1));
-
- res.setContentType(mimeType == null ? "text/html" : mimeType);
- res.setCharacterEncoding("utf-8");
- if (mimeType == null || mimeType.equals("text/html")) {
-
- // Handle like a template
- String filename = pathInfo.substring(1);
-
- // check if file exists
- if (!staticres.exists()) {
- res.setStatus(HttpServletResponse.SC_NOT_FOUND);
- processTemplate(req, res, "404.html");
- } else {
- res.setStatus(HttpServletResponse.SC_OK);
- processTemplate(req, res, filename);
- }
-
- r.setHandled(true);
- } else {
- if (!staticres.exists()) {
- res.setStatus(HttpServletResponse.SC_NOT_FOUND);
- return;
- }
-
- // Handle like a file
- res.setStatus(HttpServletResponse.SC_OK);
- ServletOutputStream out = res.getOutputStream();
- Files.copy(staticres.toPath(), out);
- out.close();
- r.setHandled(true);
- }
- } catch (Exception e) {
- // params
- Map params = new HashMap();
- StringWriter out = new StringWriter();
- PrintWriter pw = new PrintWriter(out);
- e.printStackTrace(pw);
- pw.close();
- params.put("stacktrace", out.toString());
-
- // render template
- res.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
- processTemplate(req, res, "500.html", params);
-
- r.setHandled(true);
- }
- }
-
- private void processTemplate(HttpServletRequest req, HttpServletResponse res,
- String filename, Object... scopes) throws UnsupportedEncodingException,
- FileNotFoundException, IOException, JsonParseException, JsonProcessingException {
-
- if (!new File(rootDir, filename).exists()) {
- System.out.println("template not found, skipping: " + filename);
- return;
- }
-
- MustacheFactory mc = new DefaultMustacheFactory(rootDir);
- Mustache mustache = mc.compile(filename);
-
- String base = filename.substring(0, filename.lastIndexOf("."));
- File file = new File(mocks, base + ".json");
- Map parameters = new HashMap