Major rework to enable rebuilds of the platform from single sf-build call
- Change the way that sources and system model are selected: now property based
- Split sources.csv to have publicly available http repos only; internal repos are in sources_rnd.csv
- System model output in BOM renamed to system_model.xml rather than canonical_system_definition_{config}.xml to make reuse predictable
- Public property configuration public_override_props.ant.xml now used.
- Fix all exports to run based upon configuration specified (no export configuration makes SBS assume RVCT is being used, which is not available to all)
- sf.production.build MUST be defined and TRUE to enable production build properties, public config is DEFAULT behaviour
<?xml version="1.0" encoding="UTF-8"?>
<project name="SF-CONFIG" xmlns:hlm="http://www.nokia.com/helium">
<!-- location of this config -->
<dirname property="sf.config.dir" file="${ant.file.SF-CONFIG}"/>
<property name="sf.subproject.path" value=""/>
<property name="sf.project.location" value="${sf.config.dir}/../build/config/${sf.subproject.path}"/>
<property name="sf.project.name" value="job"/>
<!-- Override Helium defaults to allow winscw builds without RVCT -->
<target name="check-env-arm-license"/>
<target name="get-arm-license"/>
<target name="set-arm-version"/>
<!-- import helium task definitions to allow usage of ant-contrib tasks -->
<import file="${helium.dir}/helium_preinclude.ant.xml"/>
<!-- import job properties -->
<if><isfalse value="${sf.production.build}"/>
<then>
<echo message="INFO Using Public properties defined in ${sf.project.location}/public_override_props.ant.xml"/>
<import file="${sf.project.location}/public_override_props.ant.xml" optional="yes"/>
</then>
</if>
<import file="${sf.project.location}/${sf.project.name}_props.ant.xml" optional="yes"/>
<!-- set sf.spec.job.name and sf.spec.job.codeline if they are not specified in the project's job_props.ant.xml -->
<propertyregex override="yes" property="jobname" input="${sf.subproject.path}" regexp=".*[\\/]([^\\^/]+)" replace="\1"/>
<property name="jobname" value="${sf.subproject.path}"/>
<propertyregex override="yes" property="codeline" input="${sf.subproject.path}" regexp="^([^\\^/]+)[\\/].*" replace="\1"/>
<property name="codeline" value="default"/>
<property name="sf.spec.job.name" value="${jobname}"/>
<property name="sf.spec.job.codeline" value="${codeline}"/>
<!-- import project properties/targets/references -->
<import file="sf-${sf.project.type}/build.xml" />
<!-- import job references -->
<import file="${sf.project.location}/${sf.project.name}_refs.ant.xml" optional="yes"/>
</project>