[kepler-dev] New instructions for building the trunk of Kepler...

David Welker david.v.welker at gmail.com
Fri Dec 19 08:40:24 PST 2008


Agreed,

I am going to make it reflect the instructions on the our website shortly.

David
> Hi David,
>
> kepler/modules/build-area/README.txt should probably be updated to
> describe how to build using the current SVN tree instead of building
> from 1.0 sources.  The instructions for building using 1.0 should be
> later in file.  Most users will find it very confusing that the first
> instructions build from 1.0 sources instead of the sources that are
> in the svn repository.
>
> The problem here is that usually when one downloads a svn repository,
> one expects to build from it.  If there was a separate tar download
> that created a kepler-1.0/ directory, the I'd expect to be building
> with Kepler 1.0.
>
>
> _C
>
>
> David Welker wrote:
>> Hi Christopher and Matt,
>>
>> I thought I would chime in:
>>> Hi Christopher,
>>>
>>> Some comments to your email below...
>>>
>>> On Thu, Dec 18, 2008 at 7:45 AM, Christopher Brooks
>>> <cxh at eecs.berkeley.edu> wrote:
>>>  
>>>> Hi David,
>>>> Congrats!  The build system looks pretty good.  Below are
>>>> some suggestions
>>>>
>>>> 1. kepler/INSTALL.txt needs updating.
>>>> 2. kepler/modules/build-area/README.txt says:
>>>>   
>>>>> The latest version of quick instructions on how to build Kepler 
>>>>> using >
>>>>> the Extension Build System
>>>>> can be found here:
>>>>>
>>>>>
>>>>> https://dev.kepler-project.org/developers/teams/build/systems/build-system/extension-build-system/view 
>>>>>
>>>>>
>>>>> A possibly out-of-date version of this document is reproduced below:
>>>>>       
>>>> ...
>>>>
>>>> It would be good to commit to updating the README.txt file instead of
>>>> updating the a webpage.  The primary reason is that people who
>>>> are building might not have web access.
>>>>     
>>> I agree -- it would be best to keep the build instructions up to date
>>> in the SVN checkout.
>>>
>>>  
>>>> 3. In kepler/modules/build-area/README.txt, I ran
>>>> ant change-to -Dsuite=vanilla-1.0
>>>> which downloaded a jar file.  It would be nice if this download was
>>>> not required, perhaps if the jar file was checked in or built.
>>>> The primary reason is that if I'm on the plane and want to try out
>>>> Kepler from source, I can't.
>>>>     
>>> I also agree with this.  We'll need to discuss further how this core
>>> trunk module build works while we continue to refactor the core into
>>> more functionally distinct and smaller modules.
>>>
>>>   
>> For Kepler 1.0, we download a jar rather than source because 1.) it 
>> is a faster download and 2.) compiling is much faster. The jar file 
>> that you download actually contains the source and already compiled 
>> class files for both Kepler 1.0 and Ptolemy within their own jars. 
>> Any IDE should be able to read this source if you are interested.
>>
>> For Kepler trunk, in contrast, you download the modules that 
>> constitute the base system (common, core, util, actors, and 
>> directors) but probably soon some additional modules soon as well as 
>> Ptolemy just as they are found in the repository. The download takes 
>> a little longer as does compilation since you need to compile both 
>> the base system and ptolemy, whereas when working with 1.0 these are 
>> precompiled.
>>>> 4. There should probably be a top-level kepler/build.xml file that
>>>> runs the basic commands to build and run Kepler.  The reason is
>>>> that users will expect to be able to run ant in the top-level
>>>> directory and have something happen.   The kepler/build.xml
>>>> file need not be too complex, but it should have the basics
>>>> like run, compile and clean
>>>>     
>>> I also would like this.  In every other project the main build file is
>>> at the root of the development tree and can be run immediately after
>>> checkout.  We should be able to achieve the same while maintaining the
>>> whole ability to switch modules.
>>>   
>> We can make a build file that calls that build.xml in the build-area 
>> subdirectory. The reason this is like this is because Eclipse does 
>> not allow for nested projects. The modules need to be in their own 
>> projects because otherwise you have name clashes that confuse Eclipse 
>> due to overrides. Basically, if you want Eclipse to be able to see 
>> the build.xml file and associated files, they need to be peers to the 
>> modules, rather than one level higher.
>>>> 5. When I'm in kepler/modules/build-area, if I run "ant" with
>>>> no arguments, I should get back a list of the possible targets.
>>>>     
>>> An alternative would be to have 'ant' run the default trunk build,
>>> while the standard 'ant -projecthelp' gives the list of targets.  I
>>> could go either way on this.
>>>  
>>>> 6. When I'm in kepler/modules/build-area, what are the other
>>>> possibilities for "ant change-to"?
>>>>     
>>> Any of the other defined suites or modules that are in the modules
>>> subdirectory.  That this is confusing is one of the reasons we need
>>> the root level trunk build to be more transparent to developers who
>>> are new to the system.
>>>   
>> I am going to add a command that will query the repository and tell 
>> you what the other possibilities are for change-to. But the answer is 
>> any module that contains a modules.txt in a module-info directory is 
>> a candidate for the change-to command.
>>>> 7. I want to add targets for running findbugs and the Javadoc
>>>> doccheck.  Where should these go?
>>>>     
>>> Can't they just be added to the build.xml file, either directly or via
>>> an import?
>>>   
>> Sure. But you have to keep in mind that you are working with a 
>> differing set of modules as specified in modules.txt.
>>
>>>  
>>>> 8.  We really need a nightly Kepler build and a continuous build.
>>>>     
>>> We have the nightly build via NMI.  Its on Chad and David's todo lists
>>> to make this work again with the newly rearranged build.  Currently it
>>> is scheduled to run twice a day.  We could change this to run
>>> continuously, immediately starting a new build after the old one
>>> finishes, and only emailing results if there is an error.  Would that
>>> be helpful?
>>>
>>> Matt
>>>
>>>  
>>>> Again, these are all just small things and I'm sure that many
>>>> of them are on a todo list somewhere.  Again, congrats on getting
>>>> this going.
>>>>
>>>> _Christopher
>>>>
>>>> David Welker wrote:
>>>>   
>>>>> Hi Matt and everyone:
>>>>>
>>>>> Here is how you would use the build system to build at the trunk 
>>>>> (assuming
>>>>> you want to check out the trunk, which will check out all modules 
>>>>> except for
>>>>> ptolemy.)
>>>>>
>>>>> svn co https://code.kepler-project.org/code/kepler/trunk kepler
>>>>> cd kepler/modules/build-area
>>>>> ant change-to -Dsuite=vanilla-trunk
>>>>> ant run
>>>>>
>>>>> Here are the same commands, but with some explanation.
>>>>>
>>>>> 1.) svn co https://code.kepler-project.org/code/kepler/trunk kepler
>>>>>
>>>>> This checks out the trunk of kepler including all the modules. 
>>>>> Except,
>>>>> this doesn't check out ptolemy. This is a lengthy checkout, so be 
>>>>> patient.
>>>>>
>>>>> 2.) cd kepler/modules/build-area
>>>>>
>>>>> You need to change to this directory because this is where the 
>>>>> build.xml
>>>>> that runs everything is located.
>>>>>
>>>>> 3.) ant change-to -Dsuite=vanilla-trunk
>>>>>
>>>>> You need to do this to download ptolemy. Note, that temporarily, 
>>>>> this will
>>>>> download Ptolemy to the directory ptolemy-trunk. The reason is 
>>>>> because there
>>>>> already exists a ptolemy directory that is in use for another 
>>>>> purpose.
>>>>>
>>>>> 4.) ant run
>>>>>
>>>>> This will compile the code, build the kar files, and execute Kepler.
>>>>>
>>>>> Hope this helps. As you requested, I am sending this email to 
>>>>> kepler-dev
>>>>> as well.
>>>>>
>>>>> Please also note that the checkout is a little larger now than it 
>>>>> will be
>>>>> in the future as we make necessary modifications.
>>>>>
>>>>> _______________________________________________
>>>>> Kepler-dev mailing list
>>>>> Kepler-dev at kepler-project.org
>>>>> http://mercury.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-dev
>>>>>       
>>>> -- 
>>>> Christopher Brooks (cxh at eecs berkeley edu) University of California
>>>> CHESS Executive Director                      US Mail: 337 Cory Hall
>>>> Programmer/Analyst CHESS/Ptolemy/Trust        Berkeley, CA 94720-1774
>>>> ph: 510.643.9841 fax:510.642.2718             (Office: 545Q Cory)
>>>> home: (F-Tu) 707.665.0131 (W-F) 510.655.5480
>>>> _______________________________________________
>>>> Kepler-dev mailing list
>>>> Kepler-dev at kepler-project.org
>>>> http://mercury.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-dev
>>>>
>>>>     
>>>
>>>
>>>
>>>   
>>
>



More information about the Kepler-dev mailing list