[kepler-dev] Re: Kepler question

Christopher Hylands Brooks cxh at eecs.berkeley.edu
Mon Jul 19 18:51:11 PDT 2004


Right, ant is a build system, similar to make, not a configuration
system like configure.

The downside of configure is that it requires shell programs like sed.
Under Windows, we use Cygwin so this is no big deal.  In principle, a
100% Java implementation of autoconf or something equivalent should be
possible.

In terms of using what we have in configure, it is fairly
straightforward to to substitute values in template files.  So, we
could have a build.xml that was created from build.xml.in.
build.xml.in would have @ANT_EXCLUDE@ in it somewhere.
configure would add the directories to ANT_EXCLUDE and then 
do the substitution.  In configure.in, we already do something similar
for eclipse, so the work is mostly done.

BTW - One religous issue is that the current ptII/build.xml file
creates .class files in a separate directory.  Personally, I'm not so
sure this is necessary with Java, since the .class files do not vary
as wildly as .o files do.

However, I'm sure that someone out there in Ant-land has solved this
problem before.

With regard to Web Start, it is not a replacement for an installer,
but I tend to build Web Start releases and then work with the install
tool (Zerog's InstallAnywhere) because it is much faster to tweak
jar files in Web Start. 

I suppose most users find the traditional "download the installer and
install" method more familiar than Web Start, but I think being able
to update installations using Web Start is a big win. 

For example, when I release Ptolemy II 4.0.1, Ptolemy II 4.0 Web Start
users should get the updated version automagically.  Users that
downloaded the 4.0 installer might never know about the 4.0.1 release.

We talked about hacking in an autoupdate facility into the standalone
Ptolemy II tree, but it would take work.

-Christopher



--------

    
    If you guys really need ant, all the configuration information is in 
    configure, not make.
    
    It seems like you could use configure to generate simple ant scripts, in 
    the same way that make
    is configured?
    
    Steve
    
    At 05:13 PM 7/19/2004, Matt Jones wrote:
    >Hi Dan,
    >
    >Daniel Higgins wrote:
    >>Hi Matt,
    >>    I think your suggestion is a good one, although keeping our version 
    >> in synch with Ptolemy may indeed be difficult! [But I can't think of a 
    >> better idea.]
    >>    FYI, there are some problems with our current ant build.
    >Yeah, I know.  When I wrote it, I wrote it fast and intentionally left 
    >stuff out, thinking that we'd eventually figure out why make is so 
    >slow.   Now I think we should add these features in, but possibly in a 
    >different target so that people don't have to run that stuff every time 
    >they build (e.g., javadocs).
    >
    >For example,
    >>we don't copy the source into the jar so that the 'Look Inside' command 
    >>doesn't show the source for atomic actors (unless the PTII dir was built 
    >>with 'make') Also, the make build includes building javadocs, which are 
    >>needed for the 'Documentation' menu for actors. Also, there seem to be a 
    >>few icons/images that can't be located with the ant build. It seems that 
    >>one reason the make build takes so long is that it does a number of 
    >>things we don't do yet in the ant build!
    >Yep. Lets fix that.  Another thing we need to do is check dependencies for
    
    >some of the optional Ptolemy features, and include that source in the 
    >build iff the dependencies are satisfied.  For example, java3D, jxta, 
    >matlab all have dependencies that aren't always satisfied -- check them, 
    >and then build if appropriate.  I just hacked it and excluded them to get 
    >stuff running under a somewhat faster build cycle than was possible using 
    >the ptolemy make-based system.  We need to fix my hack. Lo siento.
    >
    >>    Also, what do you think about using JavaWebStart for distributing 
    >> Kepler? It seems to work well for Ptolemy and is easier than downloading
    
    >> an installer.
    >
    >I think its a great idea.  Helps a lot with packaging discipline. However,
    
    >it doesn't replace a full installer -- JWS is still only workable for 
    >people who kinda understand java and how JWS works.  The installer with 
    >JRE can work for anyone and is more traditional.  One possibility would be
    
    >to modify Chad's Anthill builds to export the build products to a snapshot
    
    >dir that is configured for JWS, so that each time a snapshot is  built and
    
    >passes tests using anthill the web-jws version is updated -- so nightly 
    >builds become easy for others to use.
    >
    >Matt
    >
    >>Dan
    >>----
    >>Matt Jones wrote:
    >>
    >>>Hi Dan,
    >>>
    >>>Yeah, I think its a classpath thing.  I think Ilkay or Efrat set it 
    >>>up.  The way I was doing it, though, was to copy the class to the PTII 
    >>>dir and compile there, and excluded from the Kepler build.  The current 
    >>>situation is not an ideal situation, so we should probably come up with 
    >>>a fix.  Seems to me that we want to be building against the PTII head of
    
    >>>CVS, or at least a stable tag.  So I've talked with Chad and Efrat about
    
    >>>checking in a copy of PTII into our CVS so that we have access to that 
    >>>tree directly.  Then changes could be made directly there, and we coul 
    >>>dgenerate patches to submit to the PT group.  We'd have one person be 
    >>>responsible for keeping our copy psynched with theirs, but that might be
    
    >>>a difficult task.  Got any suggestions?
    >>>
    >>>Matt
    >>>
    >>>Dan Higgins wrote:
    >>>
    >>>>Matt,
    >>>>
    >>>>    I am trying to understand the Kepler/Ptolemy build system. You 
    >>>> created a new version of the BasicGraphFrame.java class that 
    >>>> 'replaces' the PTII version and adds the data tab to the left of the 
    >>>> Graph pane. The compiled version gets put into the kepler.jar. But the
    
    >>>> original version is in the ptolemy.jar file in the ptII directory. Is 
    >>>> the new class used simply because the jar it is in appears first in 
    >>>> the classpath, or is there something I don't understand about the syst
   em?
    >>>>
    >>>>Dan
    >>>
    >>>
    >
    >--
    >-------------------------------------------------------------------
    >Matt Jones                                     jones at nceas.ucsb.edu
    >http://www.nceas.ucsb.edu/    Fax: 425-920-2439    Ph: 907-789-0496
    >National Center for Ecological Analysis and Synthesis (NCEAS)
    >University of California Santa Barbara
    >Interested in ecological informatics? http://www.ecoinformatics.org
    >-------------------------------------------------------------------
    >_______________________________________________
    >kepler-dev mailing list
    >kepler-dev at ecoinformatics.org
    >http://www.ecoinformatics.org/mailman/listinfo/kepler-dev
    
    
    _______________________________________________
    kepler-dev mailing list
    kepler-dev at ecoinformatics.org
    http://www.ecoinformatics.org/mailman/listinfo/kepler-dev
--------



More information about the Kepler-dev mailing list