[jbosstools-dev] Maven Issues with Tycho
Nick Boldt
nboldt at redhat.com
Thu Oct 27 10:09:28 EDT 2011
I would attempt to move up to Tycho 0.13 [0] - you get better feedback
when things gang agley [1].
[0] http://wiki.eclipse.org/Tycho/Release_Notes/0.13
[1] http://en.wikipedia.org/wiki/To_a_Mouse
You could also try rerunning Maven w/ debug turned on and pip to a file
for closer inspection:
`mvn clean install -fae -e -X | tee log.txt`
Make sure all your pom.xml, feature.xml, and MANIFEST.MF files are
correct - sometimes invalid XML results in cryptic messages from Tycho -
the only hint is a reference to saxon in the failure stack trace.
HTH,
Nick
On 10/27/2011 03:28 AM, Max Rydahl Andersen wrote:
> Hmm, I dont recall seeing anything similar.
>
> I've seen other weirds errors which was caused by inconsistent p2 metadata (feature.xml having syntax or semantic errors for example) but
> haven't seen failure this "early" in tycho's startup.
>
> Best advice I got is to ask on tycho-user if the situation prevails.
>
> /max
>
> On Oct 27, 2011, at 04:33, Rob Cernich wrote:
>
>> We're having some weird build errors on SwitchYard tools. Basically, it looks like Maven is failing to resolve P2 target platform resolver (at least that's what I think the following is saying). There have not been any changes to project pom's between the last successful build and the failing builds.
>>
>> Any help would be greatly appreciated. (For now, I'm chalking this up to the effects of the recent solar activity. ;))
>>
>> Here's the trace:
>>
>> [WARNING] Error initializing: class org.eclipse.tycho.p2.facade.P2TargetPlatformResolver
>> java.lang.RuntimeException: java.lang.IllegalStateException: Service is not registered class='interface org.eclipse.tycho.p2.metadata.ProxyServiceFacade'
>> at org.eclipse.tycho.equinox.embedder.DefaultEquinoxEmbedder.getService(DefaultEquinoxEmbedder.java:194)
>> at org.eclipse.tycho.equinox.embedder.DefaultEquinoxEmbedder.getService(DefaultEquinoxEmbedder.java:187)
>> at org.eclipse.tycho.equinox.embedder.DefaultEquinoxServiceLocator.getService(DefaultEquinoxServiceLocator.java:23)
>> at org.eclipse.tycho.p2.facade.P2TargetPlatformResolver.initialize(P2TargetPlatformResolver.java:494)
>> at org.codehaus.plexus.PlexusLifecycleManager.initialize(PlexusLifecycleManager.java:285)
>> at org.codehaus.plexus.PlexusLifecycleManager.manageLifecycle(PlexusLifecycleManager.java:247)
>> at org.codehaus.plexus.PlexusLifecycleManager.manage(PlexusLifecycleManager.java:154)
>> at org.sonatype.guice.plexus.binders.PlexusBeanBinder.afterInjection(PlexusBeanBinder.java:78)
>> at com.google.inject.internal.MembersInjectorImpl.notifyListeners(MembersInjectorImpl.java:97)
>> at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:95)
>> at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
>> at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:968)
>> at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1021)
>> at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:964)
>> at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1003)
>> at org.sonatype.guice.bean.reflect.AbstractDeferredClass.get(AbstractDeferredClass.java:47)
>> at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
>> at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:968)
>> at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1014)
>> at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:964)
>> at com.google.inject.Scopes$1$1.get(Scopes.java:59)
>> at org.sonatype.guice.bean.locators.LazyBeanEntry.getValue(LazyBeanEntry.java:79)
>> at org.sonatype.guice.plexus.locators.LazyPlexusBean.getValue(LazyPlexusBean.java:53)
>> at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:243)
>> at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:235)
>> at org.eclipse.tycho.core.resolver.DefaultTargetPlatformResolverFactory.lookupPlatformResolver(DefaultTargetPlatformResolverFactory.java:74)
>> at org.eclipse.tycho.core.resolver.DefaultTychoDependencyResolver.setupProject(DefaultTychoDependencyResolver.java:76)
>> at org.eclipse.tycho.core.maven.TychoMavenLifecycleParticipant.afterProjectsRead(TychoMavenLifecycleParticipant.java:85)
>> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:273)
>> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
>> at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
>> at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
>> at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
>> 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.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
>> at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
>> at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
>> at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
>> Caused by: java.lang.IllegalStateException: Service is not registered class='interface org.eclipse.tycho.p2.metadata.ProxyServiceFacade'
>> at org.eclipse.tycho.equinox.embedder.DefaultEquinoxEmbedder.getService(DefaultEquinoxEmbedder.java:211)
>> at org.eclipse.tycho.equinox.embedder.DefaultEquinoxEmbedder.getService(DefaultEquinoxEmbedder.java:187)
>> at org.eclipse.tycho.p2.facade.internal.P2ProxyConfigurator.afterFrameworkStarted(P2ProxyConfigurator.java:46)
>> at org.eclipse.tycho.equinox.embedder.DefaultEquinoxEmbedder.doStart(DefaultEquinoxEmbedder.java:147)
>> at org.eclipse.tycho.equinox.embedder.DefaultEquinoxEmbedder.start(DefaultEquinoxEmbedder.java:55)
>> at org.eclipse.tycho.equinox.embedder.DefaultEquinoxEmbedder.getService(DefaultEquinoxEmbedder.java:192)
>> ... 40 more
>> Oct 26, 2011 10:00:52 PM org.sonatype.guice.bean.reflect.NamedClass
>> WARNING: Error injecting: org.eclipse.tycho.p2.facade.P2TargetPlatformResolver
>> com.google.inject.ProvisionException: Guice provision errors:
>>
>> 1) Error notifying InjectionListener org.sonatype.guice.plexus.binders.PlexusBeanBinder at 6b177115 of org.eclipse.tycho.p2.facade.P2TargetPlatformResolver.
>> Reason: java.lang.RuntimeException: java.lang.IllegalStateException: Service is not registered class='interface org.eclipse.tycho.p2.metadata.ProxyServiceFacade'
>> while locating org.eclipse.tycho.p2.facade.P2TargetPlatformResolver
>>
>> 1 error
>> at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:977)
>> at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1003)
>> at org.sonatype.guice.bean.reflect.AbstractDeferredClass.get(AbstractDeferredClass.java:47)
>> at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
>> at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:968)
>> at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1014)
>> at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:964)
>> at com.google.inject.Scopes$1$1.get(Scopes.java:59)
>> at org.sonatype.guice.bean.locators.LazyBeanEntry.getValue(LazyBeanEntry.java:79)
>> at org.sonatype.guice.plexus.locators.LazyPlexusBean.getValue(LazyPlexusBean.java:53)
>> at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:243)
>> at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:235)
>> at org.eclipse.tycho.core.resolver.DefaultTargetPlatformResolverFactory.lookupPlatformResolver(DefaultTargetPlatformResolverFactory.java:74)
>> at org.eclipse.tycho.core.resolver.DefaultTychoDependencyResolver.setupProject(DefaultTychoDependencyResolver.java:76)
>> at org.eclipse.tycho.core.maven.TychoMavenLifecycleParticipant.afterProjectsRead(TychoMavenLifecycleParticipant.java:85)
>> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:273)
>> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
>> at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
>> at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
>> at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
>> 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.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
>> at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
>> at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
>> at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
>> Caused by: java.lang.RuntimeException: java.lang.IllegalStateException: Service is not registered class='interface org.eclipse.tycho.p2.metadata.ProxyServiceFacade'
>> at org.eclipse.tycho.equinox.embedder.DefaultEquinoxEmbedder.getService(DefaultEquinoxEmbedder.java:194)
>> at org.eclipse.tycho.equinox.embedder.DefaultEquinoxEmbedder.getService(DefaultEquinoxEmbedder.java:187)
>> at org.eclipse.tycho.equinox.embedder.DefaultEquinoxServiceLocator.getService(DefaultEquinoxServiceLocator.java:23)
>> at org.eclipse.tycho.p2.facade.P2TargetPlatformResolver.initialize(P2TargetPlatformResolver.java:494)
>> at org.codehaus.plexus.PlexusLifecycleManager.initialize(PlexusLifecycleManager.java:285)
>> at org.codehaus.plexus.PlexusLifecycleManager.manageLifecycle(PlexusLifecycleManager.java:247)
>> at org.codehaus.plexus.PlexusLifecycleManager.manage(PlexusLifecycleManager.java:154)
>> at org.sonatype.guice.plexus.binders.PlexusBeanBinder.afterInjection(PlexusBeanBinder.java:78)
>> at com.google.inject.internal.MembersInjectorImpl.notifyListeners(MembersInjectorImpl.java:97)
>> at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:95)
>> at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
>> at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:968)
>> at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1021)
>> at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:964)
>> ... 27 more
>> Caused by: java.lang.IllegalStateException: Service is not registered class='interface org.eclipse.tycho.p2.metadata.ProxyServiceFacade'
>> at org.eclipse.tycho.equinox.embedder.DefaultEquinoxEmbedder.getService(DefaultEquinoxEmbedder.java:211)
>> at org.eclipse.tycho.equinox.embedder.DefaultEquinoxEmbedder.getService(DefaultEquinoxEmbedder.java:187)
>> at org.eclipse.tycho.p2.facade.internal.P2ProxyConfigurator.afterFrameworkStarted(P2ProxyConfigurator.java:46)
>> at org.eclipse.tycho.equinox.embedder.DefaultEquinoxEmbedder.doStart(DefaultEquinoxEmbedder.java:147)
>> at org.eclipse.tycho.equinox.embedder.DefaultEquinoxEmbedder.start(DefaultEquinoxEmbedder.java:55)
>> at org.eclipse.tycho.equinox.embedder.DefaultEquinoxEmbedder.getService(DefaultEquinoxEmbedder.java:192)
>> ... 40 more
>> [ERROR] Internal error: java.lang.RuntimeException: Could not instantiate required component: com.google.inject.ProvisionException: Guice provision errors:
>> [ERROR]
>> [ERROR] 1) Error notifying InjectionListener org.sonatype.guice.plexus.binders.PlexusBeanBinder at 6b177115 of org.eclipse.tycho.p2.facade.P2TargetPlatformResolver.
>> [ERROR] Reason: java.lang.RuntimeException: java.lang.IllegalStateException: Service is not registered class='interface org.eclipse.tycho.p2.metadata.ProxyServiceFacade'
>> [ERROR] while locating org.eclipse.tycho.p2.facade.P2TargetPlatformResolver
>> [ERROR] at ClassRealm[extension>org.eclipse.tycho:tycho-maven-plugin:0.12.0, parent: sun.misc.Launcher$AppClassLoader at 6d6f0472]
>> [ERROR] while locating org.eclipse.tycho.core.TargetPlatformResolver annotated with @com.google.inject.name.Named(value=p2)
>> [ERROR]
>> [ERROR] 1 error
>> [ERROR] role: org.eclipse.tycho.core.TargetPlatformResolver
>> [ERROR] roleHint: p2
>> [ERROR] -> [Help 1]
>> org.apache.maven.InternalErrorException: Internal error: java.lang.RuntimeException: Could not instantiate required component
>> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:168)
>> at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
>> at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
>> at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
>> 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.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
>> at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
>> at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
>> at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
>> Caused by: java.lang.RuntimeException: Could not instantiate required component
>> at org.eclipse.tycho.core.resolver.DefaultTargetPlatformResolverFactory.lookupPlatformResolver(DefaultTargetPlatformResolverFactory.java:76)
>> at org.eclipse.tycho.core.resolver.DefaultTychoDependencyResolver.setupProject(DefaultTychoDependencyResolver.java:76)
>> at org.eclipse.tycho.core.maven.TychoMavenLifecycleParticipant.afterProjectsRead(TychoMavenLifecycleParticipant.java:85)
>> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:273)
>> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
>> ... 11 more
>> Caused by: org.codehaus.plexus.component.repository.exception.ComponentLookupException: com.google.inject.ProvisionException: Guice provision errors:
>>
>> 1) Error notifying InjectionListener org.sonatype.guice.plexus.binders.PlexusBeanBinder at 6b177115 of org.eclipse.tycho.p2.facade.P2TargetPlatformResolver.
>> Reason: java.lang.RuntimeException: java.lang.IllegalStateException: Service is not registered class='interface org.eclipse.tycho.p2.metadata.ProxyServiceFacade'
>> while locating org.eclipse.tycho.p2.facade.P2TargetPlatformResolver
>> at ClassRealm[extension>org.eclipse.tycho:tycho-maven-plugin:0.12.0, parent: sun.misc.Launcher$AppClassLoader at 6d6f0472]
>> while locating org.eclipse.tycho.core.TargetPlatformResolver annotated with @com.google.inject.name.Named(value=p2)
>>
>> 1 error
>> role: org.eclipse.tycho.core.TargetPlatformResolver
>> roleHint: p2
>> at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:247)
>> at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:235)
>> at org.eclipse.tycho.core.resolver.DefaultTargetPlatformResolverFactory.lookupPlatformResolver(DefaultTargetPlatformResolverFactory.java:74)
>> ... 15 more
>> Caused by: com.google.inject.ProvisionException: Guice provision errors:
>>
>> 1) Error notifying InjectionListener org.sonatype.guice.plexus.binders.PlexusBeanBinder at 6b177115 of org.eclipse.tycho.p2.facade.P2TargetPlatformResolver.
>> Reason: java.lang.RuntimeException: java.lang.IllegalStateException: Service is not registered class='interface org.eclipse.tycho.p2.metadata.ProxyServiceFacade'
>> while locating org.eclipse.tycho.p2.facade.P2TargetPlatformResolver
>> at ClassRealm[extension>org.eclipse.tycho:tycho-maven-plugin:0.12.0, parent: sun.misc.Launcher$AppClassLoader at 6d6f0472]
>> while locating org.eclipse.tycho.core.TargetPlatformResolver annotated with @com.google.inject.name.Named(value=p2)
>>
>> 1 error
>> at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:977)
>> at com.google.inject.Scopes$1$1.get(Scopes.java:59)
>> at org.sonatype.guice.bean.locators.LazyBeanEntry.getValue(LazyBeanEntry.java:79)
>> at org.sonatype.guice.plexus.locators.LazyPlexusBean.getValue(LazyPlexusBean.java:53)
>> at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:243)
>> ... 17 more
>> Caused by: java.lang.RuntimeException: java.lang.IllegalStateException: Service is not registered class='interface org.eclipse.tycho.p2.metadata.ProxyServiceFacade'
>> at org.eclipse.tycho.equinox.embedder.DefaultEquinoxEmbedder.getService(DefaultEquinoxEmbedder.java:194)
>> at org.eclipse.tycho.equinox.embedder.DefaultEquinoxEmbedder.getService(DefaultEquinoxEmbedder.java:187)
>> at org.eclipse.tycho.equinox.embedder.DefaultEquinoxServiceLocator.getService(DefaultEquinoxServiceLocator.java:23)
>> at org.eclipse.tycho.p2.facade.P2TargetPlatformResolver.initialize(P2TargetPlatformResolver.java:494)
>> at org.codehaus.plexus.PlexusLifecycleManager.initialize(PlexusLifecycleManager.java:285)
>> at org.codehaus.plexus.PlexusLifecycleManager.manageLifecycle(PlexusLifecycleManager.java:247)
>> at org.codehaus.plexus.PlexusLifecycleManager.manage(PlexusLifecycleManager.java:154)
>> at org.sonatype.guice.plexus.binders.PlexusBeanBinder.afterInjection(PlexusBeanBinder.java:78)
>> at com.google.inject.internal.MembersInjectorImpl.notifyListeners(MembersInjectorImpl.java:97)
>> at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:95)
>> at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
>> at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:968)
>> at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1021)
>> at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:964)
>> at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1003)
>> at org.sonatype.guice.bean.reflect.AbstractDeferredClass.get(AbstractDeferredClass.java:47)
>> at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
>> at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:968)
>> at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1014)
>> at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:964)
>> ... 21 more
>> Caused by: java.lang.IllegalStateException: Service is not registered class='interface org.eclipse.tycho.p2.metadata.ProxyServiceFacade'
>> at org.eclipse.tycho.equinox.embedder.DefaultEquinoxEmbedder.getService(DefaultEquinoxEmbedder.java:211)
>> at org.eclipse.tycho.equinox.embedder.DefaultEquinoxEmbedder.getService(DefaultEquinoxEmbedder.java:187)
>> at org.eclipse.tycho.p2.facade.internal.P2ProxyConfigurator.afterFrameworkStarted(P2ProxyConfigurator.java:46)
>> at org.eclipse.tycho.equinox.embedder.DefaultEquinoxEmbedder.doStart(DefaultEquinoxEmbedder.java:147)
>> at org.eclipse.tycho.equinox.embedder.DefaultEquinoxEmbedder.start(DefaultEquinoxEmbedder.java:55)
>> at org.eclipse.tycho.equinox.embedder.DefaultEquinoxEmbedder.getService(DefaultEquinoxEmbedder.java:192)
>> ... 40 more
>> [ERROR]
>> [ERROR]
>> [ERROR] For more information about the errors and possible solutions, please read the following articles:
>> [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/InternalErrorException
>> Terminating xvnc.
>> $ vncserver -kill :21
>> Killing Xvnc process ID 17578
>> Archiving artifacts
>> Sending e-mails to: switchyard-dev at lists.jboss.org
>> Build was marked for publishing on https://ci.jboss.org/jenkins/
>> Finished: FAILURE
>> _______________________________________________
>> jbosstools-dev mailing list
>> jbosstools-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/jbosstools-dev
>>
>>
>
> /max
> http://about.me/maxandersen
>
>
>
>
> _______________________________________________
> jbosstools-dev mailing list
> jbosstools-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jbosstools-dev
--
Nick Boldt :: http://nick.divbyzero.com
--
Nick Boldt :: JBoss by Red Hat
Productization Lead :: JBoss Tools & Dev Studio
http://nick.divbyzero.com
More information about the jbosstools-dev
mailing list