It seems that with the Wiki Synchronizer a blocker was introduced for upgrading the Eclipse Dirigible versions in project XSK (e.g. to version 6.3.0 and later).
org.apache.catalina.core.StandardContext.listenerStart Exception sending context initialized event to listener instance of class [org.eclipse.dirigible.runtime.core.listener.DirigibleServletContextListener]
java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
at java.base/sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.java:316)
at java.base/sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.java:258)
at java.base/java.util.jar.JarVerifier.processEntry(JarVerifier.java:277)
at java.base/java.util.jar.JarVerifier.update(JarVerifier.java:234)
at java.base/java.util.jar.JarFile.initializeVerifier(JarFile.java:767)
at java.base/java.util.jar.JarFile.getInputStream(JarFile.java:852)
at org.apache.catalina.webresources.AbstractSingleArchiveResource.getJarInputStreamWrapper(AbstractSingleArchiveResource.java:39)
at org.apache.catalina.webresources.AbstractArchiveResource.getContent(AbstractArchiveResource.java:183)
at org.apache.catalina.webresources.CachedResource.getContent(CachedResource.java:322)
at org.apache.catalina.webresources.CachedResource.getInputStream(CachedResource.java:307)
at org.apache.catalina.loader.WebappClassLoaderBase.getResourceAsStream(WebappClassLoaderBase.java:1175)
at java.base/java.lang.Class.getResourceAsStream(Class.java:2650)
at org.eclipse.dirigible.engine.wiki.synchronizer.WikiSynchronizer.registerPredeliveredWiki(WikiSynchronizer.java:130)
at org.eclipse.dirigible.engine.wiki.synchronizer.WikiClasspathContentHandler.isValid(WikiClasspathContentHandler.java:43)
at org.eclipse.dirigible.commons.api.content.AbstractClasspathContentHandler.accept(AbstractClasspathContentHandler.java:35)
at org.eclipse.dirigible.commons.api.content.ClasspathContentLoader.load(ClasspathContentLoader.java:63)
at org.eclipse.dirigible.runtime.core.initializer.DirigibleInitializer.loadPredeliveredContent(DirigibleInitializer.java:122)
at org.eclipse.dirigible.runtime.core.initializer.DirigibleInitializer.initialize(DirigibleInitializer.java:62)
at org.eclipse.dirigible.runtime.core.listener.DirigibleServletContextListener.contextInitialized(DirigibleServletContextListener.java:39)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4763)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5232)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:753)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:727)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:695)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1016)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1903)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
The reason behind it is that JAR files located at META-INF/dirigible/resources-neo-sdk/sdk/*(Neo SDK files) doesn't have have valid signature. At the same time the Wiki Synchronizer is trying to iterate over these JAR files and find a *.md files to be synchronized such as:
This leads to the above exception and the inability to run project XSK with the latest Eclipse Dirigible version.
Proposal
Introduce new environment variable _(e.g. DIRIGIBLE_SYNCHRONIZER_IGNORE_PATHS expecting comma separated values) that should be respected by all synchronizers (Wiki, BPM, Job, etc.). Ultimately it should be possible to specify both Registry and ClassPath (e.g. starting with META-INF/dirigible)_ paths that should be ignored.
From xsk created by ThuF: SAP/xsk#1702
Issue
It seems that with the Wiki Synchronizer a blocker was introduced for upgrading the Eclipse Dirigible versions in project XSK (e.g. to version 6.3.0 and later).
The issue is due to the following exception:
The reason behind it is that JAR files located at
META-INF/dirigible/resources-neo-sdk/sdk/*
(Neo SDK files) doesn't have have valid signature. At the same time the Wiki Synchronizer is trying to iterate over these JAR files and find a*.md
files to be synchronized such as:META-INF/dirigible/resources-neo-sdk/sdk/repository/.archive/README.md
This leads to the above exception and the inability to run project XSK with the latest Eclipse Dirigible version.
Proposal
Introduce new environment variable _(e.g.
DIRIGIBLE_SYNCHRONIZER_IGNORE_PATHS
expecting comma separated values) that should be respected by all synchronizers (Wiki, BPM, Job, etc.). Ultimately it should be possible to specify both Registry and ClassPath (e.g. starting withMETA-INF/dirigible
)_ paths that should be ignored.