231e3fc
%global base_name vfs
231e3fc
%global short_name commons-%{base_name}
231e3fc
Name:          apache-commons-vfs
231e3fc
Version:       2.0
231e3fc
Release:       2%{?dist}
231e3fc
Summary:       Commons Virtual File System
231e3fc
Group:         Development/Libraries
231e3fc
License:       ASL 2.0
231e3fc
Url:           http://commons.apache.org/%{base_name}/
231e3fc
Source0:       http://www.apache.org/dist/commons/%{base_name}/source/%{short_name}-%{version}-src.tar.gz
231e3fc
# add maven-compiler-plugin configuration
231e3fc
# fix ant gId
231e3fc
# remove/disable jackrabbit-webdav support
231e3fc
# remove org.apache.commons commons-build-plugin
231e3fc
# remove org.codehaus.mojo findbugs-maven-plugin
231e3fc
# remove maven-scm
231e3fc
# remove old vfs stuff
231e3fc
Patch0:        %{name}-%{version}-build.patch
231e3fc
231e3fc
BuildRequires: java-devel
231e3fc
BuildRequires: jpackage-utils
231e3fc
BuildRequires: apache-commons-parent
231e3fc
231e3fc
BuildRequires: maven
231e3fc
BuildRequires: maven-antrun-plugin
231e3fc
BuildRequires: maven-compiler-plugin
231e3fc
BuildRequires: maven-install-plugin
231e3fc
BuildRequires: maven-jar-plugin
231e3fc
BuildRequires: maven-javadoc-plugin
231e3fc
BuildRequires: maven-plugin-bundle
231e3fc
BuildRequires: maven-resources-plugin
231e3fc
BuildRequires: maven-site-plugin
231e3fc
BuildRequires: maven-surefire-plugin
231e3fc
BuildRequires: maven-surefire-provider-junit4
231e3fc
231e3fc
BuildRequires: ant
231e3fc
BuildRequires: apache-commons-collections
231e3fc
BuildRequires: apache-commons-compress
231e3fc
BuildRequires: apache-commons-logging
231e3fc
BuildRequires: apache-commons-net
231e3fc
BuildRequires: jakarta-commons-httpclient
231e3fc
BuildRequires: javamail
231e3fc
BuildRequires: jcifs
231e3fc
BuildRequires: jdom
231e3fc
BuildRequires: jsch
231e3fc
231e3fc
# test deps
231e3fc
BuildRequires: junit4
231e3fc
BuildRequires: slf4j
231e3fc
231e3fc
Requires:      apache-commons-collections
231e3fc
Requires:      apache-commons-compress
231e3fc
Requires:      apache-commons-logging
231e3fc
Requires:      apache-commons-net
231e3fc
Requires:      jakarta-commons-httpclient
231e3fc
Requires:      javamail
231e3fc
Requires:      jcifs
231e3fc
Requires:      jsch
231e3fc
231e3fc
Requires:      java
231e3fc
Requires:      jpackage-utils
231e3fc
BuildArch:     noarch
231e3fc
Provides:      %{name}2 = %{version}-%{release}
231e3fc
231e3fc
%description
231e3fc
Commons VFS provides a single API for accessing various
231e3fc
different file systems. It presents a uniform view of the
231e3fc
files from various different sources, such as the files on
231e3fc
local disk, on an HTTP server, or inside a Zip archive.
231e3fc
Some of the features of Commons VFS are:
231e3fc
* A single consistent API for accessing files of different
231e3fc
 types.
231e3fc
* Support for numerous file system types.
231e3fc
* Caching of file information. Caches information in-JVM,
231e3fc
 and optionally can cache remote file information on the
231e3fc
 local file system.
231e3fc
* Event delivery.
231e3fc
* Support for logical file systems made up of files from
231e3fc
 various different file systems.
231e3fc
* Utilities for integrating Commons VFS into applications,
231e3fc
 such as a VFS-aware ClassLoader and URLStreamHandlerFactory.
231e3fc
* A set of VFS-enabled Ant tasks.
231e3fc
231e3fc
%package ant
231e3fc
Summary:       Development files for Commons VFS
231e3fc
Group:         Development/Languages
231e3fc
Requires:      ant
231e3fc
Requires:      apache-commons-logging
231e3fc
Requires:      %{name} = %{version}-%{release}
231e3fc
231e3fc
%description ant
231e3fc
This package enables support for the Commons VFS ant tasks.
231e3fc
231e3fc
%package examples
231e3fc
Group:         Development/Libraries
231e3fc
Summary:       Commons VFS Examples
231e3fc
Requires:      jdom
231e3fc
Requires:      jpackage-utils
231e3fc
Requires:      %{name} = %{version}-%{release}
231e3fc
Provides:      %{name}2-examples = %{version}-%{release}
231e3fc
231e3fc
%description examples
231e3fc
VFS is a Virtual File System library - Examples.
231e3fc
231e3fc
%package javadoc
231e3fc
Group:         Documentation
231e3fc
Summary:       Javadoc for %{name}
231e3fc
Requires:      jpackage-utils
231e3fc
231e3fc
%description javadoc
231e3fc
This package contains javadoc for %{name}.
231e3fc
231e3fc
%prep
231e3fc
%setup -q -n %{short_name}-%{version}
231e3fc
perl -pi -e 's/\r$//g;' *.txt
231e3fc
231e3fc
%patch0 -p1
231e3fc
rm -rf core/src/main/java/org/apache/commons/vfs2/provider/webdav
231e3fc
rm -rf core/src/test/java/org/apache/commons/vfs2/provider/webdav
231e3fc
sed -i 's|"webdav",||' core/src/test/java/org/apache/commons/vfs2/util/DelegatingFileSystemOptionsBuilderTest.java
231e3fc
231e3fc
sed -i "s|<module>dist</module>||" pom.xml
231e3fc
231e3fc
%build
231e3fc
231e3fc
mvn-rpmbuild -Dmaven.test.failure.ignore=true install javadoc:aggregate
231e3fc
231e3fc
%install
231e3fc
231e3fc
mkdir -p %{buildroot}%{_javadir}
231e3fc
install -m 644 core/target/%{short_name}2-%{version}.jar %{buildroot}%{_javadir}/%{name}.jar
231e3fc
install -m 644 examples/target/%{short_name}2-examples-%{version}.jar %{buildroot}%{_javadir}/%{name}-examples.jar
231e3fc
231e3fc
(
231e3fc
  cd %{buildroot}%{_javadir}
231e3fc
  ln -s %{name}.jar %{short_name}.jar
231e3fc
  ln -s %{name}-examples.jar %{short_name}-examples.jar
231e3fc
  ln -s %{name}.jar %{name}2.jar
231e3fc
  ln -s %{name}-examples.jar %{name}2-examples.jar
231e3fc
  ln -s %{name}.jar %{short_name}2.jar
231e3fc
  ln -s %{name}-examples.jar %{short_name}2-examples.jar
231e3fc
)
231e3fc
231e3fc
mkdir -p %{buildroot}%{_mavenpomdir}
231e3fc
install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{short_name}-project.pom
231e3fc
%add_maven_depmap JPP-%{short_name}-project.pom
231e3fc
install -pm 644 core/pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{short_name}.pom
231e3fc
%add_maven_depmap JPP-%{short_name}.pom %{short_name}.jar -a "org.apache.commons:%{short_name},%{short_name}:%{short_name}"
231e3fc
install -pm 644 examples/pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{short_name}-examples.pom
231e3fc
%add_maven_depmap -f examples JPP-%{short_name}-examples.pom %{short_name}-examples.jar -a "org.apache.commons:%{short_name}-examples,%{short_name}:%{short_name}-examples"
231e3fc
231e3fc
mkdir -p %{buildroot}%{_javadocdir}/%{name}
231e3fc
cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}
231e3fc
231e3fc
mkdir -p %{buildroot}%{_sysconfdir}/ant.d
231e3fc
echo "ant commons-logging %{short_name}" > %{short_name}
231e3fc
install -p -m 644 %{short_name} %{buildroot}%{_sysconfdir}/ant.d/%{short_name}
231e3fc
231e3fc
%files
231e3fc
%{_javadir}/%{name}.jar
231e3fc
%{_javadir}/%{name}2.jar
231e3fc
%{_javadir}/%{short_name}.jar
231e3fc
%{_javadir}/%{short_name}2.jar
231e3fc
%{_mavenpomdir}/JPP-%{short_name}.pom
231e3fc
%{_mavenpomdir}/JPP-%{short_name}-project.pom
231e3fc
%{_mavendepmapfragdir}/%{name}
231e3fc
%doc LICENSE.txt NOTICE.txt README.txt RELEASE-NOTES.txt
231e3fc
231e3fc
%files examples
231e3fc
%{_javadir}/%{name}-examples.jar
231e3fc
%{_javadir}/%{name}2-examples.jar
231e3fc
%{_javadir}/%{short_name}-examples.jar
231e3fc
%{_javadir}/%{short_name}2-examples.jar
231e3fc
%{_mavenpomdir}/JPP-%{short_name}-examples.pom
231e3fc
%{_mavendepmapfragdir}/%{name}-examples
231e3fc
231e3fc
%files javadoc
231e3fc
%{_javadocdir}/%{name}
231e3fc
%doc LICENSE.txt NOTICE.txt
231e3fc
231e3fc
%files ant
231e3fc
%config %{_sysconfdir}/ant.d/%{short_name}
231e3fc
231e3fc
%changelog
231e3fc
* Mon Jun 18 2012 gil cattaneo <puntogil@libero.it> 2.0-2
231e3fc
- add subpackage ant
231e3fc
- install NOTICE.txt in javadocs subpackage
231e3fc
231e3fc
* Mon May 14 2012 gil cattaneo <puntogil@libero.it> 2.0-1
231e3fc
- initial rpm