%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^osgi\\(org\\.sonatype\\.sisu\\.guava\\)$
%global vertag M4
Name: sisu
Epoch: 1
Version: 0.0.0
Release: 0.1.%{vertag}%{?dist}
Summary: Sonatype dependency injection framework
Group: Development/Libraries
# bundled asm is under BSD
License: EPL and BSD
URL: http://eclipse.org/sisu
# TODO: unbundle asm
# TODO: install EPL license file
Source0: http://git.eclipse.org/c/%{name}/org.eclipse.%{name}.inject.git/snapshot/milestones/%{version}.M4.tar.bz2#/org.eclipse.%{name}.inject-%{version}.M4.tar.bz2
Source1: http://git.eclipse.org/c/%{name}/org.eclipse.%{name}.plexus.git/snapshot/milestones/%{version}.M4.tar.bz2#/org.eclipse.%{name}.plexus-%{version}.M4.tar.bz2
BuildArch: noarch
BuildRequires: maven-local
BuildRequires: mvn(ch.qos.logback:logback-classic)
BuildRequires: mvn(com.google.inject.extensions:guice-assistedinject)
BuildRequires: mvn(com.google.inject:guice)
BuildRequires: mvn(javax.enterprise:cdi-api)
BuildRequires: mvn(junit:junit)
BuildRequires: mvn(org.apache.felix:org.apache.felix.framework)
BuildRequires: mvn(org.eclipse.tycho:tycho-maven-plugin)
BuildRequires: mvn(org.osgi:org.osgi.core)
BuildRequires: mvn(org.sonatype.oss:oss-parent)
BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
BuildRequires: mvn(org.jacoco:jacoco-maven-plugin)
BuildRequires: osgi(aopalliance)
BuildRequires: osgi(com.google.guava)
BuildRequires: osgi(javax.el)
BuildRequires: osgi(javax.enterprise.cdi-api)
BuildRequires: osgi(javax.inject)
BuildRequires: osgi(javax.servlet)
BuildRequires: osgi(javax.xml.rpc)
BuildRequires: osgi(org.apache.geronimo.specs.geronimo-annotation_1.1_spec)
BuildRequires: osgi(org.apache.geronimo.specs.geronimo-ejb_3.1_spec)
BuildRequires: osgi(org.codehaus.plexus.classworlds)
BuildRequires: osgi(org.codehaus.plexus.component-annotations)
BuildRequires: osgi(org.codehaus.plexus.utils)
BuildRequires: osgi(org.eclipse.jdt.apt.core)
BuildRequires: osgi(org.eclipse.osgi)
BuildRequires: osgi(org.hamcrest.core)
BuildRequires: osgi(org.junit)
BuildRequires: osgi(org.sonatype.sisu.guice)
BuildRequires: osgi(org.testng)
BuildRequires: osgi(slf4j.api)
%description
Java dependency injection framework with backward support for plexus and bean
style dependency injection.
%package inject
Summary: Sisu inject POM
Obsoletes: %{name}-bean < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-bean-binders < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-bean-containers < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-bean-converters < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-bean-inject < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-bean-locators < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-bean-reflect < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-bean-scanners < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-containers < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-inject-bean < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-inject-plexus < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-osgi-registry < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-parent < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-plexus-binders < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-plexus-converters < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-plexus-lifecycles < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-plexus-locators < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-plexus-metadata < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-plexus-scanners < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-plexus-shim < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-registries < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-spi-registry < %{epoch}:%{version}-%{release}
%description inject
This package contains %{summary}.
%package plexus
Summary: Sisu Plexus POM
# XXX: temporary hack
Provides: mvn(org.sonatype.sisu:sisu-inject-plexus)
%description plexus
This package contains %{summary}.
%package javadoc
Summary: API documentation for Sisu
%description javadoc
This package contains %{summary}.
%prep
%setup -q -c -T
tar xf %{SOURCE0} && mv milestones/* sisu-inject && rmdir milestones
tar xf %{SOURCE1} && mv milestones/* sisu-plexus && rmdir milestones
%mvn_file ":{*}" @1
%mvn_package ":*{inject,plexus}" @1
%mvn_package : __noinstall
for target in \
sisu-inject/org.eclipse.sisu.inject/build.target \
sisu-plexus/org.eclipse.sisu.plexus/build.target
do
sed -i '/|' $target
sed -i '/|' $target
sed -i '/|' $target
sed -i '/|' $target
sed -i '/|' $target
sed -i '/|' $target
sed -i '/|' $target
done
for pom in \
sisu-inject/org.eclipse.sisu.inject \
sisu-inject/org.eclipse.sisu.inject.extender \
sisu-plexus/org.eclipse.sisu.plexus
do
%pom_remove_plugin :animal-sniffer-maven-plugin $pom
done
sed -i '260s/