%bcond_without avalon
Name: apache-commons-logging
Version: 1.2
Release: 17
Summary: Apache Commons Logging
License: ASL 2.0
URL: http://commons.apache.org/logging
BuildArch: noarch
Source0: http://www.apache.org/dist/commons/logging/source/commons-logging-%{version}-src.tar.gz
Source1: https://repo1.maven.org/maven2/commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.pom
Patch0000: 0001-Generate-different-Bundle-SymbolicName-for-different.patch
Patch0001: 0002-Port-to-maven-jar-plugin-3.0.0.patch
%if %{with avalon}
BuildRequires: mvn(avalon-framework:avalon-framework-api)
BuildRequires: mvn(avalon-framework:avalon-framework-impl)
BuildRequires: mvn(logkit:logkit)
%endif
BuildRequires: mvn(javax.servlet:servlet-api) mvn(junit:junit) mvn(log4j:log4j:12) maven-local
BuildRequires: mvn(org.apache.commons:commons-parent:pom:) mvn(org.apache.maven.plugins:maven-failsafe-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-dependency-plugin) mvn(org.codehaus.mojo:build-helper-maven-plugin)
%description
The commons-logging package provides a simple, component-oriented interface
(org.apache.commons.logging.Log) and a wrapper for the logging system. The
user can choose which system to use. A few basic implementations are also
provided to allow users to use the package independently.
commons-logging was heavily influenced by Avalon's Logkit and Log4J. The
commons-logging abstraction is meant to minimize the differences between
the two, and to allow a developer to not tie himself to a particular
logging implementation.
%{?javadoc_package}
%prep
%autosetup -n commons-logging-%{version}-src -p1
%if %{with avalon}
%pom_remove_dep :avalon-framework
%pom_add_dep avalon-framework:avalon-framework-api:4.3:provided
%pom_add_dep avalon-framework:avalon-framework-impl:4.3:test
%pom_xpath_inject "pom:dependency[pom:artifactId='logkit']" 'provided'
%else
%pom_remove_dep -r :avalon-framework
%pom_remove_dep -r :logkit
rm -r src/test/java/org/apache/commons/logging/{avalon,logkit}
rm src/main/java/org/apache/commons/logging/impl/{AvalonLogger.java,LogKitLogger.java}
%endif
%pom_remove_plugin :cobertura-maven-plugin
%pom_remove_plugin :maven-scm-publish-plugin
sed -i 's/\r//' RELEASE-NOTES.txt LICENSE.txt NOTICE.txt
%mvn_file ":commons-logging{*}" "commons-logging@1" "%{name}@1"
%mvn_alias ":commons-logging{*}" "org.apache.commons:commons-logging@1" "apache:commons-logging@1"
rm -rf src/test/java/org/apache/commons/logging/log4j/log4j12
%build
%mvn_build
%mvn_artifact %{SOURCE1} target/commons-logging-%{version}-api.jar
%mvn_artifact commons-logging:commons-logging-adapters:%{version} target/commons-logging-%{version}-adapters.jar
%install
%mvn_install
%files -f .mfiles
%license LICENSE.txt NOTICE.txt
%doc PROPOSAL.html RELEASE-NOTES.txt
%changelog
* Tue Jan 21 2020 Jiangping Hu - 1.2-17
- Package init