--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/buildframework/helium/tools/blocks/blocks.ant.xml Wed Oct 13 16:31:27 2010 +0800
@@ -0,0 +1,267 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+============================================================================
+Name : blocks.ant.xml
+Part of : Helium
+
+Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+All rights reserved.
+This component and the accompanying materials are made available
+under the terms of the License "Eclipse Public License v1.0"
+which accompanies this distribution, and is available
+at the URL "http://www.eclipse.org/legal/epl-v10.html".
+
+Initial Contributors:
+Nokia Corporation - initial contribution.
+
+Contributors:
+
+Description:
+
+============================================================================
+-->
+<!--* @package preparation -->
+<project name="blocks" xmlns:hlm="http://www.nokia.com/helium">
+ <description>
+ Blocks integration.
+ </description>
+
+ <!-- The directory where the blocks configuration will be generated.
+ @type string
+ -->
+ <property name="blocks.config.dir" location="${build.output.dir}/blocks/config" />
+ <!-- The directory where the bundles will be generated.
+ @type string
+ -->
+ <property name="blocks.bundle.dir" location="${build.output.dir}/blocks/bundles" />
+ <!-- The directory where the blocks metadata will be generated.
+ @type string
+ -->
+ <property name="blocks.metadata.dir" location="${build.output.dir}/blocks/metadata" />
+ <!-- Name of the writer to use while creating bundles.
+ @type string
+ -->
+ <property name="blocks.writer" value="deb" />
+ <!-- Number of workers to use while creating the bundles.
+ @type string
+ -->
+ <property name="blocks.workers" value="4" />
+ <!-- Location of the blocks log.
+ @type string
+ -->
+ <property name="blocks.log.dir" location="${build.output.dir}/blocks/logs" />
+ <!-- File extension of the blocks log.
+ @type string
+ -->
+ <property name="blocks.log.extension" value="blocks.log" />
+ <!-- Boolean attribute for the packager application to support generation of packages with inter-dependency.
+ @type boolean
+ @scope public
+ @deprecated Since 11.0
+ -->
+ <property name="blocks.interdeps.generation" value="false" />
+
+ <!-- Boolean attribute for the packager application to support generation of packages with inter-dependency.
+ @type boolean
+ @scope public
+ -->
+ <property name="blocks.interdeps.generation.enabled" value="false" />
+
+ <!--* @property internal.blocks.interdeps.generation.enabled
+ Internal property set if blocks.interdeps.generation.enabled set to true.
+ @type boolean
+ @scope private
+ @since 11.0
+ -->
+
+ <!--* @property blocks.enabled
+ Set to true to enable blocks.
+ @type boolean
+ @editable required
+ @scope public
+ @since 11.0
+ -->
+
+ <!--* @property internal.blocks.enabled
+ Internal property to run the targets if blocks.enabled property is set to true.
+ @type boolean
+ @scope private
+ -->
+
+ <!-- Check, is blocks enabled -->
+ <condition property="internal.blocks.enabled">
+ <istrue value="${blocks.enabled}"/>
+ </condition>
+
+ <hlm:metadatafilterset id="filterset.blocks.archiving">
+ <metadatafilter priority="error" regex="^ERROR:.*" description="" />
+ <metadatafilter priority="warning" regex="^WARNING:.*" description="" />
+ </hlm:metadatafilterset>
+
+ <!--
+ This target will run the packager application using all configurations
+ generated during the build under blocks.config.dir.
+ -->
+ <target name="blocks-create-bundles" if="internal.blocks.enabled">
+ <mkdir dir="${blocks.config.dir}" />
+ <mkdir dir="${blocks.bundle.dir}" />
+ <mkdir dir="${blocks.metadata.dir}" />
+ <mkdir dir="${blocks.log.dir}" />
+
+ <condition property="arg.blocks.target.rules" value="--targetRules=${blocks.target.rules}" else="">
+ <isset property="blocks.target.rules" />
+ </condition>
+
+ <condition property="arg.blocks.source.rules" value="--sourceRules=${blocks.source.rules}" else="">
+ <isset property="blocks.source.rules" />
+ </condition>
+
+ <condition property="arg.blocks.package.directives" value="--pkgDirectives=${blocks.package.directives}" else="">
+ <isset property="blocks.package.directives" />
+ </condition>
+
+ <condition property="internal.blocks.interdeps.generation.enabled" value="true" else="false">
+ <or>
+ <istrue value="${blocks.interdeps.generation.enabled}"/>
+ <istrue value="${blocks.interdeps.generation}"/>
+ </or>
+ </condition>
+
+ <exec executable="python" failonerror="false" output="${blocks.log.dir}/${build.id}_blocks_archiving.${blocks.log.extension}">
+ <arg value="-m"/>
+ <arg value="packager.cli"/>
+ <arg value="--epocroot=${build.drive}/" />
+ <arg value="--config=${blocks.config.dir}" />
+ <arg value="--outputdir=${blocks.bundle.dir}" />
+ <arg value="--metadatadir=${blocks.metadata.dir}" />
+ <arg value="--workers=${blocks.workers}" />
+ <arg value="--writer=${blocks.writer}" />
+ <arg line="${arg.blocks.target.rules}" />
+ <arg line="${arg.blocks.source.rules}" />
+ <arg line="${arg.blocks.package.directives}" />
+ <arg value="--createBundle" />
+ <arg value="--debug" />
+ <arg value="--interdeps=${internal.blocks.interdeps.generation.enabled}" />
+ </exec>
+ <hlm:metadatarecord database="${metadata.dbfile}">
+ <hlm:textmetadatainput>
+ <fileset casesensitive="false" file= "${blocks.log.dir}/${build.id}_blocks_archiving.${blocks.log.extension}"/>
+ <metadatafilterset refid="filterset.blocks.archiving" />
+ </hlm:textmetadatainput>
+ </hlm:metadatarecord>
+ <hlm:blocksCreateRepositoryIndex dest="${blocks.bundle.dir}" verbose="true" failonerror="false" />
+ </target>
+
+ <!--* @property blocks.workspace.id
+ The blocks.workspace.id gets defined by the blocks-create-workspace target while reusing or
+ creating a new workspace.
+ @scope public
+ @since 12.0.0
+ -->
+
+ <!--
+ The blocks-create-workspace will try to reuse existing workspace mapped on "${build.drive}/", or
+ create a new one if none exists.
+
+ If a new workspace is created then repositories from blocks.repositories.id blocksRespositorySet
+ will be added to the newly created workspace.
+
+ @scope public
+ @since 12.0.0
+ -->
+ <target name="blocks-create-workspace" if="internal.blocks.enabled">
+ <if>
+ <hlm:blocksWorkspaceExists dir="${build.drive}/" verbose="true" />
+ <then>
+ <echo>Reusing current workspace.</echo>
+ <hlm:blocksGetWorkspaceId wsidoutput="blocks.workspace.id" dir="${build.drive}/" verbose="true" />
+ </then>
+ <else>
+ <echo>Creating new workspace under ${build.drive}${file.separator}.</echo>
+ <hlm:blocksAddWorkspace name="${build.family}" dir="${build.drive}/" wsidproperty="blocks.workspace.id" verbose="true" />
+ <if>
+ <and>
+ <not>
+ <hlm:blocksRepositoryExists wsid="${blocks.workspace.id}" verbose="true"/>
+ </not>
+ <isreference refid="blocks.repositories.id" />
+ </and>
+ <then>
+ <echo>Creating new repsoitory for workspace ID ${blocks.workspace.id}.</echo>
+ <hlm:blocksAddRepository wsid="${blocks.workspace.id}">
+ <repositorySet refid="blocks.repositories.id" />
+ </hlm:blocksAddRepository>
+ </then>
+ <else>
+ <echo level="warning">'blocks.repositories.id' reference doesn't exist/repository already exists.</echo>
+ </else>
+ </if>
+ </else>
+ </if>
+ </target>
+
+ <!--
+ The blocks-install-bundles will install bundles on the workspace under build.drive.
+ @scope public
+ @since 12.0.0
+ -->
+ <target name="blocks-install-bundles" if="internal.blocks.enabled" depends="blocks-create-workspace">
+ <if>
+ <isreference refid="blocks.bundle.filters.id" />
+ <then>
+ <hlm:blocksInstallBundle wsid="${blocks.workspace.id}" verbose="true">
+ <hlm:bundleFilterSet refid="blocks.bundle.filters.id" />
+ </hlm:blocksInstallBundle>
+ </then>
+ <else>
+ <echo level="warning">Nothing to do, blocks.bundle.filters.id reference doesn't exist.</echo>
+ </else>
+ </if>
+ <if>
+ <isreference refid="blocks.group.filters.id" />
+ <then>
+ <hlm:blocksInstallBundle wsid="${blocks.workspace.id}" verbose="true">
+ <hlm:groupFilterSet refid="blocks.group.filters.id" />
+ </hlm:blocksInstallBundle>
+ </then>
+ <else>
+ <echo level="warning">Nothing to do, blocks.group.filters.id reference doesn't exist.</echo>
+ </else>
+ </if>
+ </target>
+
+ <!--
+ The blocks-update-bundles will update the workspace under build.drive.
+ @scope public
+ @since 12.0.0
+ -->
+ <target name="blocks-update-bundles" if="internal.blocks.enabled" depends="blocks-create-workspace">
+ <hlm:blocksUpdate wsid="${blocks.workspace.id}" />
+ </target>
+
+ <!--
+ The blocks-add-repo will update the current workspace using repositories defined by the
+ blocks.repositories.id reference.
+
+ @scope public
+ @since 12.0.0
+ -->
+ <target name="blocks-add-repo" if="internal.blocks.enabled" depends="blocks-create-workspace">
+ <if>
+ <and>
+ <not>
+ <hlm:blocksRepositoryExists wsid="${blocks.workspace.id}" verbose="true"/>
+ </not>
+ <isreference refid="blocks.repositories.id" />
+ </and>
+ <then>
+ <hlm:blocksAddRepository wsid="${blocks.workspace.id}">
+ <repositorySet refid="blocks.repositories.id" />
+ </hlm:blocksAddRepository>
+ </then>
+ <else>
+ <echo level="warning">'blocks.repositories.id' reference doesn't exist/repository already exists.</echo>
+ </else>
+ </if>
+ </target>
+</project>