Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [udig-dev] Intros: uDig & Eclipse/LocationTech releng

Thanks a lot!

Moving the discussion to the mailing list ..


Actually I read about the Nexus plugin but haven't had the change to try it yet. I guess it would be the easiest way to make a P2 repository available for the public. Question would be : Is/will Nexus OSS (be) part of the Locationtech infrastructure?

However, could anybody explain how the aggregator fits into the CBI picture and P2 Repository hosting. Question here is: Is it an automatic process for "Releasing projects" to deploy and aggregate into P2 repositories. Or with other words : is the P2-Deployment/Aggregation for Eclipse simultaneous Releases made by hand/scripts that running only once?

What I see:
* deployment of SNAPSHOTs and Releases into Maven repository (because uDig is build with Maven & Tycho) - it would be fantastic to separate snapshots from releases into two different repositories because for different update policies
* Optional (for the first shot) :
    * aggregate the deployed zip archives in a composite P2 Repository to have a single P2 URL for others, like http://locationtech.org/p2/releases/udig which contains for example 
      * etc.
      * and properly NIGTHLY/CONTINUOUS as well
* separating uDig into core modules, e.g. several supported catalog extensions and tools based on the platform/framework like jgrass, spatial toolbox (optional)

Looking forward to see a continuous build for uDig and deployments as a starting point to integrate uDIG in their Applications. 

Cheers
Frank

2013/7/12 Andrew Ross <andrew.ross@xxxxxxxxxxx>
Hi Guys,

The platform's build has many unique requirements that uDig may not need. The door is open to look at practice from other projects using CBI as those might prove simpler. CDT might be a good reference perhaps. Tycho is a notable project that does a great job of handling SNAPSHOT and RELEASE builds for example.

For what it's worth, it might make sense to think about Nexus to store uDig build output... even if p2 repositories are the output. The zip plugin for Nexus that SAP built would come in handy in that case. If there's no advantage over the downloads area, then simply using the downloads area like many projects do makes sense.

Also, rather than using Orbit, considering Nexus & the zip plugin to store LocationTech prerequisites from day 1 if that makes sense would be great. (/cc Wayne as I know he's thinking about this)

All that said... getting it pretty good quickly and iterating is better than striving for perfection and taking a while to get the builds happy, in my opinion.

Great to see this coming together!

Andrew


On 12/07/13 08:45, Thanh Ha wrote:
Hi Frank,

Currently I have Oracle JDKs 1.5, 1.6, and 1.7 configured but I can look into adding the OpenJDK versions as well.

> * How would we handle "SNAPSHOT" builds, I guess in Eclipse Universe you prefer to build nightly and call it a nightly release, don't you?

This question might be better for cross-project-dev but I'll try to answer as best I can, I've worked with 1 project (Eclipse Platform) that releases p2 repos lately so I can tell you about their release process as I understand it.

The Eclipse Platform project don't handle SNAPSHOTS the standard Maven way. In fact today all Platform builds are SNAPSHOTs builds regardless of Nightly, Integration or Releases. This is because they use a Tycho plugin to calculate the build qualifier and set it to the date/timestamp of the last commit that caused the specific bundle to change. This way their build qualifiers only change if there was a code change. They also use a comparator plugin which calculates if a bundle's contents have changed since the last release, if not it'll toss out the newly built bundle and replace it with the released bundle to guarantee to the user that they don't download unnecessary updates.

The Eclipse Platform project recently switched to using Maven/Tycho to build all their artifacts and use Tycho to generate a p2 repository and in post scripts copy that to their downloads area. Andrew mentioned you are already using Tycho for your builds? if so are you already producing p2 repos during your build?

> * Is there any infrastructure to deploy P2's repositories in general, It would be great to deploy udig-sdk as an (composite) update site, everybody can use as targetPlatform for Applications based on uDIG.

Every project has a downloads area on the server which can be used to place your build products. When you ssh to locationtech.org you should see a symlink in your home folder "downloads". This symlink, links you to the downloads area http://locationtech.org/downloads. Each project has their own subpage which they can structure however they like, for udig the path is:

ssh: downloads/udig
http:  http://locationtech.org/downloads/udig

At the moment there's nothing there but once you start using it you can structure it how you like. Most projects have a structure as follows:

download index: downloads/udig/index.html
download packages: downloads/udig/downloads/${version}
p2 update site: downloads/udig/updates/${version}

You'll probably want subdirectories for the various versions of your update site but once it's available you can provide to your users the web link to use the update site such as: http://locationtech.org/downloads/udig/updates/4.3/


We have an IT maintained wiki page at [1] which you can refer to on how to use the various services, specifically the "Downloads" section might be of interest to you at.

[1] http://wiki.eclipse.org/IT_Infrastructure_Doc


Hope this helps,


Thanh

On 12/07/13 03:34 AM, Frank Gasdorf wrote:
Thanks for the introduction. 

Since we finished some tasks for external libraries (JAI) we don't need a specific environment anymore. Nevertheless I would prefer to have two different JDK's arround, OpenJDK 7 and a Oracle 6 if possible.

I'm really interested in release engineering scripts to handle P2 repository deployments. Two major questions I'm faced with:
* How would we handle "SNAPSHOT" builds, I guess in Eclipse Universe you prefer to build nightly and call it a nightly release, don't you?
* Is there any infrastructure to deploy P2's repositories in general, It would be great to deploy udig-sdk as an (composite) update site, everybody can use as targetPlatform for Applications based on uDIG.

Thanh, could you provide some links to releng wiki pages to start dive into? 

Thanks a lot,

Frank

Am 11.07.2013 19:01 schrieb "Thanh Ha" <thanh.ha@xxxxxxxxxxx>:
Hi Frank, Jody,

Nice to meet you all. I've already setup a Hudson instance for your project at [1]. It's configured with some basic configurations and is awaiting to be used. The instance is already configured with what's necessary to build using Maven & Tycho and we can work out any finer dependencies once you start using it.

I think a good first step is to try logging in to make sure your accounts work. The username is your Eclipse committer email address and the same password you use to login to other other services such as bugzilla.

[1] https://locationtech.org/udig/hudson/

Regards,


Thanh

On 11/07/13 11:54 AM, Andrew Ross wrote:
Hi Guys,

Super quick introductions... Frank & Jody - please meet Thanh Ha, Eclipse & LocationTech's release engineer. He'll be the guy to help you get going with Hudson & all once you have check-in approval from Sharon.

Thanh, please meet Frank & Jody from the uDig project I've been telling you about. They are really keen to set up their builds once they get check-in approval. They're already using Maven & Tycho.

Cheers,

Andrew






Back to the top