Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 266896 - Problems building when individualSourceBundles=true ?
Summary: Problems building when individualSourceBundles=true ?
Status: RESOLVED WONTFIX
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Dash Athena (show other bugs)
Version: unspecified   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Common Build Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-03-03 13:01 EST by Nick Boldt CLA
Modified: 2012-01-30 11:31 EST (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nick Boldt CLA 2009-03-03 13:01:40 EST
I tried to build GEF 3.5M5 but PDE failed to generate the zest.source plugin:

BUILD FAILED
/opt/users/hudsonbuild/.hudson/jobs/cbi-gef-3.5.x-nightly/workspace/build/org.eclipse.dash.common.releng/buildAll.xml:373: The following error occurred while executing this line:
/opt/users/hudsonbuild/.hudson/jobs/cbi-gef-3.5.x-nightly/workspace/build/org.eclipse.dash.common.releng/buildAll.xml:393: The following error occurred while executing this line:
/opt/users/hudsonbuild/.hudson/jobs/cbi-gef-3.5.x-nightly/workspace/build/org.eclipse.dash.common.releng/buildAll.xml:121: The following error occurred while executing this line:
/opt/users/hudsonbuild/.hudson/jobs/cbi-gef-3.5.x-nightly/workspace/build/org.eclipse.dash.common.releng/build.xml:25: The following error occurred while executing this line:
/opt/public/cbi/build/org.eclipse.releng.basebuilder_R35_M4/plugins/org.eclipse.pde.build_3.5.0.v20081210/scripts/build.xml:24: The following error occurred while executing this line:
/opt/public/cbi/build/org.eclipse.releng.basebuilder_R35_M4/plugins/org.eclipse.pde.build_3.5.0.v20081210/scripts/build.xml:64: The following error occurred while executing this line:
/opt/users/hudsonbuild/.hudson/jobs/cbi-gef-3.5.x-nightly/workspace/build/org.eclipse.dash.common.releng/builder/all/customTargets.xml:12: The following error occurred while executing this line:
/opt/users/hudsonbuild/.hudson/jobs/cbi-gef-3.5.x-nightly/workspace/build/org.eclipse.dash.common.releng/builder/all/allElements.xml:16: The following error occurred while executing this line:
/opt/public/cbi/build/org.eclipse.releng.basebuilder_R35_M4/plugins/org.eclipse.pde.build_3.5.0.v20081210/scripts/genericTargets.xml:94: Unable to find plug-in: org.eclipse.zest.source_0.0.0. Please check the error log for more details.

So, I performed the following changes:

https://build.eclipse.org/hudson/job/cbi-gef-3.5.x-nightly/3/changes#detail1

Summary

   1. [238626] Can't build GEF 3.5 in Hudson due to failure in zest.source plugin; trying a fix by removing "individualSourceBundles=true"
   2. remove redundant source.. = src/
   3. remove Bundle-ClassPath: . to prevent duplication of sources (zipped and unpacked) in same plugin

[238626] Can't build GEF 3.5 in Hudson due to failure in zest.source plugin; trying a fix by removing "individualSourceBundles=true"

The file was modified	1.6	org.eclipse.gef/features/org.eclipse.zest.sdk-feature/build.properties

remove redundant source.. = src/

The file was modified	1.12	org.eclipse.gef/plugins/org.eclipse.zest.core/build.properties
nickb:

remove Bundle-ClassPath: . to prevent duplication of sources (zipped and unpacked) in same plugin

The file was modified	1.27	org.eclipse.gef/plugins/org.eclipse.zest.core/META-INF/MANIFEST.MF

And now the build is green (well, blue).

This suggests that there may be a problem w/ the way the CBI handles generation of individualSourceBundles. Kim or Andrew N, can you have a look?
Comment 1 Ian Bull CLA 2009-03-03 19:33:00 EST
Thanks for fixing the build Nick.

I also experimented with trying to add source to the Zest build (a few months ago) and had no luck. It appeared that once I added the individualSource flag to PDE build, the build started to put a dependency on the plugin org.eclipse.zest.    However, this plugin does not exist.  We have org.eclipse.zest.core and org.eclipse.zest.layouts, and a feature o.e.zest.

Not sure if this helps.
Comment 2 Nick Boldt CLA 2009-03-03 20:45:34 EST
(In reply to comment #1)
> Thanks for fixing the build Nick.

Bear in mind this isn't for the build you use today, it's for the Dash build for which I'm using GEF as my guinea pig.

> I also experimented with trying to add source to the Zest build (a few months
> ago) and had no luck. It appeared that once I added the individualSource flag
> to PDE build, the build started to put a dependency on the plugin
> org.eclipse.zest.    However, this plugin does not exist.  We have
> org.eclipse.zest.core and org.eclipse.zest.layouts, and a feature o.e.zest.
> Not sure if this helps.

Hmm. To be honest, I only copied you on this as FYI in case I'd inadvertently broken something in the Modeling-based build that's used for GEF currently, so you or Anthony would know who to blame (and why). 

Are individual source bundles a must-do for Galileo, or just a suggestion to produce more clutter in the plugins/ dir while hopefully fixing the issue w/ Windows and long file paths, to which Linux and Mac folk are immune?
Comment 3 Anthony Hunter CLA 2009-03-04 09:24:54 EST
(In reply to comment #2)
> Are individual source bundles a must-do for Galileo, or just a suggestion to
> produce more clutter in the plugins/ dir while hopefully fixing the issue w/
> Windows and long file paths, to which Linux and Mac folk are immune?

This is not a must do, but yes, we need to do to solve that windows thingy.

Comment 4 Kim Moir CLA 2009-03-04 09:39:04 EST
Source bundles aren't "clutter" in the plugins dir :-).  They are a better way to ship  source.  If you are provisioning an install from a repo, it's much more logical to provision individual source bundles instead of a big wad of source for the entire feature. It avoids very annoying path length problems on Windows. It also provides more granular updates of source, because you only need to update the source bundle that changed instead of the entire source feature.

To configure individual source bundles, you need to add
individualSourceBundles=true to the builder's build.properties.  For instance, the builder for our master feature where we compile all the bundles for our build...

http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.releng.eclipsebuilder/eclipse/buildConfigs/master/build.properties?view=markup

Then you need change the build.properties of the feature to specify the name of the source feature and what it will generate.

For instance in our examples feature, we generate the org.eclipse.sdk.examples.source bundle 

http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.sdk.examples-feature/build.properties?view=markup

generate.feature@org.eclipse.sdk.examples.source=org.eclipse.sdk.examples

and include the source bundle in the feature
 <includes
         id="org.eclipse.sdk.examples.source"
         version="0.0.0"/>

http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.sdk.examples-feature/feature.xml?view=markup

Did you update your feature as well Ian?  If no, perhaps this is why it looked for org.eclipse.zest plugin.

Andrew's excellent document specifies how to implement source bundles.

http://wiki.eclipse.org/PDEBuild/Individual_Source_Bundles

We've been using them since 3.4M4 and are very happy customers :-)

I grepped through the common builder code and didn't see individual source bundles an a option to set.


Comment 5 Andrew Niefer CLA 2009-03-04 10:20:23 EST
The zest feature appears to contain a sourceTemplateFeature/feature.xml which will be used instead of a generated org.eclipse.zest.source feature.xml.

To use individual source bundles, you will either need to remove that template feature.xml, or edit it to include the correct individual .source plugins:
 org.eclipse.zest.core.source, org.eclipse.zest.layouts.source

with individual source bundles, there will no longer be a org.eclipse.zest.source bundle.

See also in the wiki the difference between sourceTemplatePlugin and sourceTemplateBundle.  The contents of the sourceTemplatePlugin folder will be copied into the source bundle for the branding plugin (org.eclipse.zest.core.source).

Comment 6 Anthony Hunter CLA 2009-03-04 11:05:58 EST
Agreed Kim, we need to support this in the common modeling build.
Comment 7 Wayne Beaton CLA 2011-12-22 20:18:25 EST
WONTFIX; Athena has been terminated.