Blame SPECS/jline.spec

a7e1ef
%{?scl:%scl_package jline}
a7e1ef
%{!?scl:%global pkg_name %{name}}
a7e1ef
a7e1ef
# Use java common's requires/provides generator
a7e1ef
%{?java_common_find_provides_and_requires}
a7e1ef
a7e1ef
%if 0%{?rhel}
a7e1ef
a7e1ef
%if 0%{?rhel} <= 6
a7e1ef
  # EL 6
a7e1ef
  %global custom_release 60
a7e1ef
%else
a7e1ef
  # EL 7
a7e1ef
  %global custom_release 70
a7e1ef
%endif
a7e1ef
a7e1ef
%else
a7e1ef
a7e1ef
%global custom_release 1
a7e1ef
a7e1ef
%endif
a7e1ef
a7e1ef
Name:             %{?scl_prefix}jline
a7e1ef
Version:          2.13
a7e1ef
# Release should be higher than el6 builds. Use convention
a7e1ef
# 60.X where X is an increasing int. 60 for rhel-6. We use
a7e1ef
# 70.X for rhel-7. For some reason we cannot rely on the
a7e1ef
# dist tag.
a7e1ef
Release:          %{custom_release}.3%{?dist}
a7e1ef
Summary:          JLine is a Java library for handling console input
a7e1ef
Group:            Development/Libraries
a7e1ef
License:          BSD and ASL 2.0
a7e1ef
URL:              https://github.com/jline/jline2
a7e1ef
a7e1ef
# git clone git://github.com/jline/jline2.git
a7e1ef
# cd jline2/ && git archive --format=tar --prefix=jline-2.13/ jline-2.13 | xz > jline-2.13.tar.xz
a7e1ef
Source0:          jline-%{version}.tar.xz
a7e1ef
a7e1ef
BuildArch:        noarch
a7e1ef
a7e1ef
BuildRequires:    %{?scl_prefix_maven}maven-local
a7e1ef
BuildRequires:    %{?scl_prefix_maven}maven-compiler-plugin
a7e1ef
BuildRequires:    %{?scl_prefix_maven}maven-jar-plugin
a7e1ef
BuildRequires:    %{?scl_prefix_maven}maven-surefire-plugin
a7e1ef
BuildRequires:    %{?scl_prefix_maven}maven-install-plugin
a7e1ef
BuildRequires:    %{?scl_prefix_java_common}junit
a7e1ef
%if 0%{?fedora} >= 23
a7e1ef
BuildRequires:    %{?scl_prefix_java_common}powermock-junit4
a7e1ef
BuildRequires:    %{?scl_prefix_java_common}easymock
a7e1ef
BuildRequires:    %{?scl_prefix_java_common}powermock-api-easymock
a7e1ef
%endif
a7e1ef
BuildRequires:    %{?scl_prefix_java_common}jansi
a7e1ef
BuildRequires:    %{?scl_prefix_maven}fusesource-pom
a7e1ef
BuildRequires:    %{?scl_prefix_maven}maven-surefire-provider-junit
a7e1ef
a7e1ef
%description
a7e1ef
JLine is a Java library for handling console input. It is similar
a7e1ef
in functionality to BSD editline and GNU readline. People familiar
a7e1ef
with the readline/editline capabilities for modern shells (such as
a7e1ef
bash and tcsh) will find most of the command editing features of
a7e1ef
JLine to be familiar.
a7e1ef
a7e1ef
%package javadoc
a7e1ef
Summary:          Javadocs for %{name}
a7e1ef
Group:            Documentation
a7e1ef
a7e1ef
%description javadoc
a7e1ef
This package contains the API documentation for %{name}.
a7e1ef
a7e1ef
%prep
a7e1ef
%{?scl:scl enable %{scl_maven} %{scl} - << "EOF"}
a7e1ef
%setup -q -n jline-%{version}
a7e1ef
a7e1ef
# Remove maven-shade-plugin usage
a7e1ef
%pom_remove_plugin "org.apache.maven.plugins:maven-shade-plugin"
a7e1ef
# Remove animal sniffer plugin in order to reduce deps
a7e1ef
%pom_remove_plugin "org.codehaus.mojo:animal-sniffer-maven-plugin"
a7e1ef
a7e1ef
# Remove unavailable and unneeded deps
a7e1ef
%pom_xpath_remove "pom:build/pom:extensions"
a7e1ef
%pom_xpath_remove "pom:build/pom:pluginManagement/pom:plugins/pom:plugin[pom:artifactId = 'maven-site-plugin']"
a7e1ef
%pom_xpath_remove "pom:build/pom:plugins/pom:plugin[pom:artifactId = 'maven-site-plugin']"
a7e1ef
%pom_xpath_remove "pom:distributionManagement"
a7e1ef
%pom_xpath_remove "pom:profiles/pom:profile[pom:id = 'site-stage']"
a7e1ef
a7e1ef
# Do not import non-existing internal package
a7e1ef
%pom_xpath_remove "pom:build/pom:plugins/pom:plugin[pom:artifactId = 'maven-bundle-plugin']/pom:executions/pom:execution/pom:configuration/pom:instructions/pom:Import-Package"
a7e1ef
%pom_xpath_inject "pom:build/pom:plugins/pom:plugin[pom:artifactId = 'maven-bundle-plugin']/pom:executions/pom:execution/pom:configuration/pom:instructions" "<Import-Package>javax.swing;resolution:=optional,org.fusesource.jansi,!org.fusesource.jansi.internal</Import-Package>"
a7e1ef
a7e1ef
# Let maven bundle plugin figure out the exports.
a7e1ef
%pom_xpath_remove "pom:build/pom:plugins/pom:plugin[pom:artifactId = 'maven-bundle-plugin']/pom:executions/pom:execution/pom:configuration/pom:instructions/pom:Export-Package"
a7e1ef
%{?scl:EOF}
a7e1ef
a7e1ef
%build
a7e1ef
%{?scl:scl enable %{scl_maven} %{scl} - << "EOF"}
a7e1ef
%if 0%{?fedora} >= 23
a7e1ef
%mvn_build
a7e1ef
%else
a7e1ef
%mvn_build -f
a7e1ef
%endif
a7e1ef
%{?scl:EOF}
a7e1ef
a7e1ef
%install
a7e1ef
%{?scl:scl enable %{scl_maven} %{scl} - << "EOF"}
a7e1ef
%mvn_install
a7e1ef
%{?scl:EOF}
a7e1ef
a7e1ef
%files -f .mfiles
a7e1ef
%doc CHANGELOG.md README.md LICENSE.txt
a7e1ef
%dir %{_javadir}/%{pkg_name}
a7e1ef
%dir %{_mavenpomdir}/%{pkg_name}
a7e1ef
a7e1ef
%files javadoc -f .mfiles-javadoc
a7e1ef
%doc LICENSE.txt
a7e1ef
a7e1ef
%changelog
a7e1ef
* Wed Aug 31 2016 Jie Kang <jkang@redhat.com> 2.13-3
a7e1ef
- Own in-collection directory
a7e1ef
a7e1ef
* Tue Jun 28 2016 Severin Gehwolf <sgehwolf@redhat.com> 2.13-2
a7e1ef
- Properly import org.fusesource.jansi package.
a7e1ef
a7e1ef
* Thu Jun 23 2016 Severin Gehwolf <sgehwolf@redhat.com> 2.13-1
a7e1ef
- Initial package.