diff --git a/.ecj.metadata b/.ecj.metadata
new file mode 100644
index 0000000..8b1aa93
--- /dev/null
+++ b/.ecj.metadata
@@ -0,0 +1,2 @@
+8750b8effb40f0fbab79fd529ba82088e7b59931 SOURCES/ecjsrc-4.11RC1.jar
+fa5c42a17e84d7d635022d3d346d20f63c09bb15 SOURCES/java10api.jar
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..0d202e8
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+SOURCES/ecjsrc-4.11RC1.jar
+SOURCES/java10api.jar
diff --git a/SOURCES/MANIFEST.MF b/SOURCES/MANIFEST.MF
new file mode 100644
index 0000000..9f73431
--- /dev/null
+++ b/SOURCES/MANIFEST.MF
@@ -0,0 +1,29 @@
+Manifest-Version: 1.0
+Bundle-SymbolicName: org.eclipse.jdt.core.compiler.batch
+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.17.0.v20190227-1706
+Bundle-ClassPath: .
+Built-By: genie.releng
+Bundle-ManifestVersion: 2
+Bundle-Vendor: Eclipse.org
+Created-By: Apache Maven 3.5.4
+Build-Jdk: 1.8.0_192
+Main-Class: org.eclipse.jdt.internal.compiler.batch.Main
+
diff --git a/SOURCES/ecj-4.11.pom b/SOURCES/ecj-4.11.pom
new file mode 100644
index 0000000..de7c43d
--- /dev/null
+++ b/SOURCES/ecj-4.11.pom
@@ -0,0 +1,44 @@
+
+
+
+ 4.0.0
+ org.eclipse.jdt.core.compiler
+ ecj
+ 4.11
+ jar
+ Eclipse ECJ
+ Eclipse JDT Core Batch Compiler
+ http://www.eclipse.org/jdt/
+
+ UTF-8
+ UTF-8
+ 1.8
+ 1.8
+
+
+
+
+ org.apache.ant
+ ant
+ 1.9.4
+ true
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 2.10.3
+
+ -Xdoclint:none
+
+
+
+
+
+
diff --git a/SOURCES/ecj-rpmdebuginfo.patch b/SOURCES/ecj-rpmdebuginfo.patch
new file mode 100644
index 0000000..e2727a1
--- /dev/null
+++ b/SOURCES/ecj-rpmdebuginfo.patch
@@ -0,0 +1,39 @@
+### Eclipse Workspace Patch 1.0
+#P org.eclipse.jdt.core
+Index: batch/org/eclipse/jdt/internal/compiler/batch/Main.java
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/Main.java,v
+retrieving revision 1.327
+diff -u -r1.327 Main.java
+--- batch/org/eclipse/jdt/internal/compiler/batch/Main.java 21 Apr 2008 15:00:59 -0000 1.327
++++ batch/org/eclipse/jdt/internal/compiler/batch/Main.java 20 Nov 2008 19:26:57 -0000
+@@ -2609,6 +2609,29 @@
+ this.options.put(CompilerOptions.OPTION_Process_Annotations, CompilerOptions.ENABLED);
+ }
+
++ {
++ // If we're building an RPM, force full debugging info to
++ // be generated, no matter what options have been passed
++ // by Ant. This is something of a kludge, but it is far
++ // better than the alternative, which is having class
++ // files with debug info mysteriously missing.
++
++ String RpmPackageName = System.getenv("RPM_PACKAGE_NAME");
++ String RpmArch = System.getenv("RPM_ARCH");
++ String RpmBuildRoot = System.getenv("RPM_BUILD_ROOT");
++ if (RpmPackageName != null && RpmArch != null && RpmBuildRoot != null) {
++ this.options.put(
++ CompilerOptions.OPTION_LocalVariableAttribute,
++ CompilerOptions.GENERATE);
++ this.options.put(
++ CompilerOptions.OPTION_LineNumberAttribute,
++ CompilerOptions.GENERATE);
++ this.options.put(
++ CompilerOptions.OPTION_SourceFileAttribute,
++ CompilerOptions.GENERATE);
++ }
++ }
++
+ this.logger.logCommandLineArguments(newCommandLineArgs);
+ this.logger.logOptions(this.options);
+
diff --git a/SOURCES/ecj.sh.in b/SOURCES/ecj.sh.in
new file mode 100644
index 0000000..d8a40e9
--- /dev/null
+++ b/SOURCES/ecj.sh.in
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+CLASSPATH=$(build-classpath ecj):${CLASSPATH=.} \
+java org.eclipse.jdt.internal.compiler.batch.Main "$@"
diff --git a/SOURCES/javaAPI.patch b/SOURCES/javaAPI.patch
new file mode 100644
index 0000000..74da3a9
--- /dev/null
+++ b/SOURCES/javaAPI.patch
@@ -0,0 +1,26 @@
+--- build.xml.orig 2018-03-20 15:15:57.063810672 +0000
++++ build.xml 2018-03-20 15:16:26.018700633 +0000
+@@ -15,16 +15,20 @@
+
+
+
++
++
++
++
+
+
+
+
+
+-
+-
++
+
+
+
diff --git a/SPECS/ecj.spec b/SPECS/ecj.spec
new file mode 100644
index 0000000..ed183ed
--- /dev/null
+++ b/SPECS/ecj.spec
@@ -0,0 +1,328 @@
+Epoch: 1
+
+%global qualifier S-4.11RC1-201903010040
+
+Summary: Eclipse Compiler for Java
+Name: ecj
+Version: 4.11
+Release: 0.1%{?dist}
+URL: http://www.eclipse.org
+License: EPL-2.0
+
+Source0: http://download.eclipse.org/eclipse/downloads/drops4/%{qualifier}/ecjsrc-%{version}RC1.jar
+Source1: ecj.sh.in
+Source3: https://repo1.maven.org/maven2/org/eclipse/jdt/core/compiler/ecj/%{version}/ecj-%{version}.pom
+# Extracted from https://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops4/%%{qualifier}/ecj-%%{version}.jar
+Source4: MANIFEST.MF
+# Java API stubs for newer JDKs
+Source5: java10api.jar
+
+# Always generate debug info when building RPMs (Andrew Haley)
+Patch0: %{name}-rpmdebuginfo.patch
+
+# Include java API stubs in build
+Patch1: javaAPI.patch
+
+BuildArch: noarch
+
+BuildRequires: ant
+BuildRequires: javapackages-local
+
+%description
+ECJ is the Java bytecode compiler of the Eclipse Platform. It is also known as
+the JDT Core batch compiler.
+
+%prep
+%setup -q -c
+%patch0 -p1
+%patch1
+
+sed -i -e 's|debuglevel=\"lines,source\"|debug=\"yes\"|g' build.xml
+
+cp %{SOURCE3} pom.xml
+mkdir -p scripts/binary/META-INF/
+cp %{SOURCE4} scripts/binary/META-INF/MANIFEST.MF
+
+# JDTCompilerAdapter isn't used by the batch compiler
+rm -f org/eclipse/jdt/core/JDTCompilerAdapter.java
+
+# No dep on ant needed
+%pom_remove_dep org.apache.ant:ant
+
+# Symlinks and aliases
+%mvn_file :ecj ecj jdtcore
+%mvn_alias org.eclipse.jdt.core.compiler:ecj \
+ org.eclipse.tycho:org.eclipse.jdt.core org.eclipse.tycho:org.eclipse.jdt.compiler.apt \
+ org.eclipse.jdt:core org.eclipse.jdt:ecj
+
+# Make Java API stubs available for other packages
+%mvn_artifact "org.eclipse:java10api:jar:10" %{SOURCE5}
+%mvn_alias "org.eclipse:java10api:jar:10" "org.eclipse:java9api:jar:9"
+
+%build
+ant -Djavaapi=%{SOURCE5}
+
+%install
+%mvn_artifact pom.xml ecj.jar
+%mvn_install
+
+# Install the ecj wrapper script
+install -p -D -m0755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/ecj
+
+# Install manpage
+mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
+install -m 644 -p ecj.1 $RPM_BUILD_ROOT%{_mandir}/man1/ecj.1
+
+%files -f .mfiles
+%license about.html
+%{_bindir}/ecj
+%{_mandir}/man1/ecj*
+
+%changelog
+* Thu Mar 07 2019 Mat Booth - 1:4.11-0.1
+- Update to latest release candidate of 4.11
+
+* Thu Jan 31 2019 Fedora Release Engineering - 1:4.10-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Tue Dec 11 2018 Mat Booth - 1:4.10-1
+- Update to 2018-12 release
+
+* Wed Sep 12 2018 Mat Booth - 1:4.9-1
+- Update to latest release
+- Amend license tag
+
+* Thu Jul 12 2018 Fedora Release Engineering - 1:4.7.3a-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Mon Apr 09 2018 Mat Booth - 1:4.7.3a-1
+- Update to Oxygen.3a release for java 10 support
+- Break circular dep on JDT by providing the java API stubs in this package
+
+* Tue Mar 20 2018 Mat Booth - 1:4.7.3-1
+- Update to Oxygen.3
+
+* Wed Feb 07 2018 Fedora Release Engineering - 1:4.7.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Thu Sep 21 2017 Mat Booth - 1:4.7.1-1
+- Update to Oxygen.1 release
+
+* Wed Jul 26 2017 Fedora Release Engineering - 1:4.6.3-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Thu Jun 15 2017 Michael Simacek - 1:4.6.3-2
+- Update aliases for jetty
+
+* Wed Mar 29 2017 Mat Booth - 1:4.6.3-1
+- Update to Neon.3 release
+
+* Fri Feb 10 2017 Fedora Release Engineering - 1:4.6.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Tue Jan 10 2017 Mat Booth - 1:4.6.2-1
+- Update to Neon.2 release
+
+* Fri Jul 01 2016 Mat Booth - 1:4.6-1
+- Update to Neon release
+
+* Tue Apr 26 2016 Mikolaj Izdebski - 4.5.2-3
+- Re-add alias for org.eclipse.jdt:core
+
+* Fri Apr 22 2016 Mat Booth - 1:4.5.2-2
+- Drop aliases that are now provided by eclipse-jdt
+
+* Mon Feb 29 2016 Mat Booth - 1:4.5.2-1
+- Update to Mars.2 release
+
+* Fri Feb 05 2016 Mat Booth - 1:4.5.1-3
+- Allow any compression man pages
+
+* Wed Feb 03 2016 Fedora Release Engineering - 1:4.5.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Tue Oct 06 2015 Mat Booth - 1:4.5.1-1
+- Update to Mars.1 release
+
+* Thu Jul 2 2015 Alexander Kurtakov 1:4.5-1
+- Update to upstream 4.5 release.
+
+* Wed Jun 17 2015 Fedora Release Engineering - 1:4.4.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Mon Mar 30 2015 Mat Booth - 1:4.4.2-1
+- Update to 4.4.2.
+- Install with mvn_install
+- Add jetty.orbit alias
+- Add compiler.apt aliases
+- Drop ancient obsoletes/provides on eclipse-ecj
+- Use man page from upstream source
+
+* Thu Jan 8 2015 Alexander Kurtakov 1:4.4.1-1
+- Update to 4.4.1.
+
+* Thu Jul 3 2014 Alexander Kurtakov 1:4.4.0-1
+- Update to 4.4 final.
+- Drop gcj patches as gcj is not in Fedora anymore and ecj now requires 1.6.
+
+* Thu Jun 12 2014 Alexander Kurtakov 1:4.4.0-0.4.git20140430
+- Add additional depmap for maven.
+
+* Mon Jun 9 2014 Alexander Kurtakov 1:4.4.0-0.3.git20140430
+- Fix FTBFS.
+
+* Sat Jun 07 2014 Fedora Release Engineering - 1:4.4.0-0.2.git20140430
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Thu May 1 2014 Alexander Kurtakov 1:4.4.0-0.1.git20140430
+- Update to 4.4.0 I-build to make it cope with Java 8.
+
+* Mon Apr 14 2014 Mat Booth - 1:4.2.1-10
+- Drop gcj AOT-compilation support.
+- Obsolete -native sub-package.
+
+* Wed Oct 09 2013 gil cattaneo 1:4.2.1-9
+- enable build of org/eclipse/jdt/internal/compiler/[apt,tool]
+ (ant build mode only), required by querydsl
+- remove some rpmlint problems (invalid date)
+
+* Sat Aug 03 2013 Fedora Release Engineering - 1:4.2.1-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Tue May 21 2013 Jon VanAlten - 4.2.1-7
+- Add manpage for ecj executable
+- Resolves: rhbz#948442
+
+* Tue Apr 9 2013 Mikolaj Izdebski - 4.2.1-6
+- Add depmap for org.eclipse.jdt.core.compiler:ecj
+- Resolves: rhbz#949938
+
+* Wed Mar 06 2013 Karsten Hopp 1:4.2.1-5
+- add BR java-devel for !with_gcjbootstrap
+
+* Wed Feb 13 2013 Fedora Release Engineering - 1:4.2.1-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Mon Oct 29 2012 Jon VanAlten 1:4.2.1-3
+- Patch GCCMain to avoid dummy symbols.
+
+* Wed Oct 10 2012 Krzysztof Daniel 1:4.2.1-2
+- Add depmap satysfying Tycho req.
+
+* Sun Jul 29 2012 Jon VanAlten 1:4.2.1-1
+- Update to 4.2.1 upstream version.
+
+* Wed Jul 18 2012 Fedora Release Engineering - 1:3.4.2-14
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Wed Apr 18 2012 Alexander Kurtakov 1:3.4.2-13
+- Add missing epoch to native subpackage requires.
+
+* Tue Apr 17 2012 Alexander Kurtakov 1:3.4.2-12
+- Separate gcj in subpackage.
+
+* Mon Jan 16 2012 Alexander Kurtakov 1:3.4.2-11
+- Patch pom file to better represent ecj and not jdt.core .
+- Guidelines fixes.
+
+* Fri Jan 13 2012 Fedora Release Engineering - 1:3.4.2-10
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Tue Feb 08 2011 Fedora Release Engineering - 1:3.4.2-9
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Fri Nov 26 2010 Stanislav Ochotnicky - 1:3.4.2-8
+- Fix add_to_maven_depmap call (Resolves rhbz#655796)
+
+* Mon Dec 21 2009 Deepak Bhole - 1:3.4.2-7
+- Fix RHBZ# 490936. If CLASSPATH is not set, add . to default classpath.
+
+* Wed Sep 9 2009 Alexander Kurtakov 1:3.4.2-6
+- Add maven pom and depmaps.
+
+* Fri Jul 24 2009 Fedora Release Engineering - 1:3.4.2-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Wed Mar 11 2009 Deepak Bhole 1:3.4.2-4
+- Add patch to generate full debuginfo for ecj itself
+
+* Tue Mar 10 2009 Deepak Bhole 1:3.4.2-3
+- Add BR for aot-compile-rpm
+
+* Tue Mar 10 2009 Deepak Bhole 1:3.4.2-2
+- Add BR for ant
+
+* Fri Mar 6 2009 Andrew Overholt 1:3.4.2-1
+- 3.4.2
+
+* Tue Dec 9 2008 Andrew Overholt 1:3.4.1-1
+- 3.4.1
+- Don't conditionalize building of gcj AOT bits (we're only building
+ this for gcj and IcedTea bootstrapping).
+
+* Mon Jan 22 2007 Andrew Overholt 3.2.1-1
+- Add eclipse-ecj-gcj.patch.
+
+* Fri Jan 12 2007 Andrew Overholt 3.2.1-1
+- First version for Fedora 7.
+- Add BR: java-devel for jar.
+
+* Thu Nov 02 2006 Andrew Overholt 1:3.2.1-1jpp
+- First version for JPackage.
+
+* Mon Jul 24 2006 Andrew Overholt 1:3.2.0-1
+- Add versionless ecj.jar symlink in /usr/share/java.
+
+* Wed Jul 19 2006 Andrew Overholt 1:3.2.0-1
+- 3.2.0.
+
+* Fri Dec 09 2005 Jesse Keating
+- rebuilt
+
+* Mon Mar 07 2005 Andrew Overholt 1:3.1.0.M4.9
+- Don't build for ppc or ia64.
+
+* Sun Feb 20 2005 Andrew Overholt 1:3.1.0.M4.6
+- Upgrade back to 3.1M4.
+- Don't build for i386 and x86_64.
+- Provide eclipse-ecj until we can deprecate this package.
+
+* Fri Jan 14 2005 Andrew Overholt 3.1.0.M4.4
+- build for all but x86
+
+* Thu Jan 13 2005 Andrew Overholt 3.1.0.M4.3
+- build for ppc exclusively
+
+* Wed Jan 12 2005 Andrew Overholt 3.1.0.M4.2
+- Add RPM_OPT_FLAGS workaround.
+
+* Tue Jan 11 2005 Andrew Overholt 3.1.0.M4.1
+- New version.
+
+* Mon Sep 27 2004 Gary Benson 2.1.3-5
+- Rebuild with new katana.
+
+* Thu Jul 22 2004 Gary Benson 2.1.3-4
+- Build without bootstrap-ant.
+- Split out lib-org-eclipse-jdt-internal-compiler.so.
+
+* Tue Jul 6 2004 Gary Benson 2.1.3-3
+- Fix ecj-devel's dependencies.
+
+* Wed Jun 9 2004 Gary Benson 2.1.3-2
+- Work around an optimiser failure somewhere in ecj or gcj (#125613).
+
+* Fri May 28 2004 Gary Benson
+- Build with katana.
+
+* Mon May 24 2004 Gary Benson 2.1.3-1
+- Initial Red Hat Linux build.
+
+* Mon May 24 2004 Gary Benson
+- Upgraded to latest version.
+
+* Sun Jul 20 2003 Anthony Green
+- Add %%doc
+
+* Fri Jul 18 2003 Anthony Green
+- Initial RHUG build.