Blob Blame History Raw
Name:           antlr4
Version:        4.5.1
Release:        2%{?dist}
Summary:        Java parser generator
# C# runtime is MIT-licensed, but currently it is not used in this package
License:        BSD
URL:            http://www.antlr.org/
BuildArch:      noarch

Source0:        https://github.com/antlr/antlr4/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz

BuildRequires:  maven-local
BuildRequires:  mvn(org.abego.treelayout:org.abego.treelayout.core)
BuildRequires:  mvn(org.antlr:antlr3-maven-plugin)
BuildRequires:  mvn(org.antlr:antlr4-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-plugin-api)
BuildRequires:  mvn(org.apache.maven:maven-project)
BuildRequires:  mvn(org.apache.maven.plugins:maven-plugin-plugin)
BuildRequires:  mvn(org.apache.maven.plugin-tools:maven-plugin-annotations)
BuildRequires:  mvn(org.codehaus.plexus:plexus-compiler-api)
BuildRequires:  mvn(org.sonatype.oss:oss-parent:pom:)
BuildRequires:  mvn(org.sonatype.plexus:plexus-build-api)


%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
find -name \*.jar -delete

# Missing test deps: org.seleniumhq.selenium:selenium-java
%pom_disable_module runtime-testsuite
%pom_disable_module tool-testsuite

# Don't bundle dependencies
%pom_remove_plugin :maven-shade-plugin tool

# On ARM builder
# Tests run: 3, Failures: 0, Errors: 1, Skipped: 1, Time elapsed: 32.898 sec <<< FAILURE!
# - in org.antlr.v4.test.tool.TestPerformance
# testExponentialInclude(org.antlr.v4.test.tool.TestPerformance)  Time elapsed: 20.027 sec  <<< ERROR!
# org.junit.runners.model.TestTimedOutException: test timed out after 20000 milliseconds
find -name TestPerformance.java -delete

%mvn_package :%{name}-master __noinstall

%build
%mvn_build -s -f

%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
* Fri Nov 27 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.5.1-2
- Use upstream POMs for buliding

* Fri Nov 27 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.5.1-1
- Update to upstream version 4.5.1

* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Tue Mar 31 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.5-3
- Non-bootstrap build

* Mon Mar 30 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.5-2
- Post-review cleanup

* Thu Mar 26 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.5-1
- Initial packaging