Build with xmvn

- Update to current packaging guidelines
This commit is contained in:
Mikolaj Izdebski 2013-04-19 12:22:24 +02:00
parent 25cf27a435
commit 969934e0bd

View File

@ -1,149 +1,93 @@
Name: maven-enforcer
Version: 1.2
Release: 5%{?dist}
Release: 6%{?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
BuildArch: noarch
BuildArch: noarch
BuildRequires: java-devel >= 1:1.6.0
BuildRequires: maven-local
BuildRequires: maven-plugin-plugin
BuildRequires: maven-assembly-plugin
BuildRequires: maven-compiler-plugin
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
BuildRequires: maven-local
BuildRequires: mvn(commons-lang:commons-lang)
BuildRequires: mvn(org.apache.maven.plugin-tools:maven-plugin-annotations)
BuildRequires: mvn(org.apache.maven.shared:maven-common-artifact-filters)
BuildRequires: mvn(org.apache.maven.shared:maven-dependency-tree)
BuildRequires: mvn(org.apache.maven:maven-artifact)
BuildRequires: mvn(org.apache.maven:maven-compat)
BuildRequires: mvn(org.apache.maven:maven-core)
BuildRequires: mvn(org.apache.maven:maven-parent)
BuildRequires: mvn(org.apache.maven:maven-plugin-api)
BuildRequires: mvn(org.apache.maven:maven-project)
BuildRequires: mvn(org.beanshell:bsh)
BuildRequires: mvn(org.codehaus.plexus:plexus-container-default)
BuildRequires: mvn(org.codehaus.plexus:plexus-i18n)
BuildRequires: mvn(org.codehaus.plexus:plexus-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}
Summary: Enforcer API
%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
Summary: Enforcer Rules
%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
Requires: forge-parent
Obsoletes: maven2-plugin-enforcer <= 0:2.0.8
Provides: maven2-plugin-enforcer = 1:%{version}-%{release}
%package plugin
Summary: Enforcer Rules
Obsoletes: maven2-plugin-enforcer <= 0:2.0.8
Provides: maven2-plugin-enforcer = 1:%{version}-%{release}
%description -n maven-enforcer-plugin
%description plugin
This component contains the standard Enforcer Rules.
%prep
%setup -q -n enforcer-%{version}
%pom_add_dep org.apache.maven:maven-compat enforcer-rules
# Replace plexus-maven-plugin with plexus-component-metadata
sed -e "s|<artifactId>plexus-maven-plugin</artifactId>|<artifactId>plexus-component-metadata</artifactId>|" \
-e "s|<goal>descriptor</goal>|<goal>generate-metadata</goal>|" \
-i enforcer-{api,rules}/pom.xml
%build
mvn-rpmbuild \
-e \
-Dmaven.test.skip=true \
install javadoc:aggregate
%mvn_build -s -f
%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
%mvn_install
# 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
%files -f .mfiles-enforcer
%doc LICENSE NOTICE
# 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}
%files
%files api -f .mfiles-enforcer-api
%doc LICENSE NOTICE
%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 -f .mfiles-enforcer-rules
%files rules
%{_javadir}/%{name}/enforcer-rules.jar
%{_mavenpomdir}/JPP.%{name}-enforcer-rules.pom
%{_mavendepmapfragdir}/%{name}-enforcer-rules
%files plugin -f .mfiles-maven-enforcer-plugin
%files -n maven-enforcer-plugin
%{_javadir}/%{name}/plugin.jar
%{_mavenpomdir}/JPP.%{name}-plugin.pom
%{_mavendepmapfragdir}/%{name}-plugin
%files javadoc
%files javadoc -f .mfiles-javadoc
%doc LICENSE NOTICE
%{_javadocdir}/%{name}
%changelog
* Fri Apr 19 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.2-6
- Build with xmvn
- Update to current packaging guidelines
* Fri Apr 19 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.2-5
- Remove BR on maven-doxia
- Resolves: rhbz#915611