Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Oomph » Necromancing the org.eclipse.amalgan.setup
Necromancing the org.eclipse.amalgan.setup [message #1805519] Tue, 16 April 2019 15:28 Go to next message
Felix Dorner is currently offline Felix DornerFriend
Messages: 392
Registered: December 2015
Senior Member
Hi,

I will need to work on the eclipse amalgam project, and well, I start to refuse to work on anything that doesn't have a proper automated setup.

Amalgam setup last changes date to 2015, so I will have to fix it before I can start working. The last person who made changes to that setup is a certain Ed Merks, maybe he is monitoring this forum? :P

My first question is rather simple. In your commit you added:

+ <targlet
+ name="Amalgamation"
+ activeRepositoryList="${eclipse.target.platform}">
+ <requirement
+ name="*"/>
+ <requirement

What is the "*" requirement used for? I haven't seen this before in other targlet definitions.

Thanks,
Felix
Re: Necromancing the org.eclipse.amalgan.setup [message #1805527 is a reply to message #1805519] Tue, 16 April 2019 18:16 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 32111
Registered: July 2009
Senior Member
The wildcard requirements are generally very useful when the tarlget contains a source locator. Oomph is able to induce a p2 repository from a Git repository (a source folder in the file system). A wildcard requirement effectively expands to requirements on all the installable units in each such induced p2 repository. So it's essentially say, "require everything" and of course recursively this will attempt to satisfy all the requirements of those installable units. So generally this is used to import all projects from a Git clone and to resolve all their requirements.

Ed Merks
Professional Support: https://www.macromodeling.com/
Re: Necromancing the org.eclipse.amalgan.setup [message #1805530 is a reply to message #1805527] Tue, 16 April 2019 19:37 Go to previous messageGo to next message
Felix Dorner is currently offline Felix DornerFriend
Messages: 392
Registered: December 2015
Senior Member
I see, very nice. This is much easier than having to track all the available 'root' features in the repo and list them one by one as a requirement.
Re: Necromancing the org.eclipse.amalgan.setup [message #1805537 is a reply to message #1805530] Wed, 17 April 2019 04:13 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 32111
Registered: July 2009
Senior Member
Indeed, when I was implementing the support to drag and drop a Git repo onto a targlets task, it struck me that this same processing logic could be done automatically at resolution time... Note that at this point we also supported additional types of installable units, i.e., *.plain.project so one can require folders that have a .project file but aren't otherwise a plug-in or a feature. Another way to see this induced p2 repository in action is to drag and drop a Git repository (from the Git Repositories view) onto the Repository Explorer view's URL drop down.

Ed Merks
Professional Support: https://www.macromodeling.com/
Re: Necromancing the org.eclipse.amalgan.setup [message #1823785 is a reply to message #1805537] Thu, 02 April 2020 06:24 Go to previous messageGo to next message
Felix Dorner is currently offline Felix DornerFriend
Messages: 392
Registered: December 2015
Senior Member
This * wildcard. Can I also use it in a Targlet with one/more repository elements to say: I want everything available in these repositories?
Re: Necromancing the org.eclipse.amalgan.setup [message #1823797 is a reply to message #1823785] Thu, 02 April 2020 08:31 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 32111
Registered: July 2009
Senior Member
A * requirement is only expanded for each Source Locator not for any Repository. It's reasonably fast for a source locator because that's in the local file system. To do such a thing against a Repository would require loading it first, which is arbitrarily expensive and long running, not to mention very likely totally inappropriate because many repositories have duplicate versions and fragments that are platform specific. So I can't imagine it being generally useful to require everything in the Repository.

Ed Merks
Professional Support: https://www.macromodeling.com/
Re: Necromancing the org.eclipse.amalgan.setup [message #1823800 is a reply to message #1823797] Thu, 02 April 2020 09:11 Go to previous messageGo to next message
Felix Dorner is currently offline Felix DornerFriend
Messages: 392
Registered: December 2015
Senior Member
I build a site for features A,B,C , and I have the sources for A,B,C in my workspace. I got them there by using the * requirement. I also have a site containing the latest A,B,C build on download.mystuff.org, and would like to include that in my target platform. So I saved some time by using * for the workspace, but still need to list A,B,C explicitly to get them from the latest build site. Maybe that is totally inappropriate and I'm a fool... (the latter is no big news, I keep on trying :).
Re: Necromancing the org.eclipse.amalgan.setup [message #1823806 is a reply to message #1823800] Thu, 02 April 2020 09:47 Go to previous messageGo to next message
Felix Dorner is currently offline Felix DornerFriend
Messages: 392
Registered: December 2015
Senior Member
Ok tendency is really to "I'm a fool".. I just read about the "Include Binary Equivalents" flag here, so I probably only need to list the latest repo without any requirements and oomph will do both, import the source project and add the equivalent p2 bundle from the repo to the target platform.
Re: Necromancing the org.eclipse.amalgan.setup [message #1823808 is a reply to message #1823806] Thu, 02 April 2020 11:07 Go to previous message
Ed Merks is currently offline Ed MerksFriend
Messages: 32111
Registered: July 2009
Senior Member
Yes, the binary equivalents flag is useful if, for example, you want to be able to close a project in the workspace and still have all the other projects' dependencies be resolved because they can just be rewired to the ones in the binary TP.

Ed Merks
Professional Support: https://www.macromodeling.com/
Previous Topic:Properties-view cell focus very slow in 4.15
Next Topic:Is it possible to restrict to a given version of eclipse?
Goto Forum:
  


Current Time: Tue Dec 07 12:34:47 GMT 2021

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

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

Back to the top