From 6e782991cfa2bbe88a31ef0468d6b934fa80c383 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Thu, 29 Nov 2018 12:42:46 +0000 Subject: [PATCH 01/11] Expand conditionals --- xbean.spec | 82 ------------------------------------------------------ 1 file changed, 82 deletions(-) diff --git a/xbean.spec b/xbean.spec index 99f516b..975b24d 100644 --- a/xbean.spec +++ b/xbean.spec @@ -1,8 +1,5 @@ # Conditionals to help breaking eclipse <-> xbean dependency cycle # when bootstrapping for new architectures -%bcond_without equinox -%bcond_without groovy -%bcond_without spring Name: xbean Version: 4.8 @@ -28,30 +25,8 @@ BuildRequires: mvn(org.ow2.asm:asm) BuildRequires: mvn(org.ow2.asm:asm-commons) BuildRequires: mvn(org.slf4j:slf4j-api) -%if %{with equinox} -BuildRequires: mvn(org.eclipse:osgi) -%endif -%if %{with groovy} -BuildRequires: mvn(org.codehaus.groovy:groovy-all) -%endif -%if %{with spring} -BuildRequires: mvn(ant:ant) -BuildRequires: mvn(commons-logging:commons-logging) -BuildRequires: mvn(com.thoughtworks.qdox:qdox) -BuildRequires: mvn(org.apache.maven:maven-archiver) -BuildRequires: mvn(org.apache.maven:maven-artifact) -BuildRequires: mvn(org.apache.maven:maven-plugin-api) -BuildRequires: mvn(org.apache.maven:maven-project) -BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin) -BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin) -BuildRequires: mvn(org.codehaus.plexus:plexus-archiver) -BuildRequires: mvn(org.codehaus.plexus:plexus-utils) -BuildRequires: mvn(org.springframework:spring-beans) -BuildRequires: mvn(org.springframework:spring-context) -BuildRequires: mvn(org.springframework:spring-web) -%endif %description The goal of XBean project is to create a plugin based server @@ -62,35 +37,6 @@ support for running with no IoC system, JMX without JMX code, lifecycle and class loader management, and a rock solid Spring integration. -%if %{with spring} -# For now blueprint module fails to compile. Disable it. -%if 0 -%package blueprint -Summary: Schema-driven namespace handler for Apache Aries Blueprint - -%description blueprint -This package provides %{summary}. -%endif - -%package classloader -Summary: A flexibie multi-parent classloader - -%description classloader -This package provides %{summary}. - -%package spring -Summary: Schema-driven namespace handler for spring contexts -Requires: %{name} = %{version}-%{release} - -%description spring -This package provides %{summary}. - -%package -n maven-%{name}-plugin -Summary: XBean plugin for Apache Maven - -%description -n maven-%{name}-plugin -This package provides %{summary}. -%endif %package javadoc Summary: API documentation for %{name} @@ -103,9 +49,6 @@ This package provides %{summary}. # build failing on this due to doxia-sitetools problems rm src/site/site.xml -%if %{with equinox} -%patch1 -p1 -%endif %patch2 -p1 %pom_remove_parent @@ -122,29 +65,19 @@ rm src/site/site.xml sed -i 's/org\.apache\.xbean\.asm6/org.objectweb.asm/g' `find xbean-reflect -name '*.java'` # Prevent modules depending on springframework from building. -%if %{without spring} %pom_remove_dep org.springframework: #%%pom_disable_module xbean-blueprint %pom_disable_module xbean-classloader %pom_disable_module xbean-spring %pom_disable_module maven-xbean-plugin -%else - %mvn_package :xbean-classloader classloader - %mvn_package :xbean-spring spring - %mvn_package :maven-xbean-plugin maven-xbean-plugin -%endif # blueprint FTBFS, disable for now %pom_disable_module xbean-blueprint -%if %{without equinox} %pom_remove_dep :xbean-bundleutils xbean-finder rm -r xbean-finder/src/main/java/org/apache/xbean/finder{,/archive}/Bundle* %pom_disable_module xbean-bundleutils -%endif -%if %{without groovy} %pom_disable_module xbean-telnet -%endif # maven-xbean-plugin invocation makes no sense as there are no namespaces %pom_remove_plugin :maven-xbean-plugin xbean-classloader @@ -166,21 +99,6 @@ sed -i "s|||" xbean-blueprint/pom.xml %doc LICENSE NOTICE %dir %{_javadir}/%{name} -%if %{with spring} -%if 0 -%files blueprint -f .mfiles-blueprint -%doc LICENSE NOTICE %{name}-blueprint/target/restaurant.xsd* -%endif - -%files classloader -f .mfiles-classloader -%doc LICENSE NOTICE - -%files spring -f .mfiles-spring -%doc LICENSE NOTICE - -%files -n maven-%{name}-plugin -f .mfiles-maven-%{name}-plugin -%doc LICENSE NOTICE -%endif %files javadoc -f .mfiles-javadoc %doc LICENSE NOTICE From 34576dc0b5b30feb96b55891e21b75e15690d3ca Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Fri, 24 May 2019 17:01:46 +0200 Subject: [PATCH 02/11] Mass rebuild for javapackages-tools 201901 --- xbean.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xbean.spec b/xbean.spec index 975b24d..949854b 100644 --- a/xbean.spec +++ b/xbean.spec @@ -3,7 +3,7 @@ Name: xbean Version: 4.8 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Java plugin based web server License: ASL 2.0 URL: http://geronimo.apache.org/xbean/ @@ -104,6 +104,9 @@ sed -i "s|||" xbean-blueprint/pom.xml %doc LICENSE NOTICE %changelog +* Fri May 24 2019 Mikolaj Izdebski - 4.8-2 +- Mass rebuild for javapackages-tools 201901 + * Thu Apr 19 2018 Michael Simacek - 4.8-1 - Update to upstream version 4.8 From e1f29279a4ee86df54bc1b3e784b8516acce93fa Mon Sep 17 00:00:00 2001 From: Marian Koncek Date: Thu, 27 Jun 2019 10:06:59 +0200 Subject: [PATCH 03/11] Update to upstream version 4.14 --- .gitignore | 1 + sources | 2 +- xbean.spec | 17 ++++++++--------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.gitignore b/.gitignore index b7f3755..0c0e51b 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ xbean-3.7.tar.xz /xbean-4.5-source-release.zip /xbean-4.6-source-release.zip /xbean-4.8-source-release.zip +/xbean-4.14-source-release.zip diff --git a/sources b/sources index 9458fe7..3c1fe28 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xbean-4.8-source-release.zip) = 349f1becc801b180710b14f3f0cf6c148e08c0fc50078a754ee2f8e204c2e87ef430ddd8240db03b64618465080bad09f76c283504620c514db99ee03d56dd54 +SHA512 (xbean-4.14-source-release.zip) = 1aaf9315d4f75a53b3a18da4f56d0737dbee75aa1516491aeea6d2d1b247fdcadc173c8b494efd2758e880b2512f7c015076322a57913ad1a491ea3871f9e5e1 diff --git a/xbean.spec b/xbean.spec index 949854b..497c572 100644 --- a/xbean.spec +++ b/xbean.spec @@ -2,8 +2,8 @@ # when bootstrapping for new architectures Name: xbean -Version: 4.8 -Release: 2%{?dist} +Version: 4.14 +Release: 1%{?dist} Summary: Java plugin based web server License: ASL 2.0 URL: http://geronimo.apache.org/xbean/ @@ -25,9 +25,6 @@ BuildRequires: mvn(org.ow2.asm:asm) BuildRequires: mvn(org.ow2.asm:asm-commons) BuildRequires: mvn(org.slf4j:slf4j-api) - - - %description The goal of XBean project is to create a plugin based server analogous to Eclipse being a plugin based IDE. XBean will be able to @@ -55,14 +52,14 @@ rm src/site/site.xml %pom_remove_dep mx4j:mx4j # Unshade ASM -%pom_remove_dep -r :xbean-asm6-shaded +%pom_remove_dep -r :xbean-asm7-shaded %pom_remove_dep -r :xbean-finder-shaded -%pom_disable_module xbean-asm6-shaded +%pom_disable_module xbean-asm7-shaded %pom_disable_module xbean-finder-shaded %pom_add_dep org.apache.xbean:xbean-asm-util:%{version} xbean-reflect %pom_xpath_remove pom:optional xbean-reflect xbean-asm-util %pom_xpath_remove 'pom:scope[text()="provided"]' xbean-reflect xbean-asm-util -sed -i 's/org\.apache\.xbean\.asm6/org.objectweb.asm/g' `find xbean-reflect -name '*.java'` +sed -i 's/org\.apache\.xbean\.asm7/org.objectweb.asm/g' `find xbean-reflect -name '*.java'` # Prevent modules depending on springframework from building. %pom_remove_dep org.springframework: @@ -97,13 +94,15 @@ sed -i "s|||" xbean-blueprint/pom.xml %files -f .mfiles %doc LICENSE NOTICE -%dir %{_javadir}/%{name} %files javadoc -f .mfiles-javadoc %doc LICENSE NOTICE %changelog +* Wed Jun 26 2019 Marian Koncek - 4.14-1 +- Update to upstream version 4.14 + * Fri May 24 2019 Mikolaj Izdebski - 4.8-2 - Mass rebuild for javapackages-tools 201901 From ee6f539794b294b636500ef37abd61adf2c37021 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Wed, 4 Sep 2019 21:18:05 +0200 Subject: [PATCH 04/11] Remove unused patch --- 0002-Port-to-Eclipse-Luna-OSGi.patch | 62 ---------------------------- xbean.spec | 2 - 2 files changed, 64 deletions(-) delete mode 100644 0002-Port-to-Eclipse-Luna-OSGi.patch diff --git a/0002-Port-to-Eclipse-Luna-OSGi.patch b/0002-Port-to-Eclipse-Luna-OSGi.patch deleted file mode 100644 index af2e743..0000000 --- a/0002-Port-to-Eclipse-Luna-OSGi.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 9e1bb9bfee86490163fb1e226556620aa8cdf7bc Mon Sep 17 00:00:00 2001 -From: Mikolaj Izdebski -Date: Fri, 21 Nov 2014 10:05:05 +0100 -Subject: [PATCH 2/3] Port to Eclipse Luna OSGi - ---- - xbean-bundleutils/pom.xml | 8 +------- - .../apache/xbean/osgi/bundle/util/DelegatingBundleContext.java | 10 ++++++++++ - 2 files changed, 11 insertions(+), 7 deletions(-) - -diff --git a/xbean-bundleutils/pom.xml b/xbean-bundleutils/pom.xml -index 72f4865..2b3459d 100644 ---- a/xbean-bundleutils/pom.xml -+++ b/xbean-bundleutils/pom.xml -@@ -35,15 +35,9 @@ - slf4j-api - - -- org.osgi -- org.osgi.core -- 4.3.1 -- provided -- -- - org.eclipse - osgi -- 3.6.0.v20100517 -+ 3.10.0-v20140606-1445 - provided - - -diff --git a/xbean-bundleutils/src/main/java/org/apache/xbean/osgi/bundle/util/DelegatingBundleContext.java b/xbean-bundleutils/src/main/java/org/apache/xbean/osgi/bundle/util/DelegatingBundleContext.java -index 58a392b..cc8d081 100644 ---- a/xbean-bundleutils/src/main/java/org/apache/xbean/osgi/bundle/util/DelegatingBundleContext.java -+++ b/xbean-bundleutils/src/main/java/org/apache/xbean/osgi/bundle/util/DelegatingBundleContext.java -@@ -31,7 +31,9 @@ import org.osgi.framework.BundleListener; - import org.osgi.framework.Filter; - import org.osgi.framework.FrameworkListener; - import org.osgi.framework.InvalidSyntaxException; -+import org.osgi.framework.ServiceFactory; - import org.osgi.framework.ServiceListener; -+import org.osgi.framework.ServiceObjects; - import org.osgi.framework.ServiceReference; - import org.osgi.framework.ServiceRegistration; - -@@ -153,5 +155,13 @@ public class DelegatingBundleContext implements BundleContext { - public Bundle getBundle(String location) { - return bundleContext.getBundle(location); - } -+ -+ public ServiceObjects getServiceObjects(ServiceReference reference) { -+ return bundleContext.getServiceObjects(reference); -+ } -+ -+ public ServiceRegistration registerService(Class clazz, ServiceFactory factory, Dictionary properties) { -+ return bundleContext.registerService(clazz, factory, properties); -+ } - - } --- -2.9.3 - diff --git a/xbean.spec b/xbean.spec index 497c572..48a8312 100644 --- a/xbean.spec +++ b/xbean.spec @@ -11,8 +11,6 @@ BuildArch: noarch Source0: http://repo2.maven.org/maven2/org/apache/%{name}/%{name}/%{version}/%{name}-%{version}-source-release.zip -# Compatibility with Eclipse Luna (rhbz#1087461) -Patch1: 0002-Port-to-Eclipse-Luna-OSGi.patch Patch2: 0003-Port-to-QDox-2.0.patch BuildRequires: maven-local From 921e82d24a6987e0a2df0e71ef7d254454b29a95 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Tue, 5 Nov 2019 13:37:25 +0100 Subject: [PATCH 05/11] Disable all modules except xbean-reflect --- 0003-Port-to-QDox-2.0.patch | 689 ------------------------------------ xbean.spec | 62 +--- 2 files changed, 15 insertions(+), 736 deletions(-) delete mode 100644 0003-Port-to-QDox-2.0.patch diff --git a/0003-Port-to-QDox-2.0.patch b/0003-Port-to-QDox-2.0.patch deleted file mode 100644 index 95609a2..0000000 --- a/0003-Port-to-QDox-2.0.patch +++ /dev/null @@ -1,689 +0,0 @@ -From 928bd5a98dc500a31197a56c8f6c5e19a3a273f8 Mon Sep 17 00:00:00 2001 -From: Mikolaj Izdebski -Date: Fri, 21 Nov 2014 10:51:38 +0100 -Subject: [PATCH 3/3] Port to QDox 2.0 - ---- - pom.xml | 2 +- - .../blueprint/generator/QdoxMappingLoader.java | 144 +++++++++++--------- - .../xbean/spring/generator/QdoxMappingLoader.java | 148 ++++++++++++--------- - .../org/apache/xbean/spring/generator/Type.java | 7 +- - 4 files changed, 166 insertions(+), 135 deletions(-) - -diff --git a/pom.xml b/pom.xml -index 6e53649..9132fe4 100644 ---- a/pom.xml -+++ b/pom.xml -@@ -297,7 +297,7 @@ - - com.thoughtworks.qdox - qdox -- 1.6.3 -+ 2.0-M5 - - - -diff --git a/xbean-blueprint/src/main/java/org/apache/xbean/blueprint/generator/QdoxMappingLoader.java b/xbean-blueprint/src/main/java/org/apache/xbean/blueprint/generator/QdoxMappingLoader.java -index 6635937..e17fd08 100644 ---- a/xbean-blueprint/src/main/java/org/apache/xbean/blueprint/generator/QdoxMappingLoader.java -+++ b/xbean-blueprint/src/main/java/org/apache/xbean/blueprint/generator/QdoxMappingLoader.java -@@ -20,6 +20,7 @@ import java.io.File; - import java.io.IOException; - import java.net.URL; - import java.util.ArrayList; -+import java.util.Collection; - import java.util.Collections; - import java.util.Enumeration; - import java.util.HashMap; -@@ -31,14 +32,17 @@ import java.util.TreeSet; - import java.util.jar.JarEntry; - import java.util.jar.JarFile; - --import com.thoughtworks.qdox.JavaDocBuilder; -+import com.thoughtworks.qdox.JavaProjectBuilder; - import com.thoughtworks.qdox.model.BeanProperty; - import com.thoughtworks.qdox.model.DocletTag; - import com.thoughtworks.qdox.model.JavaClass; -+import com.thoughtworks.qdox.model.JavaConstructor; - import com.thoughtworks.qdox.model.JavaMethod; -+import com.thoughtworks.qdox.model.JavaModel; - import com.thoughtworks.qdox.model.JavaParameter; - import com.thoughtworks.qdox.model.JavaSource; --import com.thoughtworks.qdox.model.Type; -+import com.thoughtworks.qdox.model.JavaType; -+ - import org.apache.commons.logging.Log; - import org.apache.commons.logging.LogFactory; - -@@ -62,7 +66,7 @@ public class QdoxMappingLoader implements MappingLoader { - private final String defaultNamespace; - private final File[] srcDirs; - private final String[] excludedClasses; -- private Type collectionType; -+ private JavaClass collectionType; - - public QdoxMappingLoader(String defaultNamespace, File[] srcDirs, String[] excludedClasses) { - this.defaultNamespace = defaultNamespace; -@@ -79,7 +83,7 @@ public class QdoxMappingLoader implements MappingLoader { - } - - public Set loadNamespaces() throws IOException { -- JavaDocBuilder builder = new JavaDocBuilder(); -+ JavaProjectBuilder builder = new JavaProjectBuilder(); - - log.debug("Source directories: "); - -@@ -92,11 +96,11 @@ public class QdoxMappingLoader implements MappingLoader { - getSourceFiles(sourceDirectory, excludedClasses, builder); - } - -- collectionType = builder.getClassByName("java.util.Collection").asType(); -+ collectionType = builder.getClassByName("java.util.Collection"); - return loadNamespaces(builder); - } - -- private Set loadNamespaces(JavaDocBuilder builder) { -+ private Set loadNamespaces(JavaProjectBuilder builder) { - // load all of the elements - List elements = loadElements(builder); - -@@ -131,14 +135,14 @@ public class QdoxMappingLoader implements MappingLoader { - return Collections.unmodifiableSet(namespaces); - } - -- private List loadElements(JavaDocBuilder builder) { -- JavaSource[] javaSources = builder.getSources(); -+ private List loadElements(JavaProjectBuilder builder) { -+ Collection javaSources = builder.getSources(); - List elements = new ArrayList(); - for (JavaSource javaSource : javaSources) { -- if (javaSource.getClasses().length == 0) { -+ if (javaSource.getClasses().isEmpty()) { - log.info("No Java Classes defined in: " + javaSource.getURL()); - } else { -- JavaClass[] classes = javaSource.getClasses(); -+ Collection classes = javaSource.getClasses(); - for (JavaClass javaClass : classes) { - ElementMapping element = loadElement(builder, javaClass); - if (element != null && !javaClass.isAbstract()) { -@@ -152,7 +156,7 @@ public class QdoxMappingLoader implements MappingLoader { - return elements; - } - -- private ElementMapping loadElement(JavaDocBuilder builder, JavaClass javaClass) { -+ private ElementMapping loadElement(JavaProjectBuilder builder, JavaClass javaClass) { - DocletTag xbeanTag = javaClass.getTagByName(XBEAN_ANNOTATION); - if (xbeanTag == null) { - return null; -@@ -176,7 +180,7 @@ public class QdoxMappingLoader implements MappingLoader { - Map attributesByPropertyName = new HashMap(); - - for (JavaClass jClass = javaClass; jClass != null; jClass = jClass.getSuperJavaClass()) { -- BeanProperty[] beanProperties = jClass.getBeanProperties(); -+ Collection beanProperties = jClass.getBeanProperties(); - for (BeanProperty beanProperty : beanProperties) { - // we only care about properties with a setter - if (beanProperty.getMutator() != null) { -@@ -219,9 +223,9 @@ public class QdoxMappingLoader implements MappingLoader { - String destroyMethod = null; - String factoryMethod = null; - for (JavaClass jClass = javaClass; jClass != null; jClass = jClass.getSuperJavaClass()) { -- JavaMethod[] methods = javaClass.getMethods(); -+ Collection methods = javaClass.getMethods(); - for (JavaMethod method : methods) { -- if (method.isPublic() && !method.isConstructor()) { -+ if (method.isPublic()) { - if (initMethod == null && method.getTagByName(INIT_METHOD_ANNOTATION) != null) { - initMethod = method.getName(); - } -@@ -237,22 +241,43 @@ public class QdoxMappingLoader implements MappingLoader { - } - - List> constructorArgs = new ArrayList>(); -- JavaMethod[] methods = javaClass.getMethods(); -- for (JavaMethod method : methods) { -- JavaParameter[] parameters = method.getParameters(); -- if (isValidConstructor(factoryMethod, method, parameters)) { -- List args = new ArrayList(parameters.length); -- for (JavaParameter parameter : parameters) { -- AttributeMapping attributeMapping = attributesByPropertyName.get(parameter.getName()); -- if (attributeMapping == null) { -- attributeMapping = loadParameter(parameter); -- -- attributes.add(attributeMapping); -- attributesByPropertyName.put(attributeMapping.getPropertyName(), attributeMapping); -+ if (factoryMethod == null) { -+ Collection constructors = javaClass.getConstructors(); -+ for (JavaConstructor constructor : constructors) { -+ Collection parameters = constructor.getParameters(); -+ if (constructor.isPublic() && parameters.size() > 0) { -+ List args = new ArrayList(parameters.size()); -+ for (JavaParameter parameter : parameters) { -+ AttributeMapping attributeMapping = attributesByPropertyName.get(parameter.getName()); -+ if (attributeMapping == null) { -+ attributeMapping = loadParameter(parameter, constructor); -+ -+ attributes.add(attributeMapping); -+ attributesByPropertyName.put(attributeMapping.getPropertyName(), attributeMapping); -+ } -+ args.add(new ParameterMapping(attributeMapping.getPropertyName(), toMappingType(parameter.getType(), null))); - } -- args.add(new ParameterMapping(attributeMapping.getPropertyName(), toMappingType(parameter.getType(), null))); -+ constructorArgs.add(Collections.unmodifiableList(args)); -+ } -+ } -+ } else { -+ Collection methods = javaClass.getMethods(); -+ for (JavaMethod method : methods) { -+ Collection parameters = method.getParameters(); -+ if (method.isPublic() && parameters.size() > 0 && method.getName().equals(factoryMethod)) { -+ List args = new ArrayList(parameters.size()); -+ for (JavaParameter parameter : parameters) { -+ AttributeMapping attributeMapping = attributesByPropertyName.get(parameter.getName()); -+ if (attributeMapping == null) { -+ attributeMapping = loadParameter(parameter, method); -+ -+ attributes.add(attributeMapping); -+ attributesByPropertyName.put(attributeMapping.getPropertyName(), attributeMapping); -+ } -+ args.add(new ParameterMapping(attributeMapping.getPropertyName(), toMappingType(parameter.getType(), null))); -+ } -+ constructorArgs.add(Collections.unmodifiableList(args)); - } -- constructorArgs.add(Collections.unmodifiableList(args)); - } - } - -@@ -303,7 +328,7 @@ public class QdoxMappingLoader implements MappingLoader { - interfaces); - } - -- private List getFullyQualifiedNames(JavaClass[] implementedInterfaces) { -+ private List getFullyQualifiedNames(Collection implementedInterfaces) { - ArrayList l = new ArrayList(); - for (JavaClass implementedInterface : implementedInterfaces) { - l.add(implementedInterface.getFullyQualifiedName()); -@@ -395,19 +420,19 @@ public class QdoxMappingLoader implements MappingLoader { - return defaultDescription; - } - -- private AttributeMapping loadParameter(JavaParameter parameter) { -+ private AttributeMapping loadParameter(JavaParameter parameter, JavaModel methodOrConstructor) { - String parameterName = parameter.getName(); - String parameterDescription = getParameterDescription(parameter); - - // first attempt to load the attribute from the java beans accessor methods -- JavaClass javaClass = parameter.getParentMethod().getParentClass(); -+ JavaClass javaClass = parameter.getParentClass(); - BeanProperty beanProperty = javaClass.getBeanProperty(parameterName); - if (beanProperty != null) { - AttributeMapping attributeMapping = loadAttribute(beanProperty, parameterDescription); - // if the attribute mapping is null, the property was tagged as hidden and this is an error - if (attributeMapping == null) { - throw new InvalidModelException("Hidden property usage: " + -- "The construction method " + toMethodLocator(parameter.getParentMethod()) + -+ "The construction method " + toMethodLocator(parameter.getParentClass(), methodOrConstructor) + - " can not use a hidded property " + parameterName); - } - return attributeMapping; -@@ -426,9 +451,9 @@ public class QdoxMappingLoader implements MappingLoader { - - private String getParameterDescription(JavaParameter parameter) { - String parameterName = parameter.getName(); -- DocletTag[] tags = parameter.getParentMethod().getTagsByName("param"); -+ Collection tags = parameter.getTagsByName("param"); - for (DocletTag tag : tags) { -- if (tag.getParameters()[0].equals(parameterName)) { -+ if (tag.getParameters().get(0).equals(parameterName)) { - String parameterDescription = tag.getValue().trim(); - if (parameterDescription.startsWith(parameterName)) { - parameterDescription = parameterDescription.substring(parameterName.length()).trim(); -@@ -439,18 +464,6 @@ public class QdoxMappingLoader implements MappingLoader { - return null; - } - -- private boolean isValidConstructor(String factoryMethod, JavaMethod method, JavaParameter[] parameters) { -- if (!method.isPublic() || parameters.length == 0) { -- return false; -- } -- -- if (factoryMethod == null) { -- return method.isConstructor(); -- } else { -- return method.getName().equals(factoryMethod); -- } -- } -- - private static String getProperty(DocletTag propertyTag, String propertyName) { - return getProperty(propertyTag, propertyName, null); - } -@@ -477,14 +490,17 @@ public class QdoxMappingLoader implements MappingLoader { - return false; - } - -- private org.apache.xbean.blueprint.generator.Type toMappingType(Type type, String nestedType) { -+ private org.apache.xbean.blueprint.generator.Type toMappingType(JavaType type, String nestedType) { - try { -- if (type.isArray()) { -- return org.apache.xbean.blueprint.generator.Type.newArrayType(type.getValue(), type.getDimensions()); -- } else if (type.isA(collectionType)) { -- if (nestedType == null) nestedType = "java.lang.Object"; -- return org.apache.xbean.blueprint.generator.Type.newCollectionType(type.getValue(), -- org.apache.xbean.blueprint.generator.Type.newSimpleType(nestedType)); -+ if (type instanceof JavaClass) { -+ JavaClass clazz = (JavaClass)type; -+ if (clazz.isArray()) { -+ return org.apache.xbean.blueprint.generator.Type.newArrayType(type.getValue(), clazz.getDimensions()); -+ } else if (clazz.isA(collectionType)) { -+ if (nestedType == null) nestedType = "java.lang.Object"; -+ return org.apache.xbean.blueprint.generator.Type.newCollectionType(type.getValue(), -+ org.apache.xbean.blueprint.generator.Type.newSimpleType(nestedType)); -+ } - } - } catch (Throwable t) { - log.debug("Could not load type mapping", t); -@@ -492,26 +508,28 @@ public class QdoxMappingLoader implements MappingLoader { - return org.apache.xbean.blueprint.generator.Type.newSimpleType(type.getValue()); - } - -- private static String toMethodLocator(JavaMethod method) { -+ private static String toMethodLocator(JavaClass parentClass, JavaModel methodOrConstructor) { -+ JavaMethod method = methodOrConstructor instanceof JavaMethod ? (JavaMethod) methodOrConstructor : null; -+ JavaConstructor constructor = methodOrConstructor instanceof JavaConstructor ? (JavaConstructor) methodOrConstructor : null; - StringBuffer buf = new StringBuffer(); -- buf.append(method.getParentClass().getFullyQualifiedName()); -- if (!method.isConstructor()) { -+ buf.append(parentClass.getFullyQualifiedName()); -+ if (method != null) { - buf.append(".").append(method.getName()); - } - buf.append("("); -- JavaParameter[] parameters = method.getParameters(); -- for (int i = 0; i < parameters.length; i++) { -- JavaParameter parameter = parameters[i]; -+ List parameters = method != null ? method.getParameters() : constructor.getParameters(); -+ for (int i = 0; i < parameters.size(); i++) { -+ JavaParameter parameter = parameters.get(i); - if (i > 0) { - buf.append(", "); - } - buf.append(parameter.getName()); - } -- buf.append(") : ").append(method.getLineNumber()); -+ buf.append(") : ").append(method != null ? method.getLineNumber() : constructor.getLineNumber()); - return buf.toString(); - } - -- private static void getSourceFiles(File base, String[] excludedClasses, JavaDocBuilder builder) throws IOException { -+ private static void getSourceFiles(File base, String[] excludedClasses, JavaProjectBuilder builder) throws IOException { - if (base.isDirectory()) { - listAllFileNames(base, "", excludedClasses, builder); - } else { -@@ -519,7 +537,7 @@ public class QdoxMappingLoader implements MappingLoader { - } - } - -- private static void listAllFileNames(File base, String prefix, String[] excludedClasses, JavaDocBuilder builder) throws IOException { -+ private static void listAllFileNames(File base, String prefix, String[] excludedClasses, JavaProjectBuilder builder) throws IOException { - if (!base.canRead() || !base.isDirectory()) { - throw new IllegalArgumentException(base.getAbsolutePath()); - } -@@ -536,7 +554,7 @@ public class QdoxMappingLoader implements MappingLoader { - } - } - -- private static void listAllJarEntries(File base, String[] excludedClasses, JavaDocBuilder builder) throws IOException { -+ private static void listAllJarEntries(File base, String[] excludedClasses, JavaProjectBuilder builder) throws IOException { - JarFile jarFile = new JarFile(base); - for (Enumeration entries = jarFile.entries(); entries.hasMoreElements(); ) { - JarEntry entry = (JarEntry) entries.nextElement(); -diff --git a/xbean-spring/src/main/java/org/apache/xbean/spring/generator/QdoxMappingLoader.java b/xbean-spring/src/main/java/org/apache/xbean/spring/generator/QdoxMappingLoader.java -index 94bd7a1..228117e 100644 ---- a/xbean-spring/src/main/java/org/apache/xbean/spring/generator/QdoxMappingLoader.java -+++ b/xbean-spring/src/main/java/org/apache/xbean/spring/generator/QdoxMappingLoader.java -@@ -20,6 +20,7 @@ import java.io.File; - import java.io.IOException; - import java.net.URL; - import java.util.ArrayList; -+import java.util.Collection; - import java.util.Collections; - import java.util.Enumeration; - import java.util.HashMap; -@@ -31,14 +32,17 @@ import java.util.TreeSet; - import java.util.jar.JarEntry; - import java.util.jar.JarFile; - --import com.thoughtworks.qdox.JavaDocBuilder; -+import com.thoughtworks.qdox.JavaProjectBuilder; - import com.thoughtworks.qdox.model.BeanProperty; - import com.thoughtworks.qdox.model.DocletTag; - import com.thoughtworks.qdox.model.JavaClass; -+import com.thoughtworks.qdox.model.JavaConstructor; - import com.thoughtworks.qdox.model.JavaMethod; -+import com.thoughtworks.qdox.model.JavaModel; - import com.thoughtworks.qdox.model.JavaParameter; - import com.thoughtworks.qdox.model.JavaSource; --import com.thoughtworks.qdox.model.Type; -+import com.thoughtworks.qdox.model.JavaType; -+ - import org.apache.commons.logging.Log; - import org.apache.commons.logging.LogFactory; - -@@ -62,7 +66,7 @@ public class QdoxMappingLoader implements MappingLoader { - private final String defaultNamespace; - private final File[] srcDirs; - private final String[] excludedClasses; -- private Type collectionType; -+ private JavaClass collectionType; - - public QdoxMappingLoader(String defaultNamespace, File[] srcDirs, String[] excludedClasses) { - this.defaultNamespace = defaultNamespace; -@@ -79,7 +83,7 @@ public class QdoxMappingLoader implements MappingLoader { - } - - public Set loadNamespaces() throws IOException { -- JavaDocBuilder builder = new JavaDocBuilder(); -+ JavaProjectBuilder builder = new JavaProjectBuilder(); - - log.debug("Source directories: "); - -@@ -92,11 +96,11 @@ public class QdoxMappingLoader implements MappingLoader { - getSourceFiles(sourceDirectory, excludedClasses, builder); - } - -- collectionType = builder.getClassByName("java.util.Collection").asType(); -+ collectionType = builder.getClassByName("java.util.Collection"); - return loadNamespaces(builder); - } - -- private Set loadNamespaces(JavaDocBuilder builder) { -+ private Set loadNamespaces(JavaProjectBuilder builder) { - // load all of the elements - List elements = loadElements(builder); - -@@ -131,14 +135,14 @@ public class QdoxMappingLoader implements MappingLoader { - return Collections.unmodifiableSet(namespaces); - } - -- private List loadElements(JavaDocBuilder builder) { -- JavaSource[] javaSources = builder.getSources(); -+ private List loadElements(JavaProjectBuilder builder) { -+ Collection javaSources = builder.getSources(); - List elements = new ArrayList(); - for (JavaSource javaSource : javaSources) { -- if (javaSource.getClasses().length == 0) { -+ if (javaSource.getClasses().isEmpty()) { - log.info("No Java Classes defined in: " + javaSource.getURL()); - } else { -- JavaClass[] classes = javaSource.getClasses(); -+ Collection classes = javaSource.getClasses(); - for (JavaClass javaClass : classes) { - ElementMapping element = loadElement(builder, javaClass); - if (element != null && !javaClass.isAbstract()) { -@@ -152,7 +156,7 @@ public class QdoxMappingLoader implements MappingLoader { - return elements; - } - -- private ElementMapping loadElement(JavaDocBuilder builder, JavaClass javaClass) { -+ private ElementMapping loadElement(JavaProjectBuilder builder, JavaClass javaClass) { - DocletTag xbeanTag = javaClass.getTagByName(XBEAN_ANNOTATION); - if (xbeanTag == null) { - return null; -@@ -176,7 +180,7 @@ public class QdoxMappingLoader implements MappingLoader { - Map attributesByPropertyName = new HashMap(); - - for (JavaClass jClass = javaClass; jClass != null; jClass = jClass.getSuperJavaClass()) { -- BeanProperty[] beanProperties = jClass.getBeanProperties(); -+ Collection beanProperties = jClass.getBeanProperties(); - for (BeanProperty beanProperty : beanProperties) { - // we only care about properties with a setter - if (beanProperty.getMutator() != null) { -@@ -219,9 +223,9 @@ public class QdoxMappingLoader implements MappingLoader { - String destroyMethod = null; - String factoryMethod = null; - for (JavaClass jClass = javaClass; jClass != null; jClass = jClass.getSuperJavaClass()) { -- JavaMethod[] methods = javaClass.getMethods(); -+ Collection methods = javaClass.getMethods(); - for (JavaMethod method : methods) { -- if (method.isPublic() && !method.isConstructor()) { -+ if (method.isPublic()) { - if (initMethod == null && method.getTagByName(INIT_METHOD_ANNOTATION) != null) { - initMethod = method.getName(); - } -@@ -237,27 +241,48 @@ public class QdoxMappingLoader implements MappingLoader { - } - - List> constructorArgs = new ArrayList>(); -- JavaMethod[] methods = javaClass.getMethods(); -- for (JavaMethod method : methods) { -- JavaParameter[] parameters = method.getParameters(); -- if (isValidConstructor(factoryMethod, method, parameters)) { -- List args = new ArrayList(parameters.length); -- for (JavaParameter parameter : parameters) { -- AttributeMapping attributeMapping = attributesByPropertyName.get(parameter.getName()); -- if (attributeMapping == null) { -- attributeMapping = loadParameter(parameter); -- -- attributes.add(attributeMapping); -- attributesByPropertyName.put(attributeMapping.getPropertyName(), attributeMapping); -+ if (factoryMethod == null) { -+ Collection constructors = javaClass.getConstructors(); -+ for (JavaConstructor constructor : constructors) { -+ Collection parameters = constructor.getParameters(); -+ if (constructor.isPublic() && parameters.size() > 0) { -+ List args = new ArrayList(parameters.size()); -+ for (JavaParameter parameter : parameters) { -+ AttributeMapping attributeMapping = attributesByPropertyName.get(parameter.getName()); -+ if (attributeMapping == null) { -+ attributeMapping = loadParameter(parameter, constructor); -+ -+ attributes.add(attributeMapping); -+ attributesByPropertyName.put(attributeMapping.getPropertyName(), attributeMapping); -+ } -+ args.add(new ParameterMapping(attributeMapping.getPropertyName(), toMappingType(parameter.getType(), null))); - } -- args.add(new ParameterMapping(attributeMapping.getPropertyName(), toMappingType(parameter.getType(), null))); -+ constructorArgs.add(Collections.unmodifiableList(args)); -+ } -+ } -+ } else { -+ Collection methods = javaClass.getMethods(); -+ for (JavaMethod method : methods) { -+ Collection parameters = method.getParameters(); -+ if (method.isPublic() && parameters.size() > 0 && method.getName().equals(factoryMethod)) { -+ List args = new ArrayList(parameters.size()); -+ for (JavaParameter parameter : parameters) { -+ AttributeMapping attributeMapping = attributesByPropertyName.get(parameter.getName()); -+ if (attributeMapping == null) { -+ attributeMapping = loadParameter(parameter, method); -+ -+ attributes.add(attributeMapping); -+ attributesByPropertyName.put(attributeMapping.getPropertyName(), attributeMapping); -+ } -+ args.add(new ParameterMapping(attributeMapping.getPropertyName(), toMappingType(parameter.getType(), null))); -+ } -+ constructorArgs.add(Collections.unmodifiableList(args)); - } -- constructorArgs.add(Collections.unmodifiableList(args)); - } - } - - HashSet interfaces = new HashSet(); -- interfaces.addAll(getFullyQualifiedNames(javaClass.getImplementedInterfaces())); -+ interfaces.addAll(getFullyQualifiedNames(javaClass.getInterfaces())); - - JavaClass actualClass = javaClass; - if (factoryClass != null) { -@@ -282,7 +307,7 @@ public class QdoxMappingLoader implements MappingLoader { - } - p = s; - superClasses.add(p.getFullyQualifiedName()); -- interfaces.addAll(getFullyQualifiedNames(p.getImplementedInterfaces())); -+ interfaces.addAll(getFullyQualifiedNames(p.getInterfaces())); - } - - return new ElementMapping(namespace, -@@ -303,7 +328,7 @@ public class QdoxMappingLoader implements MappingLoader { - interfaces); - } - -- private List getFullyQualifiedNames(JavaClass[] implementedInterfaces) { -+ private List getFullyQualifiedNames(Collection implementedInterfaces) { - ArrayList l = new ArrayList(); - for (JavaClass implementedInterface : implementedInterfaces) { - l.add(implementedInterface.getFullyQualifiedName()); -@@ -395,19 +420,19 @@ public class QdoxMappingLoader implements MappingLoader { - return defaultDescription; - } - -- private AttributeMapping loadParameter(JavaParameter parameter) { -+ private AttributeMapping loadParameter(JavaParameter parameter, JavaModel methodOrConstructor) { - String parameterName = parameter.getName(); - String parameterDescription = getParameterDescription(parameter); - - // first attempt to load the attribute from the java beans accessor methods -- JavaClass javaClass = parameter.getParentMethod().getParentClass(); -+ JavaClass javaClass = parameter.getDeclaringClass(); - BeanProperty beanProperty = javaClass.getBeanProperty(parameterName); - if (beanProperty != null) { - AttributeMapping attributeMapping = loadAttribute(beanProperty, parameterDescription); - // if the attribute mapping is null, the property was tagged as hidden and this is an error - if (attributeMapping == null) { - throw new InvalidModelException("Hidden property usage: " + -- "The construction method " + toMethodLocator(parameter.getParentMethod()) + -+ "The construction method " + toMethodLocator(parameter.getDeclaringClass(), methodOrConstructor) + - " can not use a hidded property " + parameterName); - } - return attributeMapping; -@@ -426,9 +451,9 @@ public class QdoxMappingLoader implements MappingLoader { - - private String getParameterDescription(JavaParameter parameter) { - String parameterName = parameter.getName(); -- DocletTag[] tags = parameter.getParentMethod().getTagsByName("param"); -+ Collection tags = parameter.getTagsByName("param"); - for (DocletTag tag : tags) { -- if (tag.getParameters()[0].equals(parameterName)) { -+ if (tag.getParameters().get(0).equals(parameterName)) { - String parameterDescription = tag.getValue().trim(); - if (parameterDescription.startsWith(parameterName)) { - parameterDescription = parameterDescription.substring(parameterName.length()).trim(); -@@ -439,18 +464,6 @@ public class QdoxMappingLoader implements MappingLoader { - return null; - } - -- private boolean isValidConstructor(String factoryMethod, JavaMethod method, JavaParameter[] parameters) { -- if (!method.isPublic() || parameters.length == 0) { -- return false; -- } -- -- if (factoryMethod == null) { -- return method.isConstructor(); -- } else { -- return method.getName().equals(factoryMethod); -- } -- } -- - private static String getProperty(DocletTag propertyTag, String propertyName) { - return getProperty(propertyTag, propertyName, null); - } -@@ -477,14 +490,17 @@ public class QdoxMappingLoader implements MappingLoader { - return false; - } - -- private org.apache.xbean.spring.generator.Type toMappingType(Type type, String nestedType) { -+ private org.apache.xbean.spring.generator.Type toMappingType(JavaType type, String nestedType) { - try { -- if (type.isArray()) { -- return org.apache.xbean.spring.generator.Type.newArrayType(type.getValue(), type.getDimensions()); -- } else if (type.isA(collectionType)) { -- if (nestedType == null) nestedType = "java.lang.Object"; -- return org.apache.xbean.spring.generator.Type.newCollectionType(type.getValue(), -- org.apache.xbean.spring.generator.Type.newSimpleType(nestedType)); -+ if (type instanceof JavaClass) { -+ JavaClass clazz = (JavaClass)type; -+ if (clazz.isArray()) { -+ return org.apache.xbean.spring.generator.Type.newArrayType(type.getValue(), clazz.getDimensions()); -+ } else if (clazz.isA(collectionType)) { -+ if (nestedType == null) nestedType = "java.lang.Object"; -+ return org.apache.xbean.spring.generator.Type.newCollectionType(type.getValue(), -+ org.apache.xbean.spring.generator.Type.newSimpleType(nestedType)); -+ } - } - } catch (Throwable t) { - log.debug("Could not load type mapping", t); -@@ -492,26 +508,28 @@ public class QdoxMappingLoader implements MappingLoader { - return org.apache.xbean.spring.generator.Type.newSimpleType(type.getValue()); - } - -- private static String toMethodLocator(JavaMethod method) { -+ private static String toMethodLocator(JavaClass parentClass, JavaModel methodOrConstructor) { -+ JavaMethod method = methodOrConstructor instanceof JavaMethod ? (JavaMethod) methodOrConstructor : null; -+ JavaConstructor constructor = methodOrConstructor instanceof JavaConstructor ? (JavaConstructor) methodOrConstructor : null; - StringBuffer buf = new StringBuffer(); -- buf.append(method.getParentClass().getFullyQualifiedName()); -- if (!method.isConstructor()) { -+ buf.append(parentClass.getFullyQualifiedName()); -+ if (method != null) { - buf.append(".").append(method.getName()); - } - buf.append("("); -- JavaParameter[] parameters = method.getParameters(); -- for (int i = 0; i < parameters.length; i++) { -- JavaParameter parameter = parameters[i]; -+ List parameters = method != null ? method.getParameters() : constructor.getParameters(); -+ for (int i = 0; i < parameters.size(); i++) { -+ JavaParameter parameter = parameters.get(i); - if (i > 0) { - buf.append(", "); - } - buf.append(parameter.getName()); - } -- buf.append(") : ").append(method.getLineNumber()); -+ buf.append(") : ").append(method != null ? method.getLineNumber() : constructor.getLineNumber()); - return buf.toString(); - } - -- private static void getSourceFiles(File base, String[] excludedClasses, JavaDocBuilder builder) throws IOException { -+ private static void getSourceFiles(File base, String[] excludedClasses, JavaProjectBuilder builder) throws IOException { - if (base.isDirectory()) { - listAllFileNames(base, "", excludedClasses, builder); - } else { -@@ -519,7 +537,7 @@ public class QdoxMappingLoader implements MappingLoader { - } - } - -- private static void listAllFileNames(File base, String prefix, String[] excludedClasses, JavaDocBuilder builder) throws IOException { -+ private static void listAllFileNames(File base, String prefix, String[] excludedClasses, JavaProjectBuilder builder) throws IOException { - if (!base.canRead() || !base.isDirectory()) { - throw new IllegalArgumentException(base.getAbsolutePath()); - } -@@ -536,7 +554,7 @@ public class QdoxMappingLoader implements MappingLoader { - } - } - -- private static void listAllJarEntries(File base, String[] excludedClasses, JavaDocBuilder builder) throws IOException { -+ private static void listAllJarEntries(File base, String[] excludedClasses, JavaProjectBuilder builder) throws IOException { - JarFile jarFile = new JarFile(base); - for (Enumeration entries = jarFile.entries(); entries.hasMoreElements(); ) { - JarEntry entry = (JarEntry) entries.nextElement(); -diff --git a/xbean-spring/src/main/java/org/apache/xbean/spring/generator/Type.java b/xbean-spring/src/main/java/org/apache/xbean/spring/generator/Type.java -index 5eac64c..0d9fa63 100644 ---- a/xbean-spring/src/main/java/org/apache/xbean/spring/generator/Type.java -+++ b/xbean-spring/src/main/java/org/apache/xbean/spring/generator/Type.java -@@ -41,12 +41,7 @@ public class Type { - public static Type newArrayType(String type, int dimensions) { - if (type == null) throw new NullPointerException("type"); - if (dimensions < 1) throw new IllegalArgumentException("dimensions must be atleast one"); -- StringBuffer buf = new StringBuffer(type.length() + (dimensions * 2)); -- buf.append(type); -- for (int i = 0; i < dimensions; i ++) { -- buf.append("[]"); -- } -- return new Type(buf.toString(), newSimpleType(type)); -+ return new Type(type, newSimpleType(type.replaceAll("\\[\\]", ""))); - } - - public static Type newCollectionType(String collectionType, Type elementType) { --- -2.9.3 - diff --git a/xbean.spec b/xbean.spec index 48a8312..b774c20 100644 --- a/xbean.spec +++ b/xbean.spec @@ -1,9 +1,6 @@ -# Conditionals to help breaking eclipse <-> xbean dependency cycle -# when bootstrapping for new architectures - Name: xbean Version: 4.14 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Java plugin based web server License: ASL 2.0 URL: http://geronimo.apache.org/xbean/ @@ -11,17 +8,13 @@ BuildArch: noarch Source0: http://repo2.maven.org/maven2/org/apache/%{name}/%{name}/%{version}/%{name}-%{version}-source-release.zip -Patch2: 0003-Port-to-QDox-2.0.patch - BuildRequires: maven-local BuildRequires: mvn(commons-logging:commons-logging-api) +BuildRequires: mvn(junit:junit) BuildRequires: mvn(log4j:log4j:1.2.12) BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) -BuildRequires: mvn(org.apache.maven.plugins:maven-source-plugin) -BuildRequires: mvn(org.osgi:org.osgi.core) BuildRequires: mvn(org.ow2.asm:asm) BuildRequires: mvn(org.ow2.asm:asm-commons) -BuildRequires: mvn(org.slf4j:slf4j-api) %description The goal of XBean project is to create a plugin based server @@ -41,51 +34,23 @@ This package provides %{summary}. %prep %setup -q -# build failing on this due to doxia-sitetools problems -rm src/site/site.xml - -%patch2 -p1 +# Parent POM is not packaged %pom_remove_parent -%pom_remove_dep mx4j:mx4j + +# Plugins useful for upstream only +%pom_remove_plugin :apache-rat-plugin +%pom_remove_plugin :maven-source-plugin # Unshade ASM -%pom_remove_dep -r :xbean-asm7-shaded -%pom_remove_dep -r :xbean-finder-shaded -%pom_disable_module xbean-asm7-shaded -%pom_disable_module xbean-finder-shaded -%pom_add_dep org.apache.xbean:xbean-asm-util:%{version} xbean-reflect -%pom_xpath_remove pom:optional xbean-reflect xbean-asm-util -%pom_xpath_remove 'pom:scope[text()="provided"]' xbean-reflect xbean-asm-util -sed -i 's/org\.apache\.xbean\.asm7/org.objectweb.asm/g' `find xbean-reflect -name '*.java'` +%pom_remove_dep :xbean-asm7-shaded xbean-reflect +sed -i 's/org\.apache\.xbean\.asm7/org.objectweb.asm/g' xbean-reflect/src/main/java/org/apache/xbean/recipe/XbeanAsmParameterNameLoader.java -# Prevent modules depending on springframework from building. - %pom_remove_dep org.springframework: - #%%pom_disable_module xbean-blueprint - %pom_disable_module xbean-classloader - %pom_disable_module xbean-spring - %pom_disable_module maven-xbean-plugin -# blueprint FTBFS, disable for now -%pom_disable_module xbean-blueprint - - %pom_remove_dep :xbean-bundleutils xbean-finder - rm -r xbean-finder/src/main/java/org/apache/xbean/finder{,/archive}/Bundle* - %pom_disable_module xbean-bundleutils - -%pom_disable_module xbean-telnet - -# maven-xbean-plugin invocation makes no sense as there are no namespaces -%pom_remove_plugin :maven-xbean-plugin xbean-classloader - -# As auditing tool RAT is useful for upstream only. -%pom_remove_plugin :apache-rat-plugin - -# disable copy of internal aries-blueprint -sed -i "s|||" xbean-blueprint/pom.xml +# Unused import which is not available in OpenJDK 11 +sed -i '/import com.sun.org.apache.regexp.internal.RE/d' xbean-reflect/src/main/java/org/apache/xbean/propertyeditor/PropertyEditors.java %build -%mvn_build -f +%mvn_build -- -f xbean-reflect %install %mvn_install @@ -98,6 +63,9 @@ sed -i "s|||" xbean-blueprint/pom.xml %doc LICENSE NOTICE %changelog +* Tue Nov 05 2019 Mikolaj Izdebski - 4.14-2 +- Disable all modules except xbean-reflect + * Wed Jun 26 2019 Marian Koncek - 4.14-1 - Update to upstream version 4.14 From e5c1de6e1f4925d983594fc046effbefab80a58c Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Tue, 5 Nov 2019 17:29:28 +0100 Subject: [PATCH 06/11] Mass rebuild for javapackages-tools 201902 --- xbean.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xbean.spec b/xbean.spec index b774c20..548ef60 100644 --- a/xbean.spec +++ b/xbean.spec @@ -1,6 +1,6 @@ Name: xbean Version: 4.14 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Java plugin based web server License: ASL 2.0 URL: http://geronimo.apache.org/xbean/ @@ -63,6 +63,9 @@ sed -i '/import com.sun.org.apache.regexp.internal.RE/d' xbean-reflect/src/main/ %doc LICENSE NOTICE %changelog +* Tue Nov 05 2019 Mikolaj Izdebski - 4.14-3 +- Mass rebuild for javapackages-tools 201902 + * Tue Nov 05 2019 Mikolaj Izdebski - 4.14-2 - Disable all modules except xbean-reflect From 5980df04d9b1dda74b16fd8538e3be68e971ef28 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Fri, 15 May 2020 07:30:20 +0200 Subject: [PATCH 07/11] Remove dependency on log4j and commons-logging --- 0001-Remove-unused-import.patch | 25 +++++++++++++ 0002-Unbundle-ASM.patch | 35 +++++++++++++++++++ ...endency-on-log4j-and-commons-logging.patch | 35 +++++++++++++++++++ xbean.spec | 27 ++++++++------ 4 files changed, 112 insertions(+), 10 deletions(-) create mode 100644 0001-Remove-unused-import.patch create mode 100644 0002-Unbundle-ASM.patch create mode 100644 0003-Remove-dependency-on-log4j-and-commons-logging.patch diff --git a/0001-Remove-unused-import.patch b/0001-Remove-unused-import.patch new file mode 100644 index 0000000..c0a9a2f --- /dev/null +++ b/0001-Remove-unused-import.patch @@ -0,0 +1,25 @@ +From c7b2913a7d552929a3182901466db69ba40e4340 Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +Date: Thu, 12 Dec 2019 08:51:36 +0100 +Subject: [PATCH 1/3] Remove unused import + +--- + .../java/org/apache/xbean/propertyeditor/PropertyEditors.java | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/xbean-reflect/src/main/java/org/apache/xbean/propertyeditor/PropertyEditors.java b/xbean-reflect/src/main/java/org/apache/xbean/propertyeditor/PropertyEditors.java +index dda3bf4d..5c6285f2 100644 +--- a/xbean-reflect/src/main/java/org/apache/xbean/propertyeditor/PropertyEditors.java ++++ b/xbean-reflect/src/main/java/org/apache/xbean/propertyeditor/PropertyEditors.java +@@ -19,8 +19,6 @@ package org.apache.xbean.propertyeditor; + import java.beans.PropertyEditorManager; + import java.lang.reflect.Type; + +-import com.sun.org.apache.regexp.internal.RE; +- + /** + * The property editor manager. This orchestrates Geronimo usage of + * property editors, allowing additional search paths to be added and +-- +2.21.0 + diff --git a/0002-Unbundle-ASM.patch b/0002-Unbundle-ASM.patch new file mode 100644 index 0000000..af94b2d --- /dev/null +++ b/0002-Unbundle-ASM.patch @@ -0,0 +1,35 @@ +From 4f7a61dcd47ed0dee2d78e31e2dd50b88ab42f25 Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +Date: Thu, 12 Dec 2019 08:51:57 +0100 +Subject: [PATCH 2/3] Unbundle ASM + +--- + .../xbean/recipe/XbeanAsmParameterNameLoader.java | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/xbean-reflect/src/main/java/org/apache/xbean/recipe/XbeanAsmParameterNameLoader.java b/xbean-reflect/src/main/java/org/apache/xbean/recipe/XbeanAsmParameterNameLoader.java +index 7ced2653..1d4b00bc 100644 +--- a/xbean-reflect/src/main/java/org/apache/xbean/recipe/XbeanAsmParameterNameLoader.java ++++ b/xbean-reflect/src/main/java/org/apache/xbean/recipe/XbeanAsmParameterNameLoader.java +@@ -17,12 +17,12 @@ + */ + package org.apache.xbean.recipe; + +-import org.apache.xbean.asm7.ClassReader; +-import org.apache.xbean.asm7.ClassVisitor; +-import org.apache.xbean.asm7.Label; +-import org.apache.xbean.asm7.MethodVisitor; +-import org.apache.xbean.asm7.Opcodes; +-import org.apache.xbean.asm7.Type; ++import org.objectweb.asm.ClassReader; ++import org.objectweb.asm.ClassVisitor; ++import org.objectweb.asm.Label; ++import org.objectweb.asm.MethodVisitor; ++import org.objectweb.asm.Opcodes; ++import org.objectweb.asm.Type; + + import java.io.IOException; + import java.io.InputStream; +-- +2.21.0 + diff --git a/0003-Remove-dependency-on-log4j-and-commons-logging.patch b/0003-Remove-dependency-on-log4j-and-commons-logging.patch new file mode 100644 index 0000000..b1846ee --- /dev/null +++ b/0003-Remove-dependency-on-log4j-and-commons-logging.patch @@ -0,0 +1,35 @@ +From 28e37850d8343f44f82e3138c772dd65d1d0ff2f Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +Date: Thu, 12 Dec 2019 08:52:26 +0100 +Subject: [PATCH 3/3] Remove dependency on log4j and commons-logging + +--- + .../xbean/propertyeditor/PropertyEditorRegistry.java | 12 ------------ + 1 file changed, 12 deletions(-) + +diff --git a/xbean-reflect/src/main/java/org/apache/xbean/propertyeditor/PropertyEditorRegistry.java b/xbean-reflect/src/main/java/org/apache/xbean/propertyeditor/PropertyEditorRegistry.java +index e7e17edd..be302861 100644 +--- a/xbean-reflect/src/main/java/org/apache/xbean/propertyeditor/PropertyEditorRegistry.java ++++ b/xbean-reflect/src/main/java/org/apache/xbean/propertyeditor/PropertyEditorRegistry.java +@@ -84,18 +84,6 @@ public class PropertyEditorRegistry implements Closeable { + register(new VectorEditor()); + register(new WeakHashMapEditor()); + +- try { +- register(new Log4jConverter()); +- } catch (final Throwable e) { +- // no-op +- } +- +- try { +- register(new CommonsLoggingConverter()); +- } catch (final Throwable e) { +- // no-op +- } +- + return this; + } + +-- +2.21.0 + diff --git a/xbean.spec b/xbean.spec index 548ef60..896fb8d 100644 --- a/xbean.spec +++ b/xbean.spec @@ -1,6 +1,6 @@ Name: xbean Version: 4.14 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Java plugin based web server License: ASL 2.0 URL: http://geronimo.apache.org/xbean/ @@ -8,10 +8,12 @@ BuildArch: noarch Source0: http://repo2.maven.org/maven2/org/apache/%{name}/%{name}/%{version}/%{name}-%{version}-source-release.zip +Patch1: 0001-Remove-unused-import.patch +Patch2: 0002-Unbundle-ASM.patch +Patch3: 0003-Remove-dependency-on-log4j-and-commons-logging.patch + BuildRequires: maven-local -BuildRequires: mvn(commons-logging:commons-logging-api) BuildRequires: mvn(junit:junit) -BuildRequires: mvn(log4j:log4j:1.2.12) BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) BuildRequires: mvn(org.ow2.asm:asm) BuildRequires: mvn(org.ow2.asm:asm-commons) @@ -34,21 +36,23 @@ This package provides %{summary}. %prep %setup -q +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 # Parent POM is not packaged %pom_remove_parent +%pom_remove_dep :commons-logging-api xbean-reflect +%pom_remove_dep :log4j xbean-reflect +%pom_remove_dep :xbean-asm7-shaded xbean-reflect +find -name CommonsLoggingConverter.java -delete +find -name Log4jConverter.java -delete + # Plugins useful for upstream only %pom_remove_plugin :apache-rat-plugin %pom_remove_plugin :maven-source-plugin -# Unshade ASM -%pom_remove_dep :xbean-asm7-shaded xbean-reflect -sed -i 's/org\.apache\.xbean\.asm7/org.objectweb.asm/g' xbean-reflect/src/main/java/org/apache/xbean/recipe/XbeanAsmParameterNameLoader.java - -# Unused import which is not available in OpenJDK 11 -sed -i '/import com.sun.org.apache.regexp.internal.RE/d' xbean-reflect/src/main/java/org/apache/xbean/propertyeditor/PropertyEditors.java - %build %mvn_build -- -f xbean-reflect @@ -63,6 +67,9 @@ sed -i '/import com.sun.org.apache.regexp.internal.RE/d' xbean-reflect/src/main/ %doc LICENSE NOTICE %changelog +* Fri May 15 2020 Mikolaj Izdebski - 4.14-4 +- Remove dependency on log4j and commons-logging + * Tue Nov 05 2019 Mikolaj Izdebski - 4.14-3 - Mass rebuild for javapackages-tools 201902 From 614fba7205f8c670cdbd819a8cba22c6632f40ca Mon Sep 17 00:00:00 2001 From: Marian Koncek Date: Wed, 29 Jul 2020 10:42:54 +0200 Subject: [PATCH 08/11] Update to upsteam version 4.17 --- .gitignore | 1 + 0002-Unbundle-ASM.patch | 38 ++++++++++++++++++++++++++------------ sources | 2 +- xbean.spec | 17 ++++++++++------- 4 files changed, 38 insertions(+), 20 deletions(-) diff --git a/.gitignore b/.gitignore index 0c0e51b..ee2d408 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ xbean-3.7.tar.xz /xbean-4.6-source-release.zip /xbean-4.8-source-release.zip /xbean-4.14-source-release.zip +/xbean-4.17-source-release.zip diff --git a/0002-Unbundle-ASM.patch b/0002-Unbundle-ASM.patch index af94b2d..6dc968f 100644 --- a/0002-Unbundle-ASM.patch +++ b/0002-Unbundle-ASM.patch @@ -4,32 +4,46 @@ Date: Thu, 12 Dec 2019 08:51:57 +0100 Subject: [PATCH 2/3] Unbundle ASM --- - .../xbean/recipe/XbeanAsmParameterNameLoader.java | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) + .../xbean/recipe/XbeanAsmParameterNameLoader.java | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/xbean-reflect/src/main/java/org/apache/xbean/recipe/XbeanAsmParameterNameLoader.java b/xbean-reflect/src/main/java/org/apache/xbean/recipe/XbeanAsmParameterNameLoader.java -index 7ced2653..1d4b00bc 100644 +index 0da1987..a507156 100644 --- a/xbean-reflect/src/main/java/org/apache/xbean/recipe/XbeanAsmParameterNameLoader.java +++ b/xbean-reflect/src/main/java/org/apache/xbean/recipe/XbeanAsmParameterNameLoader.java -@@ -17,12 +17,12 @@ +@@ -17,11 +17,11 @@ */ package org.apache.xbean.recipe; --import org.apache.xbean.asm7.ClassReader; --import org.apache.xbean.asm7.ClassVisitor; --import org.apache.xbean.asm7.Label; --import org.apache.xbean.asm7.MethodVisitor; --import org.apache.xbean.asm7.Opcodes; --import org.apache.xbean.asm7.Type; +-import org.apache.xbean.asm8.ClassReader; +-import org.apache.xbean.asm8.ClassVisitor; +-import org.apache.xbean.asm8.Label; +-import org.apache.xbean.asm8.MethodVisitor; +-import org.apache.xbean.asm8.Type; +import org.objectweb.asm.ClassReader; +import org.objectweb.asm.ClassVisitor; +import org.objectweb.asm.Label; +import org.objectweb.asm.MethodVisitor; -+import org.objectweb.asm.Opcodes; +import org.objectweb.asm.Type; import java.io.IOException; import java.io.InputStream; +@@ -36,7 +36,7 @@ import java.util.List; + import java.util.Map; + import java.util.WeakHashMap; + +-import static org.apache.xbean.asm8.shade.commons.AsmConstants.ASM_VERSION; ++import static org.apache.xbean.asm8.original.commons.AsmConstants.ASM_VERSION; + + /** + * Implementation of ParameterNameLoader that uses ASM to read the parameter names from the local variable table in the +@@ -315,4 +315,4 @@ public class XbeanAsmParameterNameLoader implements ParameterNameLoader { + return null; + } + } +-} +\ No newline at end of file ++} -- -2.21.0 +2.25.4 diff --git a/sources b/sources index 3c1fe28..996abdc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xbean-4.14-source-release.zip) = 1aaf9315d4f75a53b3a18da4f56d0737dbee75aa1516491aeea6d2d1b247fdcadc173c8b494efd2758e880b2512f7c015076322a57913ad1a491ea3871f9e5e1 +SHA512 (xbean-4.17-source-release.zip) = 0cc86b846f4eb797649cb3229c2eac5d37d6549f1a7ac8bf3f85b873b3cd2d5db837387ac1891d257f46613c925e3f331fcb63c5a80bf0b1a8004b31031de5c8 diff --git a/xbean.spec b/xbean.spec index 896fb8d..eeaba9d 100644 --- a/xbean.spec +++ b/xbean.spec @@ -1,12 +1,12 @@ Name: xbean -Version: 4.14 -Release: 4%{?dist} +Version: 4.17 +Release: 1%{?dist} Summary: Java plugin based web server License: ASL 2.0 -URL: http://geronimo.apache.org/xbean/ +URL: https://geronimo.apache.org/xbean/ BuildArch: noarch -Source0: http://repo2.maven.org/maven2/org/apache/%{name}/%{name}/%{version}/%{name}-%{version}-source-release.zip +Source0: https://repo1.maven.org/maven2/org/apache/%{name}/%{name}/%{version}/%{name}-%{version}-source-release.zip Patch1: 0001-Remove-unused-import.patch Patch2: 0002-Unbundle-ASM.patch @@ -27,7 +27,6 @@ support for running with no IoC system, JMX without JMX code, lifecycle and class loader management, and a rock solid Spring integration. - %package javadoc Summary: API documentation for %{name} @@ -40,12 +39,14 @@ This package provides %{summary}. %patch2 -p1 %patch3 -p1 +cp xbean-asm-util/src/main/java/org/apache/xbean/asm8/original/commons/AsmConstants.java xbean-reflect/src/main/java/org/apache/xbean/recipe/ + # Parent POM is not packaged %pom_remove_parent %pom_remove_dep :commons-logging-api xbean-reflect %pom_remove_dep :log4j xbean-reflect -%pom_remove_dep :xbean-asm7-shaded xbean-reflect +%pom_remove_dep :xbean-asm8-shaded xbean-reflect find -name CommonsLoggingConverter.java -delete find -name Log4jConverter.java -delete @@ -62,11 +63,13 @@ find -name Log4jConverter.java -delete %files -f .mfiles %doc LICENSE NOTICE - %files javadoc -f .mfiles-javadoc %doc LICENSE NOTICE %changelog +* Wed Jul 29 2020 Marian Koncek - 4.17-1 +- Update to upsteam version 4.17 + * Fri May 15 2020 Mikolaj Izdebski - 4.14-4 - Remove dependency on log4j and commons-logging From 2a37621c4efd0c05805274e326b947499ca0fa27 Mon Sep 17 00:00:00 2001 From: Marian Koncek Date: Fri, 12 Feb 2021 10:42:33 +0100 Subject: [PATCH 09/11] Update to upstream version 4.18 --- .gitignore | 1 + 0002-Unbundle-ASM.patch | 29 +++++++++++------------------ sources | 2 +- xbean.spec | 9 ++++++--- 4 files changed, 19 insertions(+), 22 deletions(-) diff --git a/.gitignore b/.gitignore index ee2d408..2f3e4a3 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ xbean-3.7.tar.xz /xbean-4.8-source-release.zip /xbean-4.14-source-release.zip /xbean-4.17-source-release.zip +/xbean-4.18-source-release.zip diff --git a/0002-Unbundle-ASM.patch b/0002-Unbundle-ASM.patch index 6dc968f..eb40658 100644 --- a/0002-Unbundle-ASM.patch +++ b/0002-Unbundle-ASM.patch @@ -4,22 +4,22 @@ Date: Thu, 12 Dec 2019 08:51:57 +0100 Subject: [PATCH 2/3] Unbundle ASM --- - .../xbean/recipe/XbeanAsmParameterNameLoader.java | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) + .../xbean/recipe/XbeanAsmParameterNameLoader.java | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/xbean-reflect/src/main/java/org/apache/xbean/recipe/XbeanAsmParameterNameLoader.java b/xbean-reflect/src/main/java/org/apache/xbean/recipe/XbeanAsmParameterNameLoader.java -index 0da1987..a507156 100644 +index 20b646c..9e96775 100644 --- a/xbean-reflect/src/main/java/org/apache/xbean/recipe/XbeanAsmParameterNameLoader.java +++ b/xbean-reflect/src/main/java/org/apache/xbean/recipe/XbeanAsmParameterNameLoader.java @@ -17,11 +17,11 @@ */ package org.apache.xbean.recipe; --import org.apache.xbean.asm8.ClassReader; --import org.apache.xbean.asm8.ClassVisitor; --import org.apache.xbean.asm8.Label; --import org.apache.xbean.asm8.MethodVisitor; --import org.apache.xbean.asm8.Type; +-import org.apache.xbean.asm9.ClassReader; +-import org.apache.xbean.asm9.ClassVisitor; +-import org.apache.xbean.asm9.Label; +-import org.apache.xbean.asm9.MethodVisitor; +-import org.apache.xbean.asm9.Type; +import org.objectweb.asm.ClassReader; +import org.objectweb.asm.ClassVisitor; +import org.objectweb.asm.Label; @@ -32,18 +32,11 @@ index 0da1987..a507156 100644 import java.util.Map; import java.util.WeakHashMap; --import static org.apache.xbean.asm8.shade.commons.AsmConstants.ASM_VERSION; -+import static org.apache.xbean.asm8.original.commons.AsmConstants.ASM_VERSION; +-import static org.apache.xbean.asm9.shade.commons.AsmConstants.ASM_VERSION; ++import static org.apache.xbean.asm9.original.commons.AsmConstants.ASM_VERSION; /** * Implementation of ParameterNameLoader that uses ASM to read the parameter names from the local variable table in the -@@ -315,4 +315,4 @@ public class XbeanAsmParameterNameLoader implements ParameterNameLoader { - return null; - } - } --} -\ No newline at end of file -+} -- -2.25.4 +2.29.2 diff --git a/sources b/sources index 996abdc..fcc3e67 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xbean-4.17-source-release.zip) = 0cc86b846f4eb797649cb3229c2eac5d37d6549f1a7ac8bf3f85b873b3cd2d5db837387ac1891d257f46613c925e3f331fcb63c5a80bf0b1a8004b31031de5c8 +SHA512 (xbean-4.18-source-release.zip) = 766746caa4f9ea87ceff1af1fe052481a9478cab4754b18cb7c760fb9dc466e5fd85533f2040583c3378cf36a4e17ba357d48060896af86a933916008cb2dda6 diff --git a/xbean.spec b/xbean.spec index eeaba9d..e1f63f9 100644 --- a/xbean.spec +++ b/xbean.spec @@ -1,5 +1,5 @@ Name: xbean -Version: 4.17 +Version: 4.18 Release: 1%{?dist} Summary: Java plugin based web server License: ASL 2.0 @@ -39,14 +39,14 @@ This package provides %{summary}. %patch2 -p1 %patch3 -p1 -cp xbean-asm-util/src/main/java/org/apache/xbean/asm8/original/commons/AsmConstants.java xbean-reflect/src/main/java/org/apache/xbean/recipe/ +cp xbean-asm-util/src/main/java/org/apache/xbean/asm9/original/commons/AsmConstants.java xbean-reflect/src/main/java/org/apache/xbean/recipe/ # Parent POM is not packaged %pom_remove_parent %pom_remove_dep :commons-logging-api xbean-reflect %pom_remove_dep :log4j xbean-reflect -%pom_remove_dep :xbean-asm8-shaded xbean-reflect +%pom_remove_dep :xbean-asm9-shaded xbean-reflect find -name CommonsLoggingConverter.java -delete find -name Log4jConverter.java -delete @@ -67,6 +67,9 @@ find -name Log4jConverter.java -delete %doc LICENSE NOTICE %changelog +* Tue Jan 26 2021 Marian Koncek - 4.18-1 +- Update to upstream version 4.18 + * Wed Jul 29 2020 Marian Koncek - 4.17-1 - Update to upsteam version 4.17 From 2ff0069abf86f83e3607446ebcd72ce2ea32dd52 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Fri, 16 Apr 2021 15:33:13 +0200 Subject: [PATCH 10/11] Conditionalize buildrequires in bootstrap mode --- xbean.spec | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/xbean.spec b/xbean.spec index e1f63f9..cf8e18c 100644 --- a/xbean.spec +++ b/xbean.spec @@ -1,3 +1,5 @@ +%bcond_without bootstrap + Name: xbean Version: 4.18 Release: 1%{?dist} @@ -13,10 +15,14 @@ Patch2: 0002-Unbundle-ASM.patch Patch3: 0003-Remove-dependency-on-log4j-and-commons-logging.patch BuildRequires: maven-local +%if %{with bootstrap} +BuildRequires: javapackages-bootstrap +%else BuildRequires: mvn(junit:junit) BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) BuildRequires: mvn(org.ow2.asm:asm) BuildRequires: mvn(org.ow2.asm:asm-commons) +%endif %description The goal of XBean project is to create a plugin based server From 244575006769646075f06a5927a3a592b9125aed Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Thu, 13 May 2021 19:08:43 +0200 Subject: [PATCH 11/11] Turn off bootstrap mode by default --- xbean.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xbean.spec b/xbean.spec index cf8e18c..3a5b0f9 100644 --- a/xbean.spec +++ b/xbean.spec @@ -1,4 +1,4 @@ -%bcond_without bootstrap +%bcond_with bootstrap Name: xbean Version: 4.18