diff --git a/0001-OSGi-metadata-fixes.patch b/0001-OSGi-metadata-fixes.patch new file mode 100644 index 0000000..9bae61a --- /dev/null +++ b/0001-OSGi-metadata-fixes.patch @@ -0,0 +1,150 @@ +From 01eeca78566d3a867d9e7142e4ef84f0a4f4c6ff Mon Sep 17 00:00:00 2001 +From: Mat Booth +Date: Fri, 8 Mar 2019 15:53:38 +0000 +Subject: [PATCH 1/2] OSGi metadata fixes: + + * unbundles tiger-types from hk2-utils + * fixes invalid whitespace in hk2-core +--- + class-model/osgi.bundle | 30 +++++++++++++++--------------- + hk2-api/osgi.bundle | 30 +++++++++++++++--------------- + hk2-core/osgi.bundle | 3 ++- + hk2-utils/osgi.bundle | 31 +++++++++++++++---------------- + 4 files changed, 47 insertions(+), 47 deletions(-) + +diff --git a/class-model/osgi.bundle b/class-model/osgi.bundle +index 3e8ba69..72905ec 100755 +--- a/class-model/osgi.bundle ++++ b/class-model/osgi.bundle +@@ -1,18 +1,18 @@ +-/* +- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved. +- * +- * This program and the accompanying materials are made available under the +- * terms of the Eclipse Public License v. 2.0, which is available at +- * http://www.eclipse.org/legal/epl-2.0. +- * +- * This Source Code may also be made available under the following Secondary +- * Licenses when the conditions for such availability set forth in the +- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, +- * version 2 with the GNU Classpath Exception, which is available at +- * https://www.gnu.org/software/classpath/license.html. +- * +- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 +- */ ++# ++# Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved. ++# ++# This program and the accompanying materials are made available under the ++# terms of the Eclipse Public License v. 2.0, which is available at ++# http://www.eclipse.org/legal/epl-2.0. ++# ++# This Source Code may also be made available under the following Secondary ++# Licenses when the conditions for such availability set forth in the ++# Eclipse Public License v. 2.0 are satisfied: GNU General Public License, ++# version 2 with the GNU Classpath Exception, which is available at ++# https://www.gnu.org/software/classpath/license.html. ++# ++# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 ++# + + Bundle-Activator: org.glassfish.hk2.classmodel.reflect.util.ClassModelActivator + +diff --git a/hk2-api/osgi.bundle b/hk2-api/osgi.bundle +index be5033d..e08de48 100755 +--- a/hk2-api/osgi.bundle ++++ b/hk2-api/osgi.bundle +@@ -1,18 +1,18 @@ +-/* +- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved. +- * +- * This program and the accompanying materials are made available under the +- * terms of the Eclipse Public License v. 2.0, which is available at +- * http://www.eclipse.org/legal/epl-2.0. +- * +- * This Source Code may also be made available under the following Secondary +- * Licenses when the conditions for such availability set forth in the +- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, +- * version 2 with the GNU Classpath Exception, which is available at +- * https://www.gnu.org/software/classpath/license.html. +- * +- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 +- */ ++# ++# Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved. ++# ++# This program and the accompanying materials are made available under the ++# terms of the Eclipse Public License v. 2.0, which is available at ++# http://www.eclipse.org/legal/epl-2.0. ++# ++# This Source Code may also be made available under the following Secondary ++# Licenses when the conditions for such availability set forth in the ++# Eclipse Public License v. 2.0 are satisfied: GNU General Public License, ++# version 2 with the GNU Classpath Exception, which is available at ++# https://www.gnu.org/software/classpath/license.html. ++# ++# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 ++# + + -exportcontents: \ + com.sun.hk2.component; \ +diff --git a/hk2-core/osgi.bundle b/hk2-core/osgi.bundle +index f9db7c6..1e4fd15 100755 +--- a/hk2-core/osgi.bundle ++++ b/hk2-core/osgi.bundle +@@ -24,4 +24,5 @@ + com.sun.enterprise.module.single; \ + com.sun.enterprise.module.impl; version=${project.osgi.version} + +-Import-Package: \ * ++Import-Package: \ ++ * +diff --git a/hk2-utils/osgi.bundle b/hk2-utils/osgi.bundle +index 4f3779a..fad6317 100755 +--- a/hk2-utils/osgi.bundle ++++ b/hk2-utils/osgi.bundle +@@ -1,18 +1,18 @@ +-/* +- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved. +- * +- * This program and the accompanying materials are made available under the +- * terms of the Eclipse Public License v. 2.0, which is available at +- * http://www.eclipse.org/legal/epl-2.0. +- * +- * This Source Code may also be made available under the following Secondary +- * Licenses when the conditions for such availability set forth in the +- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, +- * version 2 with the GNU Classpath Exception, which is available at +- * https://www.gnu.org/software/classpath/license.html. +- * +- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 +- */ ++# ++# Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved. ++# ++# This program and the accompanying materials are made available under the ++# terms of the Eclipse Public License v. 2.0, which is available at ++# http://www.eclipse.org/legal/epl-2.0. ++# ++# This Source Code may also be made available under the following Secondary ++# Licenses when the conditions for such availability set forth in the ++# Eclipse Public License v. 2.0 are satisfied: GNU General Public License, ++# version 2 with the GNU Classpath Exception, which is available at ++# https://www.gnu.org/software/classpath/license.html. ++# ++# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 ++# + + -exportcontents: \ + org.glassfish.hk2.utilities.cache; \ +@@ -20,7 +20,6 @@ + org.glassfish.hk2.utilities.reflection; \ + org.glassfish.hk2.utilities.reflection.internal; \ + org.jvnet.hk2.component; \ +- org.jvnet.tiger_types; \ + version=${project.osgi.version} + + DynamicImport-Package: * +-- +2.20.1 + diff --git a/0002-Fixed-tests.patch b/0002-Fixed-tests.patch new file mode 100644 index 0000000..0ec1712 --- /dev/null +++ b/0002-Fixed-tests.patch @@ -0,0 +1,76 @@ +From d59ca1ac14b0ebcb9951da35959026514bdcff23 Mon Sep 17 00:00:00 2001 +From: Mat Booth +Date: Sun, 10 Mar 2019 16:58:48 +0000 +Subject: [PATCH 2/2] Fixed tests + +--- + .../hk2/xml/test/interop/InteropTest.java | 16 ++++++++-------- + .../hk2/examples/runlevel/test/PrimaryITest.java | 2 +- + .../examples/runlevel/test/SecondaryITest.java | 2 +- + 3 files changed, 10 insertions(+), 10 deletions(-) + +diff --git a/hk2-configuration/persistence/hk2-xml/test1/src/test/java/org/glassfish/hk2/xml/test/interop/InteropTest.java b/hk2-configuration/persistence/hk2-xml/test1/src/test/java/org/glassfish/hk2/xml/test/interop/InteropTest.java +index 5c256a8..e47204a 100755 +--- a/hk2-configuration/persistence/hk2-xml/test1/src/test/java/org/glassfish/hk2/xml/test/interop/InteropTest.java ++++ b/hk2-configuration/persistence/hk2-xml/test1/src/test/java/org/glassfish/hk2/xml/test/interop/InteropTest.java +@@ -80,11 +80,11 @@ public class InteropTest { + byte asBytes[] = baos.toByteArray(); + String asString = new String(asBytes); + +- Assert.assertTrue("Incorrect String: " + asString, asString.contains("\"name\": \"Alice\"")); +- Assert.assertTrue(asString.contains("\"name\": \"Bob\"")); ++ Assert.assertTrue("Incorrect String: " + asString, asString.contains("\"name\":\"Alice\"")); ++ Assert.assertTrue(asString.contains("\"name\":\"Bob\"")); + +- Assert.assertTrue(asString.contains("\"houseNumber\": 100")); +- Assert.assertTrue(asString.contains("\"houseNumber\": 200")); ++ Assert.assertTrue(asString.contains("\"houseNumber\":100")); ++ Assert.assertTrue(asString.contains("\"houseNumber\":200")); + } + + /** +@@ -270,11 +270,11 @@ public class InteropTest { + byte asBytes[] = baos.toByteArray(); + String asString = new String(asBytes); + +- Assert.assertTrue(asString.contains("\"name\": \"Alice\"")); +- Assert.assertTrue(asString.contains("\"name\": \"Bob\"")); ++ Assert.assertTrue(asString.contains("\"name\":\"Alice\"")); ++ Assert.assertTrue(asString.contains("\"name\":\"Bob\"")); + +- Assert.assertTrue(asString.contains("\"houseNumber\": 100")); +- Assert.assertTrue(asString.contains("\"houseNumber\": 200")); ++ Assert.assertTrue(asString.contains("\"houseNumber\":100")); ++ Assert.assertTrue(asString.contains("\"houseNumber\":200")); + } + + private static byte[] readURLCompletely(URL url) throws IOException { +diff --git a/hk2-testing/hk2-runlevel-extras/src/test/java/org/jvnet/hk2/examples/runlevel/test/PrimaryITest.java b/hk2-testing/hk2-runlevel-extras/src/test/java/org/jvnet/hk2/examples/runlevel/test/PrimaryITest.java +index 2a81481..a29e173 100755 +--- a/hk2-testing/hk2-runlevel-extras/src/test/java/org/jvnet/hk2/examples/runlevel/test/PrimaryITest.java ++++ b/hk2-testing/hk2-runlevel-extras/src/test/java/org/jvnet/hk2/examples/runlevel/test/PrimaryITest.java +@@ -32,7 +32,7 @@ public class PrimaryITest { + @Inject + Kernel lifeCycle; + +- @Test ++ @Test(enabled=false) + public void test() { + System.out.println("Running primary integration test"); + } +diff --git a/hk2-testing/hk2-runlevel-extras/src/test/java/org/jvnet/hk2/examples/runlevel/test/SecondaryITest.java b/hk2-testing/hk2-runlevel-extras/src/test/java/org/jvnet/hk2/examples/runlevel/test/SecondaryITest.java +index b787b15..d42a2d6 100755 +--- a/hk2-testing/hk2-runlevel-extras/src/test/java/org/jvnet/hk2/examples/runlevel/test/SecondaryITest.java ++++ b/hk2-testing/hk2-runlevel-extras/src/test/java/org/jvnet/hk2/examples/runlevel/test/SecondaryITest.java +@@ -32,7 +32,7 @@ public class SecondaryITest { + @Inject + Kernel lifeCycle; + +- @Test ++ @Test(enabled=false) + public void test() { + System.out.println("Running secondary integration test"); + } +-- +2.20.1 + diff --git a/glassfish-hk2-2.5.0.tar.gz b/glassfish-hk2-2.5.0.tar.gz new file mode 100644 index 0000000..b0f3cff Binary files /dev/null and b/glassfish-hk2-2.5.0.tar.gz differ diff --git a/glassfish-hk2-extra-1.0.3.tar.gz b/glassfish-hk2-extra-1.0.3.tar.gz new file mode 100644 index 0000000..1ede931 Binary files /dev/null and b/glassfish-hk2-extra-1.0.3.tar.gz differ diff --git a/glassfish-hk2.spec b/glassfish-hk2.spec new file mode 100644 index 0000000..5ad62f5 --- /dev/null +++ b/glassfish-hk2.spec @@ -0,0 +1,417 @@ +%bcond_with jp_minimal +%global extra_version 1.0.3 +Name: glassfish-hk2 +Version: 2.5.0 +Release: 1 +Summary: Glassfish Hundred Kilobytes Kernel +License: EPL-2.0 or GPLv2 with exceptions +URL: https://github.com/eclipse-ee4j/glassfish-hk2/ +Source0: https://github.com/eclipse-ee4j/glassfish-hk2/archive/%{version}-RELEASE/%{name}-%{version}.tar.gz +Source1: https://github.com/eclipse-ee4j/glassfish-hk2-extra/archive/%{extra_version}-RELEASE/%{name}-extra-%{extra_version}.tar.gz +Source2: hk2-inhabitant-generator-osgi.bundle +Patch0: 0001-OSGi-metadata-fixes.patch +Patch1: 0002-Fixed-tests.patch +BuildRequires: maven-local mvn(aopalliance:aopalliance) +BuildRequires: mvn(javax.annotation:javax.annotation-api) mvn(javax.enterprise:cdi-api) +BuildRequires: mvn(javax.inject:javax.inject) mvn(junit:junit) mvn(org.apache.ant:ant) +BuildRequires: mvn(org.apache.commons:commons-lang3) mvn(org.apache.felix:maven-bundle-plugin) +BuildRequires: mvn(org.apache.maven:maven-core) mvn(org.apache.maven:maven-plugin-api) +BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin) +BuildRequires: mvn(org.apache.maven.shared:maven-osgi) mvn(org.easymock:easymock) +BuildRequires: mvn(org.javassist:javassist) mvn(org.osgi:osgi.cmpn) mvn(org.osgi:osgi.core) +BuildRequires: mvn(org.ow2.asm:asm-all) +%if %{without jp_minimal} +BuildRequires: mvn(args4j:args4j) mvn(com.google.inject:guice) +BuildRequires: mvn(com.google.protobuf:protobuf-java) mvn(com.sun:tools) +BuildRequires: mvn(javax.el:javax.el-api) mvn(javax.json:javax.json-api) +BuildRequires: mvn(javax.validation:validation-api) mvn(javax.xml.bind:jaxb-api) +BuildRequires: mvn(org.apache.bcel:bcel) +BuildRequires: mvn(org.apache.felix:org.apache.felix.bundlerepository) +BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin) +BuildRequires: mvn(org.apache.maven.plugins:maven-dependency-plugin) +BuildRequires: mvn(org.assertj:assertj-core) mvn(org.glassfish:javax.json) +BuildRequires: mvn(org.hibernate:hibernate-validator) mvn(org.mockito:mockito-core) +BuildRequires: mvn(org.springframework:spring-context) mvn(org.testng:testng) +%endif +BuildArch: noarch +%description +HK2 for Hundred Kilobytes Kernel is an abstraction to +a module subsystem coupled with a simple yet powerful +component model to build server side software. + +%package hk2 +Summary: HK2 module of HK2 itself +%description hk2 +This is so that other modules can depend on HK2 as an HK2 module. + +%package api +Summary: HK2 API module +%description api +Hundred Kilobytes Kernel API module. + +%package core +Summary: HK2 core module +%description core +Hundred Kilobytes Kernel core module. + +%package configuration +Summary: HK2 configuration modules +%description configuration +Hundred Kilobytes Kernel configuration modules. + +%package extras +Summary: HK2 extras module +%description extras +Default implementations for HK2 services. + +%package jmx +Summary: HK2 JMX module +%description jmx +Hundred Kilobytes Kernel JMX module. + +%package locator +Summary: HK2 ServiceLocator Default Implementation +%description locator +Hundred Kilobytes Kernel ServiceLocator Default Implementation. + +%package metadata-generator +Summary: HK2 Metadata Generator +%description metadata-generator +HK2 Metadata Generator Subsystem. + +%package runlevel +Summary: HK2 Run Level Service +%description runlevel +Hundred Kilobytes Kernel Run Level Service. + +%package utils +Summary: HK2 Implementation Utilities +%description utils +Hundred Kilobytes Kernel Implementation Utilities. + +%package class-model +Summary: Class Model for Hk2 +%description class-model +Hundred Kilobytes Kernel Class Model. + +%package osgi-resource-locator +Summary: HK2 OSGi resource locator bundle +Obsoletes: osgi-resource-locator < %{version}-%{release} +Provides: osgi-resource-locator = %{version}-%{release} +%description osgi-resource-locator +Hundred Kilobytes Kernel - OSGi resource locator bundle. Used by +various API providers that rely on META-INF/services mechanism to +locate providers. +%if %{without jp_minimal} + +%package dependency-verifier +Summary: HK2 Static Analyser for verifying module dependency +%description dependency-verifier +HK2 Static Analyser for verifying module dependency. + +%package dependency-visualizer +Summary: HK2 Tool to visualize the dependencies +%description dependency-visualizer +Tool to visualize the dependencies generated by HK2's dependency-verifier. + +%package guice-bridge +Summary: HK2 Guice Bridge +%description guice-bridge +Hundred Kilobytes Kernel Guice Bridge. + +%package spring-bridge +Summary: HK2 Spring Bridge +%description spring-bridge +Hundred Kilobytes Kernel Spring Bridge. + +%package osgi +Summary: HK2 OSGi Adapter +%description osgi +Hundred Kilobytes Kernel OSGi Adapter. +%endif + +%package testing +Summary: Utilities for testing with HK2 +Obsoletes: %{name}-locator-extras < %{version}-%{release} +Provides: %{name}-locator-extras = %{version}-%{release} +Obsoletes: %{name}-locator-no-proxies < %{version}-%{release} +Provides: %{name}-locator-no-proxies = %{version}-%{release} +Obsoletes: %{name}-locator-no-proxies2 < %{version}-%{release} +Provides: %{name}-locator-no-proxies2 = %{version}-%{release} +Obsoletes: %{name}-runlevel-extras < %{version}-%{release} +Provides: %{name}-runlevel-extras = %{version}-%{release} +Obsoletes: %{name}-testng < %{version}-%{release} +Provides: %{name}-testng = %{version}-%{release} +%description testing +Hundred Kilobytes Kernel utilities for testing. + +%package maven-plugins +Summary: HK2 Maven Plug-ins +Obsoletes: %{name}-maven < %{version}-%{release} +Provides: %{name}-maven < %{version}-%{release} +Obsoletes: %{name}-inhabitant-generator < %{version}-%{release} +Provides: %{name}-inhabitant-generator < %{version}-%{release} +%description maven-plugins +This package provides various maven plug-ins: +* consolidatedbundle-maven-plugin +* osgiversion-maven-plugin +* hk2-inhabitant-generator + +%package javadoc +Summary: Javadoc for %{name} +%description javadoc +This package contains API documentation for %{name}. + +%prep +%setup -q -n glassfish-hk2-%{version}-RELEASE +%patch0 -p1 +%patch1 -p1 +tar xf %{SOURCE1} --strip-components=1 \ + %{name}-extra-%{extra_version}-RELEASE/osgi-resource-locator \ + %{name}-extra-%{extra_version}-RELEASE/dependency-{verifier,visualizer} +%pom_xpath_set "pom:dependency[pom:groupId ='org.glassfish.hk2']/pom:version" %{version} dependency-verifier +for mod in osgi-resource-locator dependency-verifier dependency-visualizer ; do + %pom_xpath_inject "pom:modules" "$mod" + %pom_remove_parent $mod + %pom_add_parent "org.glassfish.hk2:hk2-parent:%{version}" $mod +done +find . -name '*.jar' ! -name "gendir.jar" -type f -print -delete +find . -name '*.class' -print -delete +%pom_remove_parent bom . +%pom_change_dep -r jakarta.servlet:jakarta.servlet-api javax.servlet:javax.servlet-api +%pom_change_dep -r jakarta.annotation:jakarta.annotation-api javax.annotation:javax.annotation-api +%pom_change_dep -r jakarta.el:jakarta.el-api javax.el:javax.el-api +%pom_change_dep -r jakarta.json:jakarta.json-api javax.json:javax.json-api +%pom_change_dep -r org.glassfish:jakarta.json org.glassfish:javax.json +%pom_change_dep -r org.glassfish.hk2.external:jakarta.inject javax.inject:javax.inject +%pom_change_dep -r org.glassfish.hk2.external:asm-repackaged org.ow2.asm:asm-all:'${asm.version}' +%pom_change_dep -r org.glassfish.hk2.external:aopalliance-repackaged aopalliance:aopalliance:'${aopalliance.version}' +find class-model maven-plugins/hk2-inhabitant-generator hk2-testing/hk2-junitrunner \ + -name "*.java" -exec sed -i "s/org.glassfish.hk2.external.org.objectweb.asm/org.objectweb.asm/g" {} + +%pom_change_dep :osgi-resource-locator ::%{extra_version} +%pom_remove_dep org.osgi:org.osgi.enterprise +%pom_change_dep :org.osgi.enterprise org.osgi:osgi.cmpn:6.0.0 class-model +%pom_remove_plugin :maven-download-plugin +%pom_remove_plugin :maven-site-plugin +%pom_remove_plugin :maven-eclipse-plugin +%pom_remove_plugin :maven-enforcer-plugin +%pom_remove_plugin :findbugs-maven-plugin +%pom_remove_plugin :jacoco-maven-plugin +%pom_remove_dep :jacoco-maven-plugin +%pom_remove_plugin :maven-jar-plugin osgi-resource-locator +%pom_remove_plugin :maven-source-plugin osgi-resource-locator +%pom_remove_plugin :maven-javadoc-plugin osgi-resource-locator +%pom_remove_plugin :maven-release-plugin osgi-resource-locator +%pom_remove_plugin :maven-gpg-plugin osgi-resource-locator +%pom_xpath_remove "pom:plugin[pom:artifactId ='maven-jar-plugin']/pom:executions" hk2 +%pom_disable_module external +%pom_disable_module examples +%pom_disable_module osgi-adapter-test osgi/adapter-tests +%pom_remove_dep org.ops4j.pax.exam: +%pom_remove_dep org.ops4j.pax.url: +%pom_remove_dep org.ops4j.pax.logging: +%pom_disable_module jersey hk2-testing +%if %{with jp_minimal} +%pom_disable_module dependency-verifier +%pom_disable_module dependency-visualizer +%pom_disable_module osgi +%pom_disable_module guice-bridge +%pom_disable_module spring-bridge +%pom_remove_dep :osgi-adapter bom +%pom_remove_dep :guice-bridge bom +%pom_remove_dep :spring-bridge bom +%pom_disable_module hk2-xml hk2-configuration/persistence +%pom_xpath_set "pom:modules" "hk2-junitrunner" hk2-testing +%pom_remove_dep javax.validation:validation-api hk2-utils +%pom_remove_dep org.hibernate:hibernate-validator hk2-utils +%pom_remove_dep javax.el:javax.el-api hk2-utils +rm hk2-utils/src/main/java/org/glassfish/hk2/utilities/general/ValidatorUtilities.java \ + hk2-utils/src/main/java/org/glassfish/hk2/utilities/general/internal/MessageInterpolatorImpl.java \ + hk2-utils/src/test/java/org/glassfish/hk2/utilities/test/ValidatorTest.java +%endif +%pom_remove_dep org.osgi:osgi_R4_core +%pom_remove_dep :com.springsource.org.junit +%pom_remove_dep -r :jboss-logging +%pom_remove_dep -r :classmate +%pom_xpath_remove "pom:plugin[pom:artifactId ='maven-surefire-plugin']/pom:configuration" hk2-api +%pom_xpath_remove "pom:plugin[pom:artifactId ='maven-surefire-plugin']/pom:configuration" hk2-locator +%pom_xpath_set "pom:dependency[pom:groupId ='com.sun']/pom:artifactId" tools hk2-testing/ant +%pom_xpath_remove "pom:dependency[pom:groupId ='com.sun']/pom:scope" hk2-testing/ant +%pom_xpath_remove "pom:dependency[pom:groupId ='com.sun']/pom:systemPath" hk2-testing/ant +%pom_xpath_remove "pom:profiles/pom:profile[pom:id ='mac']" hk2-testing/ant +%pom_xpath_set "pom:addClasspath" false dependency-verifier +mkdir -p hk2/target/classes +rm maven-plugins/hk2-inhabitant-generator/src/main/resources/META-INF/MANIFEST.MF +%pom_add_plugin org.apache.felix:maven-bundle-plugin maven-plugins/hk2-inhabitant-generator ' + + + maven-plugin + + + + + bundle-manifest + process-classes + + manifest + + +' +cp -p %SOURCE2 maven-plugins/hk2-inhabitant-generator/osgi.bundle +%pom_add_plugin org.glassfish.hk2:osgiversion-maven-plugin:'${project.version}' maven-plugins/hk2-inhabitant-generator +%pom_add_plugin org.apache.maven.plugins:maven-jar-plugin:2.4 maven-plugins/hk2-inhabitant-generator " + + + \${project.build.outputDirectory}/META-INF/MANIFEST.MF + + foo + + +" +%pom_xpath_remove "pom:plugin[pom:artifactId = 'maven-jar-plugin']/pom:configuration/pom:useDefaultManifestFile" . hk2-utils +%pom_xpath_inject "pom:plugin[pom:artifactId = 'maven-jar-plugin']/pom:configuration/pom:archive" \ + "\${project.build.outputDirectory}/META-INF/MANIFEST.MF" hk2-utils +for mod in $(grep -l maven-bundle-plugin $(find */ -name pom.xml) ) ; do + if [ "$(dirname $mod)" = "hk-utils" ] ; then + continue + fi + %pom_add_plugin org.apache.maven.plugins:maven-jar-plugin $mod " + + + \${project.build.outputDirectory}/META-INF/MANIFEST.MF + +" +done +%mvn_package ":::tests:" __noinstall +%mvn_package ":hk2-bom" %{name} +%mvn_package ":hk2-parent" %{name} +%mvn_package ":hk2" hk2 +%mvn_package ":hk2-api" api +%mvn_package ":hk2-core" core +%mvn_package ":hk2-configuration" configuration +%mvn_package ":hk2-configuration-hub" configuration +%mvn_package ":hk2-configuration-integration" configuration +%mvn_package ":hk2-configuration-persistence" configuration +%mvn_package ":hk2-property-file" configuration +%mvn_package ":hk2-xml-parent" configuration +%mvn_package ":hk2-xml-schema" configuration +%mvn_package ":hk2-xml-integration-test" __noinstall +%mvn_package ":hk2-xml-test" __noinstall +%mvn_package ":hk2-json" configuration +%mvn_package ":hk2-pbuf" configuration +%mvn_package ":hk2-xml" configuration +%mvn_package ":hk2-extras" extras +%mvn_package ":hk2-jmx" jmx +%mvn_package ":hk2-locator" locator +%mvn_package ":hk2-metadata-generator" metadata-generator +%mvn_package ":hk2-metadata-generator-parent" metadata-generator +%mvn_package ":hk2-metadata-generator-test1" __noinstall +%mvn_package ":hk2-runlevel" runlevel +%mvn_package ":hk2-utils" utils +%mvn_package ":class-model" class-model +%mvn_package ":osgi-resource-locator" osgi-resource-locator +%mvn_package ":hk2-dependency-verifier" dependency-verifier +%mvn_package ":hk2-dependency-visualizer" dependency-visualizer +%mvn_package ":guice-bridge" guice-bridge +%mvn_package ":spring-bridge" spring-bridge +%mvn_package ":osgi" osgi +%mvn_package ":osgi-adapter" osgi +%mvn_package ":osgi-adapter-tests-parent" __noinstall +%mvn_package ":contract-bundle" __noinstall +%mvn_package ":faux-sdp-bundle" __noinstall +%mvn_package ":no-hk2-bundle" __noinstall +%mvn_package ":osgi-adapter-test" __noinstall +%mvn_package ":sdp-management-bundle" __noinstall +%mvn_package ":test-module-startup" __noinstall +%mvn_package ":hk2-testing" testing +%mvn_package ":hk2-ant-test" testing +%mvn_package ":hk2-collections-tests" testing +%mvn_package ":hk2-junitrunner" testing +%mvn_package ":hk2-locator-extras" testing +%mvn_package ":hk2-locator-no-proxies" testing +%mvn_package ":hk2-locator-no-proxies2" testing +%mvn_package ":hk2-mockito" testing +%mvn_package ":hk2-runlevel-extras" testing +%mvn_package ":hk2-testng" testing +%mvn_package ":interceptor-events" testing +%mvn_package ":maven-plugins" maven-plugins +%mvn_package ":consolidatedbundle-maven-plugin" maven-plugins +%mvn_package ":hk2-inhabitant-generator" maven-plugins +%mvn_package ":osgiversion-maven-plugin" maven-plugins + +%build +%mvn_build -- -Dhk2.mvn.plugins.version=%{version} + +%install +%mvn_install + +%files -f .mfiles-%{name} +%doc README.md +%license LICENSE.md NOTICE.md + +%files hk2 -f .mfiles-hk2 +%license LICENSE.md NOTICE.md + +%files api -f .mfiles-api +%license LICENSE.md NOTICE.md + +%files core -f .mfiles-core +%license LICENSE.md NOTICE.md + +%files configuration -f .mfiles-configuration +%license LICENSE.md NOTICE.md + +%files extras -f .mfiles-extras +%license LICENSE.md NOTICE.md + +%files jmx -f .mfiles-jmx +%license LICENSE.md NOTICE.md + +%files locator -f .mfiles-locator +%license LICENSE.md NOTICE.md + +%files metadata-generator -f .mfiles-metadata-generator +%license LICENSE.md NOTICE.md + +%files runlevel -f .mfiles-runlevel +%license LICENSE.md NOTICE.md + +%files utils -f .mfiles-utils +%license LICENSE.md NOTICE.md + +%files class-model -f .mfiles-class-model +%license LICENSE.md NOTICE.md + +%files osgi-resource-locator -f .mfiles-osgi-resource-locator +%license LICENSE.md NOTICE.md +%if %{without jp_minimal} + +%files dependency-verifier -f .mfiles-dependency-verifier +%license LICENSE.md NOTICE.md + +%files dependency-visualizer -f .mfiles-dependency-visualizer +%doc dependency-visualizer/README +%license LICENSE.md NOTICE.md + +%files guice-bridge -f .mfiles-guice-bridge +%license LICENSE.md NOTICE.md + +%files spring-bridge -f .mfiles-spring-bridge +%license LICENSE.md NOTICE.md + +%files osgi -f .mfiles-osgi +%license LICENSE.md NOTICE.md +%endif + +%files testing -f .mfiles-testing +%license LICENSE.md NOTICE.md + +%files maven-plugins -f .mfiles-maven-plugins +%license LICENSE.md NOTICE.md + +%files javadoc -f .mfiles-javadoc +%license LICENSE.md NOTICE.md + +%changelog +* Fri Aug 28 2020 chengzihan - 2.5.0-1 +- Package init diff --git a/hk2-inhabitant-generator-osgi.bundle b/hk2-inhabitant-generator-osgi.bundle new file mode 100644 index 0000000..41797a3 --- /dev/null +++ b/hk2-inhabitant-generator-osgi.bundle @@ -0,0 +1,4 @@ +-exportcontents: \ + org.jvnet.hk2.generator; \ + org.jvnet.hk2.generator.maven; \ + version=${project.osgi.version} \ No newline at end of file