Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 260582 | Differences between
and this patch

Collapse All | Expand All

(-)templates/headless-build/build.properties (-19 / +25 lines)
Lines 4-10 Link Here
4
# are made available under the terms of the Eclipse Public License v1.0
4
# are made available under the terms of the Eclipse Public License v1.0
5
# which accompanies this distribution, and is available at
5
# which accompanies this distribution, and is available at
6
# http://www.eclipse.org/legal/epl-v10.html
6
# http://www.eclipse.org/legal/epl-v10.html
7
# 
7
#
8
# Contributors:
8
# Contributors:
9
#     IBM Corporation - initial API and implementation
9
#     IBM Corporation - initial API and implementation
10
###############################################################################
10
###############################################################################
Lines 13-21 Link Here
13
# Typical users need only update the following properties:
13
# Typical users need only update the following properties:
14
#    baseLocation - where things you are building against are installed
14
#    baseLocation - where things you are building against are installed
15
#    bootclasspath - The base jars to compile against (typicaly rt.jar)
15
#    bootclasspath - The base jars to compile against (typicaly rt.jar)
16
#    configs - the list of {os, ws, arch} configurations to build.  
16
#    configs - the list of {os, ws, arch} configurations to build.
17
#
17
#
18
# Of course any of the settings here can be overridden by spec'ing 
18
# Of course any of the settings here can be overridden by spec'ing
19
# them on the command line (e.g., -DbaseLocation=d:/eclipse
19
# them on the command line (e.g., -DbaseLocation=d:/eclipse
20
20
21
#The type of the top level element we are building,  generally "feature"
21
#The type of the top level element we are building,  generally "feature"
Lines 36-43 Link Here
36
# The location underwhich all of the build output will be collected.
36
# The location underwhich all of the build output will be collected.
37
collectingFolder=${archivePrefix}
37
collectingFolder=${archivePrefix}
38
38
39
# The list of {os, ws, arch} configurations to build.  This 
39
# The list of {os, ws, arch} configurations to build.  This
40
# value is a '&' separated list of ',' separate triples.  For example, 
40
# value is a '&' separated list of ',' separate triples.  For example,
41
#     configs=win32,win32,x86 & linux,motif,x86
41
#     configs=win32,win32,x86 & linux,motif,x86
42
# By default the value is *,*,*
42
# By default the value is *,*,*
43
configs = *, *, *
43
configs = *, *, *
Lines 53-62 Link Here
53
#	macosx, carbon, ppc
53
#	macosx, carbon, ppc
54
54
55
# By default PDE creates one archive (result) per entry listed in the configs property.
55
# By default PDE creates one archive (result) per entry listed in the configs property.
56
# Setting this value to true will cause PDE to only create one output containing all 
56
# Setting this value to true will cause PDE to only create one output containing all
57
# artifacts for all the platforms listed in the configs property.
57
# artifacts for all the platforms listed in the configs property.
58
# To control the output format for the group, add a "group, group, group - <format>" entry to the
58
# To control the output format for the group, add a "group, group, group - <format>" entry to the
59
# archivesFormat. 
59
# archivesFormat.
60
#groupConfigurations=true
60
#groupConfigurations=true
61
61
62
#The format of the archive. By default a zip is created using antZip.
62
#The format of the archive. By default a zip is created using antZip.
Lines 82-88 Link Here
82
#parallelCompilation=true
82
#parallelCompilation=true
83
#parallelThreadCount=
83
#parallelThreadCount=
84
#parallelThreadsPerProcessor=
84
#parallelThreadsPerProcessor=
85
	
85
86
#Set to true if you want the output to be ready for an update jar (no site.xml generated)
86
#Set to true if you want the output to be ready for an update jar (no site.xml generated)
87
#outputUpdateJars = false
87
#outputUpdateJars = false
88
88
Lines 107-113 Link Here
107
#Arguments to send to the tar executable
107
#Arguments to send to the tar executable
108
tarargs=
108
tarargs=
109
109
110
#Control the creation of a file containing the version included in each configuration - on by default 
110
#Control the creation of a file containing the version included in each configuration - on by default
111
#generateVersionsLists=false
111
#generateVersionsLists=false
112
112
113
############## BUILD NAMING CONTROL ################
113
############## BUILD NAMING CONTROL ################
Lines 129-143 Link Here
129
timestamp=007
129
timestamp=007
130
130
131
#The value to be used for the qualifier of a plugin or feature when you want to override the value computed by pde.
131
#The value to be used for the qualifier of a plugin or feature when you want to override the value computed by pde.
132
#The value will only be applied to plugin or features indicating build.properties, qualifier = context 
132
#The value will only be applied to plugin or features indicating build.properties, qualifier = context
133
#forceContextQualifier=<the value for the qualifier>
133
#forceContextQualifier=<the value for the qualifier>
134
134
135
#Enable / disable the generation of a suffix for the features that use .qualifier. 
135
#Enable / disable the generation of a suffix for the features that use .qualifier.
136
#The generated suffix is computed according to the content of the feature   
136
#The generated suffix is computed according to the content of the feature
137
#generateFeatureVersionSuffix=true
137
#generateFeatureVersionSuffix=true
138
138
139
############# BASE CONTROL #############
139
############# BASE CONTROL #############
140
# Settings for the base Eclipse components and Java class libraries 
140
# Settings for the base Eclipse components and Java class libraries
141
# against which you are building.
141
# against which you are building.
142
# Base location for anything the build needs to compile against.  For example,
142
# Base location for anything the build needs to compile against.  For example,
143
# in most RCP app or a plug-in,  the baseLocation should be the location of a previously
143
# in most RCP app or a plug-in,  the baseLocation should be the location of a previously
Lines 145-150 Link Here
145
145
146
base=<path/to/parent/of/eclipse>
146
base=<path/to/parent/of/eclipse>
147
baseLocation=${base}/eclipse
147
baseLocation=${base}/eclipse
148
149
#Folder containing repositories whose content is needed to compile against
150
#repoBaseLocation=${base}/repos
151
#Folder where the content of the repositories from ${repoBaseLocation} will be made available as a form suitable to be compiled against
152
#transformedRepoLocation=${base}/transformedRepos
153
148
#Os/Ws/Arch/nl of the eclipse specified by baseLocation
154
#Os/Ws/Arch/nl of the eclipse specified by baseLocation
149
baseos=win32
155
baseos=win32
150
basews=win32
156
basews=win32
Lines 157-163 Link Here
157
resolution.devMode=false
163
resolution.devMode=false
158
164
159
#pluginPath is a list of locations in which to find plugins and features.  This list is separated by the platform file separator (; or :)
165
#pluginPath is a list of locations in which to find plugins and features.  This list is separated by the platform file separator (; or :)
160
#a location is one of:  
166
#a location is one of:
161
#- the location of the jar or folder that is the plugin or feature : /path/to/foo.jar or /path/to/foo
167
#- the location of the jar or folder that is the plugin or feature : /path/to/foo.jar or /path/to/foo
162
#- a directory that contains a /plugins or /features subdirectory
168
#- a directory that contains a /plugins or /features subdirectory
163
#- the location of a feature.xml, or for 2.1 style plugins, the plugin.xml or fragment.xml
169
#- the location of a feature.xml, or for 2.1 style plugins, the plugin.xml or fragment.xml
Lines 184-194 Link Here
184
190
185
############ REPOSITORY CONTROL ###############
191
############ REPOSITORY CONTROL ###############
186
# This section defines properties parameterizing the repositories where plugins, fragments
192
# This section defines properties parameterizing the repositories where plugins, fragments
187
# bundles and features are being obtained from. 
193
# bundles and features are being obtained from.
188
194
189
# The tags to use when fetching elements to build.
195
# The tags to use when fetching elements to build.
190
# By default thebuilder will use whatever is in the maps.  
196
# By default thebuilder will use whatever is in the maps.
191
# This value takes the form of a comma separated list of repository identifier (like used in the map files) and the 
197
# This value takes the form of a comma separated list of repository identifier (like used in the map files) and the
192
# overriding value
198
# overriding value
193
# For example fetchTag=CVS=HEAD, SVN=v20050101
199
# For example fetchTag=CVS=HEAD, SVN=v20050101
194
# fetchTag=HEAD
200
# fetchTag=HEAD
Lines 199-205 Link Here
199
# The location of the Java jars to compile against.  Typically the rt.jar for your JDK/JRE
205
# The location of the Java jars to compile against.  Typically the rt.jar for your JDK/JRE
200
#bootclasspath=${java.home}/lib/rt.jar
206
#bootclasspath=${java.home}/lib/rt.jar
201
207
202
# specific JRE locations to compile against. These values are used to compile bundles specifying a 
208
# specific JRE locations to compile against. These values are used to compile bundles specifying a
203
# Bundle-RequiredExecutionEnvironment. Uncomment and set values for environments that you support
209
# Bundle-RequiredExecutionEnvironment. Uncomment and set values for environments that you support
204
#CDC-1.0/Foundation-1.0= /path/to/rt.jar
210
#CDC-1.0/Foundation-1.0= /path/to/rt.jar
205
#CDC-1.1/Foundation-1.1=
211
#CDC-1.1/Foundation-1.1=
Lines 222-228 Link Here
222
logExtension=.log
228
logExtension=.log
223
229
224
# Whether or not to include debug info in the output jars
230
# Whether or not to include debug info in the output jars
225
javacDebugInfo=false 
231
javacDebugInfo=false
226
232
227
# Whether or not to fail the build if there are compiler errors
233
# Whether or not to fail the build if there are compiler errors
228
javacFailOnError=true
234
javacFailOnError=true
(-)templates/headless-build/customTargets.xml (+12 lines)
Lines 86-91 Link Here
86
	</target>
86
	</target>
87
87
88
	<!-- ===================================================================== -->
88
	<!-- ===================================================================== -->
89
	<!-- Steps to do before the repositories are being processed -->
90
	<!-- ===================================================================== -->
91
	<target name="preProcessRepos">
92
	</target>
93
94
	<!-- ===================================================================== -->
95
	<!-- Steps to do after the repositories have been processed -->
96
	<!-- ===================================================================== -->
97
	<target name="postProcessRepos">
98
	</target>
99
	
100
	<!-- ===================================================================== -->
89
	<!-- Steps to do before generating the build scripts. -->
101
	<!-- Steps to do before generating the build scripts. -->
90
	<!-- ===================================================================== -->
102
	<!-- ===================================================================== -->
91
	<target name="preGenerate">
103
	<target name="preGenerate">
(-)scripts/build.xml (-10 / +23 lines)
Lines 18-28 Link Here
18
<!-- ===================================================================== -->
18
<!-- ===================================================================== -->
19
19
20
<!-- ******* add in the descriptions for each of the top level targets to teh target decl -->
20
<!-- ******* add in the descriptions for each of the top level targets to teh target decl -->
21
<target name="main" description="the main build target">	
21
<target name="main" description="the main build target">
22
  	<antcall target="preBuild" /> 
22
  	<antcall target="preBuild" />
23
	<antcall target="processRepos"/>
23
 	<antcall target="fetch" />
24
 	<antcall target="fetch" />
24
	<antcall target="generate" /> 
25
	<antcall target="generate" />
25
	<antcall target="process" /> 
26
	<antcall target="process" />
26
	<antcall target="assemble" />
27
	<antcall target="assemble" />
27
	<antcall target="package" />
28
	<antcall target="package" />
28
	<antcall target="postBuild" />
29
	<antcall target="postBuild" />
Lines 34-41 Link Here
34
<!-- ===================================================================== -->
35
<!-- ===================================================================== -->
35
<target name="preBuild">
36
<target name="preBuild">
36
	<mkdir dir="${buildDirectory}" />
37
	<mkdir dir="${buildDirectory}" />
37
	<ant antfile="${customTargets}" target="preSetup" /> 
38
	<ant antfile="${customTargets}" target="preSetup" />
38
	<ant antfile="${customTargets}" target="getMapFiles" /> 
39
	<ant antfile="${customTargets}" target="getMapFiles" />
39
	<concat destfile="${buildDirectory}/directory.txt" fixlastline="yes">
40
	<concat destfile="${buildDirectory}/directory.txt" fixlastline="yes">
40
		<fileset dir="${buildDirectory}" includes="maps/**/*.map"/>
41
		<fileset dir="${buildDirectory}" includes="maps/**/*.map"/>
41
	</concat>
42
	</concat>
Lines 43-48 Link Here
43
</target>
44
</target>
44
45
45
<!-- ===================================================================== -->
46
<!-- ===================================================================== -->
47
<!-- This will transform the content of the repositories listed such that they are in a format against which PDE Build  -->
48
<!-- can succesfully build against them -->
49
<!-- ===================================================================== -->
50
<target name="processRepos" if="repoBaseLocation">
51
	<subant antfile="${customTargets}" target="preProcessRepos" failonerror="false" buildpath="."/>
52
	<ant antfile="${customTargets}" target="allElements">
53
		<property name="target" value="transformRepos" />
54
	</ant>
55
	<subant antfile="${customTargets}" target="postProcessRepos" failonerror="false" buildpath="."/>
56
</target>
57
58
<!-- ===================================================================== -->
46
<!-- Fetch the elements identified in the customTargets -->
59
<!-- Fetch the elements identified in the customTargets -->
47
<!-- ===================================================================== -->
60
<!-- ===================================================================== -->
48
<target name="fetch" unless="skipFetch">
61
<target name="fetch" unless="skipFetch">
Lines 51-57 Link Here
51
	<ant antfile="${customTargets}" target="allElements">
64
	<ant antfile="${customTargets}" target="allElements">
52
		<property name="target" value="fetchElement" />
65
		<property name="target" value="fetchElement" />
53
	</ant>
66
	</ant>
54
	
67
55
	<ant antfile="${customTargets}" target="postFetch"/>
68
	<ant antfile="${customTargets}" target="postFetch"/>
56
</target>
69
</target>
57
70
Lines 64-70 Link Here
64
	<ant antfile="${customTargets}" target="allElements">
77
	<ant antfile="${customTargets}" target="allElements">
65
		<property name="target" value="generateScript" />
78
		<property name="target" value="generateScript" />
66
	</ant>
79
	</ant>
67
	<ant antfile="${customTargets}" target="postGenerate"/>	
80
	<ant antfile="${customTargets}" target="postGenerate"/>
68
</target>
81
</target>
69
82
70
<!-- ===================================================================== -->
83
<!-- ===================================================================== -->
Lines 91-97 Link Here
91
	<ant antfile="${customTargets}" target="allElements">
104
	<ant antfile="${customTargets}" target="allElements">
92
		<property name="target" value="assembleElement"/>
105
		<property name="target" value="assembleElement"/>
93
	</ant>
106
	</ant>
94
	<ant antfile="${customTargets}" target="postAssemble"/>	
107
	<ant antfile="${customTargets}" target="postAssemble"/>
95
</target>
108
</target>
96
109
97
<!-- ===================================================================== -->
110
<!-- ===================================================================== -->
Lines 102-108 Link Here
102
	<ant antfile="${customTargets}" target="allElements">
115
	<ant antfile="${customTargets}" target="allElements">
103
		<property name="target" value="packageElement"/>
116
		<property name="target" value="packageElement"/>
104
	</ant>
117
	</ant>
105
	<ant antfile="${customTargets}" target="postPackage"/>	
118
	<ant antfile="${customTargets}" target="postPackage"/>
106
</target>
119
</target>
107
120
108
<!-- ===================================================================== -->
121
<!-- ===================================================================== -->
(-)scripts/genericTargets.xml (-13 / +22 lines)
Lines 41-49 Link Here
41
		fetchTag="${fetchTag}"
41
		fetchTag="${fetchTag}"
42
		configInfo="${configs}"
42
		configInfo="${configs}"
43
		baseLocation="${baseLocation}"
43
		baseLocation="${baseLocation}"
44
		pluginPath="${pluginPath}"
44
		pluginPath="${transformedRepoLocation}${path.separator}${pluginPath}"
45
	/>
45
	/>
46
	
46
47
	<!-- Run generated fetch script -->
47
	<!-- Run generated fetch script -->
48
	<ant antfile="${buildDirectory}/fetch_${id}.xml">
48
	<ant antfile="${buildDirectory}/fetch_${id}.xml">
49
		<!-- ************  should not have to spec these  *************** -->
49
		<!-- ************  should not have to spec these  *************** -->
Lines 65-72 Link Here
65
<!-- Generate a build.xml file for an element -->
65
<!-- Generate a build.xml file for an element -->
66
<!-- ===================================================================== -->
66
<!-- ===================================================================== -->
67
<target name="generateScript" description="Generating build scripts..." depends="init">
67
<target name="generateScript" description="Generating build scripts..." depends="init">
68
	<eclipse.buildScript 
68
	<eclipse.buildScript
69
		elements="${type}@${id}" 
69
		elements="${type}@${id}"
70
		buildDirectory="${buildDirectory}"
70
		buildDirectory="${buildDirectory}"
71
		configInfo="${configs}"
71
		configInfo="${configs}"
72
		baseLocation="${baseLocation}"
72
		baseLocation="${baseLocation}"
Lines 82-88 Link Here
82
		generatedVersionLength="${generatedVersionLength}"
82
		generatedVersionLength="${generatedVersionLength}"
83
		generateVersionsLists="${generateVersionsLists}"
83
		generateVersionsLists="${generateVersionsLists}"
84
		groupConfiguration="${groupConfigurations}"
84
		groupConfiguration="${groupConfigurations}"
85
		pluginPath="${pluginPath}"
85
		pluginPath="${transformedRepoLocation}${path.separator}${pluginPath}"
86
		filteredDependencyCheck="${filteredDependencyCheck}"
86
		filteredDependencyCheck="${filteredDependencyCheck}"
87
		platformProperties="${platformProperties}"
87
		platformProperties="${platformProperties}"
88
		filterP2Base="${filterP2Base}"
88
		filterP2Base="${filterP2Base}"
Lines 107-125 Link Here
107
		<property name="target" value="build.jars"/>
107
		<property name="target" value="build.jars"/>
108
	</ant>
108
	</ant>
109
</target>
109
</target>
110
	
110
111
<target name="processFlat" if="flattenDependencies" description="Compile in flattened dependency order">
111
<target name="processFlat" if="flattenDependencies" description="Compile in flattened dependency order">
112
	<ant antfile="compile.${id}.xml" dir="${buildDirectory}"/>
112
	<ant antfile="compile.${id}.xml" dir="${buildDirectory}"/>
113
</target>
113
</target>
114
	
114
115
<!-- **********************
115
<!-- **********************
116
1) the gather targets do more than just gather.  These are packaging targets.
116
1) the gather targets do more than just gather.  These are packaging targets.
117
We need to continue ot separate the two concepts (gather and package) as 
117
We need to continue ot separate the two concepts (gather and package) as
118
the packaging is different if we wanted to create an update site packaging
118
the packaging is different if we wanted to create an update site packaging
119
(for example).  The gathers are commented out for now as the new generated
119
(for example).  The gathers are commented out for now as the new generated
120
scripts do not seem to have them.
120
scripts do not seem to have them.
121
121
122
2) do we really need the ws and os properties?  In all cases?  Do they have to be 
122
2) do we really need the ws and os properties?  In all cases?  Do they have to be
123
set here?
123
set here?
124
-->
124
-->
125
125
Lines 130-136 Link Here
130
	<!-- ant antfile="build.xml" dir="${elementPath}" target="gather.bin.parts"/ -->
130
	<!-- ant antfile="build.xml" dir="${elementPath}" target="gather.bin.parts"/ -->
131
	<ant antfile="build.xml" dir="${elementPath}" target="zip.distribution">
131
	<ant antfile="build.xml" dir="${elementPath}" target="zip.distribution">
132
		<property name="os" value="${os}" />
132
		<property name="os" value="${os}" />
133
		<property name="ws" value="${ws}" />	
133
		<property name="ws" value="${ws}" />
134
	</ant>
134
	</ant>
135
</target>
135
</target>
136
136
Lines 141-151 Link Here
141
	<!--suspect:  this call is required to create the *.src.zip inside each plugin-->
141
	<!--suspect:  this call is required to create the *.src.zip inside each plugin-->
142
	<ant antfile="build.xml" dir="${elementPath}" target="build.sources">
142
	<ant antfile="build.xml" dir="${elementPath}" target="build.sources">
143
		<property name="os" value="${os}" />
143
		<property name="os" value="${os}" />
144
		<property name="ws" value="${ws}" />	
144
		<property name="ws" value="${ws}" />
145
	</ant>
145
	</ant>
146
	<ant antfile="build.xml" dir="${elementPath}" target="zip.sources">
146
	<ant antfile="build.xml" dir="${elementPath}" target="zip.sources">
147
		<property name="os" value="${os}" />
147
		<property name="os" value="${os}" />
148
		<property name="ws" value="${ws}" />	
148
		<property name="ws" value="${ws}" />
149
	</ant>
149
	</ant>
150
</target>
150
</target>
151
151
Lines 179-185 Link Here
179
<target name="packageElement" description="Packaging the build..." depends="init">
179
<target name="packageElement" description="Packaging the build..." depends="init">
180
	<ant antfile="package.${id}.all.xml" dir="${buildDirectory}"/>
180
	<ant antfile="package.${id}.all.xml" dir="${buildDirectory}"/>
181
</target>
181
</target>
182
	
182
183
<!-- ===================================================================== -->
183
<!-- ===================================================================== -->
184
<!-- Miscellaneous helper targets -->
184
<!-- Miscellaneous helper targets -->
185
<!-- ===================================================================== -->
185
<!-- ===================================================================== -->
Lines 190-193 Link Here
190
	<property name="elementPath" value="${buildDirectory}/${type}s/${id}" />
190
	<property name="elementPath" value="${buildDirectory}/${type}s/${id}" />
191
</target>
191
</target>
192
192
193
<!-- ===================================================================== -->
194
<!-- Invokes the p2 transformer to process all the repositories found in repoBaseLocation -->
195
<!-- ===================================================================== -->
196
<target name="transformRepos">
197
	<p2.repo2runnable destination="${transformedRepoLocation}">
198
		<source dir="${repoBaseLocation}/" includes="*"/>
199
	</p2.repo2runnable>
200
</target>
201
193
</project>
202
</project>
(-)scripts/productBuild/productBuild.xml (-1 / +2 lines)
Lines 17-23 Link Here
17
<!-- the customTargets.xml to modify the build behaviour. -->
17
<!-- the customTargets.xml to modify the build behaviour. -->
18
<!-- ===================================================================== -->
18
<!-- ===================================================================== -->
19
<target name="main" description="the main build target">	
19
<target name="main" description="the main build target">	
20
  	<antcall target="preBuild" /> 
20
  	<antcall target="preBuild" />
21
	<antcall target="processRepos"/>
21
	<antcall target="generateFeature"> <!-- Generate the feature to drive the fetch -->
22
	<antcall target="generateFeature"> <!-- Generate the feature to drive the fetch -->
22
		<param name="verify" value="false"/>
23
		<param name="verify" value="false"/>
23
	</antcall>
24
	</antcall>

Return to bug 260582