%global base_name vfs
%global short_name commons-%{base_name}
Name: apache-commons-vfs
Version: 2.0
Release: 10%{?dist}
Summary: Commons Virtual File System
License: ASL 2.0
Url: http://commons.apache.org/%{base_name}/
Source0: http://www.apache.org/dist/commons/%{base_name}/source/%{short_name}-%{version}-src.tar.gz
# add maven-compiler-plugin configuration
# fix ant gId
# remove/disable jackrabbit-webdav support
# remove org.apache.commons commons-build-plugin
# remove org.codehaus.mojo findbugs-maven-plugin
# remove maven-scm
# remove old vfs stuff
Patch0: %{name}-%{version}-build.patch
BuildRequires: maven-local
BuildRequires: mvn(com.jcraft:jsch)
BuildRequires: mvn(commons-collections:commons-collections)
BuildRequires: mvn(commons-httpclient:commons-httpclient)
BuildRequires: mvn(commons-logging:commons-logging)
BuildRequires: mvn(commons-net:commons-net)
BuildRequires: mvn(org.apache.ant:ant)
BuildRequires: mvn(org.apache.commons:commons-compress)
BuildRequires: mvn(org.apache.commons:commons-parent) >= 26-7
BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin)
BuildRequires: mvn(org.jdom:jdom)
# test deps
BuildRequires: mvn(junit:junit)
BuildArch: noarch
Provides: %{name}2 = %{version}-%{release}
%description
Commons VFS provides a single API for accessing various
different file systems. It presents a uniform view of the
files from various different sources, such as the files on
local disk, on an HTTP server, or inside a Zip archive.
Some of the features of Commons VFS are:
* A single consistent API for accessing files of different
types.
* Support for numerous file system types.
* Caching of file information. Caches information in-JVM,
and optionally can cache remote file information on the
local file system.
* Event delivery.
* Support for logical file systems made up of files from
various different file systems.
* Utilities for integrating Commons VFS into applications,
such as a VFS-aware ClassLoader and URLStreamHandlerFactory.
* A set of VFS-enabled Ant tasks.
%package ant
Summary: Development files for Commons VFS
Requires: %{name} = %{version}-%{release}
%description ant
This package enables support for the Commons VFS ant tasks.
%package examples
Summary: Commons VFS Examples
Requires: %{name} = %{version}-%{release}
%description examples
VFS is a Virtual File System library - Examples.
%package javadoc
Summary: Javadoc for %{name}
%description javadoc
This package contains javadoc for %{name}.
%prep
%setup -q -n %{short_name}-%{version}
perl -pi -e 's/\r$//g;' *.txt
%patch0 -p1
rm -rf core/src/main/java/org/apache/commons/vfs2/provider/webdav
rm -rf core/src/test/java/org/apache/commons/vfs2/provider/webdav
sed -i 's|"webdav",||' core/src/test/java/org/apache/commons/vfs2/util/DelegatingFileSystemOptionsBuilderTest.java
sed -i "s|dist||" pom.xml
# not really needed
%pom_remove_plugin :maven-checkstyle-plugin
%mvn_alias :commons-vfs2 "org.apache.commons:%{short_name}" "%{short_name}:%{short_name}"
%mvn_alias :commons-vfs2-examples "org.apache.commons:%{short_name}-examples" "%{short_name}:%{short_name}-examples"
# main package wins parent POM
%mvn_package ":commons-vfs2-project" commons-vfs2
%build
%mvn_build -s
%install
%mvn_install
mkdir -p %{buildroot}%{_sysconfdir}/ant.d
echo "ant commons-logging %{short_name}" > %{short_name}
install -p -m 644 %{short_name} %{buildroot}%{_sysconfdir}/ant.d/%{short_name}
%files -f .mfiles-commons-vfs2
%dir %{_javadir}/%{name}
%doc LICENSE.txt NOTICE.txt README.txt RELEASE-NOTES.txt
%files examples -f .mfiles-commons-vfs2-examples
%files javadoc -f .mfiles-javadoc
%doc LICENSE.txt NOTICE.txt
%files ant
%config %{_sysconfdir}/ant.d/%{short_name}
%changelog
* Fri Sep 20 2013 Mikolaj Izdebski - 2.0-10
- Add BuildRequires on apache-commons-parent >= 26-7
* Fri Jun 28 2013 Mikolaj Izdebski - 2.0-9
- Rebuild to regenerate API documentation
- Resolves: CVE-2013-1571
* Fri Jun 28 2013 Michal Srb - 2.0-8
- Fix directory ownership
* Thu Jun 27 2013 Michal Srb - 2.0-7
- Build with XMvn
- Do not ignore test failures
- Fix BR
* Wed Feb 13 2013 Fedora Release Engineering - 2.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Wed Feb 06 2013 Java SIG - 2.0-5
- Update for https://fedoraproject.org/wiki/Fedora_19_Maven_Rebuild
- Replace maven BuildRequires with maven-local
* Wed Aug 1 2012 Mikolaj Izdebski - 2.0-4
- Rebuild against javamail
* Wed Jul 18 2012 Fedora Release Engineering - 2.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Mon Jun 18 2012 gil cattaneo 2.0-2
- add subpackage ant
- install NOTICE.txt in javadocs subpackage
* Mon May 14 2012 gil cattaneo 2.0-1
- initial rpm