How do I build an Eclipse RCP app so that its features can be updated automatically?

前端 未结 3 897
傲寒
傲寒 2021-02-04 18:45

I am building an RCP application that will be made up of several Features.

My RCP application is configured to check for updates each time it starts. My current probl

3条回答
  •  生来不讨喜
    2021-02-04 19:16

    Before I found the answer that is documented here and accepted, I tried and failed to solve this problem in the following ways:

    I tried putting the Feature in the product definition. This get's the feature installed successfully, but it takes away my ability to have it update independently from other features in the RCP application.

    I have a p2 touchpoint command that is currently working. It adds a repository to the available update sites in the RCP application using a p2.inf file. It looks like this...

    instructions.configure=\
     org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(location:http${#58}//myUpdateSsite/myFeature,type:0,name:My Feature Name,enabled:true);\
     org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(location:http${#58}//myUpdateSsite/myFeature,type:1,name:My Feature Name,enabled:true);\\
    

    I've tried to add a line like this to get that feature installed, but my tycho build fails when I run mvn clean install

    instructions.configure=\
     org.eclipse.equinox.p2.touchpoint.eclipse.installFeature(feature:My Feature Name,featureId:com.my.domain.my.feature.id,version:1.0.0);
    

    Here's some of the error message from maven / tycho

    An error occurred while configuring the installed items session context was:
    (profile=DefaultProfile, phase=org.eclipse.equinox.internal.p2.engine.phases.Configure, operand=null --> 
    [R]{my.domain.my.rcp.product.plugin 1.1.6.20120427-1346}, 
    action=org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.InstallFeatureAction).
    Installable unit contains no artifacts: [R]my.domain.my.rcp.product.plugin 1.1.6.20120427-1346.
    

    My intuition tells me that this error message is saying that my RCP application plugin is missing something that will tell p2 where to find the feature that I want to install at build time. I think???

提交回复
热议问题