Build with xmvn

This commit is contained in:
Michal Srb 2013-01-29 09:09:07 +01:00
parent ede40fb650
commit 7cfb29b423

View File

@ -6,7 +6,7 @@
Name: google-%{short_name}
Version: 3.1.2
Release: 8%{?dist}
Release: 9%{?dist}
Summary: Lightweight dependency injection framework for Java 5 and above
Group: Development/Libraries
License: ASL 2.0
@ -18,7 +18,7 @@ BuildArch: noarch
BuildRequires: java-devel
BuildRequires: jpackage-utils
BuildRequires: javapackages-tools >= 0.7.0
BuildRequires: maven
BuildRequires: xmvn
BuildRequires: maven-remote-resources-plugin
BuildRequires: apache-resource-bundles
BuildRequires: aopalliance
@ -45,13 +45,6 @@ BuildRequires: mvn(org.hsqldb:hsqldb-j5)
BuildRequires: testng
%endif
Requires: java
Requires: jpackage-utils
Requires: aopalliance
Requires: atinject
Requires: cglib
Requires: guava
Requires: slf4j
Requires: %{short_name}-parent = %{version}-%{release}
Provides: %{short_name} = %{version}-%{release}
@ -76,7 +69,6 @@ than adding every feature to the core framework.
%package -n %{short_name}-parent
Summary: Guice parent POM
Requires: jpackage-utils
%description -n %{short_name}-parent
Guice is a lightweight dependency injection framework for Java 5
@ -87,7 +79,6 @@ and above. This package provides parent POM for Guice modules.
%package -n %{short_name}-assistedinject
Summary: AssistedInject extension module for Guice
Requires: java
Requires: jpackage-utils
Requires: %{short_name} = %{version}-%{release}
%description -n %{short_name}-assistedinject
@ -96,7 +87,6 @@ and above. This package provides AssistedInject module for Guice.
%package -n %{short_name}-extensions
Summary: Extensions for Guice
Requires: jpackage-utils
Requires: %{short_name} = %{version}-%{release}
%description -n %{short_name}-extensions
@ -105,8 +95,6 @@ and above. This package provides extensions POM for Guice.
%package -n %{short_name}-grapher
Summary: Grapher extension module for Guice
Requires: java
Requires: jpackage-utils
Requires: %{short_name} = %{version}-%{release}
Requires: %{short_name}-assistedinject = %{version}-%{release}
Requires: %{short_name}-multibindings = %{version}-%{release}
@ -117,8 +105,6 @@ and above. This package provides Grapher module for Guice.
%package -n %{short_name}-jmx
Summary: JMX extension module for Guice
Requires: java
Requires: jpackage-utils
Requires: %{short_name} = %{version}-%{release}
%description -n %{short_name}-jmx
@ -127,8 +113,6 @@ and above. This package provides JMX module for Guice.
%package -n %{short_name}-jndi
Summary: JNDI extension module for Guice
Requires: java
Requires: jpackage-utils
Requires: %{short_name} = %{version}-%{release}
%description -n %{short_name}-jndi
@ -147,10 +131,6 @@ and above. This package provides MultiBindings module for Guice.
%package -n %{short_name}-persist
Summary: Persist extension module for Guice
Requires: java
Requires: jpackage-utils
Requires: hibernate-jpa-2.0-api
Requires: tomcat-servlet-3.0-api
Requires: %{short_name} = %{version}-%{release}
%description -n %{short_name}-persist
@ -159,9 +139,6 @@ and above. This package provides Persist module for Guice.
%package -n %{short_name}-servlet
Summary: Servlet extension module for Guice
Requires: java
Requires: jpackage-utils
Requires: tomcat-servlet-3.0-api
Requires: %{short_name} = %{version}-%{release}
%description -n %{short_name}-servlet
@ -170,9 +147,6 @@ and above. This package provides Servlet module for Guice.
%package -n %{short_name}-spring
Summary: Spring extension module for Guice
Requires: java
Requires: jpackage-utils
Requires: springframework-beans
Requires: %{short_name} = %{version}-%{release}
%description -n %{short_name}-spring
@ -181,8 +155,6 @@ and above. This package provides Spring module for Guice.
%package -n %{short_name}-throwingproviders
Summary: ThrowingProviders extension module for Guice
Requires: java
Requires: jpackage-utils
Requires: %{short_name} = %{version}-%{release}
%description -n %{short_name}-throwingproviders
@ -194,7 +166,6 @@ and above. This package provides ThrowingProviders module for Guice.
%package javadoc
Summary: API documentation for Guice
Group: Documentation
Requires: jpackage-utils
Provides: %{short_name}-javadoc = %{version}-%{release}
%description javadoc
@ -224,89 +195,50 @@ This package provides %{summary}.
%pom_disable_module extensions
%endif
%build
# Skip tests because of missing dependency (hsqldb-j5).
mvn-rpmbuild -e -Dmaven.test.skip=true verify javadoc:aggregate
%install
# directories
install -d -m 755 %{buildroot}%{_javadir}/%{short_name}
install -d -m 755 %{buildroot}%{_mavenpomdir}
install -d -m 755 %{buildroot}%{_javadocdir}/%{name}
# JARs
install -p -m 644 core/target/sisu-%{short_name}-%{version}.jar %{buildroot}%{_javadir}/%{short_name}/%{name}.jar
# POMs
install -p -m 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{short_name}-%{short_name}-parent.pom
install -p -m 644 core/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{short_name}-%{name}.pom
# depmaps
%add_maven_depmap JPP.%{short_name}-%{short_name}-parent.pom -f parent
%add_maven_depmap JPP.%{short_name}-%{name}.pom %{short_name}/%{name}.jar -a com.google.inject:guice
# javadoc
cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}
# compat symlink
ln -sf %{short_name}/%{name}.jar %{buildroot}%{_javadir}
# Extensions
%if %{with extensions}
# JARs
install -p -m 644 extensions/assistedinject/target/%{short_name}-assistedinject-%{version}.jar %{buildroot}%{_javadir}/%{short_name}/%{short_name}-assistedinject.jar
install -p -m 644 extensions/grapher/target/%{short_name}-grapher-%{version}.jar %{buildroot}%{_javadir}/%{short_name}/%{short_name}-grapher.jar
install -p -m 644 extensions/jmx/target/%{short_name}-jmx-%{version}.jar %{buildroot}%{_javadir}/%{short_name}/%{short_name}-jmx.jar
install -p -m 644 extensions/jndi/target/%{short_name}-jndi-%{version}.jar %{buildroot}%{_javadir}/%{short_name}/%{short_name}-jndi.jar
install -p -m 644 extensions/multibindings/target/%{short_name}-multibindings-%{version}.jar %{buildroot}%{_javadir}/%{short_name}/%{short_name}-multibindings.jar
install -p -m 644 extensions/persist/target/%{short_name}-persist-%{version}.jar %{buildroot}%{_javadir}/%{short_name}/%{short_name}-persist.jar
install -p -m 644 extensions/servlet/target/%{short_name}-servlet-%{version}.jar %{buildroot}%{_javadir}/%{short_name}/%{short_name}-servlet.jar
install -p -m 644 extensions/spring/target/%{short_name}-spring-%{version}.jar %{buildroot}%{_javadir}/%{short_name}/%{short_name}-spring.jar
install -p -m 644 extensions/throwingproviders/target/%{short_name}-throwingproviders-%{version}.jar %{buildroot}%{_javadir}/%{short_name}/%{short_name}-throwingproviders.jar
# POMs
install -p -m 644 extensions/assistedinject/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{short_name}-%{short_name}-assistedinject.pom
install -p -m 644 extensions/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{short_name}-%{short_name}-extensions.pom
install -p -m 644 extensions/grapher/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{short_name}-%{short_name}-grapher.pom
install -p -m 644 extensions/jmx/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{short_name}-%{short_name}-jmx.pom
install -p -m 644 extensions/jndi/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{short_name}-%{short_name}-jndi.pom
install -p -m 644 extensions/multibindings/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{short_name}-%{short_name}-multibindings.pom
install -p -m 644 extensions/persist/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{short_name}-%{short_name}-persist.pom
install -p -m 644 extensions/servlet/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{short_name}-%{short_name}-servlet.pom
install -p -m 644 extensions/spring/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{short_name}-%{short_name}-spring.pom
install -p -m 644 extensions/throwingproviders/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{short_name}-%{short_name}-throwingproviders.pom
# depmaps
%add_maven_depmap JPP.%{short_name}-%{short_name}-assistedinject.pom %{short_name}/%{short_name}-assistedinject.jar -f assistedinject -a com.google.inject.extensions:guice-assistedinject
%add_maven_depmap JPP.%{short_name}-%{short_name}-extensions.pom -f extensions
%add_maven_depmap JPP.%{short_name}-%{short_name}-grapher.pom %{short_name}/%{short_name}-grapher.jar -f grapher -a com.google.inject.extensions:guice-grapher
%add_maven_depmap JPP.%{short_name}-%{short_name}-jmx.pom %{short_name}/%{short_name}-jmx.jar -f jmx -a com.google.inject.extensions:guice-jmx
%add_maven_depmap JPP.%{short_name}-%{short_name}-jndi.pom %{short_name}/%{short_name}-jndi.jar -f jndi -a com.google.inject.extensions:guice-jndi
%add_maven_depmap JPP.%{short_name}-%{short_name}-multibindings.pom %{short_name}/%{short_name}-multibindings.jar -f multibindings -a com.google.inject.extensions:guice-multibindings
%add_maven_depmap JPP.%{short_name}-%{short_name}-persist.pom %{short_name}/%{short_name}-persist.jar -f persist -a com.google.inject.extensions:guice-persist
%add_maven_depmap JPP.%{short_name}-%{short_name}-servlet.pom %{short_name}/%{short_name}-servlet.jar -f servlet -a com.google.inject.extensions:guice-servlet
%add_maven_depmap JPP.%{short_name}-%{short_name}-spring.pom %{short_name}/%{short_name}-spring.jar -f spring -a com.google.inject.extensions:guice-spring
%add_maven_depmap JPP.%{short_name}-%{short_name}-throwingproviders.pom %{short_name}/%{short_name}-throwingproviders.jar -f throwingproviders -a com.google.inject.extensions:guice-throwingproviders
%mvn_alias ":guice-{assistedinject,grapher,jmx,jndi,multibindings,persist, \
servlet,spring,throwingproviders}" "com.google.inject.extensions:guice-@1"
%endif # with extensions
%files -f .mfiles
%{_javadir}/%{name}.jar
%mvn_file ":guice-{*}" %{short_name}/guice-@1
%mvn_file ":sisu-guice" %{short_name}/%{name}
%mvn_file ":sisu-guice" %{name}
%mvn_alias ":sisu-guice" "com.google.inject:guice"
# Skip tests because of missing dependency (hsqldb-j5).
%mvn_build -f -s
%files -n %{short_name}-parent -f .mfiles-parent
%install
%mvn_install
%files -f .mfiles-sisu-guice
%files -n %{short_name}-parent -f .mfiles-guice-parent
%doc COPYING
%if %{with extensions}
%files -n %{short_name}-assistedinject -f .mfiles-assistedinject
%files -n %{short_name}-extensions -f .mfiles-extensions
%files -n %{short_name}-grapher -f .mfiles-grapher
%files -n %{short_name}-jmx -f .mfiles-jmx
%files -n %{short_name}-jndi -f .mfiles-jndi
%files -n %{short_name}-multibindings -f .mfiles-multibindings
%files -n %{short_name}-persist -f .mfiles-persist
%files -n %{short_name}-servlet -f .mfiles-servlet
%files -n %{short_name}-spring -f .mfiles-spring
%files -n %{short_name}-throwingproviders -f .mfiles-throwingproviders
%files -n %{short_name}-assistedinject -f .mfiles-guice-assistedinject
%files -n %{short_name}-extensions -f .mfiles-guice-extensions
%files -n %{short_name}-grapher -f .mfiles-guice-grapher
%files -n %{short_name}-jmx -f .mfiles-guice-jmx
%files -n %{short_name}-jndi -f .mfiles-guice-jndi
%files -n %{short_name}-multibindings -f .mfiles-guice-multibindings
%files -n %{short_name}-persist -f .mfiles-guice-persist
%files -n %{short_name}-servlet -f .mfiles-guice-servlet
%files -n %{short_name}-spring -f .mfiles-guice-spring
%files -n %{short_name}-throwingproviders -f .mfiles-guice-throwingproviders
%endif # with extensions
%files javadoc
%files javadoc -f .mfiles-javadoc
%doc COPYING
%{_javadocdir}/%{name}
%changelog
* Mon Jan 28 2013 Michal Srb <msrb@redhat.com> - 3.1.2-9
- Build with xmvn
* Fri Nov 16 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.1.2-8
- Remove README