diff --git a/.mvn/extensions.xml b/.mvn/extensions.xml
index d5c221c..9f3a51a 100644
--- a/.mvn/extensions.xml
+++ b/.mvn/extensions.xml
@@ -3,6 +3,6 @@
io.takari.polyglotpolyglot-ruby
- 0.1.19
+ 0.4.3
diff --git a/.mvn/wrapper/MavenWrapperDownloader.java b/.mvn/wrapper/MavenWrapperDownloader.java
new file mode 100644
index 0000000..c32394f
--- /dev/null
+++ b/.mvn/wrapper/MavenWrapperDownloader.java
@@ -0,0 +1,117 @@
+/*
+ * Copyright 2007-present the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * 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.
+ */
+import java.net.*;
+import java.io.*;
+import java.nio.channels.*;
+import java.util.Properties;
+
+public class MavenWrapperDownloader {
+
+ private static final String WRAPPER_VERSION = "0.5.5";
+ /**
+ * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
+ */
+ private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
+ + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar";
+
+ /**
+ * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
+ * use instead of the default one.
+ */
+ private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
+ ".mvn/wrapper/maven-wrapper.properties";
+
+ /**
+ * Path where the maven-wrapper.jar will be saved to.
+ */
+ private static final String MAVEN_WRAPPER_JAR_PATH =
+ ".mvn/wrapper/maven-wrapper.jar";
+
+ /**
+ * Name of the property which should be used to override the default download url for the wrapper.
+ */
+ private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
+
+ public static void main(String args[]) {
+ System.out.println("- Downloader started");
+ File baseDirectory = new File(args[0]);
+ System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
+
+ // If the maven-wrapper.properties exists, read it and check if it contains a custom
+ // wrapperUrl parameter.
+ File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
+ String url = DEFAULT_DOWNLOAD_URL;
+ if(mavenWrapperPropertyFile.exists()) {
+ FileInputStream mavenWrapperPropertyFileInputStream = null;
+ try {
+ mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
+ Properties mavenWrapperProperties = new Properties();
+ mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
+ url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
+ } catch (IOException e) {
+ System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
+ } finally {
+ try {
+ if(mavenWrapperPropertyFileInputStream != null) {
+ mavenWrapperPropertyFileInputStream.close();
+ }
+ } catch (IOException e) {
+ // Ignore ...
+ }
+ }
+ }
+ System.out.println("- Downloading from: " + url);
+
+ File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
+ if(!outputFile.getParentFile().exists()) {
+ if(!outputFile.getParentFile().mkdirs()) {
+ System.out.println(
+ "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'");
+ }
+ }
+ System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
+ try {
+ downloadFileFromURL(url, outputFile);
+ System.out.println("Done");
+ System.exit(0);
+ } catch (Throwable e) {
+ System.out.println("- Error downloading");
+ e.printStackTrace();
+ System.exit(1);
+ }
+ }
+
+ private static void downloadFileFromURL(String urlString, File destination) throws Exception {
+ if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) {
+ String username = System.getenv("MVNW_USERNAME");
+ char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
+ Authenticator.setDefault(new Authenticator() {
+ @Override
+ protected PasswordAuthentication getPasswordAuthentication() {
+ return new PasswordAuthentication(username, password);
+ }
+ });
+ }
+ URL website = new URL(urlString);
+ ReadableByteChannel rbc;
+ rbc = Channels.newChannel(website.openStream());
+ FileOutputStream fos = new FileOutputStream(destination);
+ fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
+ fos.close();
+ rbc.close();
+ }
+
+}
diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties
new file mode 100644
index 0000000..fa87ad7
--- /dev/null
+++ b/.mvn/wrapper/maven-wrapper.properties
@@ -0,0 +1,2 @@
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.1/apache-maven-3.6.1-bin.zip
+wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 23b5c7f..bca8bcc 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,13 @@
+**v1.3.1** Bump for janino-3.1.3 and processing-4.0
-**v1.1.1** Left out GLASS from fill type switch easily fixed thought
+**v1.3.0** Bump for janino-3.1.2, and jdk11
-**v1.1.0** I'm conflicted about versioning here, this a later version than Joon Hyub Lee joonsrenderer. What is different is sunflow is integrated and updated (switch on String, try with resources etc, and importantly updated janino). I hava also hacked joons renderer a bit as well.
+**v1.2.0** Bump for janino-3.0.12, plus some refactoring
+
+**v1.1.3** Bump for processing-3.3.4
+
+**v1.1.2** Use sunflow.util.FloatList and IntList, netbeans profiling suggest it is worth doing (there is a vanilla processing alternative, with a different interface)
+
+**v1.1.1** Left out GLASS from fill type switch easily fixed though
+
+**v1.1.0** I'm conflicted about versioning here, this a later version than Joon Hyub Lee joonsrenderer. What is different is sunflow is integrated and updated (switch on String, try with resources etc, and importantly updated janino). I have also hacked joons renderer a bit as well.
diff --git a/Rakefile b/Rakefile
index 951d215..6b7bbb2 100644
--- a/Rakefile
+++ b/Rakefile
@@ -6,7 +6,7 @@ def create_manifest
file = File.open('MANIFEST.MF', 'w') do |f|
f.puts(title)
f.puts(version)
- f.puts('Class-Path: janino-3.0.6.jar commons-compiler-3.0.6.jar')
+ f.puts('Class-Path: janino-3.1.3.jar commons-compiler-3.1.3.jar')
end
end
@@ -33,6 +33,11 @@ task :install do
sh "mv target/joonsrenderer.jar lib"
end
+desc 'JDeps Tool'
+task :jdeps do
+ system 'mvn jdeps:jdkinternals'
+end
+
desc 'clean'
task :clean do
Dir['./**/*.%w{jar gem}'].each do |path|
diff --git a/docs/Gemfile b/docs/Gemfile
new file mode 100644
index 0000000..6e71ddd
--- /dev/null
+++ b/docs/Gemfile
@@ -0,0 +1,2 @@
+gem 'jekyll-feed'
+gem 'jekyll-seo-tag'
diff --git a/docs/_config.yml b/docs/_config.yml
index 858de65..5c994f8 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -18,3 +18,6 @@ syntax-highlighting:
enabled: true
# Build settings
markdown: kramdown
+gems:
+ - jekyll-feed
+ - jekyll-seo-tag
diff --git a/docs/_includes/head.html b/docs/_includes/head.html
deleted file mode 100644
index 42258b4..0000000
--- a/docs/_includes/head.html
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
- {% if page.keywords %}
-
- {% else %}
-
- {% endif %}{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}
-
-
-
-
-
-
\ No newline at end of file
diff --git a/docs/_includes/header.html b/docs/_includes/header.html
index 70eff6e..57769ee 100644
--- a/docs/_includes/header.html
+++ b/docs/_includes/header.html
@@ -2,7 +2,7 @@