621ea9
Name:           google-guice
621ea9
Version:        4.2.2
e31143
Release:        4%{?dist}
621ea9
Summary:        Lightweight dependency injection framework for Java 5 and above
621ea9
License:        ASL 2.0
621ea9
URL:            https://github.com/google/guice
621ea9
BuildArch:      noarch
621ea9
621ea9
# ./create-tarball.sh %%{version}
621ea9
Source0:        %{name}-%{version}.tar.xz
621ea9
Source1:        create-tarball.sh
621ea9
e31143
BuildRequires:  maven-local-openjdk8
621ea9
BuildRequires:  %{?module_prefix}mvn(aopalliance:aopalliance)
621ea9
BuildRequires:  mvn(cglib:cglib)
621ea9
BuildRequires:  %{?module_prefix}mvn(com.google.guava:guava)
621ea9
BuildRequires:  %{?module_prefix}mvn(javax.inject:javax.inject)
621ea9
BuildRequires:  mvn(javax.servlet:servlet-api)
621ea9
BuildRequires:  mvn(org.apache.felix:maven-bundle-plugin)
621ea9
BuildRequires:  mvn(org.apache.maven.plugins:maven-remote-resources-plugin)
621ea9
BuildRequires:  mvn(org.apache.maven.plugins:maven-source-plugin)
621ea9
BuildRequires:  mvn(org.codehaus.mojo:build-helper-maven-plugin)
621ea9
BuildRequires:  mvn(org.ow2.asm:asm)
621ea9
BuildRequires:  mvn(org.slf4j:slf4j-api)
621ea9
BuildRequires:  mvn(org.sonatype.plugins:munge-maven-plugin)
621ea9
# xmvn-builddep misses this:
621ea9
BuildRequires:  mvn(org.apache:apache-jar-resource-bundle)
621ea9
621ea9
621ea9
%description
621ea9
Put simply, Guice alleviates the need for factories and the use of new
621ea9
in your Java code. Think of Guice's @Inject as the new new. You will
621ea9
still need to write factories in some cases, but your code will not
621ea9
depend directly on them. Your code will be easier to change, unit test
621ea9
and reuse in other contexts.
621ea9
621ea9
Guice embraces Java's type safe nature, especially when it comes to
621ea9
features introduced in Java 5 such as generics and annotations. You
621ea9
might think of Guice as filling in missing features for core
621ea9
Java. Ideally, the language itself would provide most of the same
621ea9
features, but until such a language comes along, we have Guice.
621ea9
621ea9
Guice helps you design better APIs, and the Guice API itself sets a
621ea9
good example. Guice is not a kitchen sink. We justify each feature
621ea9
with at least three use cases. When in doubt, we leave it out. We
621ea9
build general functionality which enables you to extend Guice rather
621ea9
than adding every feature to the core framework.
621ea9
621ea9
%package -n guice-parent
621ea9
Summary:        Guice parent POM
621ea9
621ea9
%description -n guice-parent
621ea9
Guice is a lightweight dependency injection framework for Java 5
621ea9
and above. This package provides parent POM for Guice modules.
621ea9
621ea9
%package -n guice-assistedinject
621ea9
Summary:        AssistedInject extension module for Guice
621ea9
621ea9
%description -n guice-assistedinject
621ea9
Guice is a lightweight dependency injection framework for Java 5
621ea9
and above. This package provides AssistedInject module for Guice.
621ea9
621ea9
%package -n guice-extensions
621ea9
Summary:        Extensions for Guice
621ea9
621ea9
%description -n guice-extensions
621ea9
Guice is a lightweight dependency injection framework for Java 5
621ea9
and above. This package provides extensions POM for Guice.
621ea9
621ea9
%package -n guice-grapher
621ea9
Summary:        Grapher extension module for Guice
621ea9
621ea9
%description -n guice-grapher
621ea9
Guice is a lightweight dependency injection framework for Java 5
621ea9
and above. This package provides Grapher module for Guice.
621ea9
621ea9
%package -n guice-jmx
621ea9
Summary:        JMX extension module for Guice
621ea9
621ea9
%description -n guice-jmx
621ea9
Guice is a lightweight dependency injection framework for Java 5
621ea9
and above. This package provides JMX module for Guice.
621ea9
621ea9
%package -n guice-jndi
621ea9
Summary:        JNDI extension module for Guice
621ea9
621ea9
%description -n guice-jndi
621ea9
Guice is a lightweight dependency injection framework for Java 5
621ea9
and above. This package provides JNDI module for Guice.
621ea9
621ea9
%package -n guice-multibindings
621ea9
Summary:        MultiBindings extension module for Guice
621ea9
621ea9
%description -n guice-multibindings
621ea9
Guice is a lightweight dependency injection framework for Java 5
621ea9
and above. This package provides MultiBindings module for Guice.
621ea9
621ea9
621ea9
%package -n guice-servlet
621ea9
Summary:        Servlet extension module for Guice
621ea9
621ea9
%description -n guice-servlet
621ea9
Guice is a lightweight dependency injection framework for Java 5
621ea9
and above. This package provides Servlet module for Guice.
621ea9
621ea9
621ea9
%package -n guice-throwingproviders
621ea9
Summary:        ThrowingProviders extension module for Guice
621ea9
621ea9
%description -n guice-throwingproviders
621ea9
Guice is a lightweight dependency injection framework for Java 5
621ea9
and above. This package provides ThrowingProviders module for Guice.
621ea9
621ea9
%package -n guice-bom
621ea9
Summary:        Bill of Materials for Guice
621ea9
621ea9
%description -n guice-bom
621ea9
Guice is a lightweight dependency injection framework for Java 5
621ea9
and above. This package provides Bill of Materials module for Guice.
621ea9
621ea9
%{?module_package}
621ea9
%{?javadoc_package}
621ea9
621ea9
%prep
621ea9
%setup -q
621ea9
621ea9
# We don't have struts2 in Fedora yet.
621ea9
%pom_disable_module struts2 extensions
621ea9
# Android-specific extension
621ea9
%pom_disable_module dagger-adapter extensions
621ea9
621ea9
# Remove additional build profiles, which we don't use anyways
621ea9
# and which are only pulling additional dependencies.
621ea9
%pom_xpath_remove "pom:profile[pom:id='guice.with.jarjar']" core
621ea9
621ea9
# Fix OSGi metadata due to not using jarjar
621ea9
%pom_xpath_set "pom:instructions/pom:Import-Package" \
621ea9
  "!com.google.inject.*,*" core
621ea9
621ea9
# Animal sniffer is only causing problems. Disable it for now.
621ea9
%pom_remove_plugin :animal-sniffer-maven-plugin core
621ea9
%pom_remove_plugin :animal-sniffer-maven-plugin extensions
621ea9
621ea9
%pom_remove_plugin :maven-gpg-plugin
621ea9
621ea9
# We don't have the custom doclet used by upstream. Remove
621ea9
# maven-javadoc-plugin to generate javadocs with default style.
621ea9
%pom_remove_plugin -r :maven-javadoc-plugin
621ea9
621ea9
# remove test dependency to make sure we don't produce requires
621ea9
# see #1007498
621ea9
%pom_remove_dep :guava-testlib extensions
621ea9
%pom_xpath_remove "pom:dependency[pom:classifier[text()='tests']]" extensions
621ea9
621ea9
%pom_remove_parent
621ea9
%pom_set_parent com.google.inject:guice-parent:%{version} jdk8-tests
621ea9
621ea9
%pom_disable_module persist extensions
621ea9
%pom_disable_module spring extensions
621ea9
621ea9
%pom_disable_module jdk8-tests
621ea9
621ea9
# Require a newer compiler
621ea9
%pom_xpath_set "pom:build/pom:pluginManagement/pom:plugins/pom:plugin[pom:artifactId='maven-compiler-plugin']/pom:configuration/pom:source" "1.8"
621ea9
%pom_xpath_set "pom:build/pom:pluginManagement/pom:plugins/pom:plugin[pom:artifactId='maven-compiler-plugin']/pom:configuration/pom:target" "1.8"
621ea9
621ea9
%pom_disable_module testlib extensions
621ea9
621ea9
%build
621ea9
%mvn_alias "com.google.inject.extensions:" "org.sonatype.sisu.inject:"
621ea9
621ea9
%mvn_package :::no_aop: guice
621ea9
621ea9
%mvn_file  ":guice-{*}"  guice/guice-@1
621ea9
%mvn_file  ":guice" guice/%{name} %{name}
621ea9
%mvn_alias ":guice" "org.sonatype.sisu:sisu-guice"
621ea9
# Skip tests because of missing dependency guice-testlib
621ea9
%mvn_build -f -s
621ea9
621ea9
%install
621ea9
%mvn_install
621ea9
621ea9
%files -n %{?module_prefix}%{name} -f .mfiles-guice
621ea9
621ea9
%files -n guice-parent -f .mfiles-guice-parent
621ea9
%license COPYING
621ea9
621ea9
%files -n guice-assistedinject -f .mfiles-guice-assistedinject
621ea9
%files -n guice-extensions -f .mfiles-extensions-parent
621ea9
%files -n guice-grapher -f .mfiles-guice-grapher
621ea9
%files -n guice-jmx -f .mfiles-guice-jmx
621ea9
%files -n guice-jndi -f .mfiles-guice-jndi
621ea9
%files -n guice-multibindings -f .mfiles-guice-multibindings
621ea9
%files -n guice-servlet -f .mfiles-guice-servlet
621ea9
%files -n guice-throwingproviders -f .mfiles-guice-throwingproviders
621ea9
621ea9
%files -n guice-bom -f .mfiles-guice-bom
621ea9
621ea9
%changelog
e31143
* Sat Jan 25 2020 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.2.2-4
e31143
- Build with OpenJDK 8
e31143
621ea9
* Tue Nov 05 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.2.2-3
621ea9
- Mass rebuild for javapackages-tools 201902
621ea9
621ea9
* Fri May 24 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.2.2-2
621ea9
- Mass rebuild for javapackages-tools 201901
621ea9
621ea9
* Fri Apr 05 2019 Marian Koncek <mkoncek@redhat.com> - 4.2.2-1
621ea9
- Update to upstream version 4.2.2
621ea9
- Fixes: RHBZ #1563661
621ea9
621ea9
* Wed Apr 18 2018 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.1-11
621ea9
- Remove legacy Provides
621ea9
621ea9
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.1-10
621ea9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
621ea9
621ea9
* Mon Feb 05 2018 Michael Simacek <msimacek@redhat.com> - 4.1-9
621ea9
- Use guava20
621ea9
621ea9
* Mon Oct 02 2017 Mat Booth <mat.booth@redhat.com> - 4.1-8
621ea9
- Fix OSGi metadata to import cglib and asm, since we are not bundling them with
621ea9
  jarjar
621ea9
621ea9
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.1-7
621ea9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
621ea9
621ea9
* Fri Jun 23 2017 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.1-6
621ea9
- Remove unused patches
621ea9
621ea9
* Fri Feb 24 2017 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.1-5
621ea9
- Remove maven-javadoc-plugin from all POMs
621ea9
621ea9
* Thu Feb 23 2017 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.1-4
621ea9
- Add missing BR on apache-resource-bundles
621ea9
621ea9
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.1-3
621ea9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
621ea9
621ea9
* Wed Feb  1 2017 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.1-2
621ea9
- Introduce build-conditionals for jpa and spring
621ea9
621ea9
* Thu Aug  4 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.1-1
621ea9
- Update to upstream version 4.1
621ea9
621ea9
* Wed Jun 29 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.0-6
621ea9
- Make aopalliance dependency optional
621ea9
621ea9
* Wed Jun 15 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.0-5
621ea9
- Regenerate build-requires
621ea9
621ea9
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 4.0-4
621ea9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
621ea9
621ea9
* Tue Jan 12 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.0-3
621ea9
- Install BOM even when without extensions
621ea9
621ea9
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.0-2
621ea9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
621ea9
621ea9
* Thu May 14 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.0-1
621ea9
- Update to upstream version 4.0
621ea9
621ea9
* Mon Apr 27 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.2.6-1
621ea9
- Update to upstream version 3.2.6
621ea9
621ea9
* Fri Mar 6 2015 Alexander Kurtakov <akurtako@redhat.com> 3.2.5-2
621ea9
- Drop gone tomcat-servlet-3.0-api BR, builds fine without it.
621ea9
621ea9
* Fri Jan 23 2015 Michael Simacek <msimacek@redhat.com> - 3.2.5-1
621ea9
- Update to upstream version 3.2.5
621ea9
621ea9
* Mon Sep 29 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.2.4-1
621ea9
- Update to upstream version 3.2.4
621ea9
621ea9
* Fri Jun  6 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.2.2-1
621ea9
- Update to upstream version 3.2.2
621ea9
621ea9
* Wed May 28 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.2.1-2
621ea9
- Rebuild to regenerate Maven auto-requires
621ea9
621ea9
* Wed Apr 16 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.2.1-1
621ea9
- Update to upstream version 3.2.1
621ea9
- Add testlib subpackage
621ea9
621ea9
* Tue Mar  4 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.1.10-3
621ea9
- Fix directory ownership
621ea9
621ea9
* Tue Mar 04 2014 Stanislav Ochotnicky <sochotnicky@redhat.com> - 3.1.10-3
621ea9
- Use Requires: java-headless rebuild (#1067528)
621ea9
621ea9
* Wed Feb 19 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.1.10-2
621ea9
- Fix unowned directory
621ea9
621ea9
* Tue Feb 18 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.1.10-1
621ea9
- Update to upstream version 3.1.10
621ea9
621ea9
* Mon Jan 20 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.1.9-1
621ea9
- Update to upstream version 3.1.9
621ea9
621ea9
* Mon Nov 11 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.1.8-1
621ea9
- Update to upstream version 3.1.8
621ea9
621ea9
* Wed Oct 23 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.1.3-10
621ea9
- Rebuild to regenerate broken POMs
621ea9
- Related: rhbz#1021484
621ea9
621ea9
* Fri Oct 18 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.1.3-9
621ea9
- Don't force generation of pom.properties
621ea9
621ea9
* Wed Sep 25 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.1.3-8
621ea9
- Install no_aop artifact after javapackages update
621ea9
621ea9
* Thu Sep 12 2013 Stanislav Ochotnicky <sochotnicky@redhat.com> - 3.1.3-7
621ea9
- Remove dependency on tests from runtime
621ea9
- Related: rhbz#1007498
621ea9
621ea9
* Tue Sep 10 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.1.3-6
621ea9
- Install no_aop artifact
621ea9
- Resolves: rhbz#1006491
621ea9
621ea9
* Wed Sep  4 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.1.3-5
621ea9
- Enable pom.properties
621ea9
- Resolves: rhbz#1004360
621ea9
621ea9
* Wed Aug 07 2013 Michal Srb <msrb@redhat.com> - 3.1.3-4
621ea9
- Add create-tarball.sh script to SRPM
621ea9
621ea9
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1.3-3
621ea9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
621ea9
621ea9
* Wed Apr 24 2013 Michal Srb <msrb@redhat.com> - 3.1.3-2
621ea9
- Revert update to 3.1.4 (uses asm4)
621ea9
621ea9
* Thu Mar 14 2013 Michal Srb <msrb@redhat.com> - 3.1.3-1
621ea9
- Update to upstream version 3.1.3
621ea9
- Remove bundled JARs from tarball
621ea9
621ea9
* Wed Feb 06 2013 Java SIG <java-devel@lists.fedoraproject.org> - 3.1.2-11
621ea9
- Update for https://fedoraproject.org/wiki/Fedora_19_Maven_Rebuild
621ea9
- Replace maven BuildRequires with maven-local
621ea9
621ea9
* Thu Jan 31 2013 Michal Srb <msrb@redhat.com> - 3.1.2-10
621ea9
- Remove all requires
621ea9
- Correct usage of xmvn's macros
621ea9
621ea9
* Mon Jan 28 2013 Michal Srb <msrb@redhat.com> - 3.1.2-9
621ea9
- Build with xmvn
621ea9
621ea9
* Fri Nov 16 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.1.2-8
621ea9
- Remove README
621ea9
621ea9
* Fri Nov 16 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.1.2-7
621ea9
- Repackage tarball
621ea9
621ea9
* Fri Nov  9 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.1.2-6
621ea9
- Don't try to build extension modules unless they are needed
621ea9
621ea9
* Fri Nov  9 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.1.2-5
621ea9
- Conditionalize %%install section too
621ea9
621ea9
* Fri Nov  9 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.1.2-4
621ea9
- Conditionally disable extensions
621ea9
621ea9
* Thu Nov  1 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.1.2-3
621ea9
- Update to new add_maven_depmap macro
621ea9
621ea9
* Wed Oct 31 2012 Stanislav Ochotnicky <sochotnicky@redhat.com> - 3.1.2-2
621ea9
- Use new generated maven filelist feature from javapackages-tools
621ea9
621ea9
* Fri Oct  5 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.1.2-1
621ea9
- Complete rewrite of the spec file
621ea9
- New upstream, to ease future maintenance
621ea9
- Build with maven instead of ant
621ea9
- Split into multiple subpackages
621ea9
621ea9
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0-0.7.rc2
621ea9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
621ea9
621ea9
* Thu Feb  9 2012 Stanislav Ochotnicky <sochotnicky@redhat.com> - 3.0-0.6.rc2
621ea9
- Temporary fix for maven buildroots
621ea9
621ea9
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0-0.5.rc2
621ea9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
621ea9
621ea9
* Wed Oct 12 2011 Stanislav Ochotnicky <sochotnicky@redhat.com> - 3.0-0.4.rc2
621ea9
- Build with aqute-bnd (#745176)
621ea9
- Use new maven macros
621ea9
- Few packaging tweaks
621ea9
621ea9
* Tue May 24 2011 Stanislav Ochotnicky <sochotnicky@redhat.com> - 3.0-0.3.rc2
621ea9
- Add cglib and atinject to R
621ea9
621ea9
* Thu May 12 2011 Stanislav Ochotnicky <sochotnicky@redhat.com> - 3.0-0.2.rc2
621ea9
- Remove test and missing deps from pom.xml
621ea9
621ea9
* Tue Mar  1 2011 Stanislav Ochotnicky <sochotnicky@redhat.com> - 3.0-0.1.rc2
621ea9
- Update to 3.0rc2
621ea9
- Changes according to new guidelines (versionless jars & javadocs)
621ea9
621ea9
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0-4.1219svn
621ea9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
621ea9
621ea9
* Thu Oct 14 2010 Stanislav Ochotnicky <sochotnicky@redhat.com> - 2.0-3.1219svn
621ea9
- Add java-devel >= 1:1.6.0 to BR
621ea9
621ea9
* Wed Oct 13 2010 Stanislav Ochotnicky <sochotnicky@redhat.com> - 2.0-2.1219svn
621ea9
- Moved munge repacking to prep
621ea9
- Added -Dversion to change generated manifest version
621ea9
- Removed http part of URL
621ea9
621ea9
* Thu Oct  7 2010 Stanislav Ochotnicky <sochotnicky@redhat.com> - 2.0-1.1219svn
621ea9
- Initial version of the package