Re: [all] Project consistency (was Re: [math] Re: Getting started questions)
On Feb 3, 2004, at 9:43 AM, Mark R. Diggory wrote: Brent Redeker wrote: On Feb 3, 2004, at 6:54 AM, Mark R. Diggory wrote: Here,here! I recommend using the maven generated, ant build.xml over the maven project.xml for developer building and testing. This then requires no dependencies on parent project.xml and it runs independently in just about any IDE. I reserve my own usage of Maven more for building site/releases, in which case you do need the dependency on the parent project.xml. I think this is a good suggestion. While I was setting myself up to be able to read/compile the sources, I really had little need to use Maven - build.xml is enough to compile and test the math project (and I assume Maven uses this as part of the process in creating a jar). Still, from what I can see, Maven might have uses for things other than just creating the web site and release builds. It downloads correct versions of all dependency jars, saving a little bit of work. Also, I imagine that if somebody makes documentation changes, they would need to do a 'maven site:generate' to see what the changes actually will look like. Yes, this is correct, But, at least in the math xdocs, I've provided an xsl stylesheet that mimics the xdoc transform so that you can loosely see what the contents will look like when generated (or at least verify that the xml file is valid. Try looking at any of the math/xdocs in Mozilla or I.E. you should see what I mean then. Hmmm... learn something new every day, I guess. I hadn't tried looking at the xdocs in a browser yet. The build.xml file in math is actually generated by calling "maven ant" which creates the build.xml (with the same dependencies as would ahve been resolved by maven itself. Maven doesn't actually use this build.xml file after this point though. So Mavne and build.xml will both generate approvximately the same jar contents, but any customization to the maven jar goals (via pre/postGoals in the maven.xml) will result in contents being different in the long run. In light of this, would it be useful for developers to be using Maven as well - in case an updated project.xml generates a changed build.xml? Or is the build.xml file always updated in CVS if the project.xml file is? (In other words, would a developer ever _need_ to run Maven to have the latest Ant build file, or is the latest build.xml in CVS always current with project.xml?) But for people who want to use Maven (for some reason or other), there could be instructions that say exactly which files/directories need to be checked out from jakarta-commons in addition to the jakarta-commons/math module. Yes, sensible. Ultimately I wish that the gloabal project contents were not housed in the jakarta-commons root directory, but in another "subproject" directory, then the two projects could be checked out in the same directory (eclipse workspace for instance) and easily built without having to get all the other commons projects. This would be something to bring up to everyone on the developers list. Then all project.xml would do something like ../site/project.xml All that wold be required to checkout and build any project would be: cvs checkout site cvs checkout math This would also keep all the site dependencies well organized would it not? That's a great idea; it makes complete sense to me. This would still preserve consistency among Commons projects, while making the necessary steps to check out a single sub-project a little more concise. Probably a much better idea in the long run than just maintaining a special project.xml file without the parent directory dependencies. Brent Redeker - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[all] Project consistency (was Re: [math] Re: Getting started questions)
On Mon, 2 Feb 2004, Phil Steitz wrote: > Paul Libbrecht wrote: > > Ah, this question is interesting. > > > > I recently removed the dependency on the ../project.xml in Jelly > > because I think checking out a module should produce free-standing things. > > Before being a commons-committer, I always patched the project.xml so > > as to get rid of the project inheritance (which is only for a handful > > of ownership information for the website anyways). > > These are good points. I would be +1 for doing this for [math]. -1 This seems like a bad idea to me. The whole point of doing this was to get some consistency across Commons components. Remember that Commons is ONE Jakarta subproject. It is not, and was never intended to be, a bunch of independent projects. As such, it should have a consistent build system, and a consistent web site. That is not going to happen if all of the components start breaking away from the commonality we have managed to introduce so far. -- Martin Cooper > > > > > > > Also, why do you need jakarta-commons/xdocs/ > > My mistake. All is actually needed is jakarta-commons/incl_nav.xml. > > Phil > > > - > 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]
Re: [math] Re: Getting started questions
Paul Libbrecht wrote: Ah, this question is interesting. I recently removed the dependency on the ../project.xml in Jelly because I think checking out a module should produce free-standing things. Before being a commons-committer, I always patched the project.xml so as to get rid of the project inheritance (which is only for a handful of ownership information for the website anyways). These are good points. I would be +1 for doing this for [math]. Also, why do you need jakarta-commons/xdocs/ My mistake. All is actually needed is jakarta-commons/incl_nav.xml. Phil - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [math] Re: Getting started questions
On Jan 31, 2004, at 2:43 PM, Phil Steitz wrote: Brent Redeker wrote: Hi, Yesterday, I had contacted the mailing lists saying I was interested in helping out with the Commons Math project. I received a helpful response from Mark Diggory. However, I now have some quick questions. (Please forgive me if the answer is already somewhere obvious.) I love Eclipse, which also seems to be the preferred IDE for the project. There is no dependency on Eclipse. You are correct - but I already use it and it seems to be what several others are using. So it just seemed to be a logical choice. I already figured out how to check out the CVS HEAD as a new Eclipse project. I also disabled the project's standard build configuration, and switched to using the Math build.xml file with Ant inside Eclipse. However, Eclipse still flags many things as errors - all related to package declarations or finding classes. Does anybody know how to turn off these errors? Most likely what Eclipse is complaining about is missing external dependencies. I am not an Eclipse expert (actually just switched over from NetBeans a few weeks ago), but what I do is use Project Properties -> Java Build Path -> Libraries -> Add External Jars to add the jars including the missing class definitions. I symlink the .maven/repository so the Eclipse directory browser can see the jars and just link directly to the jars in the local maven repo (once you get the maven build working, they will be there). The dependencies are enumerated in project.xml. I don't know if this is the best way to do it but it works4me. Actually, my problem was that I was using a default Eclipse project, and the source directory was just set to the project directory. But inside that was the src/ directory, then java/ (or experimental or test), and THEN the actual Java package directory hierarchy. This made Eclipse think the declared packages were at odds with the actual directory structure. Michael Gloegl answered this in an earlier reply (when I mistakenly omitted the [math] from my subject line) - I just had to explicitly define the source directories for Eclipse. As to your suggestion of the Add External Jars, so far I had not run into problems, since Ant was automatically fetching the necessary jars for me. However, it sounds like I'm best off getting Maven working; then I'll just try your system. Also, how does one set up a project to build with Maven? I have Maven installed, but I only checked out the Commons Math code from CVS. The project.xml file appears to want a project.xml file in the parent directory, so I am assuming that file is part of Jakarta Commons in general. So what additional modules should I be checking out? All of Commons? Is there a way to just check out the general stuff and the Commons Math stuff, without checking out all of the other projects? (I am kind of new to CVS as well, so maybe this is an ignorant question...) You are correct, for math's maven build to work, you need to have jakarta-commons/project.xml and you need your math checkout to be inside the jakarta-commons directory. If you don't want to co the entire jakarta-commons module, you can just co jakarta-commons/project.xml (see the full command here: http://jakarta.apache.org/site/cvsindex.html), then cd to jakarta-commons and co math from there, or you could even just create the jakarta-commons directory manually and grab the file from http://cvs.apache.org/viewcvs.cgi/*checkout*/jakarta-commons/ project.xml. You will also need jakarta-commons/xdocs to build the web site. Ah ha! I kind of suspected I'd have to something like that. I just wasn't sure exactly what stuff I'd all actually need. Thanks for the heads-up on needing jakarta-commons/xdocs, too. I don't know how to get Eclipse to do all of this. I just use the command line and point Eclipse at the directories. Hope this helps. Phil It sure did help, Phil, thanks a lot for your time. Hope my "newbie-ness" isn't too exasperating. Brent - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[math] Re: Getting started questions
Brent Redeker wrote: Hi, Yesterday, I had contacted the mailing lists saying I was interested in helping out with the Commons Math project. I received a helpful response from Mark Diggory. However, I now have some quick questions. (Please forgive me if the answer is already somewhere obvious.) I love Eclipse, which also seems to be the preferred IDE for the project. There is no dependency on Eclipse. I already figured out how to check out the CVS HEAD as a new Eclipse project. I also disabled the project's standard build configuration, and switched to using the Math build.xml file with Ant inside Eclipse. However, Eclipse still flags many things as errors - all related to package declarations or finding classes. Does anybody know how to turn off these errors? Most likely what Eclipse is complaining about is missing external dependencies. I am not an Eclipse expert (actually just switched over from NetBeans a few weeks ago), but what I do is use Project Properties -> Java Build Path -> Libraries -> Add External Jars to add the jars including the missing class definitions. I symlink the .maven/repository so the Eclipse directory browser can see the jars and just link directly to the jars in the local maven repo (once you get the maven build working, they will be there). The dependencies are enumerated in project.xml. I don't know if this is the best way to do it but it works4me. Also, how does one set up a project to build with Maven? I have Maven installed, but I only checked out the Commons Math code from CVS. The project.xml file appears to want a project.xml file in the parent directory, so I am assuming that file is part of Jakarta Commons in general. So what additional modules should I be checking out? All of Commons? Is there a way to just check out the general stuff and the Commons Math stuff, without checking out all of the other projects? (I am kind of new to CVS as well, so maybe this is an ignorant question...) You are correct, for math's maven build to work, you need to have jakarta-commons/project.xml and you need your math checkout to be inside the jakarta-commons directory. If you don't want to co the entire jakarta-commons module, you can just co jakarta-commons/project.xml (see the full command here: http://jakarta.apache.org/site/cvsindex.html), then cd to jakarta-commons and co math from there, or you could even just create the jakarta-commons directory manually and grab the file from http://cvs.apache.org/viewcvs.cgi/*checkout*/jakarta-commons/project.xml. You will also need jakarta-commons/xdocs to build the web site. I don't know how to get Eclipse to do all of this. I just use the command line and point Eclipse at the directories. Hope this helps. Phil - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]