Home » Eclipse Projects » Plugin Development Environment (PDE) » Including Root Files in a Product Build 
| Including Root Files in a Product Build [message #604934] | 
Tue, 09 March 2010 08:31   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
Hello, 
 
I have a PDE headless build for my product (plugins-based), which works well. 
Now I need to add a couple of files to my product, and I (try to) follow guidelines from this article :  http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse .pde.doc.user/tasks/pde_rootfiles.htm, ie.create a feature that contributes rootfiles, but does not specify a bin.includes property, and use the featureList property to select this feature. 
 
So: 
- I created a feature for root files only (its build.properties only contains root=rootfiles, with the rootfiles folder containing the two extra-files I need) 
- the headless build works fine, without error 
- at the end, I see that ${buildDirectory}/repository/binary contains a binary file that corresponds to the feature I created for root files. If I open this binary files in an hex editor I can see, among other things, the names of the root files I want to add.  
 
But finally, the produced zip doesn't contain the root files. At its root I only see (just like before trying to add root files) the exe launcher, the ini file, and artifact.xml 
 
Any hint? 
Thanks in advance for your help, 
 
Yves 
 
--  
Yves Monier
 |  
 |  
  |  
| Re: Including Root Files in a Product Build [message #658298 is a reply to message #604934] | 
Mon, 07 March 2011 13:03    | 
 
Eclipse User  | 
 | 
 | 
   | 
 
I did come across with the same issue. 
It worked well with previous Eclipse versions (Ganymede, Galileo), but now   
I use the new productBuild.xml ant template (which is pretty different   
 from its predecessors), and the root files are not copied in outcome   
product archive. 
 
The configuration is: 
 
[1] productBuild.xml 
 
	<target name="main" description="the main build target"> 
		<antcall target="preBuild" /> 
		<antcall target="processRepos" /> 
		<antcall target="generateFeature"> 
			<!-- Generate the feature to drive the fetch --> 
			<param name="verify" value="false" /> 
		</antcall> 
		<antcall target="fetch" /> 
		<antcall target="generateFeature"> 
			<!-- We are calling generate feature a second time so that we can get   
the pack / unpack clause fixed --> 
			<param name="verify" value="true" /> 
		</antcall> 
		<antcall target="generate" /> 
		<antcall target="process" /> 
		<antcall target="assemble" /> 
		<antcall target="package" /> 
		<antcall target="postBuild" /> 
	</target> 
 
	<!--   
 ============================================================ ========= --> 
	<!-- Generate a container feature based on the product   
file                --> 
	<!-- The plugin or feature containing the .product file will need to   
exist --> 
	<!-- already, use preSetup or postSetup to fetch it if   
necessary           --> 
	<!--   
 ============================================================ ========= --> 
	<target name="generateFeature"> 
		<eclipse.generateFeature   
featureId="org.eclipse.pde.build.container.feature"   
buildDirectory="${buildDirectory}" baseLocation="${baseLocation}"   
productFile="${product}" verify="${verify}"   
pluginPath="${transformedRepoLocation}${path.separator}${pluginPath} "   
configInfo="${configs}" pluginList="${pluginList}"   
featureList="${featureList}" includeLaunchers="${includeLaunchers}"   
buildPropertiesFile="${generatedBuildProperties}"   
nestedInclusions="${nestedInclusions}" filterP2Base="${filterP2Base}" /> 
	</target> 
 
 
[2] Feature's build.properties: 
bin.includes = feature.xml,\ 
                root=rootfiles 
 
[3] Feature layout 
build.properties 
feature.xml 
rootfiles 
   - license.html 
 
Is there an additional setting which enable the root files support in   
build.properties, or did I miss smth? 
 
Regards 
 
Jtonic 
 
 
 
 
On Tue, 09 Mar 2010 15:31:03 +0200, Yves Monier <yves.monier@gmail.com>   
wrote: 
 
> Hello, 
> 
> I have a PDE headless build for my product (plugins-based), which works   
> well. 
> Now I need to add a couple of files to my product, and I (try to) follow   
> guidelines from this article :   
>  http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse .pde.doc.user/tasks/pde_rootfiles.htm,   
> ie.create a feature that contributes rootfiles, but does not specify a   
> bin.includes property, and use the featureList property to select this   
> feature. 
> 
> So: 
> - I created a feature for root files only (its build.properties only   
> contains root=rootfiles, with the rootfiles folder containing the two   
> extra-files I need) 
> - the headless build works fine, without error 
> - at the end, I see that ${buildDirectory}/repository/binary contains a   
> binary file that corresponds to the feature I created for root files. If   
> I open this binary files in an hex editor I can see, among other things,   
> the names of the root files I want to add. But finally, the produced zip   
> doesn't contain the root files. At its root I only see (just like before   
> trying to add root files) the exe launcher, the ini file, and   
> artifact.xml 
> 
> Any hint? 
> Thanks in advance for your help, 
> 
> Yves 
> 
 
 
--  
Respect 
 
jtonic
 |  
 |  
  |  
| Re: Including Root Files in a Product Build [message #658317 is a reply to message #658298] | 
Mon, 07 March 2011 14:55   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
------------Mem8aJIu0y1LG2MEOfRjAu 
Content-Type: text/plain; charset=iso-8859-15; format=flowed; delsp=yes 
Content-Transfer-Encoding: 7bit 
 
I did manage to configure the product generation related files [1] so as   
the root files went in outcome archives. 
 
Reading carefully here [1], I've noticed there are 2 ways to include Root   
Files in a product build. 
The last worked for me. 
 
Quote 
>>>> 
  ${buildDirectory}/build.properties: generatedBuildProperties =   
${buildDirectory}/root.properties 
  ${buildDirectory/root.properties: root =   
absolute:${buildDirectory}/rootfiles 
  ${buildDirectory}/rootfiles/* 
<<< 
 
Also, I did a mistake in my previous post when I've said the   
productBuild.xml ANT template was changed significantly in Helios   
 (${eclipse_home}\plugins\org.eclipse.pde.build**\scripts\pro ductBuild\productBuild.xml)   
.. 
In fact my older productBuild.xml build script was a custom one. 
 
The changes in Helios include: 
 
  nestedInclusions="${nestedInclusions}" 
  filterP2Base="${filterP2Base}" 
 
[1] productBuild.xml, build.properties & root.properties 
[2]   
 http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse .pde.doc.user/tasks/pde_rootfiles.htm 
 
Regards 
 
Jtonic 
 
On Mon, 07 Mar 2011 20:03:38 +0200, Jtonic <antonel.pazargic@gmail.com>   
wrote: 
 
> I did come across with the same issue. 
> It worked well with previous Eclipse versions (Ganymede, Galileo), but  
> now I use the new productBuild.xml ant template (which is pretty  
> different from its predecessors), and the root files are not copied in  
> outcome product archive. 
> 
> The configuration is: 
> 
> [1] productBuild.xml 
> 
> <target name="main" description="the main build target"> 
> <antcall target="preBuild" /> 
> <antcall target="processRepos" /> 
> <antcall target="generateFeature"> 
> <!-- Generate the feature to drive the fetch --> 
> <param name="verify" value="false" /> 
> </antcall> 
> <antcall target="fetch" /> 
> <antcall target="generateFeature"> 
> <!-- We are calling generate feature a second time so that we can getthe   
> pack / unpack clause fixed --> 
> <param name="verify" value="true" /> 
> </antcall> 
> <antcall target="generate" /> 
> <antcall target="process" /> 
> <antcall target="assemble" /> 
> <antcall target="package" /> 
> <antcall target="postBuild" /> 
> </target> 
> 
> <!--  
>  ============================================================ ========= --> 
> <!-- Generate a container feature based on the productfile --> 
> <!-- The plugin or feature containing the .product file will need to  
> exist --> 
> <!-- already, use preSetup or postSetup to fetch it ifnecessary --> 
> <!--  
>  ============================================================ ========= --> 
> <target name="generateFeature"> 
> <eclipse.generateFeature  
> featureId="org.eclipse.pde.build.container.feature"  
> buildDirectory="${buildDirectory}" baseLocation="${baseLocation}"  
> productFile="${product}" verify="${verify}"  
> pluginPath="${transformedRepoLocation}${path.separator}${pluginPath} "  
> configInfo="${configs}" pluginList="${pluginList}"  
> featureList="${featureList}" includeLaunchers="${includeLaunchers}"  
> buildPropertiesFile="${generatedBuildProperties}"  
> nestedInclusions="${nestedInclusions}" filterP2Base="${filterP2Base}" /> 
> </target> 
> 
> 
> [2] Feature's build.properties: 
> bin.includes = feature.xml,\ 
> root=rootfiles 
> 
> [3] Feature layout 
> build.properties 
> feature.xml 
> rootfiles 
> - license.html 
> 
> Is there an additional setting which enable the root files support in  
> build.properties, or did I miss smth? 
> 
> Regards 
> 
> Jtonic 
> 
> 
> 
> 
> On Tue, 09 Mar 2010 15:31:03 +0200, Yves Monier <yves.monier@gmail.com>  
> wrote: 
> 
>> Hello, 
>> 
>> I have a PDE headless build for my product (plugins-based), which works  
>> well. 
>> Now I need to add a couple of files to my product, and I (try to)follow   
>> guidelines from this article :  
>>  http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse .pde.doc.user/tasks/pde_rootfiles.htm,  
>> ie.create a feature that contributes rootfiles, but does not specify a  
>> bin.includes property, and use the featureList property to select this  
>> feature. 
>> 
>> So: 
>> - I created a feature for root files only (its build.properties only  
>> contains root=rootfiles, with the rootfiles folder containing the two  
>> extra-files I need) 
>> - the headless build works fine, without error 
>> - at the end, I see that ${buildDirectory}/repository/binary contains a  
>> binary file that corresponds to the feature I created for root files.If   
>> I open this binary files in an hex editor I can see, among otherthings,   
>> the names of the root files I want to add. But finally, theproduced zip   
>> doesn't contain the root files. At its root I only see(just like before   
>> trying to add root files) the exe launcher, the inifile, and   
>> artifact.xml 
>> 
>> Any hint? 
>> Thanks in advance for your help, 
>> 
>> Yves 
>> 
> 
> 
 
 
--  
Respect 
 
jtonic 
------------Mem8aJIu0y1LG2MEOfRjAu 
Content-Type: multipart/related; boundary=----------Mem8aJIu0y1LG25T4zbuOr 
 
------------Mem8aJIu0y1LG25T4zbuOr 
Content-Type: text/html; charset=iso-8859-15 
Content-ID: <op.1299527743875.65cf6d546d5dd36a@192.168.0.103> 
Content-Transfer-Encoding: Quoted-Printable 
 
<!DOCTYPE html><html><head><style type=3D"text/css">body { font-family:'= 
Times New Roman'; font-size:17px}</style></head><body><div>I did manage = 
to configure the product generation related files [1] so as the root fil= 
es went in outcome archives.</div><div><br>Reading carefully here [1], I= 
've noticed there are 2 ways to include Root Files in a product build.<b= 
r>The last worked for me. <br><br>Quote<br>>>>> <br> ${b= 
uildDirectory}/build.properties:  generatedBuildProperties =3D ${buildDi= 
rectory}/root.properties<br> ${buildDirectory/root.properties:    root =3D= 
 absolute:${buildDirectory}/rootfiles<br> ${buildDirectory}/rootfiles/*<= 
br><<<<br><br>Also, I did a mistake in my previous post when I'= 
ve said the productBuild.xml ANT template was changed significantly in H= 
elios  (${eclipse_home}\plugins\org.eclipse.pde.build**\scripts\pro ductBu= 
ild\productBuild.xml) . </div><div>In fact my older productBuild.xm= 
l build script was a custom one.</div><div><br></div><div>The changes in= 
 Helios include:</div><div><br>		nestedInclusions=3D"${nestedInclusions}= 
"<br>		filterP2Base=3D"${filterP2Base}"<br><br>[1] productBuild.xml, bui= 
ld.properties & root.properties<br>[2] http://help.eclipse.org/galil= 
 eo/index.jsp?topic=3D/org.eclipse.pde.doc.user/tasks/pde_roo tfiles.htm <= 
br><br>Regards<br><br>Jtonic<br><br>On Mon, 07 Mar 2011 20:03:38 +0200, = 
Jtonic <antonel.pazargic@gmail.com> wrote:<br><br>> I did come = 
across with the same issue.<br>> It worked well with previous Eclipse= 
 versions (Ganymede, Galileo), but  <br>> now I use the new productBu= 
ild.xml ant template (which is pretty  <br>> different  from its pred= 
ecessors), and the root files are not copied in  <br>> outcome produc= 
t archive.<br>><br>> The configuration is:<br>><br>> [1] pro= 
ductBuild.xml<br>><br>> 	<target name=3D"main" description=3D"t= 
he main build target"><br>> 		<antcall target=3D"preBuild" />= 
;<br>> 		<antcall target=3D"processRepos" /><br>> 		<antc= 
all target=3D"generateFeature"><br>> 			<!-- Generate the featu= 
re to drive the fetch --><br>> 			<param name=3D"verify" value=3D= 
"false" /><br>> 		</antcall><br>> 		<antcall target=3D= 
"fetch" /><br>> 		<antcall target=3D"generateFeature"><br>&g= 
t; 			<!-- We are calling generate feature a second time so that we c= 
an get  <br>> the pack / unpack clause fixed --><br>> 			<pa= 
ram name=3D"verify" value=3D"true" /><br>> 		</antcall><br>&= 
gt; 		<antcall target=3D"generate" /><br>> 		<antcall target= 
=3D"process" /><br>> 		<antcall target=3D"assemble" /><br>&g= 
t; 		<antcall target=3D"package" /><br>> 		<antcall target=3D= 
"postBuild" /><br>> 	</target><br>><br>> 	<!--  <br= 
>>  =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D= 
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D= 
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D --= 
><br>> 	<!-- Generate a container feature based on the product = 
 <br>> file                --><br>> 	<!-- The plugin or feat= 
ure containing the .product file will need to  <br>> exist --><br>= 
> 	<!-- already, use preSetup or postSetup to fetch it if  <br>>= 
; necessary           --><br>> 	<!--  <br>> =3D=3D=3D=3D=3D=3D= 
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D= 
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D= 
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --><br>> 	<target= 
 name=3D"generateFeature"><br>> 		<eclipse.generateFeature  <br= 
>> featureId=3D"org.eclipse.pde.build.container.feature"  <br>> bu= 
ildDirectory=3D"${buildDirectory}" baseLocation=3D"${baseLocation}"  <br= 
>> productFile=3D"${product}" verify=3D"${verify}"  <br>> pluginPa= 
th=3D"${transformedRepoLocation}${path.separator}${pluginPath} "  <br>>= 
; configInfo=3D"${configs}" pluginList=3D"${pluginList}"  <br>> featu= 
reList=3D"${featureList}" includeLaunchers=3D"${includeLaunchers}"  <br>= 
> buildPropertiesFile=3D"${generatedBuildProperties}"  <br>> neste= 
dInclusions=3D"${nestedInclusions}" filterP2Base=3D"${filterP2Base}" /&g= 
t;<br>> 	</target><br>><br>><br>> [2] Feature's build.= 
properties:<br>> bin.includes =3D feature.xml,\<br>>              = 
   root=3Drootfiles<br>><br>> [3] Feature layout<br>> build.pro= 
perties<br>> feature.xml<br>> rootfiles<br>>    - license.html<= 
br>><br>> Is there an additional setting which enable the root fil= 
es support in  <br>> build.properties, or did I miss smth?<br>><br= 
>> Regards<br>><br>> Jtonic<br>><br>><br>><br>> <br>= 
> On Tue, 09 Mar 2010 15:31:03 +0200, Yves Monier <yves.monier@gma= 
il.com>  <br>> wrote:<br>><br>>> Hello,<br>>><br>&g= 
t;> I have a PDE headless build for my product (plugins-based), which= 
 works  <br>>> well.<br>>> Now I need to add a couple of fil= 
es to my product, and I (try to)  <br>>> follow guidelines from th= 
is article :  <br>>> <a href=3D"http://help.eclipse.org/galileo/in= 
 dex.jsp?topic=3D/org.eclipse.pde.doc.user/tasks/pde_rootfile s.htm ">http:= 
 //help.eclipse.org/galileo/index.jsp?topic=3D/org.eclipse.pd e.doc.user/t= 
asks/pde_rootfiles.htm</a>,  <br>>> ie.create a feature that contr= 
ibutes rootfiles, but does not specify a  <br>>> bin.includes prop= 
erty, and use the featureList property to select this  <br>>> feat= 
ure.<br>>><br>>> So:<br>>> - I created a feature for r= 
oot files only (its build.properties only  <br>>> contains root=3D= 
rootfiles, with the rootfiles folder containing the two  <br>>> ex= 
tra-files I need)<br>>> - the headless build works fine, without e= 
rror<br>>> - at the end, I see that ${buildDirectory}/repository/b= 
inary contains a  <br>>> binary file that corresponds to the featu= 
re I created for root files.  <br>>> If I open this binary files i= 
n an hex editor I can see, among other  <br>>> things, the names o= 
f the root files I want to add. But finally, the  <br>>> produced = 
zip doesn't contain the root files. At its root I only see  <br>>>= 
 (just like before trying to add root files) the exe launcher, the ini  = 
<br>>> file, and artifact.xml<br>>><br>>> Any hint?<br= 
>>> Thanks in advance for your help,<br>>><br>>> Yves<= 
br>>><br>><br>><br><br><br ></div><div id=3D"M2Signature"><di= 
v>-- </div><div><div><em>Respect</em><br><br><strong><big ><big>jtonic</b= 
ig></big></strong><br></div></div></div></body></html > 
------------Mem8aJIu0y1LG25T4zbuOr-- 
 
------------Mem8aJIu0y1LG2MEOfRjAu--
 |  
 |  
  |   
Goto Forum:
 
 Current Time: Mon Nov 03 19:35:28 EST 2025 
 Powered by  FUDForum. Page generated in 0.04592 seconds  
 |