コピー先のパスがプロジェクト ディレクトリの外を指している場合、 SconsCopy
ビルダーは何もしません。実際にそれを行う方法はありますか?以下は多かれ少なかれテストケースです:
p4_dir = '../../../documents'
def prefix_dir(files, *directory):
if not type(directory) is tuple:
directory = (directory,)
return [os.path.realpath(
os.path.join(*(directory + (f,))).replace('\\', '/')) for f in files]
def p4doc():
for x, y in zip(prefix_dir(p4_goodies, Dir('.').abspath, p4_dir), p4_goodies):
print 'copying to: %s from: %s' % (x, y)
Command(x, y, [Delete("$TARGET"), Copy("$TARGET", "$SOURCE")])
p4doc()
その上、コピーするとき、コピーするように指示されたファイルを実際にコピーするのではなく、このアクションを呼び出すビルダーに指定されたすべてのターゲットを取得します... $TARGET
and$SOURCE
をCopy
コマンドで任意の文字列に置き換えることができます。二重ドットがない場合、すべてのビルダーのソースがコピーされます。これは間違っているだけではありません...これは設計上愚かです:|