[kepler-dev] ksw builds
Chad Berkley
berkley at nceas.ucsb.edu
Fri Sep 16 13:33:27 PDT 2005
Hey,
I'm ready to change kepler over to use the new Object Manager/KSW
architecture. I wanted to see what people think should be done with the
build process because this is going to affect the way we build kepler on
a daily basis. Here's the scenario of how kepler is now going to work:
When you first checkout a clean copy of kepler, the ant task
'buildkswlib' needs to be run. This builds all of the ksw files from
the actorList.moml and directorList.moml files. The ksw files contain
metadata and the implementation class of each actor and director in the
system. The ksw files are placed in the directory kepler/ksw. When you
run kepler for the first time after building the ksw library, the ksw
files are read from this directory and cached using the object manager.
This takes about 45 secs to a minute (on my P4 2.8GHz machine). Once
the ksw files are cached, any subsequent runs of kepler takes the normal
8-12 seconds to start up.
What I would like feedback on, is how would you like the build system
setup and how would you like to distribute this to users? I'm perfectly
happy to do 'ant buildkswlib' as a first step to building kepler (just
like I do 'ant ptolemy' as a first step) but I know other people use
different build systems and may like to see this streamlined (note that
you should only have to do an 'ant buildkswlib' once unless you want a
fully clean build). One way around this is to have not just the ksw
files, but also the cache pre-built by ant. There could be an ant
'setup' target or the like that would build the ksw library and run the
object manager to cache all of the ksw files. This setup stage could
also include building ptII which would make one setup step for a clean
checkout of kepler.
On the distribution side, I think we should distribute a pre-built cache
and install it with the installAnywhere installer. This will keep users
from having to wait the initial 45 secs - 1 min. for the caching to take
place. I'm not sure how hard this would be to do with InstallAnywhere
but it seems pretty easy.
Anyway, suggestions are appreciated. I am going to switch the build
process to use the new ksw system this afternoon, unless I hear any
major objections within the next few hours. When I do, i'll send out
another email detailing what you have to do to get kepler to run. I
think we can work the kinks in the build system as time goes on and we
get used to the new system. Please let me know if you have any
questions/comments.
Thanks,
chad
More information about the Kepler-dev
mailing list