Blob Blame History Raw
Name:           maven-enforcer
Version:        1.0.1
Release:        4%{?dist}
Summary:        Maven Enforcer

Group:          Development/Libraries
License:        ASL 2.0
URL:            http://maven.apache.org/enforcer
Source0:        http://repo1.maven.org/maven2/org/apache/maven/enforcer/enforcer/%{version}/enforcer-%{version}-source-release.zip

#748074 - maven-enforcer-plugin is not compatible with maven3
Patch0:         %{name}-requirePluginVersions-maven3-compatibility.patch
Patch1:         %{name}-migration-to-component-metadata.patch
Patch2:         %{name}-maven3-compat.patch

BuildArch: noarch

BuildRequires: java-devel >= 1:1.6.0

BuildRequires: maven
BuildRequires: maven-plugin-plugin
BuildRequires: maven-assembly-plugin
BuildRequires: maven-compiler-plugin
BuildRequires: maven-doxia
BuildRequires: maven-doxia-sitetools
BuildRequires: maven-doxia-tools
BuildRequires: maven-install-plugin
BuildRequires: maven-javadoc-plugin
BuildRequires: maven-jar-plugin
BuildRequires: maven-plugin-testing-harness
BuildRequires: maven-plugin-cobertura
BuildRequires: maven-resources-plugin
BuildRequires: maven-site-plugin
BuildRequires: maven-shared-reporting-impl
BuildRequires: maven-surefire-plugin
BuildRequires: maven-surefire-provider-junit
BuildRequires: plexus-containers-component-javadoc
BuildRequires: plexus-containers-component-metadata
Requires:      maven
Requires:       jpackage-utils
Requires:       java

%description
Enforcer is a build rule execution framework.

%package javadoc
Group:          Documentation
Summary:        Javadoc for %{name}
Requires:       jpackage-utils

%description javadoc
API documentation for %{name}.

%package api
Summary: Enforcer API
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}

%description api
This component provides the generic interfaces needed to
implement custom rules for the maven-enforcer-plugin.

%package rules
Summary: Enforcer Rules
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: %{name}-api

%description rules
This component contains the standard Enforcer Rules.

%package -n maven-enforcer-plugin
Summary: Enforcer Rules
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: %{name}-rules
Obsoletes: maven2-plugin-enforcer <= 0:2.0.8
Provides: maven2-plugin-enforcer = 1:%{version}-%{release}

%description -n maven-enforcer-plugin
This component contains the standard Enforcer Rules.


%prep
%setup -q -n enforcer-%{version}

%patch0 -p0
%patch1 -p1
%patch2 -p1

%build
mvn-rpmbuild \
        -e \
        -Dmaven.test.skip=true \
        install javadoc:aggregate

%install
# jars
install -d -m 0755 %{buildroot}%{_javadir}/%{name}
install -m 644 enforcer-api/target/enforcer-api-%{version}.jar \
               %{buildroot}%{_javadir}/%{name}/enforcer-api.jar
install -m 644 enforcer-rules/target/enforcer-rules-%{version}.jar \
               %{buildroot}%{_javadir}/%{name}/enforcer-rules.jar
install -m 644 maven-enforcer-plugin/target/maven-enforcer-plugin-%{version}.jar \
               %{buildroot}%{_javadir}/%{name}/plugin.jar

# poms
install -d -m 755 %{buildroot}%{_mavenpomdir}
install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom
install -pm 644 enforcer-api/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-enforcer-api.pom
install -pm 644 enforcer-rules/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-enforcer-rules.pom
install -pm 644 maven-enforcer-plugin/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-plugin.pom

# fragments
%add_maven_depmap JPP-%{name}.pom
%add_maven_depmap -f enforcer-api JPP.%{name}-enforcer-api.pom %{name}/enforcer-api.jar
%add_maven_depmap -f enforcer-rules JPP.%{name}-enforcer-rules.pom %{name}/enforcer-rules.jar
%add_maven_depmap -f plugin JPP.%{name}-plugin.pom %{name}/plugin.jar

# javadoc
install -d -m 755 %{buildroot}%{_javadocdir}/%{name}
cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}


%pre javadoc
# workaround for rpm bug, can be removed in F-17
[ $1 -gt 1 ] && [ -L %{_javadocdir}/%{name} ] && \
rm -rf $(readlink -f %{_javadocdir}/%{name}) %{_javadocdir}/%{name} || :


%files
%dir %{_javadir}/%{name}
%{_mavenpomdir}/JPP-%{name}.pom
%{_mavendepmapfragdir}/%{name}

%files api
%{_javadir}/%{name}/enforcer-api.jar
%{_mavenpomdir}/JPP.%{name}-enforcer-api.pom
%{_mavendepmapfragdir}/%{name}-enforcer-api

%files rules
%{_javadir}/%{name}/enforcer-rules.jar
%{_mavenpomdir}/JPP.%{name}-enforcer-rules.pom
%{_mavendepmapfragdir}/%{name}-enforcer-rules

%files -n maven-enforcer-plugin
%{_javadir}/%{name}/plugin.jar
%{_mavenpomdir}/JPP.%{name}-plugin.pom
%{_mavendepmapfragdir}/%{name}-plugin

%files javadoc
%{_javadocdir}/%{name}


%changelog
* Thu Feb 02 2012 Jaromir Capik <jcapik@redhat.com> - 1.0.1-4
- Migration to plexus-containers-component-metadata
- Maven3 compatibility patches
- Minor spec file changes according to the latest guidelines

* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Fri Jul 15 2011 Jaromir Capik <jcapik@redhat.com> - 1.0.1-2
- Removal of plexus-maven-plugin dependency (not needed)

* Tue Jun 28 2011 Alexander Kurtakov <akurtako@redhat.com> 1.0.1-1
- Update to latest upstream 1.0.1.
- Adapt to current guidelines.

* Thu Mar 10 2011 Stanislav Ochotnicky <sochotnicky@redhat.com> - 1.0-1
- Update to latest upstream (1.0)

* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0-0.3.b2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Mon Dec 13 2010 Stanislav Ochotnicky <sochotnicky@redhat.com> - 1.0-0.2.b2
- Fix FTBFS (#631388)
- Use new maven plugin names
- Versionless jars & javadocs

* Wed May 19 2010 Alexander Kurtakov <akurtako@redhat.com> 1.0-0.1.b2
- Initial package