From 915115672fa448f81ffaed83594faacfaf609348 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Tue, 8 Jun 2021 20:17:56 +0200 Subject: [PATCH] Bootstrap Maven as non-modular packages Resolves: rhbz#1951482 --- google-guice.spec | 215 +++++++++++++++++++--------------------------- sources | 2 +- 2 files changed, 89 insertions(+), 128 deletions(-) diff --git a/google-guice.spec b/google-guice.spec index 262d6b5..a798c9b 100644 --- a/google-guice.spec +++ b/google-guice.spec @@ -1,57 +1,40 @@ -%bcond_with jpa -%bcond_with spring +# Workaround for rhbz#1969370: __bootstrap macro is not defined in +# CentOS Stream, See https://bugzilla.redhat.com/1969370 +%global __bootstrap ~bootstrap -%global short_name guice +%bcond_without bootstrap -Name: google-%{short_name} +Name: google-guice Version: 4.2.3 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Lightweight dependency injection framework for Java 5 and above License: ASL 2.0 -URL: https://github.com/google/%{short_name} +URL: https://github.com/google/guice BuildArch: noarch # ./create-tarball.sh %%{version} Source0: %{name}-%{version}.tar.xz Source1: create-tarball.sh -BuildRequires: maven-local -BuildRequires: mvn(aopalliance:aopalliance) -BuildRequires: mvn(cglib:cglib) +BuildRequires: maven-local-openjdk8 +%if %{with bootstrap} +BuildRequires: javapackages-bootstrap +%else BuildRequires: mvn(com.google.code.findbugs:jsr305) -BuildRequires: mvn(com.google.guava:guava) -BuildRequires: mvn(javax.inject:javax.inject) +BuildRequires: %{?module_prefix}mvn(com.google.guava:guava) +BuildRequires: %{?module_prefix}mvn(javax.inject:javax.inject) BuildRequires: mvn(javax.servlet:servlet-api) -# xmvn-builddep misses apache-jar-resource-bundle -BuildRequires: mvn(org.apache:apache-jar-resource-bundle) 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.ow2.asm:asm) BuildRequires: mvn(org.sonatype.plugins:munge-maven-plugin) - -%if %{with jpa} -BuildRequires: mvn(org.hibernate.javax.persistence:hibernate-jpa-2.0-api) %endif -%if %{with spring} -BuildRequires: mvn(org.springframework:spring-beans) +# xmvn-builddep misses this: +%if %{without bootstrap} +BuildRequires: mvn(org.apache:apache-jar-resource-bundle) %endif -# Test dependencies: -%if 0 -BuildRequires: maven-surefire-provider-testng -BuildRequires: aqute-bnd -BuildRequires: atinject-tck -BuildRequires: easymock2 -BuildRequires: felix-framework -BuildRequires: hibernate3-entitymanager -BuildRequires: mvn(org.hsqldb:hsqldb-j5) -BuildRequires: testng -%endif - -Obsoletes: guice-testlib < 4.1-17 - %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 @@ -71,116 +54,80 @@ 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 %{short_name}-parent +%package -n guice-parent Summary: Guice parent POM -%description -n %{short_name}-parent +%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 %{short_name}-assistedinject +%package -n guice-assistedinject Summary: AssistedInject extension module for Guice -%description -n %{short_name}-assistedinject +%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 %{short_name}-extensions +%package -n guice-extensions Summary: Extensions for Guice -%description -n %{short_name}-extensions +%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 %{short_name}-grapher +%package -n guice-grapher Summary: Grapher extension module for Guice -%description -n %{short_name}-grapher +%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 %{short_name}-jmx +%package -n guice-jmx Summary: JMX extension module for Guice -%description -n %{short_name}-jmx +%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 %{short_name}-jndi +%package -n guice-jndi Summary: JNDI extension module for Guice -%description -n %{short_name}-jndi +%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 %{short_name}-multibindings +%package -n guice-multibindings Summary: MultiBindings extension module for Guice -%description -n %{short_name}-multibindings +%description -n guice-multibindings Guice is a lightweight dependency injection framework for Java 5 and above. This package provides MultiBindings module for Guice. - -%if %{with jpa} -%package -n %{short_name}-persist -Summary: Persist extension module for Guice - -%description -n %{short_name}-persist -Guice is a lightweight dependency injection framework for Java 5 -and above. This package provides Persist module for Guice. -%endif - - -%package -n %{short_name}-servlet +%package -n guice-servlet Summary: Servlet extension module for Guice -%description -n %{short_name}-servlet +%description -n guice-servlet Guice is a lightweight dependency injection framework for Java 5 and above. This package provides Servlet module for Guice. - -%if %{with spring} -%package -n %{short_name}-spring -Summary: Spring extension module for Guice - -%description -n %{short_name}-spring -Guice is a lightweight dependency injection framework for Java 5 -and above. This package provides Spring module for Guice. -%endif - - -%package -n %{short_name}-throwingproviders +%package -n guice-throwingproviders Summary: ThrowingProviders extension module for Guice -%description -n %{short_name}-throwingproviders +%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 %{short_name}-bom +%package -n guice-bom Summary: Bill of Materials for Guice -%description -n %{short_name}-bom +%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. - -%package javadoc -Summary: API documentation for Guice - -%description javadoc -This package provides %{summary}. - +%{?javadoc_package} %prep -%setup -q -n %{name}-%{version} +%setup -q # We don't have struts2 in Fedora yet. %pom_disable_module struts2 extensions @@ -208,17 +155,13 @@ This package provides %{summary}. # 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[text()='tests']]" extensions +%pom_xpath_remove "pom:dependency[pom:classifier='tests']" extensions %pom_remove_parent %pom_set_parent com.google.inject:guice-parent:%{version} jdk8-tests -%if %{without jpa} %pom_disable_module persist extensions -%endif -%if %{without spring} %pom_disable_module spring extensions -%endif %pom_disable_module jdk8-tests @@ -228,58 +171,64 @@ This package provides %{summary}. %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-{*}" %{short_name}/guice-@1 -%mvn_file ":guice" %{short_name}/%{name} %{name} +%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 -f .mfiles-guice -%dir %{_javadir}/%{short_name} +%files -n guice-parent -f .mfiles-guice-parent +%license COPYING -%files -n %{short_name}-parent -f .mfiles-guice-parent -%doc COPYING - -%files -n %{short_name}-assistedinject -f .mfiles-guice-assistedinject -%files -n %{short_name}-extensions -f .mfiles-extensions-parent -%files -n %{short_name}-grapher -f .mfiles-guice-grapher -%files -n %{short_name}-jmx -f .mfiles-guice-jmx -%files -n %{short_name}-jndi -f .mfiles-guice-jndi -%files -n %{short_name}-multibindings -f .mfiles-guice-multibindings -%if %{with jpa} -%files -n %{short_name}-persist -f .mfiles-guice-persist -%endif -%files -n %{short_name}-servlet -f .mfiles-guice-servlet -%if %{with spring} -%files -n %{short_name}-spring -f .mfiles-guice-spring -%endif -%files -n %{short_name}-throwingproviders -f .mfiles-guice-throwingproviders - -%files -n %{short_name}-bom -f .mfiles-guice-bom - -%files javadoc -f .mfiles-javadoc -%doc 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 Apr 15 2021 Mohan Boddu - 4.2.3-5 -- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 +* Tue Jun 08 2021 Mikolaj Izdebski - 4.2.3-6 +- Bootstrap Maven for CentOS Stream 9 + +* 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 @@ -292,6 +241,12 @@ This package provides %{summary}. * 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. @@ -302,6 +257,13 @@ This package provides %{summary}. * 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 @@ -513,4 +475,3 @@ This package provides %{summary}. * Thu Oct 7 2010 Stanislav Ochotnicky - 2.0-1.1219svn - Initial version of the package - diff --git a/sources b/sources index a5a64ae..6f2c506 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (google-guice-4.2.3.tar.xz) = c2afb1a3a3f1c68b1a9d31b20bcf8a72ecc69210c7e4e34e7bd473e8c07d308e401b73ae5f584b114e15a32aacb8ac2a80631f54c092401926f97578fbca193f +SHA512 (google-guice-4.2.3.tar.xz) = 289eb5c68e28526bfc75b5a9fcbef2c3b722afd49b2268cd62d86fe327d6c748fa3241ccf8ae8a34843817f4a78ec0335b6cefd3834a747b66d5232f18477484