diff --git a/MANIFEST.MF b/MANIFEST.MF
index f31ca90..6774de5 100644
--- a/MANIFEST.MF
+++ b/MANIFEST.MF
@@ -1,28 +1,30 @@
-Manifest-Version: 1.0
-Main-Class: org.eclipse.jdt.internal.compiler.batch.Main
-Bundle-ManifestVersion: 2
-Bundle-Name: Eclipse Compiler for Java(TM)
-Bundle-SymbolicName: org.eclipse.jdt.core.compiler.batch
-Bundle-Version: 3.10.0.qualifier
-Bundle-ClassPath: .
-Bundle-Vendor: Eclipse.org
-Export-Package: org.eclipse.jdt.core,
- org.eclipse.jdt.core.compiler,
- org.eclipse.jdt.internal.antadapter;x-internal:=true,
- org.eclipse.jdt.internal.compiler;x-internal:=true,
- org.eclipse.jdt.internal.compiler.apt.dispatch;x-internal:=true,
- org.eclipse.jdt.internal.compiler.apt.model;x-internal:=true,
- org.eclipse.jdt.internal.compiler.apt.util;x-internal:=true,
- org.eclipse.jdt.internal.compiler.ast;x-internal:=true,
- org.eclipse.jdt.internal.compiler.batch;x-internal:=true,
- org.eclipse.jdt.internal.compiler.classfmt;x-internal:=true,
- org.eclipse.jdt.internal.compiler.codegen;x-internal:=true,
- org.eclipse.jdt.internal.compiler.env;x-internal:=true,
- org.eclipse.jdt.internal.compiler.flow;x-internal:=true,
- org.eclipse.jdt.internal.compiler.impl;x-internal:=true,
- org.eclipse.jdt.internal.compiler.lookup;x-internal:=true,
- org.eclipse.jdt.internal.compiler.parser;x-internal:=true,
- org.eclipse.jdt.internal.compiler.parser.diagnose;x-internal:=true,
- org.eclipse.jdt.internal.compiler.problem;x-internal:=true,
- org.eclipse.jdt.internal.compiler.util;x-internal:=true,
- org.eclipse.jdt.internal.compiler.tool;x-internal:=true
+Manifest-Version: 1.0
+Bundle-SymbolicName: org.eclipse.jdt.core.compiler.batch
+Archiver-Version: Plexus Archiver
+Built-By: genie.releng
+Bundle-ManifestVersion: 2
+Bundle-Vendor: Eclipse.org
+Main-Class: org.eclipse.jdt.internal.compiler.batch.Main
+Export-Package: org.eclipse.jdt.core,org.eclipse.jdt.core.compiler,org
+ .eclipse.jdt.internal.antadapter;x-internal:=true,org.eclipse.jdt.int
+ ernal.compiler;x-internal:=true,org.eclipse.jdt.internal.compiler.apt
+ .dispatch;x-internal:=true,org.eclipse.jdt.internal.compiler.apt.mode
+ l;x-internal:=true,org.eclipse.jdt.internal.compiler.apt.util;x-inter
+ nal:=true,org.eclipse.jdt.internal.compiler.ast;x-internal:=true,org.
+ eclipse.jdt.internal.compiler.batch;x-internal:=true,org.eclipse.jdt.
+ internal.compiler.classfmt;x-internal:=true,org.eclipse.jdt.internal.
+ compiler.codegen;x-internal:=true,org.eclipse.jdt.internal.compiler.e
+ nv;x-internal:=true,org.eclipse.jdt.internal.compiler.flow;x-internal
+ :=true,org.eclipse.jdt.internal.compiler.impl;x-internal:=true,org.ec
+ lipse.jdt.internal.compiler.lookup;x-internal:=true,org.eclipse.jdt.i
+ nternal.compiler.parser;x-internal:=true,org.eclipse.jdt.internal.com
+ piler.parser.diagnose;x-internal:=true,org.eclipse.jdt.internal.compi
+ ler.problem;x-internal:=true,org.eclipse.jdt.internal.compiler.util;x
+ -internal:=true,org.eclipse.jdt.internal.compiler.tool;x-internal:=tr
+ ue
+Bundle-Name: Eclipse Compiler for Java(TM)
+Bundle-Version: 3.13.0.v20170516-1929
+Bundle-ClassPath: .
+Created-By: Apache Maven
+Build-Jdk: 1.8.0_121
+
diff --git a/ecj-3.18.0.pom b/ecj-3.18.0.pom
new file mode 100644
index 0000000..9f03163
--- /dev/null
+++ b/ecj-3.18.0.pom
@@ -0,0 +1,47 @@
+
+
+
+ 4.0.0
+ org.eclipse.jdt
+ ecj
+ 3.18.0
+ Eclipse Compiler for Java(TM)
+ Eclipse Compiler for Java(TM)
+ http://www.eclipse.org/jdt
+
+
+ Eclipse Public License - v 2.0
+ https://www.eclipse.org/legal/epl-2.0/
+ repo
+
+
+
+ Eclipse Foundation
+ http://www.eclipse.org/
+
+
+ Bugzilla
+ https://bugs.eclipse.org/
+
+
+ scm:git:git://git.eclipse.org/gitroot/jdt/eclipse.jdt.core.git
+ https://git.eclipse.org/c/jdt/eclipse.jdt.core.git
+
+
+
+ https://projects.eclipse.org/projects/eclipse.jdt/who
+
+
+
diff --git a/ecj-4.4.pom b/ecj-4.4.pom
deleted file mode 100644
index 797d904..0000000
--- a/ecj-4.4.pom
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
- 4.0.0
- org.eclipse.jdt.core.compiler
- ecj
- 4.4
- jar
- Eclipse ECJ
- Eclipse JDT Core Batch Compiler
- http://www.eclipse.org/jdt/
-
- UTF-8
- UTF-8
-
-
-
- Eclipse Public License v1.0
- http://www.eclipse.org/org/documents/epl-v10.php
- repo
-
-
-
\ No newline at end of file
diff --git a/ecj-encoding.patch b/ecj-encoding.patch
new file mode 100644
index 0000000..f95f3c6
--- /dev/null
+++ b/ecj-encoding.patch
@@ -0,0 +1,10 @@
+--- ecj-4.12/build.xml 2019-09-25 08:54:14.517407464 +0200
++++ ecj-4.12/build.xml 2019-09-25 08:55:02.281660671 +0200
+@@ -25,6 +25,7 @@
+
+
+
diff --git a/ecj-gcj.tar.bz2 b/ecj-gcj.tar.bz2
deleted file mode 100644
index c4ab961..0000000
--- a/ecj-gcj.tar.bz2
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:253996e9541763a1042984a103a531142e803260bdff79f730237bc49a716b26
-size 6329
diff --git a/ecj-include-props.patch b/ecj-include-props.patch
deleted file mode 100644
index 81ae964..0000000
--- a/ecj-include-props.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- build.xml 2014-05-01 09:36:51.417339328 +0300
-+++ build.xml 2014-05-01 09:38:36.330493400 +0300
-@@ -49,6 +49,7 @@
-
-
-
-+
-
-
-
diff --git a/ecj.1 b/ecj.1
deleted file mode 100644
index e45b4d9..0000000
--- a/ecj.1
+++ /dev/null
@@ -1,216 +0,0 @@
-.TH ECJ "1" "May 2013"
-.SH NAME
-ecj \- manual page for eclipse JDT Compiler
-.SH SYNOPSIS
-.B ecj \fR
-.SH DESCRIPTION
-The JDT Compiler (jdtc) is a command version of Java compiler for eclipse. ecj
-has basic java compiler options like SUN's javac.
-.SH OPTIONS
-.TP 20
-\fB\-help\fR
-display a help message
-.TP
-\fB\-version\fR
-compiler version number
-.SS Classpath options:
-.br
-.TP 20
-\fB\-cp \-classpath\fR
-specify location for application classes and sources. Each directory or file can specify access rules for types between '[' and ']' (e.g. [-X] to forbid access to type X, [~X] to discourage access to type X, [+p/X:-p/*] to forbid access to all types in package p but allow access to p/X)
-.TP
-\fB\-bootclasspath\fR
-specify location for system classes. Each directory or file can specify access rules for types between '[' and ']'
-.TP
-\fB\-sourcepath\fR
-specify location for application sources. Each directory or file can specify access rules for types between '[' and ']'. Each directory can further specify a specific destination directory using a '-d' option between '[' and ']'; this overrides the general '-d' option.
-.br
-\[char46]class files created from source files contained in a jar file are put in the user.dir folder in case no general '-d' option is specified. ZIP archives cannot override the general '-d' option
-.TP
-\fB\-extdirs\fR
-specify location for extension ZIP archives
-.TP
-\fB\-endoreseddirs\fR
-specify location for endorsed ZIP archives
-.TP
-\fB\-d\fR
-destination directory (if omitted no package directory structure is created); this option can be overridden per source directory
-.TP
-\fB\-d\fR none
-generate no .class files
-.TP
-\fB\-encoding \fR
-specify default encoding for all source files. Each file/directory can override it when suffixed with '['']' (e.g. X.java[utf8]).
-.br
-If multiple default encodings are specified, the last one will be used.
-.SS Compliance options:
-.TP 20
-\fB\-1.3\fR
-use 1.3 compliance (-source 1.3 -target 1.1)
-.TP
-\fB\-1.4\fR
-use 1.4 compliance (-source 1.3 -target 1.2) (default)
-.TP
-\fB\-1.5 \-5 \-5.0\fR
-use 1.5 compliance (-source 1.5 -target 1.5)
-.TP
-\fB\-1.6 \-6 \-6.0\fR
-use 1.6 compliance (-source 1.6 -target 1.6)
-.TP
-\fB\-1.7 \-7 \-7.0\fR
-use 1.7 compliance (-source 1.7 -target 1.7)
-.TP
-\fB\-source\fR
-set source level: 1.3 to 1.7 (or 5, 5.0, etc)
-.TP
-\fB\-target\fR
-set classfile target: 1.1 to 1.7 (or 5, 5.0, etc)
-.br
-cldc1.1 can also be used to generate the StackMap attribute
-.SS Warning options:
-.TP 20
-\fB\-deprecation
-deprecation outside deprecated code (equivalent to '-warn:+deprecation', default)
-.TP
-\fB\-nowarn -warn:none\fR
-disable all warnings
-.TP
-\fB-nowarn:[]\fR
-specify directories from which optional problems should be ignored
-.TP
-\fB\-?:warn -help:warn\fR
-display advanced warning options
-.SS Error options:
-.TP
-\fB\-err:
-convert exactly the listed warnings to be reported as errors
-.TP
-\fB\-err:+
-enable additional warnings to be reported as errors
-.TP
-\fB\-err:-
-disable specific warnings to be reported as errors
-.SS Setting warning or error options using properties file:
-.TP 20
-\fB\-properties
-set warnings/errors option based on the properties file contents. This option can be used with -nowarn, -err:.. or -warn:.. options, but the last one on the command line sets the options to be used.
-.SS Debug options:
-.TP 20
-\fB\-g[:lines,vars,source]\fR
-custom debug info
-.TP
-\fB\-g:lines,source\fR
-both lines table and source debug info (default)
-.TP
-\fB\-g\fR
-all debug info
-.TP
-\fB\-g:none\fR
-no debug info
-.TP
-\fB\-preserveAllLocals\fR
-preserve unused local vars for debug purpose
-.SS Annotation processing options:
-.PP
-These options are meaningful only in a 1.6 environment.
-.TP 20
-\fB\-Akey[=value]\fN
-options that are passed to annotation processors
-.TP
-\fB\-processorpath\fR
-specify locations where to find annotation processors. If this option is not used, the classpath will be searched for processors
-.TP
-\fB\-processor\fR
-qualified names of the annotation processors to run. This bypasses the default annotation discovery process
-.TP
-\fB\-proc:only
-run annotation processors, but do not compile
-.TP
-\fB\-proc:none
-perform compilation but do not run annotation processors
-.TP
-\fB\-s \fR
-destination directory for generated source files
-.TP
-\fB\-XprintProcessorInfo\fR
-print information about which annotations and elements a processor is asked to process
-.TP
-\fB\-XprintRounds\fR
-print information about annotation processing rounds
-.TP
-\fB\-classNames \fR
-qualified names of binary classes to process
-.SS Advanced options:
-.TP 20
-\fB\@\fR
-read command line arguments from file
-.TP
-\fB\-maxProblems \fR
-max number of problems per compilation unit (100 by default)
-.TP
-\fB\-log \fR
-log to a file. If the file extension is '.xml', then the log will be a xml file.
-.TP
-\fB\-proceedOnError[:Fatal]\fR
-do not stop at first error, dumping class files with problem methods
-.br
-With ":Fatal", all optional errors are treated as fatal
-.TP
-\fB\-verbose\fR
-enable verbose output
-.TP
-\fB\-referenceInfo\fR
-compute reference info
-.TP
-\fB\-progress\fR
-show progress (only in -log mode)
-.TP
-\fB\-time\fR
-display speed information
-.TP
-\fB\-noExit\fR
-do not call System.exit(n) at end of compilation (n==0 if no error)
-.TP
-\fB\-repeat \fR
-repeat compilation process times for perf analysis
-.TP
-\fB\-inlineJSR\fR
-inline JSR bytecode (implicit if target >= 1.5)
-.TP
-\fB\-enableJavadoc\fR
-consider references in javadoc
-.TP
-\fB\-Xemacs\fR
-used to enable emacs-style output in the console.
-.br
-It does not affect the xml log output
-.TP
-\fB\-missingNullDefault\fR
-report missing default nullness annotation
-.TP
-\fB\-? \-help\fR
-print help message
-.TP
-\fB\-v \-version\fR
-print compiler version
-.TP
-\fB\-showversion\fR
-print compiler version and continue
-.SS Ignored options:
-.TP 20
-\fB\-J