<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="https://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    Making the DirectoryScanner fail
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="https://community.jboss.org/people/jskovjyskebankdk">Jesper Skov</a> in <i>JBoss Tools</i> - <a href="https://community.jboss.org/message/787526#787526">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>Most of our projects use a custom builder which fetches IVY dependencies and place them in various folders named build/gen-lib*.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>This builder has first priority and runs before anything else, intending to make it appear to Eclipse as if the projects had their dependencies checked out with the source (if that makes sense).</p><p>It works pretty well and has served us for years.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Part of this design requires some of the build/gen-lib folder to be mentioned in the Deployment Assembly of the project.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Unfortunately, this makes a JBoss Tools 4.0.0.Final plugin unhappy when it scans these folders which may not be created.</p><p>(I *think* the Deployment Assembly reference is where your plugin pick the reference, but I'm not sure)</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>The stack trace looks like this:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span style="font-family: courier new,courier; font-size: 8pt;">java.lang.IllegalStateException: basedir C:\udvikler\ws\plugins\jb.it.reuters\build\gen-lib-deployable is not a directory</span></p><p><span style="font-family: courier new,courier; font-size: 8pt;">&#160;&#160;&#160; at org.jboss.ide.eclipse.archives.core.asf.DirectoryScanner.scanPrepare(DirectoryScanner.java:552)</span></p><p><span style="font-family: courier new,courier; font-size: 8pt;">&#160;&#160;&#160; at org.jboss.ide.eclipse.archives.core.asf.DirectoryScanner.scan(DirectoryScanner.java:588)</span></p><p><span style="font-family: courier new,courier; font-size: 8pt;">&#160;&#160;&#160; at org.jboss.ide.eclipse.archives.core.model.DirectoryScannerFactory.createDirectoryScanner(DirectoryScannerFactory.java:66)</span></p><p><span style="font-family: courier new,courier; font-size: 8pt;">&#160;&#160;&#160; at org.jboss.ide.eclipse.archives.webtools.filesets.vcf.WorkspaceFilesetVirtualComponent$WorkspaceFilter.&lt;init&gt;(WorkspaceFilesetVirtualComponent.java:100)</span></p><p><span style="font-family: courier new,courier; font-size: 8pt;">&#160;&#160;&#160; at org.jboss.ide.eclipse.archives.webtools.filesets.vcf.WorkspaceFilesetVirtualComponent.getRootFolder(WorkspaceFilesetVirtualComponent.java:53)</span></p><p><span style="font-family: courier new,courier; font-size: 8pt;">&#160;&#160;&#160; at org.eclipse.wst.common.componentcore.internal.flat.FlatVirtualComponent.consumeComponent(FlatVirtualComponent.java:203)</span></p><p><span style="font-family: courier new,courier; font-size: 8pt;">&#160;&#160;&#160; at org.eclipse.wst.common.componentcore.internal.flat.FlatVirtualComponent.addConsumedReferences(FlatVirtualComponent.java:196)</span></p><p><span style="font-family: courier new,courier; font-size: 8pt;">&#160;&#160;&#160; at org.eclipse.jst.j2ee.internal.common.ClasspathLibraryExpander.optimize(ClasspathLibraryExpander.java:47)</span></p><p><span style="font-family: courier new,courier; font-size: 8pt;">&#160;&#160;&#160; at org.eclipse.wst.common.componentcore.internal.flat.FlatVirtualComponent.cacheResources(FlatVirtualComponent.java:119)</span></p><p><span style="font-family: courier new,courier; font-size: 8pt;">&#160;&#160;&#160; at org.eclipse.wst.common.componentcore.internal.flat.FlatVirtualComponent.fetchResources(FlatVirtualComponent.java:101)</span></p><p><span style="font-family: courier new,courier; font-size: 8pt;">&#160;&#160;&#160; at org.eclipse.jst.j2ee.internal.common.ClasspathLibraryExpander.fetchResource(ClasspathLibraryExpander.java:74)</span></p><p><span style="font-family: courier new,courier; font-size: 8pt;">&#160;&#160;&#160; at org.eclipse.jst.j2ee.internal.common.classpath.J2EEComponentClasspathContainer.getBaseEARLibRefs(J2EEComponentClasspathContainer.java:463)</span></p><p><span style="font-family: courier new,courier; font-size: 8pt;">&#160;&#160;&#160; at org.eclipse.jst.j2ee.internal.common.classpath.J2EEComponentClasspathContainer.requiresUpdate(J2EEComponentClasspathContainer.java:208)</span></p><p><span style="font-family: courier new,courier; font-size: 8pt;">&#160;&#160;&#160; at org.eclipse.jst.j2ee.internal.common.classpath.J2EEComponentClasspathContainer.refresh(J2EEComponentClasspathContainer.java:540)</span></p><p><span style="font-family: courier new,courier; font-size: 8pt;">&#160;&#160;&#160; at org.eclipse.jst.j2ee.internal.common.classpath.J2EEComponentClasspathUpdater$ModuleUpdateJob.processModules(J2EEComponentClasspathUpdater.java:311)</span></p><p><span style="font-family: courier new,courier; font-size: 8pt;">&#160;&#160;&#160; at org.eclipse.jst.j2ee.internal.common.classpath.J2EEComponentClasspathUpdater$ModuleUpdateJob.access$4(J2EEComponentClasspathUpdater.java:295)</span></p><p><span style="font-family: courier new,courier; font-size: 8pt;">&#160;&#160;&#160; at org.eclipse.jst.j2ee.internal.common.classpath.J2EEComponentClasspathUpdater$ModuleUpdateJob$1.run(J2EEComponentClasspathUpdater.java:336)</span></p><p><span style="font-family: courier new,courier; font-size: 8pt;">&#160;&#160;&#160; at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)</span></p><p><span style="font-family: courier new,courier; font-size: 8pt;">&#160;&#160;&#160; at org.eclipse.jst.j2ee.internal.common.classpath.J2EEComponentClasspathUpdater$ModuleUpdateJob.run(J2EEComponentClasspathUpdater.java:321)</span></p><p><span style="font-family: courier new,courier; font-size: 8pt;">&#160;&#160;&#160; at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>I guess I'm really the one making your plugin fail, so I will probably make our plugin create those folders earlier.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>But you may want to handle non-existent folders in your scanner differently (either silently, or maybe create a Marker describing the apparently bad configuration for the developer).</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Cheers,</p><p>Jesper</p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="https://community.jboss.org/message/787526#787526">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss Tools at <a href="https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2128">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>