summaryrefslogtreecommitdiffstats
path: root/features/org.yocto.sdk.headless.build
diff options
context:
space:
mode:
Diffstat (limited to 'features/org.yocto.sdk.headless.build')
-rw-r--r--features/org.yocto.sdk.headless.build/.project11
-rw-r--r--features/org.yocto.sdk.headless.build/build.properties262
-rw-r--r--features/org.yocto.sdk.headless.build/customTargets.xml212
3 files changed, 485 insertions, 0 deletions
diff --git a/features/org.yocto.sdk.headless.build/.project b/features/org.yocto.sdk.headless.build/.project
new file mode 100644
index 0000000..f796e80
--- /dev/null
+++ b/features/org.yocto.sdk.headless.build/.project
@@ -0,0 +1,11 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>org.yocto.sdk.headless.build</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 </buildSpec>
9 <natures>
10 </natures>
11</projectDescription>
diff --git a/features/org.yocto.sdk.headless.build/build.properties b/features/org.yocto.sdk.headless.build/build.properties
new file mode 100644
index 0000000..5a9b637
--- /dev/null
+++ b/features/org.yocto.sdk.headless.build/build.properties
@@ -0,0 +1,262 @@
1###############################################################################
2# Copyright (c) 2003, 2009 IBM Corporation and others.
3# All rights reserved. This program and the accompanying materials
4# are made available under the terms of the Eclipse Public License v1.0
5# which accompanies this distribution, and is available at
6# http://www.eclipse.org/legal/epl-v10.html
7#
8# Contributors:
9# IBM Corporation - initial API and implementation
10###############################################################################
11#####################
12# Parameters describing how and where to execute the build.
13# Typical users need only update the following properties:
14# baseLocation - where things you are building against are installed
15# bootclasspath - The base jars to compile against (typicaly rt.jar)
16# configs - the list of {os, ws, arch} configurations to build.
17#
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
20
21#The type of the top level element we are building, generally "feature"
22topLevelElementType = feature
23#The id of the top level element we are building
24topLevelElementId = org.yocto.sdk
25
26############# PRODUCT/PACKAGING CONTROL #############
27product=/plugin or feature id/path/to/.product
28runPackager=true
29
30#Set the name of the archive that will result from the product build.
31#archiveNamePrefix=
32
33# The prefix that will be used in the generated archive.
34archivePrefix=eclipse
35
36# The location underwhich all of the build output will be collected.
37collectingFolder=${archivePrefix}
38
39# The list of {os, ws, arch} configurations to build. This
40# value is a '&' separated list of ',' separate triples. For example,
41# configs=win32,win32,x86 & linux,motif,x86
42# By default the value is *,*,*
43configs = *, *, *
44#configs=win32, win32, x86 & \
45# win32,win32,x86_64 & \
46# win32,win32,wpf & \
47# linux, gtk, ppc & \
48# linux, gtk, x86 & \
49# linux, gtk, x86_64 & \
50# linux, motif, x86 & \
51# solaris, motif, sparc & \
52# solaris, gtk, sparc & \
53# aix, motif, ppc & \
54# hpux, motif, ia64_32 & \
55# macosx, carbon, ppc & \
56# macosx, carbon, x86 & \
57# macosx, cocoa, ppc & \
58# macosx, cocoa, x86 & \
59# macosx, cocoa, x86_64
60
61# By default PDE creates one archive (result) per entry listed in the configs property.
62# Setting this value to true will cause PDE to only create one output containing all
63# artifacts for all the platforms listed in the configs property.
64# To control the output format for the group, add a "group, group, group - <format>" entry to the
65# archivesFormat.
66#groupConfigurations=true
67
68#The format of the archive. By default a zip is created using antZip.
69#The list can only contain the configuration for which the desired format is different than zip.
70#archivesFormat=win32, win32, x86 - antZip& \
71# linux, gtk, ppc - antZip &\
72# linux, gtk, x86 - antZip& \
73# linux, gtk, x86_64 - antZip& \
74# linux, motif, x86 - antZip& \
75# solaris, motif, sparc - antZip& \
76# solaris, gtk, sparc - antZip& \
77# aix, motif, ppc - antZip& \
78# hpux, motif, PA_RISC - antZip& \
79# macosx, carbon, ppc - antZip
80
81#Allow cycles involving at most one bundle that needs to be compiled with the rest being binary bundles.
82allowBinaryCycles = true
83
84#Sort bundles depenedencies across all features instead of just within a given feature.
85#flattenDependencies = true
86
87#Parallel compilation, requires flattenedDependencies=true
88#parallelCompilation=true
89#parallelThreadCount=
90#parallelThreadsPerProcessor=
91
92#Set to true if you want the output to be ready for an update jar (no site.xml generated)
93outputUpdateJars = true
94
95#Set to true for Jnlp generation
96#codebase should be a URL that will be used as the root of all relative URLs in the output.
97#generateJnlp=false
98#jnlp.codebase=<codebase url>
99#jnlp.j2se=<j2se version>
100#jnlp.locale=<a locale>
101#jnlp.generateOfflineAllowed=true or false generate <offlineAllowed/> attribute in the generated features
102#jnlp.configs=${configs} #uncomment to filter the content of the generated jnlp files based on the configuration being built
103
104#Set to true if you want to sign jars
105#signJars=false
106#sign.alias=<alias>
107#sign.keystore=<keystore location>
108#sign.storepass=<keystore password>
109#sign.keypass=<key password>
110
111#Arguments to send to the zip executable
112zipargs=
113
114#Arguments to send to the tar executable
115tarargs=
116
117#Control the creation of a file containing the version included in each configuration - on by default
118#generateVersionsLists=false
119
120############## BUILD NAMING CONTROL ################
121# The directory into which the build elements are fetched and where
122# the build takes place.
123#buildDirectory=
124
125# Type of build. Used in naming the build output. Typically this value is
126# one of I, N, M, S, ...
127buildType=I
128
129# ID of the build. Used in naming the build output.
130buildId=TestBuild
131
132# Label for the build. Used in naming the build output
133buildLabel=${buildType}.${buildId}
134
135# Timestamp for the build. Used in naming the build output
136timestamp=007
137
138#The value to be used for the qualifier of a plugin or feature when you want to override the value computed by pde.
139#The value will only be applied to plugin or features indicating build.properties, qualifier = context
140#forceContextQualifier=<the value for the qualifier>
141
142#Enable / disable the generation of a suffix for the features that use .qualifier.
143#The generated suffix is computed according to the content of the feature
144#generateFeatureVersionSuffix=true
145
146############# BASE CONTROL #############
147# Settings for the base Eclipse components and Java class libraries
148# against which you are building.
149# Base location for anything the build needs to compile against. For example,
150# in most RCP app or a plug-in, the baseLocation should be the location of a previously
151# installed Eclipse against which the application or plug-in code will be compiled and the RCP delta pack.
152
153#base=<path/to/parent/of/eclipse>
154#baseLocation=${base}/eclipse
155
156#Folder containing repositories whose content is needed to compile against
157#repoBaseLocation=${base}/repos
158#Folder where the content of the repositories from ${repoBaseLocation} will be made available as a form suitable to be compiled against
159#transformedRepoLocation=${base}/transformedRepos
160
161#Os/Ws/Arch/nl of the eclipse specified by baseLocation
162#baseos=win32
163#basews=win32
164#basearch=x86
165
166#this property indicates whether you want the set of plug-ins and features to be considered during the build to be limited to the ones reachable from the features / plugins being built
167filteredDependencyCheck=false
168
169#this property indicates whether the resolution should be done in development mode (i.e. ignore multiple bundles with singletons)
170resolution.devMode=false
171
172#pluginPath is a list of locations in which to find plugins and features. This list is separated by the platform file separator (; or :)
173#a location is one of:
174#- the location of the jar or folder that is the plugin or feature : /path/to/foo.jar or /path/to/foo
175#- a directory that contains a /plugins or /features subdirectory
176#- the location of a feature.xml, or for 2.1 style plugins, the plugin.xml or fragment.xml
177#pluginPath=
178
179skipBase=true
180eclipseURL=<url for eclipse download site>
181eclipseBuildId=<Id of Eclipse build to get>
182eclipseBaseURL=${eclipseURL}/eclipse-platform-${eclipseBuildId}-win32.zip
183
184
185############# MAP FILE CONTROL ################
186# This section defines CVS tags to use when fetching the map files from the repository.
187# If you want to fetch the map file from repository / location, change the getMapFiles target in the customTargets.xml
188
189skipMaps=true
190mapsRepo=:pserver:anonymous@example.com/path/to/repo
191mapsRoot=path/to/maps
192mapsCheckoutTag=HEAD
193
194#tagMaps=true
195mapsTagTag=v${buildId}
196
197
198############ REPOSITORY CONTROL ###############
199# This section defines properties parameterizing the repositories where plugins, fragments
200# bundles and features are being obtained from.
201
202# The tags to use when fetching elements to build.
203# By default thebuilder will use whatever is in the maps.
204# This value takes the form of a comma separated list of repository identifier (like used in the map files) and the
205# overriding value
206# For example fetchTag=CVS=HEAD, SVN=v20050101
207# fetchTag=HEAD
208skipFetch=true
209
210
211############# JAVA COMPILER OPTIONS ##############
212# The location of the Java jars to compile against. Typically the rt.jar for your JDK/JRE
213#bootclasspath=${java.home}/lib/rt.jar
214
215# specific JRE locations to compile against. These values are used to compile bundles specifying a
216# Bundle-RequiredExecutionEnvironment. Uncomment and set values for environments that you support
217#CDC-1.0/Foundation-1.0= /path/to/rt.jar
218#CDC-1.1/Foundation-1.1=
219#OSGi/Minimum-1.0=
220#OSGi/Minimum-1.1=
221#JRE-1.1=
222#J2SE-1.2=
223#J2SE-1.3=
224#J2SE-1.4=
225#J2SE-1.5=
226#JavaSE-1.6=
227#PersonalJava-1.1=
228#PersonalJava-1.2=
229#CDC-1.0/PersonalBasis-1.0=
230#CDC-1.0/PersonalJava-1.0=
231#CDC-1.1/PersonalBasis-1.1=
232#CDC-1.1/PersonalJava-1.1=
233
234# Specify the output format of the compiler log when eclipse jdt is used
235logExtension=.log
236
237# Whether or not to include debug info in the output jars
238javacDebugInfo=false
239
240# Whether or not to fail the build if there are compiler errors
241javacFailOnError=true
242
243# Enable or disable verbose mode of the compiler
244javacVerbose=true
245
246# Extra arguments for the compiler. These are specific to the java compiler being used.
247#compilerArg=
248
249# Default value for the version of the source code. This value is used when compiling plug-ins that do not set the Bundle-RequiredExecutionEnvironment or set javacSource in build.properties
250javacSource=1.6
251
252# Default value for the version of the byte code targeted. This value is used when compiling plug-ins that do not set the Bundle-RequiredExecutionEnvironment or set javacTarget in build.properties.
253javacTarget=1.6
254
255#individualSourceBundles=true
256
257#p2.gathering=true
258p2.compress=true
259#p2.category.site=file:${buildDirectory}/site.xml
260p2.category.definition=file:${buildDirectory}/category.xml
261p2.metadata.repo.name=Yocto Project Update Site
262p2.artifact.repo.name=Yocto Project Update Site
diff --git a/features/org.yocto.sdk.headless.build/customTargets.xml b/features/org.yocto.sdk.headless.build/customTargets.xml
new file mode 100644
index 0000000..cb08f91
--- /dev/null
+++ b/features/org.yocto.sdk.headless.build/customTargets.xml
@@ -0,0 +1,212 @@
1<project name="Build specific targets and properties" default="noDefault">
2
3 <!-- ===================================================================== -->
4 <!-- Run a given ${target} on all elements being built -->
5 <!-- Add on <ant> task for each top level element being built. -->
6 <!-- ===================================================================== -->
7 <available property="allElementsFile" file="${builder}/allElements.xml" value="${builder}/allElements.xml"/>
8 <property name="allElementsFile" location="${eclipse.pdebuild.templates}/headless-build/allElements.xml"/>
9
10 <import file="${allElementsFile}" />
11 <target name="allElements">
12 <antcall target="allElementsDelegator" />
13 </target>
14
15 <!-- ===================================================================== -->
16 <!-- ===================================================================== -->
17 <target name="getBaseComponents" depends="checkLocalBase" unless="skipBase">
18 <get src="${eclipseBaseURL}" dest="${buildDirectory}/../temp-base.zip" />
19 <unzip dest="${base}" overwrite="true" src="${buildDirectory}/../temp-base.zip" />
20 </target>
21
22 <target name="checkLocalBase">
23 <available file="${base}" property="skipBase" />
24 </target>
25
26 <!-- ===================================================================== -->
27 <!-- Check out map files from correct repository -->
28 <!-- Replace values for mapsCheckoutTag as desired. -->
29 <!-- ===================================================================== -->
30 <target name="getMapFiles" depends="checkLocalMaps" unless="skipMaps">
31 <property name="mapsCheckoutTag" value="HEAD" />
32 <cvs cvsRoot="${mapsRepo}" package="${mapsRoot}" dest="${buildDirectory}/maps" tag="${mapsCheckoutTag}" />
33 </target>
34
35 <target name="checkLocalMaps">
36 <available property="skipMaps" file="${buildDirectory}/maps" />
37 </target>
38
39 <target name="tagMapFiles" if="tagMaps">
40 <cvs dest="${buildDirectory}/maps/${mapsRoot}" command="tag ${mapsTagTag}" />
41 </target>
42
43 <!-- ===================================================================== -->
44
45 <target name="clean" unless="noclean">
46 <antcall target="allElements">
47 <param name="target" value="cleanElement" />
48 </antcall>
49 </target>
50
51 <target name="gatherLogs">
52 <mkdir dir="${buildDirectory}/${buildLabel}/compilelogs" />
53 <antcall target="allElements">
54 <param name="target" value="gatherLogs" />
55 </antcall>
56 <unzip dest="${buildDirectory}/${buildLabel}/compilelogs" overwrite="true">
57 <fileset dir="${buildDirectory}/features">
58 <include name="**/*.log.zip" />
59 </fileset>
60 </unzip>
61 </target>
62
63 <!-- ===================================================================== -->
64 <!-- Steps to do before setup -->
65 <!-- ===================================================================== -->
66 <target name="preSetup">
67 <delete dir="${buildDirectory}/plugins"/>
68 <mkdir dir="${buildDirectory}/plugins"/>
69 <copy todir="${buildDirectory}/plugins" failonerror="true">
70 <fileset dir="${otherSrcDirectory}/plugins"/>
71 </copy>
72 <delete dir="${buildDirectory}/features"/>
73 <copy todir="${buildDirectory}/features" failonerror="true" >
74 <fileset dir="${otherSrcDirectory}/features"/>
75 </copy>
76 <antcall target="prepareForP2" />
77 </target>
78
79 <target name="prepareForP2" if="p2.gathering">
80 <copy file="${otherSrcDirectory}/features/org.yocto.sdk.site/site.xml" todir="${buildDirectory}" />
81 <copy file="${otherSrcDirectory}/features/org.yocto.sdk.site/category.xml" todir="${buildDirectory}" />
82 <xmlproperty file="${otherSrcDirectory}/features/org.yocto.sdk/feature.xml" />
83 <replace file="${buildDirectory}/category.xml">
84 <replacefilter token="@featureVersion@" value="${feature(version)}"/>
85 </replace>
86 </target>
87
88 <!-- ===================================================================== -->
89 <!-- Steps to do after setup but before starting the build proper -->
90 <!-- ===================================================================== -->
91 <target name="postSetup">
92 <antcall target="getBaseComponents" />
93 </target>
94
95 <!-- ===================================================================== -->
96 <!-- Steps to do before fetching the build elements -->
97 <!-- ===================================================================== -->
98 <target name="preFetch">
99 </target>
100
101 <!-- ===================================================================== -->
102 <!-- Steps to do after fetching the build elements -->
103 <!-- ===================================================================== -->
104 <target name="postFetch">
105 </target>
106
107 <!-- ===================================================================== -->
108 <!-- Steps to do before the repositories are being processed -->
109 <!-- ===================================================================== -->
110 <target name="preProcessRepos">
111 </target>
112
113 <!-- ===================================================================== -->
114 <!-- Steps to do after the repositories have been processed -->
115 <!-- ===================================================================== -->
116 <target name="postProcessRepos">
117 </target>
118
119 <!-- ===================================================================== -->
120 <!-- Steps to do before generating the build scripts. -->
121 <!-- ===================================================================== -->
122 <target name="preGenerate">
123 </target>
124
125 <!-- ===================================================================== -->
126 <!-- Steps to do after generating the build scripts. -->
127 <!-- ===================================================================== -->
128 <target name="postGenerate">
129 <antcall target="clean" />
130 </target>
131
132 <!-- ===================================================================== -->
133 <!-- Steps to do before running the build.xmls for the elements being built. -->
134 <!-- ===================================================================== -->
135 <target name="preProcess">
136 </target>
137
138 <!-- ===================================================================== -->
139 <!-- Steps to do after running the build.xmls for the elements being built. -->
140 <!-- ===================================================================== -->
141 <target name="postProcess">
142 </target>
143
144 <!-- ===================================================================== -->
145 <!-- Steps to do before running assemble. -->
146 <!-- ===================================================================== -->
147 <target name="preAssemble">
148 </target>
149
150 <!-- ===================================================================== -->
151 <!-- Steps to do after running assemble. -->
152 <!-- ===================================================================== -->
153 <target name="postAssemble">
154 </target>
155
156 <!-- ===================================================================== -->
157 <!-- Steps to do before running package. -->
158 <!-- ===================================================================== -->
159 <target name="prePackage">
160 </target>
161
162 <!-- ===================================================================== -->
163 <!-- Steps to do after running package. -->
164 <!-- ===================================================================== -->
165 <target name="postPackage">
166 </target>
167
168 <!-- ===================================================================== -->
169 <!-- Steps to do after the build is done. -->
170 <!-- ===================================================================== -->
171 <target name="postBuild">
172 <antcall target="gatherLogs" />
173 <antcall target="updateSiteContent" />
174 </target>
175
176 <target name="updateSiteContent" if="p2.gathering">
177 <property file="${buildDirectory}/finalFeaturesVersions.properties" />
178 <copy file="${otherSrcDirectory}/features/org.yocto.sdk.site/site.xml" todir="${buildDirectory}" />
179 <replace file="${buildDirectory}/site.xml">
180 <replacefilter token="@genVersion@" value="${org.yocto.sdk}"/>
181 </replace>
182 <zip destfile="${buildDirectory}/${buildLabel}/org.yocto.sdk-${buildId}-group.group.group.zip" update="true">
183 <zipfileset dir="${buildDirectory}">
184 <include name="site.xml"/>
185 </zipfileset>
186 <zipfileset dir="${otherSrcDirectory}/features/org.yocto.sdk.site">
187 <include name="index.html"/>
188 </zipfileset>
189 <zipfileset dir="${otherSrcDirectory}/features/org.yocto.sdk.site/web" prefix="web"/>
190 </zip>
191 </target>
192
193 <!-- ===================================================================== -->
194 <!-- Steps to do to test the build results -->
195 <!-- ===================================================================== -->
196 <target name="test">
197 </target>
198
199 <!-- ===================================================================== -->
200 <!-- Steps to do to publish the build results -->
201 <!-- ===================================================================== -->
202 <target name="publish">
203 </target>
204
205 <!-- ===================================================================== -->
206 <!-- Default target -->
207 <!-- ===================================================================== -->
208 <target name="noDefault">
209 <echo message="You must specify a target when invoking this file" />
210 </target>
211
212</project>