Hi,
I am not a committer but I was about to say this too.
I especially dislike the copies of ant, junit, ............ in every
modules src/lib directory.
Personally I'm not so worried about admin and manual, but maybe that's
because I haven't worked much with them yet.
I think essentially all of this can be done with a directory
reorganization.
My thoughts are along the lines of:
1. One cvs subproject including all the external jars that we don't build
ourselves. This would be OUTSIDE any jboss subproject, and all jboss
subprojects would reference it.
2. All jboss subprojects, including jboss itself, are "equal"-- mostly this
means take the catch-all dist out of jboss. Each subproject has a build
directory for the class files, and a dist directory for the jars.
3. There is a "master" dist directory -- maybe called deploy --- and each
build.xml can "deploy" its jars to this master.
4. There is a master ant build script that will build all subprojects of
jboss and put them into this master dist. This will document any necessary
build order dependencies.
One of the effects of this is that each subproject will have only files
created from that subproject. It will also ensure that when an external
jar is updated, all parts of the system will get the update at once --
there's only one copy. It should make cvs checkout a lot smaller too!
My $0.02
Thanks for bringing this up, i've been frustrated for quite a while.
David Jencks
On 2001.04.23 17:00:45 -0400 Jason Dillon wrote:
> Hello,
>
> I am a little frustrated with the JBoss build system, and I would like to
> try and find a way to fix it. The purpose of this email to try and get a
> feel for what other developers needs are and how we can modify the system
> to meet those needs.
>
> My basic complaints are these:
>
> o Inconsistent build support organization
>
> Build files (build.xml) seem to live in different places depending on
> which part of the system you check out. For example, jboss/admin has
> admin/build/build.xml (with only win32 .bat files) and jboss/jboss has
> src/build/build.xml (and builds files into jboss/build).
>
> Having a single consistent structure for the location of these files
> will
> make it dramatically easier to construct a modular system to build any
> part of JBoss (either core or support module).
>
> o Poor module and external project integration
>
> It appears that the current system relies on imported binaries built
> from other modules (such as the jbossmq module). This seems like it
> will make it increasingly difficult to separate support modules from
> the core infrastructure.
>
> Each of the external modules wants to have a JBOSS_HOME environment
> variable or something similar set, but each declares, or makes use of
> it in different ways. This makes it difficult to rebuild a given
> module
> if you are not familiar with the requirements that it has.
>
> I strongly feel that this project could benefit greatly by implementing
> a more modular build system. I believe that by doing so it will make it
> easier to isolate the core infrastructure from any external modules,
> which
> should make it easier to extend and maintain.
>
> I am not really sure what the best way is to go about implementing this
> though, and I would like to know what the rest of you think about this.
>
> I think that this could be broken down into a build system for a module
> (ie core, jbossmq, jbosssx) and then a system to aggregate the module
> build systems together. The later could be used to produce a release
> archive for the entire system.
>
> I looked a little at NetBeans, which basically does something very
> similar to this, but is a bit clumsy to get working correctly. I would
> like to have the JBoss build system be very easy to use, such that a new
> user, who wanted to get all of the modules from CVS and build the entire
> system could do something like this:
>
> > cvs -d ... get jboss-all
>
> This would produce a directory 'jboss-all', which would contain sub-
> directories for each module (core, jbossmq, admin...)
>
> > cd jboss-all
> > ./build
>
> This would execute the build system for each of the modules under
> jboss-all,
> then build a release directory which would contain the aggregate of each
> of the modules release directories..
>
> To get this sort of thing to work, we would need to have a very
> consistent
> directory structure under each module, that contained a set of standard
> targets that built files into common directories under that module.
>
> I am probably going to play around with some ideas that I have on how to
> implement this. If anyone has any comments on this I would really like
> to hear them.
>
> Thanks for your time,
>
> --jason
>
>
> _______________________________________________
> Jboss-development mailing list
> [EMAIL PROTECTED]
> http://lists.sourceforge.net/lists/listinfo/jboss-development
>
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development