%global project_version 1.0-beta-2 Name: maven-enforcer Version: 1.0 Release: 0.1.b2%{?dist} Summary: Maven Enforcer Group: Development/Libraries License: ASL 2.0 URL: http://maven.apache.org/enforcer #svn export http://svn.apache.org/repos/asf/maven/enforcer/tags/enforcer-1.0-beta-2 enforcer-1.0-beta-2 #tar caf enforcer-1.0-beta-2.tar.xz enforcer-1.0-beta-2 Source0: enforcer-%{project_version}.tar.xz Source1: %{name}-depmap.xml Patch0: fix-site.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch BuildRequires: java-devel >= 1:1.6.0 BuildRequires: maven2 BuildRequires: maven-plugin-plugin BuildRequires: maven2-plugin-assembly BuildRequires: plexus-maven-plugin BuildRequires: maven-compiler-plugin BuildRequires: maven2-plugin-install BuildRequires: maven-javadoc-plugin BuildRequires: maven-jar-plugin BuildRequires: maven2-plugin-resources BuildRequires: maven-doxia BuildRequires: maven-doxia-sitetools BuildRequires: maven-surefire-maven-plugin BuildRequires: maven-surefire-provider-junit BuildRequires: maven-plugin-testing-harness BuildRequires: maven-plugin-cobertura BuildRequires: maven-shared-reporting-impl BuildRequires: maven-site-plugin BuildRequires: maven-doxia-tools BuildRequires: tomcat6 Requires: maven2 Requires: jpackage-utils Requires: java Requires(post): jpackage-utils Requires(postun): jpackage-utils %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-%{project_version} %patch0 %build export MAVEN_REPO_LOCAL=$(pwd)/.m2/repository mvn-jpp \ -e \ -Dmaven2.jpp.mode=true \ -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ -Dmaven2.jpp.depmap.file=%{SOURCE1} \ -Dmaven.test.failure.ignore=true \ install javadoc:javadoc %install rm -rf %{buildroot} # jars install -d -m 0755 %{buildroot}%{_javadir}/%{name} install -m 644 enforcer-api/target/enforcer-api-%{project_version}.jar \ %{buildroot}%{_javadir}/%{name}/enforcer-api-%{project_version}.jar install -m 644 enforcer-rules/target/enforcer-rules-%{project_version}.jar \ %{buildroot}%{_javadir}/%{name}/enforcer-rules-%{project_version}.jar install -m 644 maven-enforcer-plugin/target/maven-enforcer-plugin-%{project_version}.jar \ %{buildroot}%{_javadir}/%{name}/plugin-%{project_version}.jar (cd %{buildroot}%{_javadir}/%{name} && for jar in *-%{project_version}*; \ do ln -sf ${jar} `echo $jar| sed "s|-%{project_version}||g"`; done) # poms install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/maven2/poms install -pm 644 pom.xml \ $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP-%{name}.pom %add_to_maven_depmap org.apache.maven.enforcer enforcer %{project_version} JPP %{name} install -pm 644 enforcer-api/pom.xml \ $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.%{name}-enforcer-api.pom %add_to_maven_depmap org.apache.maven.enforcer enforcer-api %{project_version} JPP/%{name} enforcer-api install -pm 644 enforcer-rules/pom.xml \ $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.%{name}-enforcer-rules.pom %add_to_maven_depmap org.apache.maven.enforcer enforcer-rules %{project_version} JPP/%{name} enforcer-rules install -pm 644 maven-enforcer-plugin/pom.xml \ $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.%{name}-plugin.pom %add_to_maven_depmap org.apache.maven.plugins maven-enforcer-plugin %{project_version} JPP/%{name} plugin # javadoc install -d -m 755 %{buildroot}%{_javadocdir}/%{name}-%{version} for dir in *enforcer*; do install -d -m 755 %{buildroot}%{_javadocdir}/%{name}-%{version}/$dir cp -pr $dir/target/site/apidocs/* \ %{buildroot}%{_javadocdir}/%{name}-%{version}/$dir/ done ln -s %{name}-%{version} \ $RPM_BUILD_ROOT%{_javadocdir}/%{name} %post %update_maven_depmap %postun %update_maven_depmap %clean %{__rm} -rf %{buildroot} %files %defattr(-,root,root,-) %dir %{_javadir}/%{name} %{_mavenpomdir}/* %{_mavendepmapfragdir}/* %files javadoc %defattr(-,root,root,-) %{_javadocdir}/%{name}-%{version} %{_javadocdir}/%{name} %files api %defattr(-,root,root,-) %{_javadir}/%{name}/enforcer-api* %files rules %defattr(-,root,root,-) %{_javadir}/%{name}/enforcer-rules* %files -n maven-enforcer-plugin %defattr(-,root,root,-) %{_javadir}/%{name}/plugin* %changelog * Wed May 19 2010 Alexander Kurtakov <akurtako@redhat.com> 1.0-0.1.b2 - Initial package