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