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
# Copyright (c) 2009 Symbian Foundation Ltd
# 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:
# Symbian Foundation Ltd - initial contribution.
#
# Contributors:
# mattd <mattd@symbian.org>
#
# Description:
# listdir.py - Lists a directory contents.
# listdir.py <directory> (<exclude_directory>)
import os
import re
import sys
import string
from os.path import join, isfile
def main():
directory = sys.argv[1]
exclude_dirs = []
if(len(sys.argv)>2):
x_dirs = string.lower(sys.argv[2])
exclude_dirs = re.split(',', x_dirs)
scandir(directory, exclude_dirs)
def scandir(top, exclude_dirs):
fixpath = re.compile('\\\\')
fixroot = re.compile('^%s\\\\' % top)
for root, dirs, files in os.walk(top, topdown=True):
for dirname in dirs:
if(string.lower(fixpath.sub('/',os.path.join(root,dirname))) in exclude_dirs):
dirs.remove(dirname)
for name in files:
filename = os.path.join(root, name)
fn = string.lower(fixpath.sub('/',fixroot.sub('',filename)))
print top+"/"+fn
main()