[Building Sakai] How to checkout the 2.9.0 tag source including all tagged indie source?

Matthew Jones matthew at longsight.com
Wed Nov 28 06:16:55 PST 2012


I really don't think that this is going to work for you because of how the
build is setup. All of the indies have a parent of master instead of base,
so they won't actually build if you just include them in externals. You
have to put them all in the base pom and remove them all from core deploy
so the build doesn't download the assemblies. However since they have
released artifacts and not actually in the dependency tree maven may still
download some artifacts before the ones you customized get built. I don't
think it could be guaranteed to be predictable/consistent unless you wrote
a script to change all of the versions in all of the poms to something
unique and put the indie parent back to base (this is what we did at
Michigan). It might *look*: like it's working but if you examined all of
the jars across the board they might be named identically but actually have
different md5 sums and sizes. (We actually verified this too at Michigan)

I actually thing that sakai-2.9.x all could have the same problems since
the snapshots are also in the repository unless the snapshot repository was
turned off in a parent pom. Perhaps this is what some of the other
developers were commenting about in the past.

I'm seriously starting to question the value proposition of the majority of
indies in the core, it seems like it's just more work for me, more work for
everyone building the code in the community and more work for new
developers. If you use the indies 'as is´ it works out okay, but if you
want to customize them there really isn't a clear path for doing that
still. Perhaps we could have a two-step maven build process using a shell
script and two sets of externals, one that builds all of the indies
individually in order, then one that builds the core. This should guarantee
that the indies it builds are in the local repository and used correctly.
But a one step build process I wouldn't trust.


On Wed, Nov 28, 2012 at 8:53 AM, Gast, Cynthia (cmw6s) <
cmw6s at eservices.virginia.edu> wrote:

>  Thanks Steve!
> I'll make a stab at the externals this morning, send it to you both -- let
> you put it in place and I'll be happy to try it once you say so.
>
> Cindy
>
>  ------------------------------
> *From:* Steve Swinsburg [steve.swinsburg at gmail.com]
> *Sent:* Wednesday, November 28, 2012 6:40 AM
> *To:* Matthew Jones
> *Cc:* Gast, Cynthia (cmw6s); sakai-dev at collab.sakaiproject.org
>
> *Subject:* Re: [Building Sakai] How to checkout the 2.9.0 tag source
> including all tagged indie source?
>
>  It should be pretty easy to just create a .externals that points to the
> various tags instead of the branch, using the tagged 2.9.0 one as a base,
> then adding in the indie tags. Then combine that with the tagged version of
> core-deploy and the main pom and its done.
>
>  I'd imagine that is what Chris was suggesting, rather than specific
> revisions from the branch.
> If it wasn't late in the eve I'd do it. Chris/Cynthia if you dont get to
> it before Friday, I'll get onto this.
>
>  cheers,
> Steve
>
>
> On Wed, Nov 28, 2012 at 12:19 PM, Matthew Jones <matthew at longsight.com>wrote:
>
>> I'd just use the 2.9.x-all branch. If you used 2.9.0 you'd have to mess
>> around too much with the core-deploy and change too many other versions.
>>
>>  If you wanted to lock it down to specific revisions, you'd want to have
>> an msub in svn and make a copy of the 2.9.x-all branch, then either
>> manually or with some script go down each external and set it to the
>> revision which was tagged for 2.9.0
>>
>>  #Pseudocode
>>  foreach external in 2.9.x-all {
>> do a regex of 2.9.x to 2.9.0
>> svn info on the 2.9.0 revision
>> print back revision number in the external
>> }
>>  svn propset external
>> svn commit
>>
>>  I had a script that *kind of* did this for Michigan, but it set the
>> latest 2.9.x revision, and I had to manually bump it back if we didn't want
>> that version.
>>
>> https://source.sakaiproject.org/svn/msub/umich.edu/ctools/builds/trunk/tools/versionSetter.pl
>>
>>  I didn't think it would take more than an hour to write this script, it
>> ended up taking a little more than 2 hours because the poms are pretty
>> inconsistent. The names of the artifactId don't always match the names of
>> the directory they're in, not all poms have version tags in them (so they
>> inherit from the master, this is mostly true for the ones in core) and the
>> core is still on a 2 digit version.
>>
>>  However the versions for core and indies for 2.9.0 should be correct in
>> this externals
>> https://source.sakaiproject.org/contrib/cle-release/scripts/externals/
>>
>>  Then if you did want some newer version you could just update it.
>>
>>  What was your suggestion, Chris?
>>
>>
>>  On Tue, Nov 27, 2012 at 2:45 PM, Gast, Cynthia (cmw6s) <
>> cmw6s at eservices.virginia.edu> wrote:
>>
>>>   Hello:
>>>
>>> We are setting up for our 2.9.0 upgrade.  We need source for all the
>>> projects.  First, I exported the 2.9.0 tag, but this only provides source
>>> for some projects (as has been discussed); all indie project tagged source
>>> would have to be acquired still.  I took a look at the checkout using the
>>> 2.9.x-all branches (svn export
>>> https://source.sakaiproject.org/svn/sakai/branches/sakai-2.9.x-all/./2.9.x-all).  I see the externals is set to the trunk branches.  So while
>>> it does allow me to acquire source for all the core + indie projects, it is
>>> source from trunk (with pom files referring to SNAPSHOT versions).
>>>
>>> Has anyone created an externals that allows one to export the source for
>>> the 2.9.0 tag plus the tag versions of the indies that make it up? ... a
>>> 2.9.0-all ?  This would be a huge help to those of us who do build all
>>> source.
>>>
>>> If not, would it help if I created the externals file to allow us to do
>>> this?  Otherwise, I'll go get each indie's source one-by-one according to
>>> the version tag.
>>>
>>> Thanks for considering this,
>>> Cynthia Gast
>>> UVa Sakai development team
>>> cmw6s at virginia.edu
>>>
>>>  _______________________________________________
>>> 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"
>>>
>>
>>
>> _______________________________________________
>> 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"
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20121128/4c187aa7/attachment.html 


More information about the sakai-dev mailing list