# https://commons.apache.org/proper/commons-configuration/userguide/upgradeto2_0.html
%global base_name configuration2
%global short_name commons-%{base_name}
# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=1363923
# Use springframework:4.2.5.RELEASE
%bcond_with spring
Name: apache-commons-configuration2
Version: 2.1
Release: 6%{?dist}
Summary: Java library providing a generic Configuration interface
License: ASL 2.0
URL: http://commons.apache.org/proper/commons-configuration/
Source0: http://www.apache.org/dist/commons/configuration/source/%{short_name}-%{version}-src.tar.gz
BuildRequires: maven-local
BuildRequires: mvn(commons-beanutils:commons-beanutils)
BuildRequires: mvn(commons-codec:commons-codec)
BuildRequires: mvn(commons-jxpath:commons-jxpath)
BuildRequires: mvn(commons-logging:commons-logging)
BuildRequires: mvn(javax.servlet:javax.servlet-api)
BuildRequires: mvn(log4j:log4j:1.2.17)
BuildRequires: mvn(org.apache.commons:commons-jexl)
BuildRequires: mvn(org.apache.commons:commons-lang3)
BuildRequires: mvn(org.apache.commons:commons-parent:pom:)
BuildRequires: mvn(org.apache.commons:commons-vfs2)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-checkstyle-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-enforcer-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-remote-resources-plugin)
BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
BuildRequires: mvn(org.codehaus.mojo:buildnumber-maven-plugin)
BuildRequires: mvn(org.codehaus.mojo:javacc-maven-plugin)
%if %{with spring}
BuildRequires: mvn(org.springframework:spring-beans)
BuildRequires: mvn(org.springframework:spring-core)
# Test deps
BuildRequires: mvn(org.springframework:spring-context)
BuildRequires: mvn(org.springframework:spring-test)
%endif
BuildRequires: mvn(xml-apis:xml-apis)
BuildRequires: mvn(xml-resolver:xml-resolver)
# Other deps
BuildRequires: mvn(stax:stax-api)
# Other test deps
BuildRequires: mvn(com.sun.mail:javax.mail)
BuildRequires: mvn(commons-dbcp:commons-dbcp)
BuildRequires: mvn(commons-pool:commons-pool)
BuildRequires: mvn(hsqldb:hsqldb:1)
BuildRequires: mvn(junit:junit)
BuildRequires: mvn(junit-addons:junit-addons)
BuildRequires: mvn(org.dbunit:dbunit)
BuildRequires: mvn(org.easymock:easymock)
BuildRequires: mvn(org.slf4j:slf4j-api)
BuildRequires: mvn(org.slf4j:slf4j-ext)
BuildRequires: mvn(org.slf4j:slf4j-log4j12)
BuildRequires: mvn(xerces:xercesImpl)
BuildArch: noarch
%description
The Commons Configuration library provides a generic Configuration
interface which enables a Java application to read configuration data
from a variety of sources.
Configuration parameters may be loaded from the following sources:
* Properties files
* XML documents
* Windows INI files
* Property list files (plist)
* JNDI
* JDBC Datasource
* System properties
* Applet parameters
* Servlet parameters
Configuration objects are created using configuration builders. Different
configuration sources can be mixed using a CombinedConfigurationBuilder and
a CombinedConfiguration. Additional sources of configuration parameters
can be created by using custom configuration objects. This customization
can be achieved by extending AbstractConfiguration or
AbstractHierarchicalConfiguration.
%package javadoc
Summary: Javadoc for %{name}
%description javadoc
This package contains javadoc for %{name}.
%prep
%setup -q -n %{short_name}-%{version}-src
# Convert from dos to unix line ending
for file in *.txt; do
sed -i.orig 's|\r||g' $file
touch -r $file.orig $file
rm $file.orig
done
# Useless task
%pom_remove_plugin :maven-assembly-plugin
%if %{without spring}
%pom_remove_dep org.springframework:
rm -r src/main/java/org/apache/commons/configuration2/spring \
src/test/java/org/apache/commons/configuration2/spring
%endif
# Move to never apis
%pom_change_dep javax.servlet:servlet-api javax.servlet:javax.servlet-api:3.1.0
%pom_change_dep javax.mail:mail com.sun.mail:javax.mail:1.5.2
%pom_change_dep hsqldb: ::1
%pom_change_dep dbunit: org.dbunit::2.5.1
sed -i.dbunit2.5 "s|org.dbunit.dataset.csv.handlers.NoHandler|org.dbunit.dataset.common.handlers.NoHandler|" \
src/test/java/org/apache/commons/configuration2/tree/NodeStructureHelper.java
# mockobjects:mockobjects-core,:mockobjects-jdk1.4-j2ee1.3:0.09
%pom_remove_dep mockobjects:
rm src/test/java/org/apache/commons/configuration2/web/TestServletContextConfiguration.java \
src/test/java/org/apache/commons/configuration2/web/TestServletRequestConfiguration.java \
src/test/java/org/apache/commons/configuration2/web/TestServletConfiguration.java \
src/test/java/org/apache/commons/configuration2/MockInitialContextFactory.java \
src/test/java/org/apache/commons/configuration2/TestJNDIConfiguration.java \
src/test/java/org/apache/commons/configuration2/TestNullJNDIEnvironmentValues.java \
src/test/java/org/apache/commons/configuration2/TestJNDIEnvironmentValues.java \
src/test/java/org/apache/commons/configuration2/builder/combined/TestCombinedConfigurationBuilderVFS.java \
src/test/java/org/apache/commons/configuration2/builder/combined/TestCombinedConfigurationBuilder.java
# use servlet-api:2.4
rm src/test/java/org/apache/commons/configuration2/web/TestServletFilterConfiguration.java
# org.apache.commons.configuration2.ex.ConfigurationException: Could not locate: org.apache.commons.configuration2.io.FileLocator@1a88d87[fileName=target/test-classes/testMultiConfiguration_${sys:Id}.xml,basePath=<null>,sourceURL=,encoding=<null>,fileSystem=<null>,locationStrategy=<null>]
rm src/test/java/org/apache/commons/configuration2/builder/combined/TestReloadingMultiFileConfigurationBuilder.java \
src/test/java/org/apache/commons/configuration2/builder/combined/TestMultiFileConfigurationBuilder.java \
src/test/java/org/apache/commons/configuration2/TestDynamicCombinedConfiguration.java
# java.lang.StackOverflowError @ testMultiConfiguration
rm src/test/java/org/apache/commons/configuration2/TestPatternSubtreeConfiguration.java
# Only on koji java.lang.AssertionError:
# Factory not set expected same:<EasyMock for interface org.apache.commons.configuration2.PropertiesConfiguration$IOFactory> was not:<null>
rm src/test/java/org/apache/commons/configuration2/builder/TestPropertiesBuilderParametersImpl.java
%mvn_file : %{short_name} %{name}
%build
%mvn_build
%install
%mvn_install
%files -f .mfiles
%doc RELEASE-NOTES.txt
%license LICENSE.txt NOTICE.txt
%files javadoc -f .mfiles-javadoc
%license LICENSE.txt NOTICE.txt
%changelog
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Wed Nov 16 2016 gil cattaneo <puntogil@libero.it> 2.1-1
- initial rpm