Re: Eclipse 3.4 RC4 Headless Build Icon Problems [message #7242] |
Fri, 20 June 2008 09:15  |
Eclipse User |
|
|
|
I think I have found the problem. Looks like a pretty high impact bug
affecting all branding of RCP applications by PDE at 3.4 RC4?
In org.eclipse.pde.build:
On line 389 of AbstractScriptGenerator the method loadProduct returns a
product file of
new ProductFile(f.getAbsolutePath(), null)
i.e, no OS is specified and so the getIcons method of the ProductFile
will return an empty string array.
This product file is later used by AssembleConfigScriptGenerator in
computeIconsList() where it does a productFile.getIcons expecting some
results and when it doesn't find any it simply returns
"${launcherIcons}" which is then all that is inserted into the generated
eclipse.brand call like this:
<eclipse.brand
root="${eclipse.base}/win32.win32.x86/${collectingFolder}"
icons="${launcherIcons}"
name="${launcherName}"
os="${os}" />
If a write a little unit test that contructs a new ProductFile from my
RCP applications .product, it will correctly pass my icon lists back so
long as I have listed an OS in the constructor. However if I pass null
in for the contructor as the AssembleConfigScriptGenerator does I get
back an empty array.
Seems to me like a pretty clear bug in PDE that will affect anyone
trying to build branded RCP applications.
Would like to confirm that I am not missing something and this is indeed
a bug?
What do people think the likelyhood of this getting fixed for the 3.4
release is??
Many thanks,
Martin.
Martin Woodward wrote:
> Hi All,
>
> I'm trying to move our headless build system over from Eclipse 3.3 to
> Eclipse 3.4 RC4 to get ready for the release. However, I am having
> trouble with the icons in the branding of our RCP app. The
> eclipse.brand task is being called and everything in BrandingIron seems
> to be getting called (For example I had to correctly specify some
> additional properties in the Mac launcher args that I didn't have to
> before due to a bug fix in BrandingIron between 3.3 and 3.4)
>
> However, the launcher icon is missing from all platforms. It's as if
> the branding code cannot find the launcher icons.
>
> The relevant section from the .product file is:
>
> <launcher name="MyApp">
> <linux icon="/com.foobar.rcpapp/icons/icon.xpm"/>
> <macosx icon="/com.foobar.rcpapp/icons/icon.icns"/>
> <solaris/>
> <win useIco="true">
> <ico path="/com.foobar.rcpapp/icons/icon.ico"/>
> <bmp/>
> </win>
> </launcher>
>
> And works fine under 3.3. Any ideas what I might be doing wrong or any
> techniques for debugging the issue? (Obviously it works ok under PDE.UI
> because that seems to set the launcherIcons property)
>
> Many thanks,
>
> Martin.
|
|
|
|
|
|
|
|
Re: Eclipse 3.4 RC4 Headless Build Icon Problems [message #569691 is a reply to message #7242] |
Fri, 20 June 2008 14:22  |
Eclipse User |
|
|
|
Martin Woodward wrote:
>
> I think I have found the problem. Looks like a pretty high impact bug
> affecting all branding of RCP applications by PDE at 3.4 RC4?
>
> In org.eclipse.pde.build:
<...>
> Seems to me like a pretty clear bug in PDE that will affect anyone
> trying to build branded RCP applications.
>
> Would like to confirm that I am not missing something and this is indeed
> a bug?
>
> What do people think the likelyhood of this getting fixed for the 3.4
> release is??
Since you've obviously done a lot of detailed analysis, I'd suggest you
enter a bug against PDE and mark it as the highest severity/priority.
Only show-stopper bugs will even be considered at this late stage, and
even then it's going to be hard to convince everyone that it is
critical. But if you want to have a chance, you need to raise the
visibility as quickly as possible and Bugzilla is the avenue to do that.
Eric
|
|
|
Re: Eclipse 3.4 RC4 Headless Build Icon Problems [message #569719 is a reply to message #8060] |
Fri, 20 June 2008 15:02  |
Eclipse User |
|
|
|
Thanks Eric,
Submitted http://bugs.eclipse.org/237922 as a showstopper. Attached the
patch to fix it. As with all these sorts of things, 3 days of pulling
my hair out turned out to be a 3 line fix affecting 2 classes :-)
Give me a shout if there is anything I can add to the bug to help
express the importance of the fix. Without it folks with branded RCP
apps will be scratching their heads a little.
Just wish I'd found time to try out the 3.4 PDE build earlier. Lesson
learnt for next time.
BTW. Once I fixed this issue, I spotted another one. IconExe.java will
throw a NullPointerException when trying to swap the icons on the x64
version of the launcher. Turns out the PE file format was changed
slighty for x64 executables and that throws out the code. I'll submit a
different bug for that issue and start work on a patch as I don't expect
there is a chance of convincing folks to include that fix in the
release. (However folks trying either a headless or a PDE.UI build of a
branded RCP app on Win x64 are going to be seeing a NullPointerException
until it is fixed)
Many thanks,
Martin.
Eric Rizzo wrote:
> Since you've obviously done a lot of detailed analysis, I'd suggest you
> enter a bug against PDE and mark it as the highest severity/priority.
> Only show-stopper bugs will even be considered at this late stage, and
> even then it's going to be hard to convince everyone that it is
> critical. But if you want to have a chance, you need to raise the
> visibility as quickly as possible and Bugzilla is the avenue to do that.
>
> Eric
|
|
|
Re: Eclipse 3.4 RC4 Headless Build Icon Problems [message #569736 is a reply to message #8090] |
Fri, 20 June 2008 20:58  |
Eclipse User |
|
|
|
Martin Woodward wrote:
>
> BTW. Once I fixed this issue, I spotted another one. IconExe.java will
> throw a NullPointerException when trying to swap the icons on the x64
> version of the launcher. Turns out the PE file format was changed
> slighty for x64 executables and that throws out the code. I'll submit a
> different bug for that issue and start work on a patch as I don't expect
> there is a chance of convincing folks to include that fix in the
> release. (However folks trying either a headless or a PDE.UI build of a
> branded RCP app on Win x64 are going to be seeing a NullPointerException
> until it is fixed)
>
FYI - for those following this thread, I logged the win32_x86_64 PDE
branding issue as bug http://bugs.eclipse.org/238001 and have attached a
proposed patch that adds support to allow the branding code to work on
the win32 64-bit launcher.exe.
The changes were pretty minimal in the end, the x64 executables have a
slighty different header, but the actual icons are stored in the same
format in the file.
|
|
|
Re: Eclipse 3.4 RC4 Headless Build Icon Problems [message #569785 is a reply to message #8090] |
Mon, 23 June 2008 04:08  |
Eclipse User |
|
|
|
Thanks to spent your time on this !
This will solve my headless build issues.
regards.
Laurent Marchal.
Martin Woodward wrote:
> Thanks Eric,
>
> Submitted http://bugs.eclipse.org/237922 as a showstopper. Attached the
> patch to fix it. As with all these sorts of things, 3 days of pulling
> my hair out turned out to be a 3 line fix affecting 2 classes :-)
>
> Give me a shout if there is anything I can add to the bug to help
> express the importance of the fix. Without it folks with branded RCP
> apps will be scratching their heads a little.
>
> Just wish I'd found time to try out the 3.4 PDE build earlier. Lesson
> learnt for next time.
>
> BTW. Once I fixed this issue, I spotted another one. IconExe.java will
> throw a NullPointerException when trying to swap the icons on the x64
> version of the launcher. Turns out the PE file format was changed
> slighty for x64 executables and that throws out the code. I'll submit a
> different bug for that issue and start work on a patch as I don't expect
> there is a chance of convincing folks to include that fix in the
> release. (However folks trying either a headless or a PDE.UI build of a
> branded RCP app on Win x64 are going to be seeing a NullPointerException
> until it is fixed)
>
> Many thanks,
>
> Martin.
>
>
>
> Eric Rizzo wrote:
>> Since you've obviously done a lot of detailed analysis, I'd suggest
>> you enter a bug against PDE and mark it as the highest
>> severity/priority. Only show-stopper bugs will even be considered at
>> this late stage, and even then it's going to be hard to convince
>> everyone that it is critical. But if you want to have a chance, you
>> need to raise the visibility as quickly as possible and Bugzilla is
>> the avenue to do that.
>>
>> Eric
|
|
|
|
Powered by
FUDForum. Page generated in 0.11118 seconds