diff --git a/antlr4-aggregator.pom b/antlr4-aggregator.pom new file mode 100644 index 0000000..dffc53c --- /dev/null +++ b/antlr4-aggregator.pom @@ -0,0 +1,12 @@ + + 4.0.0 + org.fedoraproject.maven + aggregator-project + dummy + pom + + antlr4-maven-plugin + tool + runtime/Java + + diff --git a/antlr4-maven-plugin.pom b/antlr4-maven-plugin.pom new file mode 100644 index 0000000..fa59581 --- /dev/null +++ b/antlr4-maven-plugin.pom @@ -0,0 +1,79 @@ + + 4.0.0 + org.antlr + antlr4-maven-plugin + 4.5 + maven-plugin + + + org.apache.maven + maven-core + 3.3.1 + + + org.apache.maven + maven-plugin-api + 3.3.1 + + + org.codehaus.plexus + plexus-compiler-api + 2.2 + + + org.sonatype.plexus + plexus-build-api + 0.0.7 + + + org.antlr + antlr4 + ${project.version} + + + org.apache.maven.plugin-tools + maven-plugin-annotations + 3.2 + provided + + + junit + junit + 4.11 + test + + + org.apache.maven.shared + maven-plugin-testing-harness + 1.1 + test + + + + + + resources + + + + + + org.apache.maven.plugins + maven-plugin-plugin + 3.4 + + true + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.6 + 1.6 + + + + + + diff --git a/antlr4-runtime.pom b/antlr4-runtime.pom new file mode 100644 index 0000000..dae7982 --- /dev/null +++ b/antlr4-runtime.pom @@ -0,0 +1,48 @@ + + 4.0.0 + org.antlr + antlr4-runtime + 4.5 + bundle + + + org.abego.treelayout + org.abego.treelayout.core + 1.0.1 + + + + src + + + org.apache.felix + maven-bundle-plugin + 2.3.7 + true + + + org.antlr.antlr4-runtime-osgi + ${project.name} + ANTLR + ${project.version} + + + + + org.antlr + antlr4-maven-plugin + 4.3 + + src + + + + + antlr4 + + + + + + + diff --git a/antlr4-tool.pom b/antlr4-tool.pom new file mode 100644 index 0000000..84a34f3 --- /dev/null +++ b/antlr4-tool.pom @@ -0,0 +1,61 @@ + + 4.0.0 + org.antlr + antlr4 + 4.5 + + + org.antlr + antlr-runtime + 3.5.2 + + + org.antlr + antlr4-runtime + 4.5 + + + org.antlr + ST4 + 4.0.8 + + + junit + junit + 4.11 + test + + + + src + + + resources + + + test + + + test + + + + + org.antlr + antlr3-maven-plugin + 3.5.2 + + src + true + + + + + antlr + + + + + + + diff --git a/antlr4.spec b/antlr4.spec new file mode 100644 index 0000000..f91ede8 --- /dev/null +++ b/antlr4.spec @@ -0,0 +1,109 @@ +%bcond_without bootstrap + +Name: antlr4 +Version: 4.5 +Release: 1%{?dist} +Summary: Java parser generator +License: BSD +URL: http://www.antlr.org/ +BuildArch: noarch + +Source0: https://github.com/antlr/antlr4/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz + +# Upstream uses an experimental bulid tool (http://bildtool.org/), +# which is not available in Fedora. RPMs are built with Maven using +# POMs maintained by package maintainer. +Source1: antlr4-runtime.pom +Source2: antlr4-tool.pom +Source3: antlr4-maven-plugin.pom +Source4: antlr4-aggregator.pom + +# Prebuild binaries, used for bootstrapping only +Source100: https://copr-be.cloud.fedoraproject.org/results/mizdebsk/newpkg/fedora-rawhide-x86_64/antlr4-4.5-1.fc23/antlr4-4.5-1.fc23.noarch.rpm +Source101: https://copr-be.cloud.fedoraproject.org/results/mizdebsk/newpkg/fedora-rawhide-x86_64/antlr4-4.5-1.fc23/antlr4-runtime-4.5-1.fc23.noarch.rpm +Source102: https://copr-be.cloud.fedoraproject.org/results/mizdebsk/newpkg/fedora-rawhide-x86_64/antlr4-4.5-1.fc23/antlr4-maven-plugin-4.5-1.fc23.noarch.rpm + +BuildRequires: maven-local +BuildRequires: mvn(junit:junit) +BuildRequires: mvn(org.abego.treelayout:org.abego.treelayout.core) +BuildRequires: mvn(org.antlr:antlr3-maven-plugin) +BuildRequires: mvn(org.antlr:antlr-runtime) +BuildRequires: mvn(org.antlr:ST4) +BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) +BuildRequires: mvn(org.apache.maven:maven-core) +BuildRequires: mvn(org.apache.maven:maven-plugin-api) +BuildRequires: mvn(org.apache.maven.plugin-tools:maven-plugin-annotations) +BuildRequires: mvn(org.apache.maven.shared:maven-plugin-testing-harness) +BuildRequires: mvn(org.codehaus.plexus:plexus-compiler-api) +BuildRequires: mvn(org.sonatype.plexus:plexus-build-api) + +%if %{without bootstrap} +BuildRequires: mvn(org.antlr:antlr4-maven-plugin) +%endif + +%description +ANTLR (ANother Tool for Language Recognition) is a powerful parser +generator for reading, processing, executing, or translating +structured text or binary files. It's widely used to build languages, +tools, and frameworks. From a grammar, ANTLR generates a parser that +can build and walk parse trees. + +%package runtime +Summary: ANTLR runtime + +%description runtime +This package provides runtime library used by parsers generated by +ANTLR. + +%package maven-plugin +Summary: ANTLR plugin for Apache Maven + +%description maven-plugin +This package provides plugin for Apache Maven which can be used to +generate ANTLR parsers during build. + +%package javadoc +Summary: API documentation for %{name} + +%description javadoc +This package contains %{summary}. + +%prep +%setup -q +cp %{SOURCE1} runtime/Java/pom.xml +cp %{SOURCE2} tool/pom.xml +cp %{SOURCE3} antlr4-maven-plugin/pom.xml +cp %{SOURCE4} pom.xml + +%mvn_package :aggregator-project __noinstall + +%if %{with bootstrap} +for rpm in %{SOURCE100} %{SOURCE101} %{SOURCE102}; do rpm2cpio $rpm | cpio -id; done +sed -i "s,,&$PWD," usr/share/maven-metadata/* +%mvn_config resolverSettings/metadataRepositories/repository $PWD/usr/share/maven-metadata +%endif + +%build +%mvn_build -s + +%install +%mvn_install + +%jpackage_script org.antlr.v4.Tool "" "" antlr4/antlr4:antlr3-runtime:antlr4/antlr4-runtime:stringtemplate4::treelayout %{name} true + +%files -f .mfiles-antlr4 +%{_bindir}/%{name} +%doc tool/MIGRATION.txt + +%files runtime -f .mfiles-antlr4-runtime +%doc CHANGES.txt README.md +%license LICENSE.txt + +%files maven-plugin -f .mfiles-antlr4-maven-plugin + +%files javadoc -f .mfiles-javadoc +%license LICENSE.txt + +%changelog +* Thu Mar 26 2015 Mikolaj Izdebski - 4.5-1 +- Initial packaging diff --git a/sources b/sources index e69de29..d6ff488 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +b8e6d93934b7834c510254a6a4bd0734 antlr4-4.5.tar.gz