%global group_id args4j
Name: args4j
%global tools_name %{name}-tools
%global site_name %{name}-site
Version: 2.0.16
Release: 3%{?dist}
Summary: Small Java lib that makes it easy to parse command line options/args in CUI apps
License: MIT and BSD
Group: Development/Libraries
# http://args4j.java.net/
URL: http://%{name}.java.net/
# Upload Your personal ssh key to java.net (otherwise the export fails)
# svn export https://svn.java.net/svn/args4j~svn/tags/args4j-site-2_0_16 args4j-2.0.16
# tar caf args4j-2.0.16.tar.xz args4j-2.0.16
Source0: %{name}-%{version}.tar.xz
Patch0: %{name}-wagon-svn-removal.patch
Patch1: %{name}-ant-removal.patch
BuildArch: noarch
BuildRequires: java-devel
BuildRequires: jpackage-utils
BuildRequires: maven
BuildRequires: maven-surefire-plugin
Requires: java
Requires: jpackage-utils
Requires(post): jpackage-utils
Requires(postun): jpackage-utils
%description
args4j is a small Java class library that makes it easy
to parse command line options/arguments in your CUI application.
- It makes the command line parsing very easy by using annotations.
- You can generate the usage screen very easily.
- You can generate HTML/XML that lists all options for your documentation.
- Fully supports localization.
- It is designed to parse javac like options (as opposed to GNU-style
where ls -lR is considered to have two options l and R.)
args4j-tools are development-time tools for generating additional artifacits.
%package javadoc
Summary: API documentation for %{name}
Group: Documentation
Requires: jpackage-utils
%description javadoc
This package contains the API documentation for %{name}.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
# removing classpath addition
sed -i 's/<addClasspath>true/<addClasspath>false/g' %{tools_name}/pom.xml
# removing bundled stuff
rm -rf repo
rm -rf www
rm -rf %{name}/lib
%build
mvn-rpmbuild install javadoc:aggregate
%install
# jars
install -d -m 755 %{buildroot}%{_javadir}
install -p -m 644 %{name}/target/%{name}-%{version}.jar %{buildroot}%{_javadir}/%{name}.jar
install -p -m 644 %{tools_name}/target/%{tools_name}-%{version}.jar %{buildroot}%{_javadir}/%{tools_name}.jar
# pom
install -d -m 755 %{buildroot}%{_mavenpomdir}
install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{site_name}.pom
install -pm 644 %{name}/pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom
install -pm 644 %{tools_name}/pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{tools_name}.pom
%add_to_maven_depmap %{group_id} %{site_name} %{version} JPP %{site_name}
%add_to_maven_depmap %{group_id} %{name} %{version} JPP %{name}
%add_to_maven_depmap %{group_id} %{tools_name} %{version} JPP %{tools_name}
# javadoc
install -d -m 755 %{buildroot}%{_javadocdir}/%{name}
cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}
%post
%update_maven_depmap
%postun
%update_maven_depmap
%files
%doc %{name}/LICENSE.txt
%{_javadir}/%{name}.jar
%{_javadir}/%{tools_name}.jar
%{_mavenpomdir}/JPP-%{site_name}.pom
%{_mavenpomdir}/JPP-%{name}.pom
%{_mavenpomdir}/JPP-%{tools_name}.pom
%{_mavendepmapfragdir}/%{name}
%files javadoc
%doc %{name}/LICENSE.txt
%doc %{_javadocdir}/%{name}
%changelog
* Mon May 30 2011 Jaromir Capik <jcapik@redhat.com> - 2.0.16-3
- Removal of bundled stuff in args4j/lib
* Wed May 25 2011 Jaromir Capik <jcapik@redhat.com> - 2.0.16-2
- Removal of unused ant dependency
* Tue May 24 2011 Jaromir Capik <jcapik@redhat.com> - 2.0.16-1
- Initial version of the package