Simplify and add hacks for some XSLT processors: simpler xpath expressions in filtering.xsl and qt hack in mergesysdef.xsl. Move path processing XSLT templates to separate module so it can be used in both joining and merging. Add .bat files for each of the PERL and XSLT scripts so they can be more esily called from the command line (joinsysdef.bat calls joinsysdef.pl, not joinsysdef.xsl).
<?xml version="1.0" encoding="UTF-8"?>
<SystemDefinition schema="3.0.0">
<package id="photos" name="Photos" levels="support fw ui app">
<collection id="photos_plat" name="Photos Platform Interfaces" level="app">
<component id="collection_plugins_api" name="Collection Plugins API" introduced="^2" class="api" filter="s60">
<unit bldFile="photos_plat/collection_plugins_api/group"/>
</component>
<component id="controllers_collection_api" name="Controllers Collection API" introduced="^2" class="api" filter="s60">
<unit bldFile="photos_plat/controllers_collection_api/group"/>
</component>
<component id="gallery_utilities_api" name="Gallery Utilities API" introduced="^2" class="api" filter="s60">
<unit bldFile="photos_plat/gallery_utilities_api/group"/>
</component>
<component id="slideshow_ui_constants_api" name="Slideshow Ui Constants API" introduced="^2" class="api" filter="s60">
<unit bldFile="photos_plat/slideshow_ui_constants_api/group"/>
</component>
<component id="views_metadatadialog_api" name="Views Metadata Dialog API" introduced="^2" class="api" filter="s60">
<unit bldFile="photos_plat/views_metadatadialog_api/group"/>
</component>
</collection>
<collection id="photosgallery" name="Photos Gallery" level="app">
<!-- consider splitting this collection into the application itself, and the frameworks behind it -->
<component id="photosgallery_help" filter="s60" name="Photos Help" introduced="^2">
<unit bldFile="photosgallery/help/group"/>
</component>
<component id="logging" filter="s60" name="Photos Logging" introduced="^2">
<unit bldFile="photosgallery/logging/group"/>
</component>
<component id="photosgallery_common" filter="s60" name="Photos Common" introduced="^2">
<unit bldFile="photosgallery/common/group"/>
</component>
<component id="photosgallery_commonui" filter="s60" name="Photos Common UI" introduced="^2">
<unit bldFile="photosgallery/commonui/group"/>
</component>
<component id="photosgalleryollectionfw" filter="s60" name="Photos Collection Framework" introduced="^2">
<unit bldFile="photosgallery/collectionframework/group"/>
</component>
<component id="galleryicons" filter="s60" name="Photos Icons" class="config" introduced="^2">
<unit bldFile="photosgallery/icons"/>
</component>
<component id="imageviewer" filter="s60" name="Image Viewer" introduced="^3">
<!-- this is really a part of controllers component, #include from there instead -->
<unit bldFile="photosgallery/controllers/imageviewer/group"/>
</component>
<component id="photosgalleryviewfw" filter="s60" name="View Framework" introduced="^2">
<unit bldFile="photosgallery/viewframework/group"/>
</component>
<component id="controllers" filter="s60" name="Photos Controllers" introduced="^2">
<unit bldFile="photosgallery/controllers/group"/>
</component>
<component id="photogallery" filter="s60" name="Media Gallery" introduced="^2">
<unit bldFile="photosgallery/gallery/group"/>
</component>
<component id="slideshow" filter="s60" name="Slideshow" introduced="^2">
<unit bldFile="photosgallery/slideshow/group"/>
</component>
<component id="memoryplugin" name="Memory Plugin" class="plugin" filter="s60" introduced="^2">
<unit bldFile="photosgallery/memoryplugin/group"/>
</component>
<component id="imgvwr" filter="s60" name="Photos Image Viewer" introduced="^3">
<unit bldFile="photosgallery/imgvwr/group"/>
</component>
<component id="photosgallery_build" filter="s60" name="Photos Gallery Build" introduced="^2">
<!-- need to remove the #included above bld.infs from this -->
<unit bldFile="photosgallery/group"/>
</component>
</collection>
</package>
</SystemDefinition>