You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Harshana Eranga Martin <ha...@gmail.com> on 2011/08/19 12:12:16 UTC

Re: [Proposal] Creating Eclipse Features and a p2 repository for Axis2 Eclipse plugins

Hi All,

I have done some research on Eclipse Tycho build system over past couple of
weeks. I was able to understand how it works and how to use it.

It supports both Eclipse artifact first and Pom first approaches. So we can
maintain all the details in the Manifest file and keep a minimum pom file or
we use declare dependencies in the pom file.

However as I observed, it is a *MUST* the existence of the Manifest file at
time of build because Tycho is made to build Eclipse plugins and each and
every Eclipse plugin contains a Manifest file.

So we need cannot generate the manifest file on the fly as we used before.
Instead, we need the Manifest to be committed to the svn.

I guess this is not an unreasonable request given the fact they are Eclipse
plugins. WDYT?

Thanks and Regards,
Harshana

On 30 March 2011 14:44, Harshana Eranga Martin <ha...@gmail.com> wrote:

> Hi Andreas,
>
> On 21 March 2011 12:39, Andreas Veithen <an...@gmail.com> wrote:
>
>> On Fri, Feb 18, 2011 at 12:05, Harshana Eranga Martin
>> <ha...@gmail.com> wrote:
>> > Hi Andreas,
>> >
>> > On 5 February 2011 18:04, Andreas Veithen <an...@gmail.com>
>> wrote:
>> >>
>> >> On Thu, Jan 27, 2011 at 09:44, Harshana Eranga Martin
>> >> <ha...@gmail.com> wrote:
>> >> > Hi All,
>> >> >
>> >> > On 25 January 2011 13:16, Harshana Eranga Martin <
>> harshana05@gmail.com>
>> >> > wrote:
>> >> >>
>> >> >> Hi All,
>> >> >>
>> >> >> On 25 January 2011 12:01, Saminda Wijeratne <sa...@wso2.com>
>> wrote:
>> >> >>>
>> >> >>> There are no other such plugins available to do the same thing in a
>> >> >>> generic manner. I got my eye on Tycho [1] which is a project that
>> is
>> >> >>> emerging to support maven builds for eclipse projects but it is
>> still
>> >> >>> in the
>> >> >>> incubation stage.
>> >> >>
>> >> >> Yes. It is the only thing that I also found, which can be used to
>> >> >> replace
>> >> >> Carbon p2 maven plugin. I'm currently looking at it to check whether
>> it
>> >> >> is
>> >> >> suitable enough for this task.
>> >> >
>> >> > I had a good look at the Tycho. It seems to be capable of doing what
>> we
>> >> > need. However there is a serious problem with it. As this
>> documentation
>> >> > (and
>> >> > many other) [2]  says, Tycho requires Maven 3. But we are still using
>> >> > Maven
>> >> > 2 and Maven 2 and Maven 3 are not completely compatible with each
>> other.
>> >> > Therefore this is more like a "No Go" for Tycho option IMO.
>> >>
>> >> Personally, I don't think that there is a hard requirement to keep the
>> >> Axis2 build compatible with Maven 2. Of course, before making the
>> >> switch, we need to make sure that our builds all run smoothly with
>> >> Maven 3. The fact Hudson now supports Maven 3 already removes one big
>> >> obstacle. Recently our Hudson builds got upgraded accidentally to
>> >> Maven 3 and that revealed a couple of issues, but they should be
>> >> solvable.
>> >
>> > Noted. I will try to build the Axis2 with Maven3 first and get it fixed.
>> > Then will try the tycho build for Eclipse plugins.
>> > Thanks  and Regards,
>> > Harshana
>>
>> I've switched the Jenkins build of Axis2 trunk to Maven 3 and so far,
>> I didn't see any issue.
>>
>
> I also tried building Axis2 using Maven 3 and it was successful. I did some
> tasks related to integrating  Tycho and made some progress. But still I
> haven't completed it. I'll let the list know the progress of that task.
>
> Thanks and Regards,
> Harshana
>
>>
>> >>
>>
>> >> Andreas
>> >>
>> >> > [2]. http://eclipse.org/tycho/download.php
>> >> > Thanks and Regards,
>> >> > Harshana
>> >> >>
>> >> >> Thanks and Regards,
>> >> >> Harshana
>> >> >>>
>> >> >>> Saminda
>> >> >>> 1. http://www.eclipse.org/tycho/
>> >> >>>
>> >> >>> On Tue, Jan 25, 2011 at 2:07 AM, Andreas Veithen
>> >> >>> <an...@gmail.com> wrote:
>> >> >>>>
>> >> >>>> On Mon, Jan 24, 2011 at 13:08, Harshana Eranga Martin
>> >> >>>> <ha...@gmail.com> wrote:
>> >> >>>> > Hi Andreas,
>> >> >>>> >
>> >> >>>> > On 23 January 2011 17:18, Andreas Veithen
>> >> >>>> > <an...@gmail.com>
>> >> >>>> > wrote:
>> >> >>>> >>
>> >> >>>> >> I don't see any issue with using this plugin, but I'm more
>> worried
>> >> >>>> >> about using the WSO2 Maven repository. While preparing the
>> Rampart
>> >> >>>> >> release we discovered that this repository contains artifacts
>> with
>> >> >>>> >> the
>> >> >>>> >> same groupId/artifactId/version as artifacts in Maven central,
>> but
>> >> >>>> >> with different content [1]. This is a potential source for
>> build
>> >> >>>> >> instabilities. For Rampart we solved that by removing the WSO2
>> >> >>>> >> repository so that only artifacts from Maven central are used.
>> I
>> >> >>>> >> think
>> >> >>>> >> that right now, none of the Axis2 projects use the WSO2
>> >> >>>> >> repository.
>> >> >>>> >
>> >> >>>> > Thanks for the explanation and I understand your concern here.
>> >> >>>> > If we don't declare the WSO2 maven repository at the root pom
>> level
>> >> >>>> > and
>> >> >>>> > declare it only at the relevant module/sub module level, will
>> maven
>> >> >>>> > still be
>> >> >>>> > looking at WSO2 repository to resolve dependencies even outside
>> of
>> >> >>>> > that
>> >> >>>> > declared module/sub module? If not, there won't be any issues in
>> >> >>>> > using
>> >> >>>> > it
>> >> >>>> > since I have declared it only at the newly added sub module
>> level
>> >> >>>> > to
>> >> >>>> > resolve
>> >> >>>> > the Carbon p2 maven plugin.
>> >> >>>> > Thanks and Regards,
>> >> >>>> > Harshana
>> >> >>>>
>> >> >>>> The problem is that it is impossible to predict if it will break
>> >> >>>> something and where the issue will surface. Yesterday I spent an
>> hour
>> >> >>>> debugging a failing unit test in CXF only to find out that the
>> issue
>> >> >>>> was caused by a pollution of my local Maven repository with an
>> >> >>>> incorrect wsdl4j:wsdl4j:1.6.2 artifact from the WSO2 repository.
>> >> >>>> There
>> >> >>>> are a couple of examples [1] [2] of other repositories that caused
>> >> >>>> very hard to debug issues with the Axis2 build, although they are
>> >> >>>> much
>> >> >>>> better managed than the WSO2 repository. In all these cases, we
>> ended
>> >> >>>> up removing them from the build.
>> >> >>>>
>> >> >>>> Are there no other plugins available from Maven central that have
>> >> >>>> similar features?
>> >> >>>>
>> >> >>>> [1] http://markmail.org/thread/clyu2jp3iisv4kbo
>> >> >>>> [2] http://markmail.org/thread/j6c3kw7fueihhjya
>> >> >>>>
>> >> >>>> >>
>> >> >>>> >> Andreas
>> >> >>>> >>
>> >> >>>> >> [1] http://markmail.org/message/botp2pirxkvj7wap
>> >> >>>> >>
>> >> >>>> >> On Sat, Jan 22, 2011 at 10:50, Harshana Eranga Martin
>> >> >>>> >> <ha...@gmail.com> wrote:
>> >> >>>> >> > Hi All,
>> >> >>>> >> > I'm delighted to inform you that I've completed this task. I
>> >> >>>> >> > need
>> >> >>>> >> > to
>> >> >>>> >> > clarify
>> >> >>>> >> > few things before submitting the patch.
>> >> >>>> >> > For this task, I used the Carbon p2 maven plugin [0] which is
>> >> >>>> >> > licensed
>> >> >>>> >> > under
>> >> >>>> >> > ASL 2.0 and publically available at WSO2 maven repository[1].
>> Is
>> >> >>>> >> > there
>> >> >>>> >> > any
>> >> >>>> >> > issue using this maven plugin?
>> >> >>>> >> >
>> >> >>>> >> >
>> >> >>>> >> >
>> >> >>>> >> > [0].
>> http://wso2.org/svn/browse/wso2/branches/carbon/3.0.0/dependencies/carbon-p2-plugin/?pathrev=63544
>> >> >>>> >> >
>> >> >>>> >> > [1].
>> http://dist.wso2.org/maven2/org/wso2/maven/carbon-p2-plugin/
>> >> >>>> >> >
>> >> >>>> >> > Thanks and Regads,
>> >> >>>> >> > Harshana
>> >> >>>> >> >
>> >> >>>> >> > On 21 January 2011 10:58, Harshana Eranga Martin
>> >> >>>> >> > <ha...@gmail.com>
>> >> >>>> >> > wrote:
>> >> >>>> >> >>
>> >> >>>> >> >> Hi All,
>> >> >>>> >> >> I will go forward and will do the needful. Meanwhile I have
>> >> >>>> >> >> created
>> >> >>>> >> >> AXIS2-4937 [0] issue to track the progress of this task.
>> >> >>>> >> >> [0]. https://issues.apache.org/jira/browse/AXIS2-4937
>> >> >>>> >> >> Thanks and Regards,
>> >> >>>> >> >> Harshana
>> >> >>>> >> >>
>> >> >>>> >> >> On 20 January 2011 22:16, Saminda Wijeratne <
>> samindaw@wso2.com>
>> >> >>>> >> >> wrote:
>> >> >>>> >> >>>
>> >> >>>> >> >>> +1
>> >> >>>> >> >>> Saminda
>> >> >>>> >> >>>
>> >> >>>> >> >>> On Thu, Jan 20, 2011 at 5:18 PM, Harshana Eranga Martin
>> >> >>>> >> >>> <ha...@gmail.com> wrote:
>> >> >>>> >> >>>>
>> >> >>>> >> >>>> Hi All,
>> >> >>>> >> >>>> Currently there are 2 Eclipse plugins as Axis2 Codegen
>> plugin
>> >> >>>> >> >>>> and
>> >> >>>> >> >>>> Axis2
>> >> >>>> >> >>>> Service archive plugin under Axis2 tools and at the moment
>> >> >>>> >> >>>> these
>> >> >>>> >> >>>> plugins are
>> >> >>>> >> >>>> distributed as zip archives. Eclipse users need to extract
>> >> >>>> >> >>>> these
>> >> >>>> >> >>>> zip archives and copy the jar files to the plugins folder
>> of
>> >> >>>> >> >>>> their
>> >> >>>> >> >>>> Eclipse
>> >> >>>> >> >>>> installation.
>> >> >>>> >> >>>> Disadvantage in this approach is, inability to install the
>> >> >>>> >> >>>> plugins if
>> >> >>>> >> >>>> all the dependencies are not already contains in the
>> users'
>> >> >>>> >> >>>> Eclipse
>> >> >>>> >> >>>> installation. For example this[0] is caused due to missing
>> >> >>>> >> >>>> javax.activation
>> >> >>>> >> >>>> and javax.xml.stream bundles/packages.
>> >> >>>> >> >>>> As Andreas has explained in this [1] issue to solve this
>> >> >>>> >> >>>> problem, we
>> >> >>>> >> >>>> have to create Eclipse Features for these plugins so that
>> the
>> >> >>>> >> >>>> p2
>> >> >>>> >> >>>> based Eclipse update manager can automatically calculate
>> and
>> >> >>>> >> >>>> download
>> >> >>>> >> >>>> the
>> >> >>>> >> >>>> missing dependencies.
>> >> >>>> >> >>>> So how about we create Eclipse Features and a p2
>> repository
>> >> >>>> >> >>>> for
>> >> >>>> >> >>>> Axis2
>> >> >>>> >> >>>> Eclipse plugins and distribute the Eclipse plugins via p2
>> >> >>>> >> >>>> repository.
>> >> >>>> >> >>>> Devs,
>> >> >>>> >> >>>> WDYT?
>> >> >>>> >> >>>>
>> >> >>>> >> >>>> [0]. http://markmail.org/message/bzkt6ylqcvqxznnn
>> >> >>>> >> >>>> [1]. https://issues.apache.org/jira/browse/AXIS2-4916
>> >> >>>> >> >>>>
>> >> >>>> >> >>>>
>> >> >>>> >> >>>> Thanks and Regards,
>> >> >>>> >> >>>> Harshana Martin
>> >> >>>> >> >>>> --
>> >> >>>> >> >>>> Harshana Eranga Martin
>> >> >>>> >> >>>> Software Engineer,
>> >> >>>> >> >>>> WSO2 Inc.
>> >> >>>> >> >>>> Web: http://wso2.com
>> >> >>>> >> >>>>            http://wso2.org
>> >> >>>> >> >>>> ECF Committer: http://www.eclipse.org/ecf/
>> >> >>>> >> >>>> Blog: http://harshana05.blogspot.com
>> >> >>>> >> >>>> Profile: https://www.google.com/profiles/harshana05
>> >> >>>> >> >>>
>> >> >>>> >> >>
>> >> >>>> >> >> --
>> >> >>>> >> >> Harshana Eranga Martin
>> >> >>>> >> >> Software Engineer,
>> >> >>>> >> >> WSO2 Inc.
>> >> >>>> >> >> Web: http://wso2.com
>> >> >>>> >> >>            http://wso2.org
>> >> >>>> >> >> ECF Committer: http://www.eclipse.org/ecf/
>> >> >>>> >> >> Blog: http://harshana05.blogspot.com
>> >> >>>> >> >> Profile: https://www.google.com/profiles/harshana05
>> >> >>>> >> >
>> >> >>>> >> >
>> >> >>>> >> >
>> >> >>>> >> > --
>> >> >>>> >> > Thanks and Regards,
>> >> >>>> >> > Harshana Martin
>> >> >>>> >> > --
>> >> >>>> >> > Harshana Eranga Martin
>> >> >>>> >> > Software Engineer,
>> >> >>>> >> > WSO2 Inc.
>> >> >>>> >> > Web: http://wso2.com
>> >> >>>> >> >            http://wso2.org
>> >> >>>> >> > ECF Committer: http://www.eclipse.org/ecf/
>> >> >>>> >> > Blog: http://harshana05.blogspot.com
>> >> >>>> >> > Profile: https://www.google.com/profiles/harshana05
>> >> >>>> >> >
>> >> >>>> >>
>> >> >>>> >>
>> >> >>>> >>
>> ---------------------------------------------------------------------
>> >> >>>> >> To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
>> >> >>>> >> For additional commands, e-mail: java-dev-help@axis.apache.org
>> >> >>>> >>
>> >> >>>> >
>> >> >>>> >
>> >> >>>> >
>> >> >>>> > --
>> >> >>>> > Thanks and Regards,
>> >> >>>> > Harshana Martin
>> >> >>>> > --
>> >> >>>> > Harshana Eranga Martin
>> >> >>>> > Software Engineer,
>> >> >>>> > WSO2 Inc.
>> >> >>>> > Web: http://wso2.com
>> >> >>>> >            http://wso2.org
>> >> >>>> > ECF Committer: http://www.eclipse.org/ecf/
>> >> >>>> > Blog: http://harshana05.blogspot.com
>> >> >>>> > Profile: https://www.google.com/profiles/harshana05
>> >> >>>> >
>> >> >>>>
>> >> >>>>
>> ---------------------------------------------------------------------
>> >> >>>> To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
>> >> >>>> For additional commands, e-mail: java-dev-help@axis.apache.org
>> >> >>>>
>> >> >>>
>> >> >>
>> >> >>
>> >> >>
>> >> >> --
>> >> >> Thanks and Regards,
>> >> >> Harshana Martin
>> >> >> --
>> >> >> Harshana Eranga Martin
>> >> >> Software Engineer,
>> >> >> WSO2 Inc.
>> >> >> Web: http://wso2.com
>> >> >>            http://wso2.org
>> >> >> ECF Committer: http://www.eclipse.org/ecf/
>> >> >> Blog: http://harshana05.blogspot.com
>> >> >> Profile: https://www.google.com/profiles/harshana05
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > Thanks and Regards,
>> >> > Harshana Martin
>> >> > --
>> >> > Harshana Eranga Martin
>> >> > Software Engineer,
>> >> > WSO2 Inc.
>> >> > Web: http://wso2.com
>> >> >            http://wso2.org
>> >> > ECF Committer: http://www.eclipse.org/ecf/
>> >> > Blog: http://harshana05.blogspot.com
>> >> > Profile: https://www.google.com/profiles/harshana05
>> >> >
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
>> >> For additional commands, e-mail: java-dev-help@axis.apache.org
>> >>
>> >
>> > --
>> > Harshana Eranga Martin
>> > Software Engineer,
>> > WSO2 Inc.
>> > Web: http://wso2.com
>> >            http://wso2.org
>> > ECF Committer: http://www.eclipse.org/ecf/
>> > Blog: http://harshana05.blogspot.com
>> > Profile: https://www.google.com/profiles/harshana05
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
>> For additional commands, e-mail: java-dev-help@axis.apache.org
>>
>>
> --
> Harshana Eranga Martin
> Software Engineer,
> WSO2 Inc.
> Web: http://wso2.com
>            http://wso2.org
>
> ECF Committer: http://www.eclipse.org/ecf/
> Blog: http://harshana05.blogspot.com
> Profile: https://www.google.com/profiles/harshana05
>
>


-- 
Thanks and Regards,
Harshana Martin
--
Harshana Eranga Martin
Software Engineer,
WSO2 Inc.
Web: http://wso2.com
           http://wso2.org

ECF Committer: http://www.eclipse.org/ecf/
Blog: http://harshana05.blogspot.com
Profile: https://www.google.com/profiles/harshana05