Re: New Samples Framework for Geronimo.
Created a -Puser profile. Revision 498337 Cheers Prasad On 1/20/07, Prasad Kashyap [EMAIL PROTECTED] wrote: Alright.. I can put that in a profile. But a user should be able to have a way to build and install it all in one go. If that's a profile invocation, then so be it. Cheers Prasad On 1/20/07, Jason Dillon [EMAIL PROTECTED] wrote: I don't believe that the default build of samples should attempt to start Geronimo or deploy anything, which it appears that it currently does. The default build, should compile/package/install and should not be attempting to start or deploy anything. --jason On Jan 20, 2007, at 6:21 AM, Prasad Kashyap wrote: On 1/19/07, Jason Dillon [EMAIL PROTECTED] wrote: Aight... well, be careful. This looks like that start of an unmaintainable build configuration. And... It still does not build: This should fix it. Modified: Apache\geronimo\samples\pom.xml Sending Content: C:\Apache\geronimo\samples\pom.xml Completed: At revision: 498113 Thanx Prasad snip Bliss:~/ws/geronimo/samples jason$ mvn [INFO] Scanning for projects... [INFO] Reactor build order: [INFO] Geronimo Samples [INFO] Geronimo Maven2 Plugins :: Samples Archetype [INFO] Geronimo Samples :: Stateless Session :: Calculator [INFO] Geronimo Samples :: Stateless Session :: Calculator EJB [INFO] Geronimo Samples :: Stateless Session :: Calculator WAR [INFO] Geronimo Samples :: Stateless Session :: Calculator EAR [INFO] - --- [INFO] Building Geronimo Samples [INFO]task-segment: [install] [INFO] - --- [INFO] [site:attach-descriptor] [INFO] [install:install] [INFO] Installing /Users/jason/ws/geronimo/samples/pom.xml to /Users/ jason/.m2/repository/org/apache/geronimo/samples/samples/2.0- SNAPSHOT/ samples-2.0-SNAPSHOT.pom [INFO] - --- [INFO] Building Geronimo Maven2 Plugins :: Samples Archetype [INFO]task-segment: [install] [INFO] - --- [INFO] [plugin:descriptor] [INFO] Using 2 extractors. [INFO] Applying extractor for language: java [INFO] Extractor for language: java found 0 mojo descriptors. [INFO] Applying extractor for language: bsh [INFO] Extractor for language: bsh found 0 mojo descriptors. [INFO] [resources:resources] [INFO] Using default encoding to copy filtered resources. [INFO] - --- [ERROR] BUILD ERROR [INFO] - --- [INFO] Failed to resolve artifact. Missing: -- 1) org.apache.geronimo.specs:geronimo-ejb_3.0_spec:jar:1.0-SNAPSHOT Try downloading the file manually from the project website. Then, install it using the command: mvn install:install-file -DgroupId=org.apache.geronimo.specs - DartifactId=geronimo-ejb_3.0_spec \ -Dversion=1.0-SNAPSHOT -Dpackaging=jar -Dfile=/path/to/ file Path to dependency: 1) org.apache.geronimo.samples:geronimo-samples- archetype:maven-plugin:2.0-SNAPSHOT 2) org.apache.geronimo.specs:geronimo-ejb_3.0_spec:jar:1.0- SNAPSHOT -- 1 required artifact is missing. for artifact: org.apache.geronimo.samples:geronimo-samples-archetype:maven- plugin:2.0-SNAPSHOT from the specified remote repositories: central (http://repo1.maven.org/maven2) [INFO] - --- [INFO] For more information, run Maven with the -e switch [INFO] - --- [INFO] Total time: 4 seconds [INFO] Finished at: Fri Jan 19 20:45:33 PST 2007 [INFO] Final Memory: 7M/13M [INFO] - --- /snip --jason On Jan 19, 2007, at 7:54 PM, Prasad Kashyap wrote: On 1/19/07, Jason Dillon [EMAIL PROTECTED] wrote: Why are there reporting elements in the architype (and also in the first sample), which are not at the top-level, but are in calculator- stateless-pojo? The requirement is for only 2 reporting elements, javadoc and jxr. A user should be able to download each sample separately, generate javadoc and source xrefs, and install the samples with those gen'ed files. The javadoc and jxr plugins can be configured with aggregate options. Executing the reporting at the top level will aggregate the reports at that level, not for the individual sample. But the user will be downloading the individual sample source package (eg: calculator-stateless-pojo)
Re: New Samples Framework for Geronimo.
On 1/19/07, Jason Dillon [EMAIL PROTECTED] wrote: Aight... well, be careful. This looks like that start of an unmaintainable build configuration. And... It still does not build: This should fix it. Modified: Apache\geronimo\samples\pom.xml Sending Content: C:\Apache\geronimo\samples\pom.xml Completed: At revision: 498113 Thanx Prasad snip Bliss:~/ws/geronimo/samples jason$ mvn [INFO] Scanning for projects... [INFO] Reactor build order: [INFO] Geronimo Samples [INFO] Geronimo Maven2 Plugins :: Samples Archetype [INFO] Geronimo Samples :: Stateless Session :: Calculator [INFO] Geronimo Samples :: Stateless Session :: Calculator EJB [INFO] Geronimo Samples :: Stateless Session :: Calculator WAR [INFO] Geronimo Samples :: Stateless Session :: Calculator EAR [INFO] [INFO] Building Geronimo Samples [INFO]task-segment: [install] [INFO] [INFO] [site:attach-descriptor] [INFO] [install:install] [INFO] Installing /Users/jason/ws/geronimo/samples/pom.xml to /Users/ jason/.m2/repository/org/apache/geronimo/samples/samples/2.0-SNAPSHOT/ samples-2.0-SNAPSHOT.pom [INFO] [INFO] Building Geronimo Maven2 Plugins :: Samples Archetype [INFO]task-segment: [install] [INFO] [INFO] [plugin:descriptor] [INFO] Using 2 extractors. [INFO] Applying extractor for language: java [INFO] Extractor for language: java found 0 mojo descriptors. [INFO] Applying extractor for language: bsh [INFO] Extractor for language: bsh found 0 mojo descriptors. [INFO] [resources:resources] [INFO] Using default encoding to copy filtered resources. [INFO] [ERROR] BUILD ERROR [INFO] [INFO] Failed to resolve artifact. Missing: -- 1) org.apache.geronimo.specs:geronimo-ejb_3.0_spec:jar:1.0-SNAPSHOT Try downloading the file manually from the project website. Then, install it using the command: mvn install:install-file -DgroupId=org.apache.geronimo.specs - DartifactId=geronimo-ejb_3.0_spec \ -Dversion=1.0-SNAPSHOT -Dpackaging=jar -Dfile=/path/to/file Path to dependency: 1) org.apache.geronimo.samples:geronimo-samples- archetype:maven-plugin:2.0-SNAPSHOT 2) org.apache.geronimo.specs:geronimo-ejb_3.0_spec:jar:1.0- SNAPSHOT -- 1 required artifact is missing. for artifact: org.apache.geronimo.samples:geronimo-samples-archetype:maven- plugin:2.0-SNAPSHOT from the specified remote repositories: central (http://repo1.maven.org/maven2) [INFO] [INFO] For more information, run Maven with the -e switch [INFO] [INFO] Total time: 4 seconds [INFO] Finished at: Fri Jan 19 20:45:33 PST 2007 [INFO] Final Memory: 7M/13M [INFO] /snip --jason On Jan 19, 2007, at 7:54 PM, Prasad Kashyap wrote: On 1/19/07, Jason Dillon [EMAIL PROTECTED] wrote: Why are there reporting elements in the architype (and also in the first sample), which are not at the top-level, but are in calculator- stateless-pojo? The requirement is for only 2 reporting elements, javadoc and jxr. A user should be able to download each sample separately, generate javadoc and source xrefs, and install the samples with those gen'ed files. The javadoc and jxr plugins can be configured with aggregate options. Executing the reporting at the top level will aggregate the reports at that level, not for the individual sample. But the user will be downloading the individual sample source package (eg: calculator-stateless-pojo) Also, the javadoc and jxr reports should not be inherited by every child module for they will also generate their own files. So we use inheritedfalse/inherited Now only an aggregated javadoc and source xref will be gen'ed at the top of each sample. This will be pulled into the war module and deployed to Geronimo server. I don't know how good a job I'm doing explaining this. Why does this project not inherit from genesis project-config? The project does not inherit from genesis' project-config because I could not prevent it from inheriting all the reports. I tried using excludeDefaults for the maven-project-info-plugin and that didn't work too. Why is the geronimo-maven-plugin configured here? See UseCase Scenario 1, Flow B. The user should be able to build the sample source package and deploy it in one go. In this flow, we are pushing the Geronimo binary on the user. And why on earth are there
Re: New Samples Framework for Geronimo.
On 1/19/07, Jason Dillon [EMAIL PROTECTED] wrote: Aight... well, be careful. This looks like that start of an unmaintainable build configuration. Moved reporting up to top level. The individual sample's parent will aggregate the javadoc and xref. Child modules will have css and images dir. But I guess we can live with it. Completed: At revision: 498119 Cheers Prasad And... It still does not build: snip Bliss:~/ws/geronimo/samples jason$ mvn [INFO] Scanning for projects... [INFO] Reactor build order: [INFO] Geronimo Samples [INFO] Geronimo Maven2 Plugins :: Samples Archetype [INFO] Geronimo Samples :: Stateless Session :: Calculator [INFO] Geronimo Samples :: Stateless Session :: Calculator EJB [INFO] Geronimo Samples :: Stateless Session :: Calculator WAR [INFO] Geronimo Samples :: Stateless Session :: Calculator EAR [INFO] [INFO] Building Geronimo Samples [INFO]task-segment: [install] [INFO] [INFO] [site:attach-descriptor] [INFO] [install:install] [INFO] Installing /Users/jason/ws/geronimo/samples/pom.xml to /Users/ jason/.m2/repository/org/apache/geronimo/samples/samples/2.0-SNAPSHOT/ samples-2.0-SNAPSHOT.pom [INFO] [INFO] Building Geronimo Maven2 Plugins :: Samples Archetype [INFO]task-segment: [install] [INFO] [INFO] [plugin:descriptor] [INFO] Using 2 extractors. [INFO] Applying extractor for language: java [INFO] Extractor for language: java found 0 mojo descriptors. [INFO] Applying extractor for language: bsh [INFO] Extractor for language: bsh found 0 mojo descriptors. [INFO] [resources:resources] [INFO] Using default encoding to copy filtered resources. [INFO] [ERROR] BUILD ERROR [INFO] [INFO] Failed to resolve artifact. Missing: -- 1) org.apache.geronimo.specs:geronimo-ejb_3.0_spec:jar:1.0-SNAPSHOT Try downloading the file manually from the project website. Then, install it using the command: mvn install:install-file -DgroupId=org.apache.geronimo.specs - DartifactId=geronimo-ejb_3.0_spec \ -Dversion=1.0-SNAPSHOT -Dpackaging=jar -Dfile=/path/to/file Path to dependency: 1) org.apache.geronimo.samples:geronimo-samples- archetype:maven-plugin:2.0-SNAPSHOT 2) org.apache.geronimo.specs:geronimo-ejb_3.0_spec:jar:1.0- SNAPSHOT -- 1 required artifact is missing. for artifact: org.apache.geronimo.samples:geronimo-samples-archetype:maven- plugin:2.0-SNAPSHOT from the specified remote repositories: central (http://repo1.maven.org/maven2) [INFO] [INFO] For more information, run Maven with the -e switch [INFO] [INFO] Total time: 4 seconds [INFO] Finished at: Fri Jan 19 20:45:33 PST 2007 [INFO] Final Memory: 7M/13M [INFO] /snip --jason On Jan 19, 2007, at 7:54 PM, Prasad Kashyap wrote: On 1/19/07, Jason Dillon [EMAIL PROTECTED] wrote: Why are there reporting elements in the architype (and also in the first sample), which are not at the top-level, but are in calculator- stateless-pojo? The requirement is for only 2 reporting elements, javadoc and jxr. A user should be able to download each sample separately, generate javadoc and source xrefs, and install the samples with those gen'ed files. The javadoc and jxr plugins can be configured with aggregate options. Executing the reporting at the top level will aggregate the reports at that level, not for the individual sample. But the user will be downloading the individual sample source package (eg: calculator-stateless-pojo) Also, the javadoc and jxr reports should not be inherited by every child module for they will also generate their own files. So we use inheritedfalse/inherited Now only an aggregated javadoc and source xref will be gen'ed at the top of each sample. This will be pulled into the war module and deployed to Geronimo server. I don't know how good a job I'm doing explaining this. Why does this project not inherit from genesis project-config? The project does not inherit from genesis' project-config because I could not prevent it from inheriting all the reports. I tried using excludeDefaults for the maven-project-info-plugin and that didn't work too. Why is the geronimo-maven-plugin configured here? See UseCase Scenario 1, Flow B. The user should be able to build the sample source package and deploy it in one go. In this flow, we are
Re: New Samples Framework for Geronimo.
I don't believe that the default build of samples should attempt to start Geronimo or deploy anything, which it appears that it currently does. The default build, should compile/package/install and should not be attempting to start or deploy anything. --jason On Jan 20, 2007, at 6:21 AM, Prasad Kashyap wrote: On 1/19/07, Jason Dillon [EMAIL PROTECTED] wrote: Aight... well, be careful. This looks like that start of an unmaintainable build configuration. And... It still does not build: This should fix it. Modified: Apache\geronimo\samples\pom.xml Sending Content: C:\Apache\geronimo\samples\pom.xml Completed: At revision: 498113 Thanx Prasad snip Bliss:~/ws/geronimo/samples jason$ mvn [INFO] Scanning for projects... [INFO] Reactor build order: [INFO] Geronimo Samples [INFO] Geronimo Maven2 Plugins :: Samples Archetype [INFO] Geronimo Samples :: Stateless Session :: Calculator [INFO] Geronimo Samples :: Stateless Session :: Calculator EJB [INFO] Geronimo Samples :: Stateless Session :: Calculator WAR [INFO] Geronimo Samples :: Stateless Session :: Calculator EAR [INFO] - --- [INFO] Building Geronimo Samples [INFO]task-segment: [install] [INFO] - --- [INFO] [site:attach-descriptor] [INFO] [install:install] [INFO] Installing /Users/jason/ws/geronimo/samples/pom.xml to /Users/ jason/.m2/repository/org/apache/geronimo/samples/samples/2.0- SNAPSHOT/ samples-2.0-SNAPSHOT.pom [INFO] - --- [INFO] Building Geronimo Maven2 Plugins :: Samples Archetype [INFO]task-segment: [install] [INFO] - --- [INFO] [plugin:descriptor] [INFO] Using 2 extractors. [INFO] Applying extractor for language: java [INFO] Extractor for language: java found 0 mojo descriptors. [INFO] Applying extractor for language: bsh [INFO] Extractor for language: bsh found 0 mojo descriptors. [INFO] [resources:resources] [INFO] Using default encoding to copy filtered resources. [INFO] - --- [ERROR] BUILD ERROR [INFO] - --- [INFO] Failed to resolve artifact. Missing: -- 1) org.apache.geronimo.specs:geronimo-ejb_3.0_spec:jar:1.0-SNAPSHOT Try downloading the file manually from the project website. Then, install it using the command: mvn install:install-file -DgroupId=org.apache.geronimo.specs - DartifactId=geronimo-ejb_3.0_spec \ -Dversion=1.0-SNAPSHOT -Dpackaging=jar -Dfile=/path/to/ file Path to dependency: 1) org.apache.geronimo.samples:geronimo-samples- archetype:maven-plugin:2.0-SNAPSHOT 2) org.apache.geronimo.specs:geronimo-ejb_3.0_spec:jar:1.0- SNAPSHOT -- 1 required artifact is missing. for artifact: org.apache.geronimo.samples:geronimo-samples-archetype:maven- plugin:2.0-SNAPSHOT from the specified remote repositories: central (http://repo1.maven.org/maven2) [INFO] - --- [INFO] For more information, run Maven with the -e switch [INFO] - --- [INFO] Total time: 4 seconds [INFO] Finished at: Fri Jan 19 20:45:33 PST 2007 [INFO] Final Memory: 7M/13M [INFO] - --- /snip --jason On Jan 19, 2007, at 7:54 PM, Prasad Kashyap wrote: On 1/19/07, Jason Dillon [EMAIL PROTECTED] wrote: Why are there reporting elements in the architype (and also in the first sample), which are not at the top-level, but are in calculator- stateless-pojo? The requirement is for only 2 reporting elements, javadoc and jxr. A user should be able to download each sample separately, generate javadoc and source xrefs, and install the samples with those gen'ed files. The javadoc and jxr plugins can be configured with aggregate options. Executing the reporting at the top level will aggregate the reports at that level, not for the individual sample. But the user will be downloading the individual sample source package (eg: calculator-stateless-pojo) Also, the javadoc and jxr reports should not be inherited by every child module for they will also generate their own files. So we use inheritedfalse/inherited Now only an aggregated javadoc and source xref will be gen'ed at the top of each sample. This will be pulled into the war module and deployed to Geronimo server. I don't know how good a job I'm doing explaining this. Why does this project not inherit from genesis project-config? The project does not inherit from genesis' project-config because I could not prevent it from inheriting all the
Re: New Samples Framework for Geronimo.
On 1/20/07, Jason Dillon [EMAIL PROTECTED] wrote: I don't believe that the default build of samples should attempt to start Geronimo or deploy anything, which it appears that it currently does. The default build, should compile/package/install and should not be attempting to start or deploy anything. I second that. I'm trying to figure out why it's failing for me. So, the less troubles at first glance, the merrier. Jacek -- Jacek Laskowski http://www.JacekLaskowski.pl
Re: New Samples Framework for Geronimo.
Alright.. I can put that in a profile. But a user should be able to have a way to build and install it all in one go. If that's a profile invocation, then so be it. Cheers Prasad On 1/20/07, Jason Dillon [EMAIL PROTECTED] wrote: I don't believe that the default build of samples should attempt to start Geronimo or deploy anything, which it appears that it currently does. The default build, should compile/package/install and should not be attempting to start or deploy anything. --jason On Jan 20, 2007, at 6:21 AM, Prasad Kashyap wrote: On 1/19/07, Jason Dillon [EMAIL PROTECTED] wrote: Aight... well, be careful. This looks like that start of an unmaintainable build configuration. And... It still does not build: This should fix it. Modified: Apache\geronimo\samples\pom.xml Sending Content: C:\Apache\geronimo\samples\pom.xml Completed: At revision: 498113 Thanx Prasad snip Bliss:~/ws/geronimo/samples jason$ mvn [INFO] Scanning for projects... [INFO] Reactor build order: [INFO] Geronimo Samples [INFO] Geronimo Maven2 Plugins :: Samples Archetype [INFO] Geronimo Samples :: Stateless Session :: Calculator [INFO] Geronimo Samples :: Stateless Session :: Calculator EJB [INFO] Geronimo Samples :: Stateless Session :: Calculator WAR [INFO] Geronimo Samples :: Stateless Session :: Calculator EAR [INFO] - --- [INFO] Building Geronimo Samples [INFO]task-segment: [install] [INFO] - --- [INFO] [site:attach-descriptor] [INFO] [install:install] [INFO] Installing /Users/jason/ws/geronimo/samples/pom.xml to /Users/ jason/.m2/repository/org/apache/geronimo/samples/samples/2.0- SNAPSHOT/ samples-2.0-SNAPSHOT.pom [INFO] - --- [INFO] Building Geronimo Maven2 Plugins :: Samples Archetype [INFO]task-segment: [install] [INFO] - --- [INFO] [plugin:descriptor] [INFO] Using 2 extractors. [INFO] Applying extractor for language: java [INFO] Extractor for language: java found 0 mojo descriptors. [INFO] Applying extractor for language: bsh [INFO] Extractor for language: bsh found 0 mojo descriptors. [INFO] [resources:resources] [INFO] Using default encoding to copy filtered resources. [INFO] - --- [ERROR] BUILD ERROR [INFO] - --- [INFO] Failed to resolve artifact. Missing: -- 1) org.apache.geronimo.specs:geronimo-ejb_3.0_spec:jar:1.0-SNAPSHOT Try downloading the file manually from the project website. Then, install it using the command: mvn install:install-file -DgroupId=org.apache.geronimo.specs - DartifactId=geronimo-ejb_3.0_spec \ -Dversion=1.0-SNAPSHOT -Dpackaging=jar -Dfile=/path/to/ file Path to dependency: 1) org.apache.geronimo.samples:geronimo-samples- archetype:maven-plugin:2.0-SNAPSHOT 2) org.apache.geronimo.specs:geronimo-ejb_3.0_spec:jar:1.0- SNAPSHOT -- 1 required artifact is missing. for artifact: org.apache.geronimo.samples:geronimo-samples-archetype:maven- plugin:2.0-SNAPSHOT from the specified remote repositories: central (http://repo1.maven.org/maven2) [INFO] - --- [INFO] For more information, run Maven with the -e switch [INFO] - --- [INFO] Total time: 4 seconds [INFO] Finished at: Fri Jan 19 20:45:33 PST 2007 [INFO] Final Memory: 7M/13M [INFO] - --- /snip --jason On Jan 19, 2007, at 7:54 PM, Prasad Kashyap wrote: On 1/19/07, Jason Dillon [EMAIL PROTECTED] wrote: Why are there reporting elements in the architype (and also in the first sample), which are not at the top-level, but are in calculator- stateless-pojo? The requirement is for only 2 reporting elements, javadoc and jxr. A user should be able to download each sample separately, generate javadoc and source xrefs, and install the samples with those gen'ed files. The javadoc and jxr plugins can be configured with aggregate options. Executing the reporting at the top level will aggregate the reports at that level, not for the individual sample. But the user will be downloading the individual sample source package (eg: calculator-stateless-pojo) Also, the javadoc and jxr reports should not be inherited by every child module for they will also generate their own files. So we use inheritedfalse/inherited Now only an aggregated javadoc and source xref will be gen'ed at the top of each sample.
Re: New Samples Framework for Geronimo.
Very nice...I like the idea of standalone samples. Without getting into the specs debate yet again ... but most likely will ... I like the samples released with the version of the server so people can pick up one version and know what its for. I think the organization for now is great as we can get the actual work done on the samples while we debate how to organize them for the next several months. Good job ! :) On Jan 19, 2007, at 12:22 PM, Prasad Kashyap wrote: Encouraged by your kind words of appreciation for the Testsuite framework, I put together a similar Samples Framework. http://svn.apache.org/viewvc/geronimo/samples/ UseCase Scenario 1 --- Actor: Geronimo user, JEE5 Developer. Requirements: * Actor wants to learn the new features of JEE5 by looking at sample code * He wants to play with sample code. * He wants to learn how to develop applications on Geronimo. * He may want to use the sample code as a template for his own application. Flow A (install downloaded sample binary) * Actor downloads a Geronimo server binary and unpacks it. * He then downloads a sample binary. * He starts Geronimo server. * He then deploys the sample artifact into running server. * He goes to the sample app's home page (context-root). Flow B: (build sample source and install) * Actor downloads a sample source package. * He installs Maven if he doesn't have it already. * He builds the sample project using maven. * Sample project automatically downloads the latest Geronimo server, starts it, and deploys the newly built sample. * It fires up a browser and brings up the sample home page (not implemented yet). See the following links in Firefox only ! Here is a page that gives a user instructions on working with samples. Every sample download will also have a customized relevant page like this, say as a README.html http://people.apache.org/~prasad/samples/index.html Here is a sample sample page. Notice the javadoc and source tabs in the top right corner of the page. http://people.apache.org/~prasad/samples/sample.html UseCase Scenario 2 --- Actor: Geronimo Developer, JEE5 Spec Implementor Interactions: Document Writer. Requirements: * Actor wants to create sample projects quickly without having to deal too much with Maven. Flow: * Actor executes a sample-archetype-plugin. * It creates a mvn project which will act as a template. * He only has to write JEE5 code for the sample application. * He then works with Document Writer to write the sample document. Cheers Prasad. Matt Hogstrom [EMAIL PROTECTED]
Re: New Samples Framework for Geronimo.
Why are there reporting elements in the architype (and also in the first sample), which are not at the top-level, but are in calculator- stateless-pojo? Why does this project not inherit from genesis project-config? Why is the geronimo-maven-plugin configured here? And why on earth are there sources (CalculatorServlet) checked in with: snip /* * Copyright 2002 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ /snip :-( And you should use the released dependencies you are referencing in he top-level pom, better yet depend on some part of Geronimo to pick those up transitively so don't have to work about keeping the versions in sync with a Geronimo version. Right now though this won't build, can probably fix by inheriting from genesis project-config to pick the right repository configurations, though these are old dep versions anyways... and you probably don't want to make them dependencies of all modules of the project, which is what you have setup right now. * * * I think its good to have some real samples to help folks get started, but I wish that a little more attention to some of these details was given. --jason On Jan 19, 2007, at 9:22 AM, Prasad Kashyap wrote: Encouraged by your kind words of appreciation for the Testsuite framework, I put together a similar Samples Framework. http://svn.apache.org/viewvc/geronimo/samples/ UseCase Scenario 1 --- Actor: Geronimo user, JEE5 Developer. Requirements: * Actor wants to learn the new features of JEE5 by looking at sample code * He wants to play with sample code. * He wants to learn how to develop applications on Geronimo. * He may want to use the sample code as a template for his own application. Flow A (install downloaded sample binary) * Actor downloads a Geronimo server binary and unpacks it. * He then downloads a sample binary. * He starts Geronimo server. * He then deploys the sample artifact into running server. * He goes to the sample app's home page (context-root). Flow B: (build sample source and install) * Actor downloads a sample source package. * He installs Maven if he doesn't have it already. * He builds the sample project using maven. * Sample project automatically downloads the latest Geronimo server, starts it, and deploys the newly built sample. * It fires up a browser and brings up the sample home page (not implemented yet). See the following links in Firefox only ! Here is a page that gives a user instructions on working with samples. Every sample download will also have a customized relevant page like this, say as a README.html http://people.apache.org/~prasad/samples/index.html Here is a sample sample page. Notice the javadoc and source tabs in the top right corner of the page. http://people.apache.org/~prasad/samples/sample.html UseCase Scenario 2 --- Actor: Geronimo Developer, JEE5 Spec Implementor Interactions: Document Writer. Requirements: * Actor wants to create sample projects quickly without having to deal too much with Maven. Flow: * Actor executes a sample-archetype-plugin. * It creates a mvn project which will act as a template. * He only has to write JEE5 code for the sample application. * He then works with Document Writer to write the sample document. Cheers Prasad.
Re: New Samples Framework for Geronimo.
Spec versioning with the server would have been nice to help keep artifacts in sync with the version of the server they are meant to go with. The new samples stuff is actually depending on versions of specs which are not the versions used by the server. Everytime we update a version of a spec in the server, we are gonna need to be sure to update all projects which are intended to work with that version of the server to get the correct versions too. :-( --jason On Jan 19, 2007, at 1:53 PM, Matt Hogstrom wrote: Very nice...I like the idea of standalone samples. Without getting into the specs debate yet again ... but most likely will ... I like the samples released with the version of the server so people can pick up one version and know what its for. I think the organization for now is great as we can get the actual work done on the samples while we debate how to organize them for the next several months. Good job ! :) On Jan 19, 2007, at 12:22 PM, Prasad Kashyap wrote: Encouraged by your kind words of appreciation for the Testsuite framework, I put together a similar Samples Framework. http://svn.apache.org/viewvc/geronimo/samples/ UseCase Scenario 1 --- Actor: Geronimo user, JEE5 Developer. Requirements: * Actor wants to learn the new features of JEE5 by looking at sample code * He wants to play with sample code. * He wants to learn how to develop applications on Geronimo. * He may want to use the sample code as a template for his own application. Flow A (install downloaded sample binary) * Actor downloads a Geronimo server binary and unpacks it. * He then downloads a sample binary. * He starts Geronimo server. * He then deploys the sample artifact into running server. * He goes to the sample app's home page (context-root). Flow B: (build sample source and install) * Actor downloads a sample source package. * He installs Maven if he doesn't have it already. * He builds the sample project using maven. * Sample project automatically downloads the latest Geronimo server, starts it, and deploys the newly built sample. * It fires up a browser and brings up the sample home page (not implemented yet). See the following links in Firefox only ! Here is a page that gives a user instructions on working with samples. Every sample download will also have a customized relevant page like this, say as a README.html http://people.apache.org/~prasad/samples/index.html Here is a sample sample page. Notice the javadoc and source tabs in the top right corner of the page. http://people.apache.org/~prasad/samples/sample.html UseCase Scenario 2 --- Actor: Geronimo Developer, JEE5 Spec Implementor Interactions: Document Writer. Requirements: * Actor wants to create sample projects quickly without having to deal too much with Maven. Flow: * Actor executes a sample-archetype-plugin. * It creates a mvn project which will act as a template. * He only has to write JEE5 code for the sample application. * He then works with Document Writer to write the sample document. Cheers Prasad. Matt Hogstrom [EMAIL PROTECTED]
Re: New Samples Framework for Geronimo.
On Jan 19, 2007, at 5:24 PM, Jason Dillon wrote: Why are there reporting elements in the architype (and also in the first sample), which are not at the top-level, but are in calculator-stateless-pojo? Why does this project not inherit from genesis project-config? Why is the geronimo-maven-plugin configured here? And why on earth are there sources (CalculatorServlet) checked in with: snip /* * Copyright 2002 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ /snip Ug...didn't look at the aources...my bad...good catch. Matt Hogstrom [EMAIL PROTECTED]
Re: New Samples Framework for Geronimo.
On 1/19/07, Jason Dillon [EMAIL PROTECTED] wrote: Why are there reporting elements in the architype (and also in the first sample), which are not at the top-level, but are in calculator- stateless-pojo? The requirement is for only 2 reporting elements, javadoc and jxr. A user should be able to download each sample separately, generate javadoc and source xrefs, and install the samples with those gen'ed files. The javadoc and jxr plugins can be configured with aggregate options. Executing the reporting at the top level will aggregate the reports at that level, not for the individual sample. But the user will be downloading the individual sample source package (eg: calculator-stateless-pojo) Also, the javadoc and jxr reports should not be inherited by every child module for they will also generate their own files. So we use inheritedfalse/inherited Now only an aggregated javadoc and source xref will be gen'ed at the top of each sample. This will be pulled into the war module and deployed to Geronimo server. I don't know how good a job I'm doing explaining this. Why does this project not inherit from genesis project-config? The project does not inherit from genesis' project-config because I could not prevent it from inheriting all the reports. I tried using excludeDefaults for the maven-project-info-plugin and that didn't work too. Why is the geronimo-maven-plugin configured here? See UseCase Scenario 1, Flow B. The user should be able to build the sample source package and deploy it in one go. In this flow, we are pushing the Geronimo binary on the user. And why on earth are there sources (CalculatorServlet) checked in with: snip /* * Copyright 2002 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ /snip :-( Oops. Thanks for catching it. The wrong file was checked in. It has since been corrected. . Completed: At revision: 498055 Thanx again. And you should use the released dependencies you are referencing in he top-level pom, better yet depend on some part of Geronimo to pick those up transitively so don't have to work about keeping the versions in sync with a Geronimo version. Right now though this won't build, can probably fix by inheriting from genesis project-config to pick the right repository configurations, though these are old dep versions anyways... and you probably don't want to make them dependencies of all modules of the project, which is what you have setup right now. * * * I think its good to have some real samples to help folks get started, but I wish that a little more attention to some of these details was given. --jason On Jan 19, 2007, at 9:22 AM, Prasad Kashyap wrote: Encouraged by your kind words of appreciation for the Testsuite framework, I put together a similar Samples Framework. http://svn.apache.org/viewvc/geronimo/samples/ UseCase Scenario 1 --- Actor: Geronimo user, JEE5 Developer. Requirements: * Actor wants to learn the new features of JEE5 by looking at sample code * He wants to play with sample code. * He wants to learn how to develop applications on Geronimo. * He may want to use the sample code as a template for his own application. Flow A (install downloaded sample binary) * Actor downloads a Geronimo server binary and unpacks it. * He then downloads a sample binary. * He starts Geronimo server. * He then deploys the sample artifact into running server. * He goes to the sample app's home page (context-root). Flow B: (build sample source and install) * Actor downloads a sample source package. * He installs Maven if he doesn't have it already. * He builds the sample project using maven. * Sample project automatically downloads the latest Geronimo server, starts it, and deploys the newly built sample. * It fires up a browser and brings up the sample home page (not implemented yet). See the following links in Firefox only ! Here is a page that gives a user instructions on working with samples. Every sample download will also have a customized relevant page like this, say as a README.html http://people.apache.org/~prasad/samples/index.html Here is a sample sample page. Notice the javadoc and source tabs in the top right corner of the page. http://people.apache.org/~prasad/samples/sample.html UseCase Scenario 2 --- Actor: Geronimo Developer, JEE5 Spec Implementor Interactions: Document Writer. Requirements: * Actor wants to create sample projects quickly without having to deal too much with Maven. Flow: * Actor executes a sample-archetype-plugin. * It creates a mvn project which will act as a template. * He only has to write JEE5 code for the sample application. * He then works with Document Writer to write the sample document. Cheers Prasad.
Re: New Samples Framework for Geronimo.
Aight... well, be careful. This looks like that start of an unmaintainable build configuration. And... It still does not build: snip Bliss:~/ws/geronimo/samples jason$ mvn [INFO] Scanning for projects... [INFO] Reactor build order: [INFO] Geronimo Samples [INFO] Geronimo Maven2 Plugins :: Samples Archetype [INFO] Geronimo Samples :: Stateless Session :: Calculator [INFO] Geronimo Samples :: Stateless Session :: Calculator EJB [INFO] Geronimo Samples :: Stateless Session :: Calculator WAR [INFO] Geronimo Samples :: Stateless Session :: Calculator EAR [INFO] [INFO] Building Geronimo Samples [INFO]task-segment: [install] [INFO] [INFO] [site:attach-descriptor] [INFO] [install:install] [INFO] Installing /Users/jason/ws/geronimo/samples/pom.xml to /Users/ jason/.m2/repository/org/apache/geronimo/samples/samples/2.0-SNAPSHOT/ samples-2.0-SNAPSHOT.pom [INFO] [INFO] Building Geronimo Maven2 Plugins :: Samples Archetype [INFO]task-segment: [install] [INFO] [INFO] [plugin:descriptor] [INFO] Using 2 extractors. [INFO] Applying extractor for language: java [INFO] Extractor for language: java found 0 mojo descriptors. [INFO] Applying extractor for language: bsh [INFO] Extractor for language: bsh found 0 mojo descriptors. [INFO] [resources:resources] [INFO] Using default encoding to copy filtered resources. [INFO] [ERROR] BUILD ERROR [INFO] [INFO] Failed to resolve artifact. Missing: -- 1) org.apache.geronimo.specs:geronimo-ejb_3.0_spec:jar:1.0-SNAPSHOT Try downloading the file manually from the project website. Then, install it using the command: mvn install:install-file -DgroupId=org.apache.geronimo.specs - DartifactId=geronimo-ejb_3.0_spec \ -Dversion=1.0-SNAPSHOT -Dpackaging=jar -Dfile=/path/to/file Path to dependency: 1) org.apache.geronimo.samples:geronimo-samples- archetype:maven-plugin:2.0-SNAPSHOT 2) org.apache.geronimo.specs:geronimo-ejb_3.0_spec:jar:1.0- SNAPSHOT -- 1 required artifact is missing. for artifact: org.apache.geronimo.samples:geronimo-samples-archetype:maven- plugin:2.0-SNAPSHOT from the specified remote repositories: central (http://repo1.maven.org/maven2) [INFO] [INFO] For more information, run Maven with the -e switch [INFO] [INFO] Total time: 4 seconds [INFO] Finished at: Fri Jan 19 20:45:33 PST 2007 [INFO] Final Memory: 7M/13M [INFO] /snip --jason On Jan 19, 2007, at 7:54 PM, Prasad Kashyap wrote: On 1/19/07, Jason Dillon [EMAIL PROTECTED] wrote: Why are there reporting elements in the architype (and also in the first sample), which are not at the top-level, but are in calculator- stateless-pojo? The requirement is for only 2 reporting elements, javadoc and jxr. A user should be able to download each sample separately, generate javadoc and source xrefs, and install the samples with those gen'ed files. The javadoc and jxr plugins can be configured with aggregate options. Executing the reporting at the top level will aggregate the reports at that level, not for the individual sample. But the user will be downloading the individual sample source package (eg: calculator-stateless-pojo) Also, the javadoc and jxr reports should not be inherited by every child module for they will also generate their own files. So we use inheritedfalse/inherited Now only an aggregated javadoc and source xref will be gen'ed at the top of each sample. This will be pulled into the war module and deployed to Geronimo server. I don't know how good a job I'm doing explaining this. Why does this project not inherit from genesis project-config? The project does not inherit from genesis' project-config because I could not prevent it from inheriting all the reports. I tried using excludeDefaults for the maven-project-info-plugin and that didn't work too. Why is the geronimo-maven-plugin configured here? See UseCase Scenario 1, Flow B. The user should be able to build the sample source package and deploy it in one go. In this flow, we are pushing the Geronimo binary on the user. And why on earth are there sources (CalculatorServlet) checked in with: snip /* * Copyright 2002 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ /snip :-( Oops.