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

Bug 311134

Summary: Can't build 3.4.2 based product in P2.gathering-enabled build with 3.6M6 basebuilder
Product: [Eclipse Project] PDE Reporter: Stefan Stern <stern.s>
Component: BuildAssignee: pde-build-inbox <pde-build-inbox>
Status: RESOLVED WONTFIX QA Contact:
Severity: normal    
Priority: P3    
Version: 3.6   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:

Description Stefan Stern CLA 2010-04-30 03:17:20 EDT
Build Identifier: S-3.6M6-201003121448

When defining a PDE build, which shall build a simple mailapp RCP product, using the 3.4 P2 repo as target repository, the build fails with the message:
"Target "publish.bin.parts" does not exist in the project "org.eclipse.platform.launchers".

Looking into org.eclipse.equinox.executable feature, the build.xml in 3.6M6 does contain the specified target "publish.bin.parts", whereas the 3.4.2 version of the same feature does not.

The 3.6M6 basebuilder does not verify the target. 

Reproducible: Always
Comment 1 Stefan Stern CLA 2010-04-30 03:18:39 EDT
I will try to modify the 3.4.2 org.eclipse.equinox.executable build.xml file and add the target from the 3.6M6 feature version manually. Maybe that will do as workaround.
Comment 2 Stefan Stern CLA 2010-04-30 04:39:56 EDT
Yes, adding the following lines from the build.xml version 3.6M6 to the build.xml version 3.4.2 does the job:

in target init:
<property name="p2.build.repo" value="file:${buildDirectory}/buildRepo"/>
<condition property="p2.publish.parts" value="true"		>
	<istrue value="${p2.gathering}"/>
</condition>

and the missing new target:
<target name="publish.bin.parts" depends="init" if="p2.publish.parts">
	<eclipse.gatherFeature 
	   metadataRepository="${p2.build.repo}"
	   artifactRepository="${p2.build.repo}"
	   buildResultFolder="${basedir}"
	   baseDirectory="${basedir}"
	/>
</target>
Comment 3 Stefan Stern CLA 2010-04-30 09:55:02 EDT
To complete the workaround:
In build.xml:
The ${launcherName} property-inserts must be replaced by the given name of the launcher binary. For Win32 x86 and x86_64 e.g. "launcher.exe".
In build.properties, the properties which specify the binary name are wrong. These must be fixed, so they match the binary name on the HDD.
Comment 4 Lars Vogel CLA 2018-12-03 09:12:04 EST
Currently we are not actively enhancing PDE build anymore. Therefore, I close this bug as WONTFIX. 

Please reopen, if you plan to provide a fix.
Comment 5 Lars Vogel CLA 2018-12-03 09:12:07 EST
Currently we are not actively enhancing PDE build anymore. Therefore, I close this bug as WONTFIX. 

Please reopen, if you plan to provide a fix.