google-guice/google-guice.spec
2020-02-20 15:54:24 +08:00

176 lines
6.5 KiB
RPMSpec

%global do_test 0
Name: google-guice
Version: 4.1
Release: 13
Summary: An open source, Java-based dependency injection framework
License: ASL 2.0
URL: https://github.com/google/guice
BuildArch: noarch
Source0: https://github.com/google/guice/archive/%{version}.tar.gz
BuildRequires: maven-local mvn(aopalliance:aopalliance) mvn(cglib:cglib) mvn(com.google.guava:guava:19.0)
BuildRequires: mvn(javax.inject:javax.inject) mvn(javax.servlet:servlet-api) mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-remote-resources-plugin) mvn(org.apache.maven.plugins:maven-source-plugin)
BuildRequires: mvn(org.ow2.asm:asm) mvn(org.slf4j:slf4j-api) mvn(org.sonatype.plugins:munge-maven-plugin)
BuildRequires: mvn(org.apache:apache-jar-resource-bundle) hibernate-jpa-2.0-api springframework-beans
%if 0%{?do_test}
BuildRequires: maven-surefire-provider-testng aqute-bnd atinject-tck easymock2 felix-framework
BuildRequires: hibernate3-entitymanager mvn(org.hsqldb:hsqldb-j5) testng
%endif
%description
Google's Guice is a Java-based dependency injection framework, which
means approximately nothing to people who aren't familiar with it.
Google's Guice is a way to build a graph of dependencies so you can
instantiate complex objects made of simpler parts.
%package -n guice-parent
Summary: Guice parent POM
%description -n guice-parent
Guice is an open source, Java-based dependency injection framework. It is
lightweight and is developed as well as managed by Google.
%package -n guice-assistedinject
Summary: AssistedInject extension module for Guice
%description -n guice-assistedinject
Guice is an open source, Java-based dependency injection framework. It is
lightweight and is developed as well as managed by Google.
%package -n guice-extensions
Summary: Extensions for Guice
%description -n guice-extensions
Guice is an open source, Java-based dependency injection framework. It is
lightweight and is developed as well as managed by Google.
%package -n guice-grapher
Summary: Grapher extension module for Guice
%description -n guice-grapher
Guice is an open source, Java-based dependency injection framework. It is
lightweight and is developed as well as managed by Google.
%package -n guice-jmx
Summary: JMX extension module for Guice
%description -n guice-jmx
Guice is an open source, Java-based dependency injection framework. It is
lightweight and is developed as well as managed by Google.
%package -n guice-jndi
Summary: JNDI extension module for Guice
%description -n guice-jndi
Guice is an open source, Java-based dependency injection framework. It is
lightweight and is developed as well as managed by Google.
%package -n guice-multibindings
Summary: MultiBindings extension module for Guice
%description -n guice-multibindings
Guice is an open source, Java-based dependency injection framework. It is
lightweight and is developed as well as managed by Google.
%package -n guice-persist
Summary: Persist extension module for Guice
%description -n guice-persist
Guice is an open source, Java-based dependency injection framework. It is
lightweight and is developed as well as managed by Google.
%package -n guice-servlet
Summary: Servlet extension module for Guice
%description -n guice-servlet
Guice is an open source, Java-based dependency injection framework. It is
lightweight and is developed as well as managed by Google.
%package -n guice-spring
Summary: Spring extension module for Guice
%description -n guice-spring
Guice is an open source, Java-based dependency injection framework. It is
lightweight and is developed as well as managed by Google.
%package -n guice-testlib
Summary: TestLib extension module for Guice
%description -n guice-testlib
Guice is an open source, Java-based dependency injection framework. It is
lightweight and is developed as well as managed by Google.
%package -n guice-throwingproviders
Summary: ThrowingProviders extension module for Guice
%description -n guice-throwingproviders
Guice is an open source, Java-based dependency injection framework. It is
lightweight and is developed as well as managed by Google.
%package -n guice-bom
Summary: Bill of Materials for Guice
%description -n guice-bom
Guice is an open source, Java-based dependency injection framework. It is
lightweight and is developed as well as managed by Google.
%package help
Summary: This package contains help documents
Requires: %{name} = %{version}-%{release}
Provides: google-guice-javadoc = %{version}-%{release}
Obsoletes: google-guice-javadoc < %{version}-%{release}
%description help
Files for help with google-guice.
%prep
%autosetup -n guice-%{version} -p1
%pom_disable_module struts2 extensions
%pom_disable_module dagger-adapter extensions
%pom_xpath_remove "pom:profile[pom:id='guice.with.jarjar']" core
%pom_xpath_set "pom:instructions/pom:Import-Package" "!com.google.inject.*,*" core
%pom_remove_plugin :animal-sniffer-maven-plugin core
%pom_remove_plugin :animal-sniffer-maven-plugin extensions
%pom_remove_plugin :maven-gpg-plugin
%pom_remove_plugin -r :maven-javadoc-plugin
%pom_remove_dep :guava-testlib extensions
%pom_xpath_remove "pom:dependency[pom:classifier[text()='tests']]" extensions
%pom_remove_parent
%pom_set_parent com.google.inject:guice-parent:%{version} jdk8-tests
%pom_disable_module jdk8-tests
%build
%mvn_alias "com.google.inject.extensions:" "org.sonatype.sisu.inject:"
%mvn_package :::no_aop: guice
%mvn_file ":guice-{*}" guice/guice-@1
%mvn_file ":guice" guice/%{name} %{name}
%mvn_alias ":guice" "org.sonatype.sisu:sisu-guice"
%mvn_build -f -s
%install
%mvn_install
%files -f .mfiles-guice
%dir %{_javadir}/guice
%files -n guice-parent -f .mfiles-guice-parent
%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-persist -f .mfiles-guice-persist
%files -n guice-servlet -f .mfiles-guice-servlet
%files -n guice-spring -f .mfiles-guice-spring
%files -n guice-testlib -f .mfiles-guice-testlib
%files -n guice-throwingproviders -f .mfiles-guice-throwingproviders
%files -n guice-bom -f .mfiles-guice-bom
%files help -f .mfiles-javadoc
%doc COPYING
%changelog
* Tue Feb 18 2020 Shuaishuai Song <songshuaishuai2@huawei.com> - 4.1-13
- Pakcage init