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