Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 445164

Summary: Please restore default icons for executable feature group (roots)
Product: [Eclipse Project] Equinox Reporter: Gunnar Wagenknecht <gunnar>
Component: LauncherAssignee: Project Inbox <equinox.launcher-inbox>
Status: CLOSED WONTFIX QA Contact:
Severity: normal    
Priority: P3 CC: cvgaviao, daniel_megert, david_williams, tjwatson
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Mac OS X   
See Also: https://bugs.eclipse.org/bugs/show_bug.cgi?id=429093
Whiteboard: stalebug

Description Gunnar Wagenknecht CLA 2014-09-26 02:46:53 EDT
As part of bug 429093 all the icons have been removed. As a result, all downstream product builds which did not set custom icons in their product definitions previously are now produced without any icon.

From an RCP perspective this is actually a breaking change. The launchers had icons before. After updating to a newer version of the executables, the launchers now don't have icons.

I also believe the fix in bug 429093 is incorrect or at least inconsistent. For example, the Windows icon was left in place but other platforms had been removed.
Comment 1 Gunnar Wagenknecht CLA 2014-09-26 02:52:08 EDT
Ate leaset, the new strategy needs to be communicated somewhere. I bet there are a few product builds now without any icons.

The story in the last decade has been:
- launcher/executables ship with default icons
- PDE Build replaces those with custom icons (if defined in .product file)
- Tycho replaces those with custom icons (if defined in .product file)

Now the story is different:
- launcher/executables ship with icon on Windows but without icons on all other platforms
- PDE Build will not add icons if non defined in .product file
- Tycho will not add icons if non defined in .product file
Comment 2 Thomas Watson CLA 2014-09-26 08:36:03 EDT
(In reply to Gunnar Wagenknecht from comment #1)
> Ate leaset, the new strategy needs to be communicated somewhere. I bet there
> are a few product builds now without any icons.
> 
> The story in the last decade has been:
> - launcher/executables ship with default icons
> - PDE Build replaces those with custom icons (if defined in .product file)
> - Tycho replaces those with custom icons (if defined in .product file)
> 
> Now the story is different:
> - launcher/executables ship with icon on Windows but without icons on all
> other platforms
> - PDE Build will not add icons if non defined in .product file
> - Tycho will not add icons if non defined in .product file

Should PDE/Tycho be updated to provide defaults somehow?
Comment 3 Gunnar Wagenknecht CLA 2014-09-29 01:39:00 EDT
I wonder if this is related:
https://dev.eclipse.org/mhonarc/lists/pde-dev/msg02269.html
Comment 4 Gunnar Wagenknecht CLA 2014-09-29 01:40:40 EDT
(In reply to Thomas Watson from comment #2)
> Should PDE/Tycho be updated to provide defaults somehow?

That's worth exploring. But I think it's fine to just make sure that PDE still works. See my previous comment for another sign of breakage due to missing icons. I believe that things will get worse one bug 429604 is implemented.
Comment 5 David Williams CLA 2014-09-29 08:00:21 EDT
There is related, relevant info in bug 419246 -- where the plan is to get rid of the "delta pack". 

Gunnar, can you detail, or outline, "how you build"?

Those that know more then me can feel free to correct me or the terminology I'm using, but I think the "root" problem, doesn't have anything to do with "executables" or launchers, but with the "configuration IUs" we used to create when using PDE build. (This was, apparently, a "bit hacky" in PDE build, and is even a bit more so in Tycho build ... and is part of the reason we have some XSL scripts that "force" changes in content.jar/xml metadata.)

With Tycho build, those "configuration IUs" are not easy (or, perhaps impossible?) to "reuse" as that was their original purpose/design/intent. Put another way, we have difficulty "reusing" them in our own build, either due to Tycho limitations, or our "lack of knowledge" of how to do it. 

This means, to solve this problem for PDE, we need some "special" part of the build, that creates them just for PDE. That is a fine thing to do, but I don't think we should contaminate or "mix in" with executables as we used to. These are conceptual, or architecturally, separate concerns and with our original Tycho build prototype that was created for us, there was a lot of "cross-repository" copying of resources during the build to get half right. And cpying things from one repo to another, during the build, is considered a "very bad practice" for Maven or Tycho builds. 

Note, the small, apparent exception of Windows is a red-herring. For Windows, the "ico resource" actually becomes part of the "eclipse.exe" executable when it is built. And then, it serves primarily as a "placeholder", so it can later be replaced by an ico of the same shape. 

I think it fine to try and implement this "for PDE" ... and I'd even put a big water mark on each icon that said "SAMPLE" ... since those "doing their own builds" really should be providing their own icons, IMHO. 

But, I think it should be implemented "the right" way ... and not rely on the hacks and funky copying we used to do in our build, as it makes our build fragile, at best.
Comment 6 Gunnar Wagenknecht CLA 2014-09-29 08:47:49 EDT
(In reply to David Williams from comment #5)
> Gunnar, can you detail, or outline, "how you build"?

That's in my target platform:

   <location includeAllPlatforms="true" includeConfigurePhase="false" 
             includeMode="slicer" includeSource="true" type="InstallableUnit">
      <unit id="org.eclipse.equinox.executable.feature.group" 
            version="3.6.100.v20140603-1326"/>
      <repository location="http://download.eclipse.org/eclipse/updates/4.4/"/>
   </location>


That's in my .product file:

   <launcher name="gyrex">
      <solaris/>
      <win useIco="false">
         <bmp/>
      </win>
   </launcher>


I don't use any other special IUs. Just a vanilla Tycho product build for multiple platforms.
Comment 7 David Williams CLA 2014-09-29 11:06:26 EDT
Thanks Gunnar, your example helps clarify the request, so I've adjusted the title to be more precise. 

This deserves more thought and investigation, and see if there is a "clean" way to provide this, both to provide some degree of backwards compatibility, and as nice convenience to those "just getting started" ... but, 

1) I definitely would hate to see "product icons" return to being the responsibility of "equinox launchers" (based on either repository or people). 

and 

2) I do believe we need to make clear that "consumers" are responsible for their own product icons. (I mean ... they can copy what we have ... but do not think the product icons should be an automatic "provided service" of the Eclipse Platform). 

That's my view ... from what I know so far ... always glad to hear other points of view. 

Technical note, for those that don't know this already (such as myself, who always has to look :) ... the executable feature group is made up of two kinds of IUs ... one set for the launchers (i.e. equinox launcher fragments), and another set for "executable_roots", which is for sure where things like "eclipse.exe" belong.
Comment 8 Cristiano Gaviao CLA 2014-09-29 12:28:23 EDT
@David,

could you tell me if the problem that I'm facing using Luna at linux and pointed by Gunnar at comment 3 is related with this bug ?
thanks
Comment 9 David Williams CLA 2014-09-29 12:38:57 EDT
(In reply to Cristiano Gaviao from comment #8)
> @David,
> 
> could you tell me if the problem that I'm facing using Luna at linux and
> pointed by Gunnar at comment 3 is related with this bug ?
> thanks

No, I don't *think* so.
Comment 10 David Williams CLA 2014-09-30 11:27:53 EDT
(In reply to Cristiano Gaviao from comment #8)
> @David,
> 
> could you tell me if the problem that I'm facing using Luna at linux and
> pointed by Gunnar at comment 3 is related with this bug ?
> thanks

To give a longer response, Cristiano, I had a hard time understanding from your message exactly what you were doing. Are you on Linux, and trying to make a headless application only for Linux? Or, are you on a Mac, and simply missing the icon? In either case, I'd suggest you try with the initial Luna release and then try with Luna SR1, and if the behavior is different, then it deserves it's own bug. If the behavior is the same, then ... not sure, it might be a bug, or (no offense) might be "user error". You end by asking "Those values wouldn't come from the .product file ?" But, they certainly can come from a .product file, so you might double check you didn't accidentally define them that way.
Comment 11 David Williams CLA 2014-09-30 11:30:19 EDT
(In reply to David Williams from comment #10)
> (In reply to Cristiano Gaviao from comment #8)
> > @David,
> > 
> > could you tell me if the problem that I'm facing using Luna at linux and
> > pointed by Gunnar at comment 3 is related with this bug ?
> > thanks
> 
> To give a longer response, Cristiano, I had a hard time understanding from
> your message exactly what you were doing. Are you on Linux, and trying to
> make a headless application only for Linux? Or, are you on a Mac, and simply
> missing the icon? In either case, I'd suggest you try with the initial Luna
> release and then try with Luna SR1, and if the behavior is different, then
> it deserves it's own bug. If the behavior is the same, then ... not sure, it
> might be a bug, or (no offense) might be "user error". You end by asking
> "Those values wouldn't come from the .product file ?" But, they certainly
> can come from a .product file, so you might double check you didn't
> accidentally define them that way.

And, I meant to add ... if you continue to have problems, please open a separate bug, in PDE, and attach your .product file (or, a "minimal" version of it, that shows the error). Also clarify if you are using the "delta back" or defining a .target file to build against. Thanks.
Comment 12 Cristiano Gaviao CLA 2014-09-30 12:24:54 EDT
(In reply to David Williams from comment #11)

David,

I'm using linux 64 with Luna. I did update to SR1 only (using the p2 sent by you http://download.eclipse.org/eclipse/updates/4.4/) and not downloaded a new archive. But just to be sure I started a download now. 

I've created a multi-target product file but didn't added any icon set not set any different configurations on it, just added features on it and tried to run it clickin in the 'green play' icon.

I've opened a new bug here https://bugs.eclipse.org/bugs/show_bug.cgi?id=445398

I will try with Luna SR1 soon and will attach my simple product file there.

thanks
Comment 13 Eclipse Genie CLA 2019-06-29 16:40:39 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.