Le 09/10/2012 17:39, Burr Sutter a écrit :
If there are better examples than the current ones, please nominate them!  

The "old" examples from previous JBT versions and still available until now use old/incomplete descriptors. There are literally dozens of them that need to be tested against JBT4, which represents a significant effort. Many examples relate to ESB (or other technologies) and I don't think they should be included in JBT anymore, but rather contributed by some SOA plugins.

Likewise, identifying the JDF examples deserving to appear in JBT is no small feat, so I hoped this thread would help me gather some informations on what exactly we want to show the end-users.


On Oct 9, 2012, at 11:14 AM, Fred Bricon wrote:

Hi,

we need to clean up the project examples in JBoss Tools 4.0/JBDS 6.0 (as part of https://issues.jboss.org/browse/JBIDE-12554).
So, my idea was to replace all the old examples with the quickstarts from https://github.com/jboss-jdf/jboss-as-quickstart

Since the quickstarts are not available as standalone zips, for consumption in JBT/JBDS, I created a script (https://github.com/fbricon/jboss-as-quickstart/commit/cb1a0638b352434c48c7ecb6de20ed514e0c31fb) that does that, and it also generates a project example stub we can use almost directly in JBT.

D:\Dev\GitHub\jboss-as-quickstart>mvn groovy:execute -N -Pzip-modules,requires-postgres,complex-dependencies,requires-full,requires-xts
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building JBoss AS Quickstarts Parent 7.1.2-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- gmaven-plugin:1.4:execute (default-cli) @ jboss-as-quickstarts-parent ---
Starting zipping JBoss AS Quickstarts Parent modules
Deleting D:\Dev\GitHub\jboss-as-quickstart\target\zips
Zipped 51 quickstart modules
Generating project examples descriptor for JBoss Tools
[WARNING] module 'bmt' has a non matching artifactId 'jboss-as-bmt'
[WARNING] module 'cdi-injection' has a non matching artifactId 'jboss-as-cdi-injection'
[WARNING] module 'cdi-portable-extension' has a non matching artifactId 'jboss-as-cdi-portable-extension'
[WARNING] module 'ejb-in-ear' has a non matching artifactId 'jboss-as-ejb-in-ear'
[WARNING] module 'ejb-in-war' has a non matching artifactId 'jboss-as-ejb-in-war'
[WARNING] module 'ejb-remote' has a non matching artifactId 'jboss-as-ejb-remote-parent'
[WARNING] module 'ejb-security' has a non matching artifactId 'jboss-as-ejb-security'
[WARNING] module 'greeter' has a non matching artifactId 'jboss-as-greeter'
[WARNING] module 'helloworld' has a non matching artifactId 'jboss-as-helloworld'
[WARNING] module 'helloworld-errai' has a non matching artifactId 'jboss-as-helloworld-errai'
[WARNING] module 'helloworld-gwt' has a non matching artifactId 'jboss-as-helloworld-gwt'
[WARNING] module 'helloworld-html5' has a non matching artifactId 'jboss-as-helloworld-html5'
[WARNING] module 'helloworld-jms' has a non matching artifactId 'jboss-as-helloworld-jms'
[WARNING] module 'helloworld-osgi' has a non matching artifactId 'jboss-as-helloworld-osgi'
[WARNING] module 'helloworld-rs' has a non matching artifactId 'jboss-as-helloworld-rs'
[WARNING] module 'helloworld-singleton' has a non matching artifactId 'jboss-as-helloworld-singleton'
[WARNING] module 'hibernate3' has a non matching artifactId 'jboss-as-hibernate3'
[WARNING] module 'hibernate4' has a non matching artifactId 'jboss-as-hibernate4'
[WARNING] module 'kitchensink' has a non matching artifactId 'jboss-as-kitchensink'
[WARNING] module 'kitchensink-ear' has a non matching artifactId 'jboss-as-kitchensink-ear'
[WARNING] module 'kitchensink-html5-mobile' has a non matching artifactId 'jboss-as-kitchensink-html5-mobile'
[WARNING] module 'kitchensink-jsp' has a non matching artifactId 'jboss-as-kitchensink-jsp'
[WARNING] module 'kitchensink-ml' has a non matching artifactId 'jboss-as-kitchensink-ml'
[WARNING] module 'kitchensink-ml-ear' has a non matching artifactId 'jboss-as-kitchensink-ml-ear'
[WARNING] module 'log4j' has a non matching artifactId 'jboss-as-log4j'
[WARNING] module 'logging-tools' has a non matching artifactId 'jboss-as-logging-tools'
[WARNING] module 'mail' has a non matching artifactId 'jboss-as-mail'
[WARNING] module 'numberguess' has a non matching artifactId 'jboss-as-numberguess'
[WARNING] module 'payment-cdi-event' has a non matching artifactId 'jboss-as-payment-cdi-event'
[WARNING] module 'richfaces-validation' has a non matching artifactId 'jboss-as-richfaces-validation'
[WARNING] module 'servlet-async' has a non matching artifactId 'jboss-as-servlet-async'
[WARNING] module 'servlet-filterlistener' has a non matching artifactId 'jboss-as-servlet-filterlistener'
[WARNING] module 'servlet-security' has a non matching artifactId 'jboss-as-servlet-security'
[WARNING] module 'tasks' has a non matching artifactId 'jboss-as-tasks'
[WARNING] module 'tasks-jsf' has a non matching artifactId 'jboss-as-tasks-jsf'
[WARNING] module 'temperature-converter' has a non matching artifactId 'jboss-as-temperature-converter'
[WARNING] module 'tasks-rs' has a non matching artifactId 'jboss-as-tasks-rs'
[WARNING] module 'wicket-ear' has a non matching artifactId 'jboss-as-wicket-ear-parent'
[WARNING] module 'wicket-war' has a non matching artifactId 'jboss-as-wicket-war'
[WARNING] module 'xml-jaxp' has a non matching artifactId 'jboss-as-xml-jaxp'
[WARNING] module 'xml-dom4j' has a non matching artifactId 'jboss-as-xml-dom4j'
[WARNING] module 'cmt' has a non matching artifactId 'jboss-as-cmt'
[WARNING] module 'jts' has a non matching artifactId 'jboss-as-jts-parent'
[WARNING] module 'jax-rs-client' has a non matching artifactId 'jboss-as-jax-rs-client'
[WARNING] module 'inter-app' has a non matching artifactId 'jboss-as-inter-app-parent'
[WARNING] module 'helloworld-mdb' has a non matching artifactId 'jboss-as-helloworld-mdb'
[WARNING] module 'jta-crash-rec' has a non matching artifactId 'jboss-as-jta-crash-rec'
[WARNING] module 'wsat-simple' has a non matching artifactId 'jboss-as-wsat-simple'
[WARNING] module 'wsba-coordinator-completion-simple' has a non matching artifactId 'jboss-as-wsba-coordinator-completion-simple'
[WARNING] module 'wsba-participant-completion-simple' has a non matching artifactId 'jboss-as-wsba-participant-completion-simple'
D:\Dev\GitHub\jboss-as-quickstart\target\zips\quickstarts.xml generated


[WARNING] 50 quickstart artifactIds mismatch with their folder name.
This will prevent WTP from opening the proper url when running on a server.

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.506s
[INFO] Finished at: Tue Oct 09 15:02:44 CEST 2012
[INFO] Final Memory: 11M/490M
[INFO] ------------------------------------------------------------------------

As hinted  in the log, the examples wouldn't quite work perfectly OOTB. http://wiki.eclipse.org/M2E-WTP_FAQ#How_do_I_change_the_context_root_of_my_project.3F explains how the context root is inferred from the pom.xml by m2e-wtp. However our own JBoss AS server adapter ignores the WTP project context root and bases its deployment on the project name, leading to 404s as seen in the video below.

End result in JBT / Central : http://www.screencast.com/users/fbricon/folders/Jing/media/464f8246-84bc-4941-b84c-7ae6420c2ac7

Now.
 * are you guys ok to actually remove and replace the old examples with the JDF quickstarts
 * if you're ok, I'll setup a CI job to deploy the quickstarts to download.jboss.org
 * who's willing to give me a hand in validating the quickstarts properly work in JBT/JBDS. That includes :
      - checking the project belongs (or not) to JBT/JBDS
      - checking there's a proper project description
      - checking the projects are properly configured (I noticed some EARs are seen as 1.3 instead of 6.0) and compile without errors
      - checking the projects deploy OOTB on AS7/EAP6

Regards,

Fred Bricon