Blob Blame History Raw
# Release type, either "milestone" or "release"
%global reltype release
#global reltag .M1

Name:           sisu
Epoch:          1
Version:        0.3.2
Release:        4%{?dist}
Summary:        Eclipse dependency injection framework
License:        EPL
URL:            http://eclipse.org/sisu

Source0:        http://git.eclipse.org/c/%{name}/org.eclipse.%{name}.inject.git/snapshot/%{reltype}s/%{version}%{?reltag}.tar.bz2#/org.eclipse.%{name}.inject-%{version}%{?reltag}.tar.bz2
Source1:        http://git.eclipse.org/c/%{name}/org.eclipse.%{name}.plexus.git/snapshot/%{reltype}s/%{version}%{?reltag}.tar.bz2#/org.eclipse.%{name}.plexus-%{version}%{?reltag}.tar.bz2

Patch0:         %{name}-OSGi-import-guava.patch
Patch2:         %{name}-ignored-tests.patch

BuildArch:      noarch

BuildRequires:  maven-local >= 4.2
BuildRequires:  mvn(ch.qos.logback:logback-classic)
BuildRequires:  mvn(com.google.inject.extensions:guice-assistedinject)
BuildRequires:  mvn(com.google.inject:guice)
BuildRequires:  mvn(javax.annotation:javax.annotation-api)
BuildRequires:  mvn(javax.enterprise:cdi-api)
BuildRequires:  mvn(junit:junit)
BuildRequires:  mvn(net.sf.cglib:cglib)
BuildRequires:  mvn(org.apache.felix:org.apache.felix.framework)
BuildRequires:  mvn(org.apache.maven.plugins:maven-clean-plugin)
BuildRequires:  mvn(org.apache.maven.plugins:maven-dependency-plugin)
BuildRequires:  mvn(org.apache.maven.plugins:maven-deploy-plugin)
BuildRequires:  mvn(org.codehaus.mojo:build-helper-maven-plugin)
BuildRequires:  mvn(org.codehaus.plexus:plexus-classworlds)
BuildRequires:  mvn(org.codehaus.plexus:plexus-component-annotations)
BuildRequires:  mvn(org.codehaus.plexus:plexus-utils)
BuildRequires:  mvn(org.eclipse.tycho:tycho-maven-plugin)
BuildRequires:  mvn(org.eclipse.tycho:tycho-source-plugin)
BuildRequires:  mvn(org.jacoco:jacoco-maven-plugin)
BuildRequires:  mvn(org.osgi:org.osgi.core)
BuildRequires:  mvn(org.ow2.asm:asm)
BuildRequires:  mvn(org.slf4j:slf4j-api)
BuildRequires:  mvn(org.sonatype.oss:oss-parent:pom:)

BuildRequires:  osgi(aopalliance)
BuildRequires:  osgi(com.google.inject)
BuildRequires:  osgi(com.google.inject.servlet)
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.eclipse.osgi.source)
BuildRequires:  osgi(org.hamcrest.core)
BuildRequires:  osgi(org.junit)
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

Obsoletes:      %{name}                   < %{epoch}:%{version}-%{release}
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

%description    plexus
This package contains %{summary}.

%package        tests
Summary:        Sisu tests

%description    tests
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 %{reltype}s/* sisu-inject && rmdir %{reltype}s
tar xf %{SOURCE1} && mv %{reltype}s/* sisu-plexus && rmdir %{reltype}s

%patch0
%patch2

# Unbundle ASM
rm -rf sisu-inject/org.eclipse.sisu.inject/src/org/eclipse/sisu/space/asm/
sed -i 's/org.eclipse.sisu.space.asm/org.objectweb.asm/' $(find -name *.java)
sed -i 's/Import-Package: /&org.objectweb.asm;version="5",/' sisu-inject/org.eclipse.sisu.inject/META-INF/MANIFEST.MF
%pom_add_dep org.ow2.asm:asm sisu-inject/org.eclipse.sisu.inject
%pom_add_dep org.ow2.asm:asm sisu-plexus/org.eclipse.sisu.plexus.tests

%mvn_file ":{*}" @1
%mvn_package ":*{inject,plexus,tests}" @1
%mvn_alias :org.eclipse.sisu.plexus org.sonatype.sisu:sisu-inject-plexus

%pom_disable_module org.eclipse.sisu.inject.site sisu-inject
%pom_disable_module org.eclipse.sisu.plexus.site sisu-plexus

%pom_add_dep net.sf.cglib:cglib::test sisu-inject/org.eclipse.sisu.inject.tests
%pom_add_dep net.sf.cglib:cglib::test sisu-plexus/org.eclipse.sisu.plexus.tests

for pom in \
    sisu-inject \
    sisu-inject/org.eclipse.sisu.inject \
    sisu-inject/org.eclipse.sisu.inject.extender \
    sisu-plexus \
    sisu-plexus/org.eclipse.sisu.plexus \
    sisu-plexus/org.eclipse.sisu.plexus.extender
do
    %pom_remove_plugin :target-platform-configuration $pom
done

for pom in \
    sisu-inject/org.eclipse.sisu.inject \
    sisu-inject/org.eclipse.sisu.inject.extender \
    sisu-plexus/org.eclipse.sisu.plexus \
    sisu-plexus/org.eclipse.sisu.plexus.extender
do
    %pom_remove_plugin :animal-sniffer-maven-plugin $pom
done

for pom in sisu-inject/org.eclipse.sisu.inject.tests/pom.xml sisu-plexus/org.eclipse.sisu.plexus/pom.xml; do
    %pom_xpath_inject "pom:dependency[pom:artifactId='cdi-api']" '<scope>provided</scope>' $pom
done

# missing dep org.eclipse.tycho.extras:tycho-sourceref-jgit
%pom_xpath_remove "pom:plugin[pom:artifactId[text()='tycho-packaging-plugin']]/pom:dependencies" sisu-inject
%pom_xpath_remove "pom:plugin[pom:artifactId[text()='tycho-packaging-plugin']]/pom:configuration/pom:sourceReferences" sisu-inject
%pom_xpath_remove "pom:plugin[pom:artifactId[text()='tycho-packaging-plugin']]/pom:dependencies" sisu-plexus
%pom_xpath_remove "pom:plugin[pom:artifactId[text()='tycho-packaging-plugin']]/pom:configuration/pom:sourceReferences" sisu-plexus


cat <<EOF >pom.xml
<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.fedoraproject.maven</groupId>
  <artifactId>aggregator-project</artifactId>
  <version>dummy</version>
  <packaging>pom</packaging>
  <modules>
    <module>sisu-inject</module>
    <module>sisu-plexus</module>
  </modules>
</project>
EOF

%build
%mvn_build -i

%install
%mvn_artifact sisu-inject/pom.xml
%mvn_artifact sisu-inject/org.eclipse.sisu.inject/pom.xml sisu-inject/org.eclipse.sisu.inject/target/org.eclipse.sisu.inject-%{version}%{?reltag}.jar
%mvn_artifact sisu-inject/org.eclipse.sisu.inject.tests/pom.xml sisu-inject/org.eclipse.sisu.inject.tests/target/org.eclipse.sisu.inject.tests-%{version}%{?reltag}.jar
%mvn_artifact sisu-plexus/pom.xml
%mvn_artifact sisu-plexus/org.eclipse.sisu.plexus/pom.xml sisu-plexus/org.eclipse.sisu.plexus/target/org.eclipse.sisu.plexus-%{version}%{?reltag}.jar
%mvn_artifact sisu-plexus/org.eclipse.sisu.plexus.tests/pom.xml sisu-plexus/org.eclipse.sisu.plexus.tests/target/org.eclipse.sisu.plexus.tests-%{version}%{?reltag}.jar
%mvn_install


%files inject -f .mfiles-inject
%doc sisu-inject/LICENSE.txt

%files plexus -f .mfiles-plexus

%files tests -f .mfiles-tests

%files javadoc -f .mfiles-javadoc
%doc sisu-inject/LICENSE.txt


%changelog
* Mon Feb 22 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:0.3.2-4
- Add alias for org.sonatype.sisu:sisu-inject-plexus

* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.3.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Thu Jan  7 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:0.3.2-2
- Remove unneeded patch

* Wed Sep 16 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:0.3.2-1
- Update to upstream version 0.3.2

* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Mon May 18 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:0.3.1-1
- Update to upstream version 0.3.1

* Thu Apr 23 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:0.3.0-2
- Install test artifacts

* Mon Feb 23 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:0.3.0-1
- Update to upstream version 0.3.0

* Wed Feb 18 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:0.3.0-0.2.M1
- Unbundle ASM
- Resolves: rhbz#1085903

* Wed Feb  4 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:0.3.0-0.1.M1
- Update to upstream milestone 0.3.0.M1

* Tue Sep 30 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:0.2.1-10
- Port to plexus-utils 3.0.18

* Thu Sep 18 2014 Michal Srb <msrb@redhat.com> - 1:0.2.1-9
- Rebuild to fix metadata
- Remove explicit Requires

* Fri Sep 12 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:0.2.1-8
- Update to latest XMvn version
- Enable tests

* Mon Aug  4 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:0.2.1-7
- Fix build-requires on sonatype-oss-parent

* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.2.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Fri May 30 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:0.2.1-5
- Install JARs and POMs only

* Thu May 29 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:0.2.1-4
- Build with XMvn 2.0.0

* Wed May 07 2014 Michael Simacek <msimacek@redhat.com> - 1:0.2.1-3
- Build with Java 8

* Wed Apr 23 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:0.2.1-2
- Import guava in OSGi manifest

* Tue Apr 22 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:0.2.1-1
- Update to upstream version 0.2.1
- Remove patch for Eclipse bug 429369

* Wed Apr 16 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:0.2.0-5
- Update upstream patch for bug 429369
- Force usage of Java 1.7

* Mon Mar  3 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:0.2.0-4
- Revert upstream feature which introduced a regression
- Resolves: rhbz#1070915

* Thu Feb 20 2014 Michal Srb <msrb@redhat.com> - 1:0.2.0-3
- Remove R on cdi-api

* Thu Feb 20 2014 Michal Srb <msrb@redhat.com> - 1:0.2.0-2
- Update BR/R for version 0.2.0
- Enable tests

* Mon Feb 17 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:0.2.0-1
- Update to upstream version 0.2.0

* Wed Dec  4 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:0.1.1-1
- Update to upstream version 0.1.1

* Wed Nov 13 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:0.1.0-1
- Update to upstream version 0.1.0

* Wed Oct 23 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:0.0.0-0.7.M5
- Rebuild to regenerate broken POMs
- Related: rhbz#1021484

* Fri Oct 18 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:0.0.0-0.6.M5
- Don't inject pom.properties

* Wed Sep 25 2013 Michal Srb <msrb@redhat.com> - 1:0.0.0-0.5.M5
- Update to upstream version 0.0.0.M5
- Install EPL license file
- Inject pom.properties
- Regenerate BR
- Add R

* Fri Sep 20 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:0.0.0-0.4.M4
- Update to XMvn 1.0.0

* Tue Aug 13 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:0.0.0-0.3.M4
- Obsolete sisu main package, resolves: rhbz#996288

* Tue Jul 23 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:0.0.0-0.2.M4
- Remove unneeded provides and compat symlinks

* Mon Jul 22 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:0.0.0-0.1.M4
- Update to upstream version 0.0.0.M4

* Wed Mar 27 2013 Stanislav Ochotnicky <sochotnicky@redhat.com> - 2.3.0-8
- Remove unneeded animal-sniffer BuildRequires
- Add forge-parent to BuildRequires to ensure it's present

* Thu Mar 14 2013 Michal Srb <msrb@redhat.com> - 2.3.0-7
- sisu-inject-bean: add dependency on asm
- Fix dependencies on javax.inject and javax.enterprise.inject
- Remove bundled JARs and .class files from tarball

* Thu Feb  7 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.3.0-6
- Add ASM dependency only to a single module, not all of them
- Disable animal-sniffer plugin
- Don't generate auto-requires for optional dependencies

* Wed Feb 06 2013 Tomas Radej <tradej@redhat.com> - 2.3.0-5
- Added BR on animal-sniffer

* Tue Feb 05 2013 Tomas Radej <tradej@redhat.com> - 2.3.0-4
- Split into subpackages
- Build with new macros
- Unbundled objectweb-asm

* Wed Dec  5 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.3.0-3
- Fix OSGi __requires_exclude

* Wed Dec  5 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.3.0-2
- Disable OSGi auto-requires: org.sonatype.sisu.guava

* Mon Dec  3 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.3.0-1
- Update to upstream version 2.3.0

* Tue Jul 24 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.2.3-6
- Convert patches to POM macros

* Mon Jul 23 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.2.3-5
- Fix license tag

* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

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

* Fri Aug 19 2011 Stanislav Ochotnicky <sochotnicky@redhat.com> - 2.2.3-2
- Add backward compatible package path for lifecycles
- Remove temporary BRs/Rs

* Thu Jun 23 2011 Stanislav Ochotnicky <sochotnicky@redhat.com> - 2.2.3-1
- Update to latest upstream 2.2.3 (#683795)
- Add forge-parent to Requires
- Rework spec to be more simple, update patches

* Tue Mar  1 2011 Stanislav Ochotnicky <sochotnicky@redhat.com> - 2.1.1-2
- Add atinject into poms as dependency

* Mon Feb 28 2011 Stanislav Ochotnicky <sochotnicky@redhat.com> - 2.1.1-1
- Update to 2.1.1
- Update patch
- Disable guice-eclipse for now

* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.3.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Wed Feb  2 2011 Stanislav Ochotnicky <sochotnicky@redhat.com> - 1.4.3.2-1
- Update to latest upstream version
- Versionless jars & javadocs

* Mon Oct 18 2010 Stanislav Ochotnicky <sochotnicky@redhat.com> - 1.4.2-2
- Add felix-framework BR

* Thu Oct 14 2010 Stanislav Ochotnicky <sochotnicky@redhat.com> - 1.4.2-1
- Initial version of the package