Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Oomph » Targlets: Do not inherit Targets
Targlets: Do not inherit Targets [message #1471673] Thu, 13 November 2014 09:00 Go to next message
Marco Descher is currently offline Marco DescherFriend
Messages: 197
Registered: October 2010
Location: Austria
Senior Member
I am currently setting up Oomph for our project. Up to now, we used a .target. Now I added all the repos in this target file to a new targlet, which seems to work quite well.

The problem however is, that within my targlet I reference an old update site of Eclipse http://download.eclipse.org/eclipse/updates/4.2 which I have to use, but the target created by Oomph also inherits the Eclipse platform resp. site http://download.eclipse.org/eclipse/updates/4.4

So how may I tell oomph, not to inherit targlets, but only use the ones defined in my project?!

Thanks!
Re: Targlets: Do not inherit Targets [message #1471687 is a reply to message #1471673] Thu, 13 November 2014 09:09 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33142
Registered: July 2009
Senior Member
Marco,

Comments below.

On 13/11/2014 10:00 AM, Marco Descher wrote:
> I am currently setting up Oomph for our project. Up to now, we used a
> .target. Now I added all the repos in this target file to a new
> targlet, which seems to work quite well.
>
> The problem however is, that within my targlet I reference an old
> update site of Eclipse http://download.eclipse.org/eclipse/updates/4.2
> which I have to use, but the target created by Oomph also inherits the
> Eclipse platform resp. site
> http://download.eclipse.org/eclipse/updates/4.4
That depends on the value of the eclipse.target.platform variable. It's
default value is None in which case it contributes an empty repository
list. Better would be if you don't duplicate the information about the
basic platform updates but rather structure your repository choices like
all the setups, so there choices for Mars, Luna, Kepler and so on so
that your project can be composed with other projects...
>
> So how may I tell oomph, not to inherit targlets, but only use the
> ones defined in my project?!
You can certainly set the variable to None, but I'd rather seem projects
be composeable and that won't be the case if there isn't some common
convention, so better if you use the same variable and the same
repository list names to add to the base repository choice. If all
setups do this, you could expect to compose then an have them
consistently induce a Mars, Luna, or Kepler TP...
>
> Thanks!


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: Targlets: Do not inherit Targets [message #1471702 is a reply to message #1471687] Thu, 13 November 2014 09:21 Go to previous messageGo to next message
Marco Descher is currently offline Marco DescherFriend
Messages: 197
Registered: October 2010
Location: Austria
Senior Member
Thanks for your answer, I set the value to null (just to understand the first part, certainly your approach is better), yet I fail to get it right. It is still including the Eclipse Platform part?!?

Sorry, but which value do I have to change here? (pic enclosed)
Re: Targlets: Do not inherit Targets [message #1471709 is a reply to message #1471702] Thu, 13 November 2014 09:29 Go to previous messageGo to next message
Marco Descher is currently offline Marco DescherFriend
Messages: 197
Registered: October 2010
Location: Austria
Senior Member
I found a way, by overriding the "Eclipse Platform" targlet definiton. I just added a new Targlet "Eclipse Platform" to my targlet list with empty content ...
Re: Targlets: Do not inherit Targets [message #1471722 is a reply to message #1471673] Thu, 13 November 2014 09:37 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
Am 13.11.2014 um 10:00 schrieb Marco Descher:
> I am currently setting up Oomph for our project. Up to now, we used a .target. Now I added all the repos in this
> target file to a new targlet, which seems to work quite well.
>
> The problem however is, that within my targlet I reference an old update site of Eclipse
> http://download.eclipse.org/eclipse/updates/4.2 which I have to use, but the target created by Oomph also inherits the
> Eclipse platform resp. site http://download.eclipse.org/eclipse/updates/4.4
>
> So how may I tell oomph, not to inherit targlets, but only use the ones defined in my project?!
That is not possible. I guess you want to do that to restrict what exact versions of a plugin/feature gets installed
into your TP. But you should really express that in terms of version ranges in your requirements.

Cheers
/Eike

----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper


Re: Targlets: Do not inherit Targets [message #1471727 is a reply to message #1471722] Thu, 13 November 2014 09:43 Go to previous messageGo to next message
Marco Descher is currently offline Marco DescherFriend
Messages: 197
Registered: October 2010
Location: Austria
Senior Member
[quote title=Eike Stepper wrote on Thu, 13 November 2014 10:37]Am 13.11.2014 um 10:00 schrieb Marco Descher:

>That is not possible. I guess you want to do that to restrict what exact versions of a >plugin/feature gets installed
>into your TP. But you should really express that in terms of version ranges in your >requirements.
Just did the impossible Smile see comment above!
Re: Targlets: Do not inherit Targets [message #1471728 is a reply to message #1471709] Thu, 13 November 2014 09:44 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33142
Registered: July 2009
Senior Member
Marco,

I should be clear that I do not recommend this, nor even setting the
value to None, and I do mean "None", not null.

Note the what I'm recommending is that you name your Targlet's
Repository Lists using the naming convention below. In particular note
that the active list is selected by
activeRepositoryList="${eclipse.target.platform}"> and that each list
has a name <repositoryList name="Mars">. With that approach
multiple projects can work together and with a single choice on the
user's part, end up with a cohesive target platform.


<?xml version="1.0" encoding="UTF-8"?>
<setup.targlets:TargletTask
xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:resources="http://www.eclipse.org/oomph/resources/1.0"
xmlns:setup.targlets="http://www.eclipse.org/oomph/setup/targlets/1.0"
xsi:schemaLocation="http://www.eclipse.org/oomph/resources/1.0
http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Resources.ecore
http://www.eclipse.org/oomph/setup/targlets/1.0
http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/SetupTarglets.ecore">
<targlet name="Oomph"
activeRepositoryList="${eclipse.target.platform}">
<annotation
source="http:/www.eclipse.org/oomph/targlets/PomArtifactUpdater">
<detail
key="skipArtifactIDs">
<value>false</value>
</detail>
<detail
key="skipVersions">
<value>false</value>
</detail>
</annotation>
<annotation
source="http:/www.eclipse.org/oomph/targlets/PomModulesUpdater">
<detail
key="location">
<value>${git.clone.oomph.location/pom.xml}</value>
</detail>
</annotation>
<annotation
source="http:/www.eclipse.org/oomph/targlets/TargetDefinitionGenerator">
<detail
key="location">
<value>${git.clone.oomph.location/releng/org.eclipse.oomph.releng/org.eclipse.oomph.releng.target}</value>
</detail>
<detail
key="includeAllPlatforms">
<value>false</value>
</detail>
<detail
key="includeSource">
<value>false</value>
</detail>
</annotation>
<requirement
name="org.eclipse.oomph.all.feature.group"/>
<requirement
name="org.eclipse.oomph.license.feature.group"/>
<requirement
name="org.eclipse.oomph.setup.installer.feature.group"/>
<requirement
name="org.eclipse.oomph.setup.installer.product"/>
<requirement
name="org.eclipse.oomph.setup.tests"/>
<requirement
name="org.eclipse.oomph.p2.tests"/>
<requirement
name="org.eclipse.oomph.targlets.tests"/>
<requirement
name="org.eclipse.oomph.version.tests"/>
<requirement
name="org.eclipse.oomph.parent"/>
<requirement
name="org.eclipse.oomph.releng"/>
<requirement
name="org.eclipse.oomph.releng.helpcenter"/>
<requirement
name="org.eclipse.oomph.site"/>
<requirement
name="setups"/>
<sourceLocator
rootFolder="${git.clone.oomph.location}">
<projectFactory
xsi:type="resources:EclipseProjectFactory">
<excludedPath>/</excludedPath>
</projectFactory>
</sourceLocator>
<sourceLocator
rootFolder="${git.clone.oomph.location}"/>
<repositoryList
name="Mars">
<repository
url="http://download.eclipse.org/modeling/emf/emf/updates/2.10.x/core/R201409011055"/>
<repository
url="http://download.eclipse.org/tools/gef/updates/milestones"/>
<repository
url="http://download.eclipse.org/egit/updates"/>
<repository
url="http://download.eclipse.org/mylyn/snapshots/weekly"/>
<repository
url="http://download.eclipse.org/technology/m2e/milestones/1.5"/>
<repository
url="http://download.eclipse.org/webtools/repository/luna"/>
<repository
url="http://download.eclipse.org/modeling/emf/cdo/orbit/latest-R"/>
</repositoryList>
<repositoryList
name="Luna">
<repository
url="http://download.eclipse.org/releases/luna"/>
<repository
url="http://download.eclipse.org/ecoretools/updates/releases/2.0.0/luna"/>
<repository
url="http://download.eclipse.org/sirius/updates/releases/1.0.1/luna"/>
<repository
url="http://download.eclipse.org/modeling/emf/emf/updates/2.10.x/core/R201409011055"/>
<repository
url="http://download.eclipse.org/tools/gef/updates/milestones"/>
<repository
url="http://download.eclipse.org/egit/updates"/>
<repository
url="http://download.eclipse.org/mylyn/snapshots/weekly"/>
<repository
url="http://download.eclipse.org/technology/m2e/milestones/1.5"/>
<repository
url="http://download.eclipse.org/webtools/repository/luna"/>
<repository
url="http://download.eclipse.org/modeling/emf/cdo/orbit/latest-R"/>
</repositoryList>
<repositoryList
name="Kepler">
<repository
url="http://download.eclipse.org/modeling/emf/emf/updates/2.10.x/core/R201409011055"/>
<repository
url="http://download.eclipse.org/tools/gef/updates/milestones"/>
<repository
url="http://download.eclipse.org/egit/updates"/>
<repository
url="http://download.eclipse.org/mylyn/snapshots/weekly"/>
<repository
url="http://download.eclipse.org/technology/m2e/milestones/1.5"/>
<repository
url="http://download.eclipse.org/webtools/repository/kepler"/>
<repository
url="http://download.eclipse.org/modeling/emf/cdo/orbit/latest-R"/>
</repositoryList>
<repositoryList
name="Juno">
<repository
url="http://download.eclipse.org/modeling/emf/emf/updates/2.10.x/core/R201409011055"/>
<repository
url="http://download.eclipse.org/tools/gef/updates/milestones"/>
<repository
url="http://download.eclipse.org/egit/updates"/>
<repository
url="http://download.eclipse.org/mylyn/snapshots/weekly"/>
<repository
url="http://download.eclipse.org/technology/m2e/milestones/1.5"/>
<repository
url="http://download.eclipse.org/webtools/repository/juno"/>
<repository
url="http://download.eclipse.org/modeling/emf/cdo/orbit/latest-R"/>
</repositoryList>
</targlet>
</setup.targlets:TargletTask>



On 13/11/2014 10:29 AM, Marco Descher wrote:
> I found a way, by overriding the "Eclipse Platform" targlet
> definiton. I just added a new Targlet "Eclipse Platform" to my targlet
> list with empty content ...


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: Targlets: Do not inherit Targets [message #1471737 is a reply to message #1471727] Thu, 13 November 2014 09:48 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33142
Registered: July 2009
Senior Member
Marco,

This issue of colliding targlet names is problematic and more of a bug
than a feature, so don't count on that continuing to work this way in
the future. Best to take advantage of the stylized design than to go
against the grain and try to oppose it. I.e., you never need to
specify where to get the platform itself if you follow the common
naming/selection pattern...


On 13/11/2014 10:43 AM, Marco Descher wrote:
> [quote title=Eike Stepper wrote on Thu, 13 November 2014 10:37]Am
> 13.11.2014 um 10:00 schrieb Marco Descher:
>
>> That is not possible. I guess you want to do that to restrict what
>> exact versions of a >plugin/feature gets installed into your TP. But
>> you should really express that in terms of version ranges in your
>> >requirements.
> Just did the impossible :) see comment above!


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: Targlets: Do not inherit Targets [message #1471790 is a reply to message #1471737] Thu, 13 November 2014 10:36 Go to previous messageGo to next message
Marco Descher is currently offline Marco DescherFriend
Messages: 197
Registered: October 2010
Location: Austria
Senior Member
Hy,

the thing is that I am using Oomph for a project, that builds an e4 RCP based application. This application is currently built against the Juno target. So oomph does not (officially) support working with a newer IDE than the target is (by forcing the IDE target onto the
system)!? - That isI still do not understand where to set the value "None" for realizing a fully IDE <-> Target decoupled dev evironment Sad sorry

Re: Targlets: Do not inherit Targets [message #1471821 is a reply to message #1471790] Thu, 13 November 2014 11:08 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33142
Registered: July 2009
Senior Member
Marco,

Comments below.

On 13/11/2014 11:36 AM, Marco Descher wrote:
> Hy,
>
> the thing is that I am using Oomph for a project, that builds an e4
> RCP based application. This application is currently built against the
> Juno target.
And will fail to build against a higher target because of very specific
upper bounds? That seems rare, but possible. E.g., EMF builds against
Eclipse 3.6 (or is it 3.5) but it's not a problem to resolve a TP that
contains Mars...

In any case, it sounds like you should provide a Juno choice, but I'm
not sure why/if it's necessary to exclude the ability to choose a higher
version of the TP... If that's really true, it implies that these
things would only run with Juno, would seem unfortunate.
> So oomph does not (officially) support working with a newer IDE than
> the target is (by forcing the IDE target onto the
> system)!?
I'm not sure what you're saying here... It's common that the TP is an
older version than the IDE itself.
> That isI still do not understand where to set the value "None" for
> realizing a fully IDE <-> Target decoupled dev evironment :( sorry
In the JDT.setup I set it to Mars in the Master stream, because it's the
only thing I tested and wanted feedback on the design before proceeding.

<?xml version="1.0" encoding="UTF-8"?>
<setup:Stream
xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:setup="http://www.eclipse.org/oomph/setup/1.0"
name="master"
label="Master">
<setupTask
xsi:type="setup:VariableTask"
name="eclipse.target.platform"
value="Mars"
storageURI="scope://Workspace"/>
</setup:Stream>



>
>


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: Targlets: Do not inherit Targets [message #1473219 is a reply to message #1471821] Fri, 14 November 2014 12:45 Go to previous messageGo to next message
Marco Descher is currently offline Marco DescherFriend
Messages: 197
Registered: October 2010
Location: Austria
Senior Member
Ed,

I really tried hard, and do now understand the way that eclipse.target.platform=None is supposed to work. It does however not work in my environment. Please have a look at this

https://dl.dropboxusercontent.com/u/72943400/2014-11-13_1323.png

Trying this, it ignores ALL my repository lists, even if I explicitely name my own None, just as you did in the Eclipse Platform part. On any other name I always get the IDE local update repo included which breakes with my .target requirements (-> see background part)

Background on my intentions
I understand all your thoughts on what would be better and should be done, but the fact is


  • We develop an e4 based rcp app, built against a defined .target - this is no direct Eclipse project
  • I want to have an up-to-date IDE while completely in development against the .target (currently built using Maven Tycho)
  • I can not refer to the target file itself, hence I want to simply have the p2 repos in the target as repositories in Ooomph, but ONLY those!
  • I want to introduce Ooomph, without currently being forced to change my back-end build system, hence I want to stick to the target!


I think that Oomph is great, and it will become even greater if I could create like a .setup file at the main repo view of my github project easily getting anyone to contribute - which is what I want to do for the Elexis project (https://github.com/elexis/elexis-3-core)

EDIT The screenshot is from another project I am trying to introduce Ooomph ... - same problem here Wink

[Updated on: Fri, 14 November 2014 12:46]

Report message to a moderator

Re: Targlets: Do not inherit Targets [message #1473254 is a reply to message #1473219] Fri, 14 November 2014 13:16 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33142
Registered: July 2009
Senior Member
Marco,

Comments from Christian suggested he had problems because he'd used
Oomph for a while and had variables stored in his user.setup that are
now normally stored in the workspace.setup... Perhaps that's an issue
for you?

On 14/11/2014 1:45 PM, Marco Descher wrote:
> Ed,
>
> I really tried hard, and do now understand the way that
> eclipse.target.platform=None is supposed to work. It does however not
> work in my environment. Please have a look at this
>
>
>
> Trying this, it ignores ALL my repository lists, even if I explicitely
> name my own None, just as you did in the Eclipse Platform part. On any
> other name I always get the IDE local update repo included which
> breakes with my .target requirements (-> see background part)
Perhaps there are things I should see that aren't making it to my
Thunderbird reader?
>
> Background on my intentions
> I understand all your thoughts on what would be better and should be
> done, but the fact is
>
>
> We develop an e4 based rcp app, built against a defined .target - this
> is no direct Eclipse project
There is a task to simply activate a .target file, which is slow and
horrible, but that's the nature of .target files.
> I want to have an up-to-date IDE while completely in development
> against the .target (currently built using Maven Tycho)
We use Maven Tycho for Oomph as well. We use annotations in the targlet
task to keep the .target file up-to-date (as well as various things like
keeping the pom.xmls updated)...
> I can not refer to the target file itself,
?
> hence I want to simply have the p2 repos in the target as repositories
> in Ooomph, but ONLY those!
Though it's clear that we're talking about one repository that you're
actually already specifying...
> I want to introduce Ooomph, without currently being forced to change
> my back-end build system, hence I want to stick to the target!
I'm not sure what this means. Perhaps you simply want to reuse your
..target an not use targlets...
>
>
> I think that Oomph is great, and it will become even greater if I
> could create like a .setup file at the main repo view of my github
> project easily getting anyone to contribute - which is what I want to
> do for the Elexis project (https://github.com/elexis/elexis-3-core)
That is what we've been doing for many projects, but with only the small
snippet of information you're providing, it's hard to give you
high-level feedback.

Perhaps you have a *.setup committed somewhere and I can have a look at
it the whole thing, and test it out, and then suggest how I would write
it if I were you...


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: Targlets: Do not inherit Targets [message #1473259 is a reply to message #1473254] Fri, 14 November 2014 13:25 Go to previous messageGo to next message
Marco Descher is currently offline Marco DescherFriend
Messages: 197
Registered: October 2010
Location: Austria
Senior Member
Ed,

It seems like images I add (i'm writing directly in the eclipse forum) are not shown in your mail client, I think you have the option "Load remote images" disabled (which makes a lot of sense!!!) - please have a short look in the thread itself!
I see, yes for my case it would probably make more sense to activate the target file, thanks for pointing me to this!

There definitely is a setup file, its located in https://raw.githubusercontent.com/elexis/elexis-3-core/master/ch.elexis.sdk/Elexis.setup and this is the resp. target https://raw.githubusercontent.com/elexis/elexis-3-core/master/ch.elexis.target/juno-target.target

Thanks a lot! Smile
Re: Targlets: Do not inherit Targets [message #1473315 is a reply to message #1473259] Fri, 14 November 2014 14:19 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33142
Registered: July 2009
Senior Member
Marco,

From the picture you show, it appears you have only one repository list
called None and that it is present and (although not expanded) and does
have some contents. The picture is also not of the setup you point at
below...

On 14/11/2014 2:25 PM, Marco Descher wrote:
> Ed,
>
> It seems like images I add (i'm writing directly in the eclipse forum)
> are not shown in your mail client, I think you have the option "Load
> remote images" disabled (which makes a lot of sense!!!) - please have
> a short look in the thread itself!
> I see, yes for my case it would probably make more sense to activate
> the target file, thanks for pointing me to this!
>
> There definitely is a setup file, its located in
> https://raw.githubusercontent.com/elexis/elexis-3-core/master/ch.elexis.sdk/Elexis.setup
> and this is the resp. target
> https://raw.githubusercontent.com/elexis/elexis-3-core/master/ch.elexis.target/juno-target.target
>
> Thanks a lot! :)


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: Targlets: Do not inherit Targets [message #1473329 is a reply to message #1473315] Fri, 14 November 2014 14:31 Go to previous message
Marco Descher is currently offline Marco DescherFriend
Messages: 197
Registered: October 2010
Location: Austria
Senior Member
[quote title=Ed Merks wrote on Fri, 14 November 2014 15:19]Marco,

> From the picture you show, it appears you have only one repository list
>called None and that it is present and (although not expanded) and does
>have some contents. The picture is also not of the setup you point at
>below...

yes I tried several renamings event limiting it to one repository list i deliberately named "None", and yes (I pointed that fact out at the end of the comment)

thank you
Previous Topic:Swapping products and projects selection
Next Topic:How to set up for authentication to p2 update site
Goto Forum:
  


Current Time: Sat Apr 27 04:19:19 GMT 2024

Powered by FUDForum. Page generated in 0.04339 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top