[Building Sakai] Full Source Check out of Sakai 2.x

Jim Eng jimeng at umich.edu
Mon Aug 16 08:45:52 PDT 2010


I'd rather not checkout or build everything most of the time.  But you mention one problem I faced this morning when trying to add a method call to a class I'm working on.  I knew the interface and impl would be defined in kernel.  My pom already defined a dependency on kernel-api.  It seemed like that would be enough. But NO!  This particular kernel api is defined in another kernel jar entirely.  The javadocs for the interface and its package id gave me no clue what dependency was needed.  

I went to https://source.sakaiproject.org/svn/kernel/tags/ in my browser and started navigating around in different modules until I found the interface in the third or fourth place I looked.  Is there a simpler solution to that problem?  

Would it make sense for javadocs for each class and interface (or each package?) to identify its current destination module?  

Jim


On Aug 16, 2010, at 11:17 AM, csev wrote:

> Perhaps you are like me in that you would like to look around at times at the entire source of Sakai when you are trying to find where something defined, or look at some other chunk of Sakai for some examples on how to use this.
> 
> The recent trend toward indie releases has left the main checkout with less and less in it and often new bits go straight to indie release.
> 
> As a developer, you don't *need* the whole source, since the binary artifacts are nicely available in the maven repo.  But sometimes it is nice to have *all* the source when trying to track something down.   Also, if you have a slow connection, it is often much quicker to make all new snapshots from source rather than re-downloading a bunch of snapshots and tomcat overlays.   
> 
> Also if you want to do a full-compile from scratch, just to test if you broke trunk, it is kind of difficult. 
> 
> So..   I have made a set of scripts that address this issue - they do a full check out of all the source, all the indie projects, etc and then compile them all.  If you use these scripts, you should not download any SNAPSHOT artifacts from the repo as the scripts *should* compile them all.  Here are my scripts:
> 
> https://source.sakaiproject.org/contrib/csev/trunk/scripts/sakai-full/
> 
> You can simply check this out and then start running the scripts it will make an apache folder and sakai folder with source and off you go.  Here is an excerpt from the README.txt about each of the scripts and their function:
> 
> all.sh
> This script runs all of the other scripts, cleaning the repo, doing a checkout, doing a full compile, and then checking the results for Sakai artifacts that were not compiled (i.e. had to be downloaded).   This could also be used to do a nightly rebuild as it cleans out the sakai bits of the Maven repo.
> 
> co.sh
> Checkout all of the Sakai source.
> 
> na.sh
> Create a fresh instance of Tomcat
> 
> qmv.sh
> Compile all of the Sakai source
> 
> emv.sh
> Simply display the mvn command to compile any subset of the  Sakai source.  Use this when you recompile only the bit you are working on.  Run this script then cut and paste the  mvn command.
> 
> sv.sh
> Run an svn command on all of the source tree
> 
>   sh sv.sh update
>   sh sv.sh status
>   sh sv.sh diff
> 
> This is the first version of the scripts and I whipped them up over the weekend - so they might still be flawed.
> 
> Comments welcome.
> 
> /Chuck
> _______________________________________________
> sakai-dev mailing list
> sakai-dev at collab.sakaiproject.org
> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
> 
> TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of "unsubscribe"
> 
> 



More information about the sakai-dev mailing list