Re: Barracuda: Moving the src directory
Shawn Wilson <[email protected]>
| Newsgroups | gmane.comp.java.enhydra.barracuda.general |
|---|---|
| Organization | ATMReports.com |
| Message-ID | <[email protected]> |
I could go either way on this issue. However, one caveat I can think of is that specific IDE's may not work as well if the WEB-INF folder is not in the root of your project. For example, I use Netbeans and when I mount the Barracuda root it successfully recognizes that it is a webapp because of /WEB-INF/web.xml which means it auto-mounts things like WEB-INF/classes and WEB-INF/lib. If this was moved to something like /web/WEB-INF this would no longer work. Just my $0.02. -shawn Ron Alsobrook wrote: > I agree with Jake on both counts. I too set up my projects as he describes > and it works great. It makes more sense to me to build from the root > directory and have the web root stuff a directory below, rather than the > other way around. > > Ron > > > -----Original Message----- > From: Jacob Kjome > Sent: Monday 09 December 2002 7:58 am > Subject: RE: Barracuda: Moving the src directory > > >>Ok, how about separating out the entire build area and building kind of >>like I have things set up in Diez' contrib project. >> >>You end up having a structure like: >> >>Barracuda/ >> build (created at build time) >> docs >> src >> src_generated (created at build time) >> src_mockups >> web/ >> WEB-INF/ >> jars >> lib >> >>The the "web" directory is pretty much just copied whole over to the >>"build" directory. When we want to do a "clean", all we have to do is >>delete the build directory and the src_generated directory. Nice and >>easy. Much simpler than having to remove various generated files that may >>have been generated or copied to areas where we want to keep most things >>and only remove a few things. >> >>Any thoughts? >> >>I just think this would make builds easier. It solves the locking issues >>and keeps the source and the build completely separated. This is how I do >>*all* my personal builds. >> >>Also, I can live with storing Barracuda generated jars in CVS. I still >>don't like it. A full build of Barracuda takes 47 seconds on my new >>machine so it isn't such a big deal for me to do a clean build. I *always* >>do a clean build anyway since it isn't always guaranteed that the jars are >>as up-to-date as the source. The reason being that we are human and forget >>to update the jars sometimes, even though we should. It is a maintenance >>issue. Everything should build fine at all times anway. Like I said, >>nightly builds would be there if you want the jars and if you grab a tagged >>version of the CVS (assuming it compiled successfully at one time) the >>compile should be guaranteed to work resulting in working jars. If it >>provides benefits for you to keep them in CVS, I guess that's fine. I >>would get rid of them if the choice were completely up to me. I don't know >>of any other project that keeps non-third-party jars in CVS. >> >>Jake >> >>At 10:20 PM 12/8/2002 -0500, you wrote: >> >>>Hi Jake, >>> >>> >>>>Don't we lose all the history by moving the directory? That >>>>wouldn't be a good thing to happen. If we can do it without >>> >>>Nope. We can do it without losing any history. Shawn's already tested it >>>out to verify. >>> >>> >>>>directory exists. However, doesn't this limit the documentation >>>>when linking to the relevant sourcecode? You can't link to >>> >>>Yeah, that would be a drawback, although probably not a real major one. We >>>could always link to the source through the cvsweb interface, so it'd >>>still be there. Or we could copy the text up to the docs directories if >>>need be. Let me think about it... >>> >>> >>>>Sounds fine, although you'll still have a problem with the <copy> >>>>of the jar files from the lib-cvs to lib because if the file >>>>dates on the files in lib are newer than those obtained via cvs, >>>>they won't be copied over....or maybe that is a good thing if the >>>>files in lib contain updates that don't exist in cvs? Well, >>> >>>The basic idea is that the files never get copied over unless the dates >>>are newer (which they would be if you rebuild the jars and update cvs). >>> >>> >>>>Well, either way, I don't like the idea of storing non-third-party >>>>libraries in cvs. I can see where people might like the idea of >>>>being able to obtain the libs without having to perform a build, >>>>but that is really what nightly builds are for. >>> >>>The biggest reason for doing it this way is so that you can tag a >>>particular version of cvs and then check out based on that tag, and know >>>that you have a running version of the system without having to do a >>>compile. Which makes it reeeeeeally easy to update the version on the >>>server. Otherwise you end up with a situation where you go to update the >>>server, it does a >>>clean/rebuild and something breaks, and now you have to figure out how to >>>recover. >>> >>> >>>>it brings up this whole issue >>>>of the cvs "update" failing because it can't delete libs that are >>>>stored in cvs and locked by the server. >>> >>>Actually, by using a lib-cvs approach, the jar files that are under cvs >>>are never actually locked, so it really isn't a problem. >>> >>>We can figure out all the details as we go forward, but for now I just >>>wanted to answer some of your basic questions. >>> >>>Christian >>>---------------------------------------------- >>>Christian Cryder [[email protected]] >>>Internet Architect, ATMReports.com >>>Barracuda - http://barracuda.enhydra.org >>>---------------------------------------------- >>>"Coffee? I could quit anytime, just not today" >>> >>> >>>>-----Original Message----- >>>>From: [email protected] >>>>[mailto:[email protected]]On Behalf Of Jacob Kjome >>>>Sent: Sunday, December 08, 2002 2:40 PM >>>>To: [email protected] >>>>Subject: Re: Barracuda: Moving the src directory >>>> >>>> >>>> >>>>Hi Christian, >>>> >>>>See comments below... >>>> >>>>At 04:54 PM 12/7/2002 -0500, you wrote: >>>> >>>>Hey folks, as we get ready to move things over to the BarracudaMVC >>>>server, we're going to be doing some much needed housecleaning. One of >>>>the things I'd like to do is move the src directory down underneath >>>>WEB-INF. It was orginally placed up in the content directory so that >>>>people could browse it >>>>online, but since the online cvs interface does a much better job of >>>>handling that anyway, I'd like to move it down underneath WEB-INF. Does >>>>anyone object to that? >>>> >>>> >>>>Don't we lose all the history by moving the directory? That >>>>wouldn't be a good thing to happen. If we can do it without >>>>losing the history, I really don't much care where the src >>>>directory exists. However, doesn't this limit the documentation >>>>when linking to the relevant sourcecode? You can't link to >>>>anything existing beneath WEB-INF unless you front the webapp >>>>with Another web server and don't enforce not being able to see >>>>under WEB-INF. And doing such a thing is not good practice >>>>anyway. I'm just wondering what the real benefits from moving >>>>the src directory are? >>>> >>>> >>>>Also, I'd like to move the build.xml stuff and the .bat files out >>>>of the src >>>>directory and into WEB-INF/bin, if nobody objects. The idea would be >>>>then that you'd go to WEB-INF/bin to build the system. >>>> >>>> >>>>There is probably no issue with this except for the concerns I >>>>already outlined above. Actually, if we are going to move things >>>>around, we might want to create a "source" directory and then >>>>beneath that have stuff like "bin", "java", "javascript", etc.... >>>>just to demarcate the different types of source that we have >>>>instead of lumping it all in to one java-centric package structure. >>>> >>>> >>>>Finally, one additional change will be to create a WEB-INF/lib-cvs >>>>directory, and to place all the jars that are under cvs in here, >>>>rather than >>>>in WEB-INF/lib. There would still be jars in the lib directory, but >>>>they won't be under cvs. The reason for doing this is so that you can >>>>update your >>>>Barracuda installs from cvs _without_ having to shut down Tomcat (when >>>>cvs updates, it tries to delete files before replacing them, and it >>>>can't do that to files in /lib because Tomcat has them locked). So the >>>>way it works then is you a) update from cvs and b) install (which >>>>copies jars from WEB-INF/lib-cvs to WEB-INF/lib. We've been using this >>>>strategy for about 4 mths now here at ATMReports, and its worked quite >>>>well. >>>> >>>> >>>>Sounds fine, although you'll still have a problem with the <copy> >>>>of the jar files from the lib-cvs to lib because if the file >>>>dates on the files in lib are newer than those obtained via cvs, >>>>they won't be copied over....or maybe that is a good thing if the >>>>files in lib contain updates that don't exist in cvs? Well, >>>>either way, I don't like the idea of storing non-third-party >>>>libraries in cvs. I can see where people might like the idea of >>>>being able to obtain the libs without having to perform a build, >>>>but that is really what nightly builds are for. If we diligently >>>>produced nightly builds, then storing the jars in cvs becomes >>>>truly pointless. It both unnecessarily increases the time to do >>>>a "checkout" of the latest cvs and it brings up this whole issue >>>>of the cvs "update" failing because it can't delete libs that are >>>>stored in cvs and locked by the server. There is no reason this >>>>issue should exist. I say lets completely get rid of any >>>>Barracuda-built jars from storage in cvs. >>>> >>>> >>>>If anyone has any comments on this, please speak up! I'm not planning >>>>on making these changes in existing cvs tree, but would put them in >>>>place on the new server. >>>> >>>> >>>>Let me know what you think. >>>> >>>>Jake >>>> >>>> >>>> >>>>Christian >>>>---------------------------------------------- >>>>Christian Cryder [[email protected]] >>>>Internet Architect, ATMReports.com >>>>Barracuda - http://barracuda.enhydra.org >>>>---------------------------------------------- >>>>"Coffee? I could quit anytime, just not today" >>>> >>>>_______________________________________________ >>>>Barracuda mailing list >>>>[email protected] >>>>http://www.enhydra.org/mailman/listinfo.cgi/barracuda >>>>FAQ - http://www.jguru.com/faq/Barracuda >>> >>>_______________________________________________ >>>Barracuda mailing list >>>[email protected] >>>http://www.enhydra.org/mailman/listinfo.cgi/barracuda >>>FAQ - http://www.jguru.com/faq/Barracuda > > > > _______________________________________________ > Barracuda mailing list > [email protected] > http://www.enhydra.org/mailman/listinfo.cgi/barracuda > FAQ - http://www.jguru.com/faq/Barracuda -- ==================================== Shawn Wilson [[email protected]] Software Developer, ATMReports.com PH: 877-327-0873, FAX: 406-294-5806 ==================================== _______________________________________________ Barracuda mailing list [email protected] http://www.enhydra.org/mailman/listinfo.cgi/barracuda FAQ - http://www.jguru.com/faq/Barracuda