Hi, I just had the mechanism to the plugin.
Had this parameter to use Maven POM instead of FitNesse classpath. <classPathProvider>maven</classPathProvider> The default value is "fitnesse". The new SNAPSHOT is available in the repository. There is an example there: http://mojo.codehaus.org/fitnesse-maven-plugin/examples/multiproject.html For the implementation I use a mixed of your example and "Better Builds With Maven ยง5.5.2". I can't use 100% of the book code, because Maven API changed. Hope it helps, Philippe -----Original Message----- From: Eric Torreborre [mailto:[EMAIL PROTECTED] Sent: mardi 6 mars 2007 01:24 To: Maven Users List Subject: RE: Using the POM classpath for integration testing [Please refer to the fitnesse thread regarding the fitnesse usage questions] Coming back to Maven2,... Since I would like to keep my acceptance pages along with my source files, I think I am going to need a way to launch my mojo with the project (recursive) dependencies in the classpath. Anyone knows how to do that easily? The only resource I have found that looked like that was: http://blogs.webtide.com/janb/2006/03/24/1143234000000.html I hope there's an easiest way, isn't? Thanks, Eric. -----Original Message----- From: Philippe Kernevez [mailto:[EMAIL PROTECTED] Sent: Monday, March 05, 2007 7:44 PM To: [EMAIL PROTECTED]; Eric Torreborre Subject: RE: Using the POM classpath for integration testing This is a thread that starts on Maven list. I transfer it because it more a debate about our use/pros/cons of fitnesse than a Maven2 discussion. Our process is: Before iteration * BA take stories for the next iteration, and write test data (only data tables and comments ). During iteration * dev take a story and try to implement corresponding code. For doing this they: ** develop some code ** interact with BA if they discover some conflict ** enrich FitNesse page with Fixture names, parameters, etc. * CI: integrate and deploy to a shared Fitnesse server * HML (homologation)/BA re-run tests. All work on the server pages that are our tests referential. In your case the tests referential is Svn. In fact we prefer (and try to think about) to have the tests referential at the same place/tools than the code. But, we choose to keep an always available centralized server. All people (including non team member) can see the tests implementation advancement. We add few troubles with the centralizer fitnesse server. The drawbacks I see with this approach are: * We don't have the same referential for code and tests * we need to manage release/tags manually with FitNesse wiki copy. * We can't easily (without a dev help) replay older revision tests. In fact, these drawbacks are acceptable for us while we work on small iterations; most of the effort is on the trunk. I we had long time branch development; I may prefer your approach. My paradise would be to substitute the FitNesse version mechanism with Subversion revision. ;-) -----Original Message----- From: Eric Torreborre [mailto:[EMAIL PROTECTED] Sent: lundi 5 mars 2007 06:09 To: Maven Users List Subject: RE: Using the POM classpath for integration testing Hi Philippe, Here is the setup I have in mind. Not only in mind, this is what I previously did, excepted that we were using Ant. c:/.../project/src/main/java: production code c:/.../project/src/test/java/fixtures: fitnesse fixtures c:/.../project/src/test/resources/specs: fitnesse pages c:/.../tools/fitnesse/run_project.bat using fitnesse.jar from the maven repository and having FIT_SPECS=c:/.../project/src/test/resources/specs Then we can work like that: -developers: -develop the fixtures, -use Fitnesse locally to modify Fitnesse pages as necessary and commit -use the FitnesseRunner class to debug their fixtures -use maven-fitnesse-plugin to do a mvn install passing the acceptance tests -business analysts: -run Fitnesse locally against a proper version tag from the VCS (usually HEAD) and commit new pages if necessary -use a deployment server with the latest version (SNAPSHOT or production release) to "play" with the latest soft. But nothing written here is ever committed to the VCS -continuous integration server: -use maven-fitnesse-plugin to run the acceptance tests against the last version -updates the deployment server with the latest ok-release The important point is that there can be a shared Fitnesse server but only as a sandbox environment to play with the latest release. If business analysts need to commit pages, they have to test them first on their private Fitnesse server. The overall process that I would use is: -BA+dev: take a story -BA: create (or update) a Fitnesse page for it -BA: commit it (don't integrate it yet to the executed acceptance tests) -Dev: code the fixtures, test the page, commit (add the page to the acceptance test suite) -CI env: integrate and deploy to a shared Fitnesse server -BA: re-run the acceptance tests on the shared server, modify tables to have a look at other testing possibilities -BA: optionnaly rework the pages locally and commit them The drawbacks I see with this approach are: -you have to have Fitnesse installed on each BA/dev computer -they need to be "VCS-aware" -they may need to be "CI-aware" enough to know how to include/exclude an acceptance test from the suite -there is no real "wiki community" around the pages The advantages are: -you don't have to have a shared Fitnesse server always up (so the process is more robust, developers can still work if the server is down) -you can always run the acceptance tests against any release -the acceptance tests may execute faster (no need to retrieve the pages through http) -if BA are really contributing pages, they have to be aware of versionning, so you control what's in your releases -you can automate the production of an always coherent context.txt file from the pom.xml which is in the same project directory. Nobody ever has to worry about it -you can debug the fixtures After all this lengthy description, I would be really interested to know more about how you are actually working, and who's committing the pages. Because this BA/Dev interaction to write and maintain Fitnesse pages is not of the easiest ones! In your scenario, what I don't understand is how can you run the acceptance tests against any revision. If the pages come from the Fitnesse server, they always have a fixed revision tag, don't they? Eric. PS: sorry for maven users if this thread is beginning to look like a lot like a fitnesse-users thread! -----Original Message----- From: pkernevez [mailto:[EMAIL PROTECTED] Sent: Monday, March 05, 2007 6:42 AM To: 'Maven Users List' Subject: RE: Using the POM classpath for integration testing Hi Eric, I our approach there is always a centralized FitNesse server running. This server is available for all project people, including non developers. Our two main pains in this case is * to test local development (for a member of the team), without sharing 'non finished code' * to haven't to upload all of our jars to the server (we have about 10 develpers working with a small WAN connection) The plugin allows us to: * download the content of the page instead of upload the jars * have an insolated workspace for each developers (like for the unit test developpement) * keep an unique Test Repository without allowing the windows fill sharing (or samba) of the internal FitNesse repository. In our approach you must have a local (or share folder) FitNesse repository. Your can use the Jdk Options of the plugin to start the Jvm with debug options. In your approach it seems to be a 'one developer' team or manual synchronization of the FitNesse repository. In return, what do you think of this approach ? Philippe -----Original Message----- From: Eric Torreborre [mailto:[EMAIL PROTECTED] Sent: vendredi 2 mars 2007 02:27 To: Maven Users List Subject: RE: Using the POM classpath for integration testing Philippe, By the way, I had a different approach for executing the Fitnesse tests. I wrote a FitnessePageRunner class based on the FolderRunner class in the fitlibrary. This way, I don't have to launch a web server to do the job. The FitnessePageRunner: -converts content.txt files to html pages using Fitnesse classes -runs the FolderRunner class -analyzes the indexReport.html page to get the results fitnesse-runner is a separate project so I can reuse this class to debug my application if necessary. What do you think of this approach? Eric. -----Original Message----- From: Philippe Kernevez [mailto:[EMAIL PROTECTED] Sent: Friday, March 02, 2007 2:36 AM To: 'Maven Users List' Subject: RE: Using the POM classpath for integration testing Hi Eric, Do you speak about the fitnesse-maven-plugin ? I suppose that's the case. The plugin doesn't use the POM dependencies because they are supposed to be specified in the Fitnesse page. The plugin provides a solution to change the server classpath (with string substitution), this allows to have an unix fitnesse server and to run the tests on a windows plateform. I didn't write any documentation yet :-( But, this is my next task. You may yet find an example with this sample: https://svn.codehaus.org/mojo/trunk/mojo/mojo-sandbox/fitnesse-maven-plu gin/ src/it/minimalist/pom.xml The <classPathSubstitutions> tag allows configuring the plugin for this use. You can also add dependencies to your plugin (like Fitnesse), they will be add to Fitnesse dependencies. In your case, you will have to define twice your dependency, and it wont be nice. We could and a tag to know if we want to add the current project dependencies to FitNesse. Does it answer to your question? Philippe Kernevez (Did we meet in Paris in SITI project ?) -----Original Message----- From: Eric Torreborre [mailto:[EMAIL PROTECTED] Sent: jeudi 1 mars 2007 07:46 To: users@maven.apache.org Subject: Using the POM classpath for integration testing Hi, I have written a simple maven plugin that runs Fitnesse pages during the integration-test phase. However, it looks like this plugin, when executed, does not find the classes that should be provided by the POM (along with dependencies). Is there is configuration that should be done, in order to make the plugin aware of the POM classes? I am certainly missing something very simple, I just don't know what! Thanks, Eric. Eric TORREBORRE Senior Technical Analyst Professional Services Asia-Pacific ................................................. C A L Y P S O Level 15, JT Building. 2-2-1 Toranomon, Minato-ku, Tokyo 105-0001 OFFICE +81-(0)3-5114-8262 FAX +81-(0)3-5114-8263 ................................................. www.calypso.com This electronic-mail might contain confidential information intended only for the use by the entity named. If the reader of this message is not the intended recipient, the reader is hereby notified that any dissemination, distribution or copying is strictly prohibited. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]