Brian,
comparator works fine. And of course it's not responsible for adding any
new bugs (I hope so :)
But the Faceted framework is buggy itself and IMHO we use it wrong. We
should not invoke it in start() methods (at least in the same thread).
The comparator just triggers this broken code which WTP+JBT have had for
a few years.
On 10/04/2011 09:24 AM, Brian Fitzpatrick wrote:
Adding that comparator shouldn't have broken a darn thing. All
it's used for is sorting the runtimes in an order so that 4.9 comes before 4.10
instead of 4.10 coming before 4.2.
If that's what broke it, then the facet framework is broken.
_______________________________
Brian Fitzpatrick (aka "Fitz")
Senior Software Engineer, SOA-P
JBoss by Red Hat
----- Original Message -----
From: "Alexey Kazakov"<akazakov(a)exadel.com>
To: jbosstools-dev(a)lists.jboss.org
Sent: Tuesday, October 4, 2011 10:21:21 AM
Subject: Re: [jbosstools-dev] Couple-o-things re: JBDS 4.1.1 and JBDS 5 test failures
with org.jboss.tools.esb.core.test
I can say what changed. We introduced a new custom facet version comparator for ESB.
You can see details in JIRA
https://issues.jboss.org/browse/JBIDE-9802
But if to be short...
JBossServerCorePlugin.start() indirectly invokes FacetedProjectFrameworkImpl
FacetedProjectFrameworkImpl starts initialization and loading its metadata including ESB
facet comparator
Eclipse starts to start ESB plugin to load the comparator.
ESBCorePlugin.start() indirectly invokes FacetedProjectFrameworkImpl
And here we get a deadlock since FacetedProjectFrameworkImpl.getInstance() is
synchronized and invokes recursively in the same thread:
public synchronized static FacetedProjectFrameworkImpl getInstance()
{ if ( instance == null )
{
instance = new FacetedProjectFrameworkImpl();
} return instance;
}
Rob, if I'm ok with firing the addition as a job in the esb.
Actually firing a new job in JBossAS solves the problem in JBT but since we have our new
ESB facet version comparator we should make sure that if any third-side plugin loads
Faceted Framework in its start method we would not get the same deadlock again.
So I'm fully agree with you that it's better to use an extension point but
let's fire a new job as a workaround so far.
I'm assigning JBIDE-9802 to you then.
On 10/04/2011 07:31 AM, Brian Fitzpatrick wrote:
Nothing changed in ESB. That's why I'm concerned as well. But I really don't
know anything about this faceted framework and can't offer any constructive feedback.
All we know is that it prevents this test, which runs locally through the PDE and not
through the Mavenized test run, from starting this particular plug-in for some mysterious
reason.
--Fitz
_______________________________
Brian Fitzpatrick (aka "Fitz")
Senior Software Engineer, SOA-P
JBoss by Red Hat
----- Original Message -----
From: "Max Rydahl Andersen"<max.andersen(a)redhat.com> To: "Brian
Fitzpatrick"<bfitzpat(a)redhat.com> Cc: "Rob
Stryker"<rstryker(a)redhat.com> , jbosstools-dev(a)lists.jboss.org Sent: Tuesday,
October 4, 2011 8:18:20 AM
Subject: Re: [jbosstools-dev] Couple-o-things re: JBDS 4.1.1 and JBDS 5 test failures
with org.jboss.tools.esb.core.test
i'm concerned about what is going on here. This code is ancient (1-2+ years old) is
it not ?
What changed ?
About the specifics then I believe any calls out to faceted framework during startup code
is dangerous since the faceted framework is probably not fully started yet.
/max
On Oct 4, 2011, at 15:52, Brian Fitzpatrick wrote:
Rob did you apply the patch just in trunk or in 3.2.x as well?
And if you can suggest how to "have esb also fire the addition as a job" I can
look into fixing that.
_______________________________
Brian Fitzpatrick (aka "Fitz")
Senior Software Engineer, SOA-P
JBoss by Red Hat
----- Original Message -----
From: "Rob Stryker"<rstryker(a)redhat.com> To: akazakov(a)exadel.com Cc:
jbosstools-dev(a)lists.jboss.org Sent: Tuesday, October 4, 2011 1:34:35 AM
Subject: Re: [jbosstools-dev] Couple-o-things re: JBDS 4.1.1 and JBDS 5 test failures
with org.jboss.tools.esb.core.test
Just got back from vacation and didn't even see this one. :)
I've applied your patch as it's not important for me to add the listener in the
start method. I suspect firing off the ESB extension addition in a job would also be ok...
The Extension thing would be better handled as an extension point, I'm sure, but until
we can get around to fixing that, I think we're out of luck.
If you think having the esb also fire the addition as a job would help, I can do that :)
What do you think?
On 10/04/2011 02:45 PM, Alexey Kazakov wrote:
Rob, I'm still hopping you will take a look at my patch for JBossAS attached to
https://issues.jboss.org/browse/JBIDE-9802 and maybe will suggest some fix for ESB too.
:)
Though I'm not sure these test failures are related to a deadlock I got in JBIDE-9802
, IMHO it's a blocker and we need to fix it.
On 10/03/2011 11:22 PM, Nick Boldt wrote:JBIDE-9802
Caused by: java.lang.NullPointerException at
org.eclipse.wst.common.project.facet.core.ProjectFacetsManager.isProjectFacetDefined(ProjectFacetsManager.java:62)
Can you check if the ProjectFacetsManager is defined and not null before
calling it?
Is this a bug in o.e.wst?
Nick
On 10/03/2011 05:18 PM, Brian Fitzpatrick wrote:
Hey Nick et al...
I believe that the issues Alexey has raised with JBIDE-9802 is what's causing the ESB
core test failures Nick and I have been trying to track down.
I'm getting a ton of these errors (stack trace below) when I run the JUnit tests for
ESB, which seems to be a related issue.
How do we fix the issue in JBIDE-9802 so we can get past the JBIDE-9802 issue and the
test failures?
--Fitz
!ENTRY org.eclipse.osgi 4 0 2011-10-03 11:35:25.361
!MESSAGE An error occurred while automatically activating bundle
org.jboss.tools.esb.project.core (490).
!STACK 0
org.osgi.framework.BundleException: Exception in
org.jboss.tools.esb.core.ESBProjectCorePlugin.start() of bundle
org.jboss.tools.esb.project.core.
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:806)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
at
org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:417)
at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:265)
at
org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:106)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:453)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:393)
at
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:469)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:338)
at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:232)
at
org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1197)
at
org.eclipse.wst.common.project.facet.core.util.internal.Versionable.getVersionComparator(Versionable.java:153)
at
org.eclipse.wst.common.project.facet.core.internal.FacetedProjectFrameworkImpl.calculateVersionComparisonTables(FacetedProjectFrameworkImpl.java:1658)
at
org.eclipse.wst.common.project.facet.core.internal.FacetedProjectFrameworkImpl.readMetadata(FacetedProjectFrameworkImpl.java:1386)
at
org.eclipse.wst.common.project.facet.core.internal.FacetedProjectFrameworkImpl.<init>(FacetedProjectFrameworkImpl.java:188)
at
org.eclipse.wst.common.project.facet.core.internal.FacetedProjectFrameworkImpl.getInstance(FacetedProjectFrameworkImpl.java:211)
at
org.eclipse.wst.common.project.facet.core.ProjectFacetsManager.<clinit>(ProjectFacetsManager.java:37)
at
org.eclipse.wst.common.componentcore.internal.util.ComponentImplManager.findFactoryForProject(ComponentImplManager.java:130)
at
org.eclipse.wst.common.componentcore.internal.util.ComponentImplManager.createComponent(ComponentImplManager.java:213)
at
org.eclipse.wst.common.componentcore.internal.util.ComponentImplManager.createComponent(ComponentImplManager.java:203)
at
org.eclipse.wst.common.componentcore.ComponentCore.createComponent(ComponentCore.java:64)
at
org.jboss.tools.common.model.util.EclipseResourceUtil.getFirstWebContentResource(EclipseResourceUtil.java:441)
at
org.jboss.tools.common.model.util.EclipseResourceUtil.createObjectForResource(EclipseResourceUtil.java:378)
at org.jboss.tools.esb.core.test.ESBModelTest.getFileObject(ESBModelTest.java:526)
at org.jboss.tools.esb.core.test.ESBModelTest.testListener(ESBModelTest.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:232)
at junit.framework.TestSuite.run(TestSuite.java:227)
at junit.framework.TestSuite.runTest(TestSuite.java:232)
at junit.framework.TestSuite.run(TestSuite.java:227)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
at
org.codehaus.tycho.surefire.osgibooter.OsgiSurefireBooter.run(OsgiSurefireBooter.java:75)
at
org.codehaus.tycho.surefire.osgibooter.AbstractUITestApplication$1.run(AbstractUITestApplication.java:25)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4041)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at
org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
at
org.codehaus.tycho.surefire.osgibooter.UITestApplication.runApplication(UITestApplication.java:21)
at
org.codehaus.tycho.surefire.osgibooter.AbstractUITestApplication.run(AbstractUITestApplication.java:109)
at
org.codehaus.tycho.surefire.osgibooter.UITestApplication.start(UITestApplication.java:27)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
at org.eclipse.equinox.launcher.Main.run(Main.java:1408)
at org.eclipse.equinox.launcher.Main.main(Main.java:1384)
Caused by: java.lang.NullPointerException
at
org.eclipse.wst.common.project.facet.core.ProjectFacetsManager.isProjectFacetDefined(ProjectFacetsManager.java:62)
at
org.eclipse.wst.common.componentcore.internal.util.VirtualReferenceUtilities.addDefaultExtension(VirtualReferenceUtilities.java:44)
at org.jboss.tools.esb.core.ESBProjectCorePlugin.start(ESBProjectCorePlugin.java:47)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
at java.security.AccessController.doPrivileged(Native Method)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
... 80 more
Root exception:
java.lang.NullPointerException
at
org.eclipse.wst.common.project.facet.core.ProjectFacetsManager.isProjectFacetDefined(ProjectFacetsManager.java:62)
at
org.eclipse.wst.common.componentcore.internal.util.VirtualReferenceUtilities.addDefaultExtension(VirtualReferenceUtilities.java:44)
at org.jboss.tools.esb.core.ESBProjectCorePlugin.start(ESBProjectCorePlugin.java:47)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
at java.security.AccessController.doPrivileged(Native Method)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
at
org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:417)
at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:265)
at
org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:106)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:453)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:393)
at
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:469)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:338)
at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:232)
at
org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1197)
at
org.eclipse.wst.common.project.facet.core.util.internal.Versionable.getVersionComparator(Versionable.java:153)
at
org.eclipse.wst.common.project.facet.core.internal.FacetedProjectFrameworkImpl.calculateVersionComparisonTables(FacetedProjectFrameworkImpl.java:1658)
at
org.eclipse.wst.common.project.facet.core.internal.FacetedProjectFrameworkImpl.readMetadata(FacetedProjectFrameworkImpl.java:1386)
at
org.eclipse.wst.common.project.facet.core.internal.FacetedProjectFrameworkImpl.<init>(FacetedProjectFrameworkImpl.java:188)
at
org.eclipse.wst.common.project.facet.core.internal.FacetedProjectFrameworkImpl.getInstance(FacetedProjectFrameworkImpl.java:211)
at
org.eclipse.wst.common.project.facet.core.ProjectFacetsManager.<clinit>(ProjectFacetsManager.java:37)
at
org.eclipse.wst.common.componentcore.internal.util.ComponentImplManager.findFactoryForProject(ComponentImplManager.java:130)
at
org.eclipse.wst.common.componentcore.internal.util.ComponentImplManager.createComponent(ComponentImplManager.java:213)
at
org.eclipse.wst.common.componentcore.internal.util.ComponentImplManager.createComponent(ComponentImplManager.java:203)
at
org.eclipse.wst.common.componentcore.ComponentCore.createComponent(ComponentCore.java:64)
at
org.jboss.tools.common.model.util.EclipseResourceUtil.getFirstWebContentResource(EclipseResourceUtil.java:441)
at
org.jboss.tools.common.model.util.EclipseResourceUtil.createObjectForResource(EclipseResourceUtil.java:378)
at org.jboss.tools.esb.core.test.ESBModelTest.getFileObject(ESBModelTest.java:526)
at org.jboss.tools.esb.core.test.ESBModelTest.testListener(ESBModelTest.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:232)
at junit.framework.TestSuite.run(TestSuite.java:227)
at junit.framework.TestSuite.runTest(TestSuite.java:232)
at junit.framework.TestSuite.run(TestSuite.java:227)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
at
org.codehaus.tycho.surefire.osgibooter.OsgiSurefireBooter.run(OsgiSurefireBooter.java:75)
at
org.codehaus.tycho.surefire.osgibooter.AbstractUITestApplication$1.run(AbstractUITestApplication.java:25)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4041)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at
org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
at
org.codehaus.tycho.surefire.osgibooter.UITestApplication.runApplication(UITestApplication.java:21)
at
org.codehaus.tycho.surefire.osgibooter.AbstractUITestApplication.run(AbstractUITestApplication.java:109)
at
org.codehaus.tycho.surefire.osgibooter.UITestApplication.start(UITestApplication.java:27)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
at org.eclipse.equinox.launcher.Main.run(Main.java:1408)
at org.eclipse.equinox.launcher.Main.main(Main.java:1384)
_______________________________
Brian Fitzpatrick (aka "Fitz")
Senior Software Engineer, SOA-P
JBoss by Red Hat
_______________________________________________
jbosstools-dev mailing list jbosstools-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jbosstools-dev
_______________________________________________
jbosstools-dev mailing list jbosstools-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jbosstools-dev /max
http://about.me/maxandersen
_______________________________________________
jbosstools-dev mailing list jbosstools-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jbosstools-dev
_______________________________________________
jbosstools-dev mailing list
jbosstools-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jbosstools-dev