I'm trying to make sure the console behaves well when building, testing and debugging under Eclipse, and I've run into something I don't quite understand.
Currently, the admin console contains
output folders for Ant
, which get used when you run a build from the command line,
... and ...
output folders for Eclipse
, which get used when you build/run from within Eclipse.
However, my examination of the folders for other projects revealed no other projects with the Ant/Eclipse dichotomy.
Since the presence of the two build outputs presents (at least) several opportunities for one to confuse himself, and no benefit I can see other than the peace of mind that comes from knowing your IDE didn't do something unexpected to your work,
My current inclination is to remove one level of directories and just use one set of output folders regardless of the Dev Env.
If there's something I'm overlooking, though, please let me know. :):):):):)
P.S. I've looked in both the Wiki and the JBoss Development Process Guide, but have not seen anything yet that addresses this situation.
Ok, let's not everyone talk at once!
I've kept the folder structure for the build output as is (eclipse/ant). I'll take a stab at the intent:
... is to keep the "stuff for debugging in the IDE" in the eclipse folders, and the "real" build output in the ant folders.
That being the case, there are problems with running the admin-console project's integration tests from within eclipse, and it helps to keep them in mind when running in eclipse: The tool we used to automate the testing, htmlunit, uses a set of jar files that contains almost-duplicates of files from thirdparty we use in building the console.
So, the .classpath file we use was hand-crafted to place jar files from the htmlunit distribution before the corresponding jar files from thirdparty. So, if you plan to really build the console from eclipse, you should eliminate all references to the jarfiles from the directory named output/eclipse/webtest-classes (you can put them back to run the integration tests, if required, or keep two .classpath files.
Although I haven't seen any problems debugging yet, they may well occur if main classes load the wrong version of a thirdparty class. I realize the correct fix is probably to request thirdparty move up to the later jarfile version, but since this is only required for integration testware, the fix is lower priority than finishing the testing (IMHO, dissenting opinions grudgingly accepted).
Finally, if you want to build the integration tests within eclipse, open the ant view of build.xml and run the target compile-webtest. (If you don't have junit.jar in ant's classpath, you'll need to place it there in order for ant to be able to build junit tasks).
There, I think remembered everything. ;)
Bob Walker (walkerrl49)