Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cbi-dev] Release process?

Thanks Mickael, that makes good sense. A few questions:
1. Can you provide me the relevant pom block using tycho-versions-plugin please? We use it as well but I suspect you're making better use of it.
2. Are you using it to update both the pom and manifest version?
3. Is your release build a simple clean install and a maven call to that plugin? Or I guess a profile could be used...
4. What version of the plugin are you using?
5. Are you using tycho 0.14.1?

Thanks in advance,
Craig

Mickael Istria <mistria@xxxxxxxxxx> wrote:

On 04/28/2012 03:55 AM, Craig Foote wrote:
I hope this is an appropriate place to post. It seems to be all about standardizing builds which is of relevance to me.
Yes, I think it's fine to learn your use-case here, it should be good to hear a lot of use-case regarding build and publishing. Good ideas will come with taking all use cases into account.

We're building sites with Hudson and tycho and I'm wondering how others are releasing builds.

We currently have two separate Hudson jobs. With one, for our initial builds, we label as "SNAPSHOT" though that term is not found in any artifact. The built site is copied to our p2/[project]/snapshot/ folder. After testing,we run a second job using the maven-release-plugin and some custom ant tasks to check out trunk and build to prove sane, modify manifest, feature.xml and pom versions, check that in, tag it, check out trunk, again modify versions, check that in, check out tag, build again and copy site to p2/[project]/releases/version/. Some of this is provided by the maven-release-plugin and some is custom.

There must be a more efficient process, right? Can anyone comment on what cbi does, what others do, or how you think we should do it please?
I think you're having troubles because "SNAPSHOT" is the sense of Maven does not map anything in OSGi. You are doing extra work with the maven-release-plugin, maybe you should rather keep .qualifier in your MANIFEST.MF and -SNAPSHOT in your pom.xml, and set up convention on this qualifier to know whether this is a SNAPSHOT or a release. For example, with JBoss Tools, we ensure the release qualifier contains "x.y.z-FINAL" so we know it is no more a snapshot, and it is the official release. Then we don't have to deal with such a complex process involving maven-release-plugin. Instead we sometimes use tycho-versions-plugin.
Modyfing versions in OSGi is painful, the less you do it, the happier you are. That's why we tend to use same version on the same dev stream, and use qualifier to manage different build types.

Also, we're about to upgrade our Hudson to 2.2.0. Does it provide any better release support? Would Jenkins be better? When is the Hudson 3.0 release?
I don't think Jenkins nor Hudson provides something magic for releasing. It's always up to you to decide of your release process.

Cheers,
--
Mickael Istria
Eclipse developer at JBoss, by Red Hat
My blog - My Tweets

Back to the top