0

コピー先のパスがプロジェクト ディレクトリの外指している場合、 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()

その上、コピーするとき、コピーするように指示されたファイルを実際にコピーするのではなく、このアクションを呼び出すビルダーに指定されたすべてのターゲットを取得します... $TARGETand$SOURCECopyコマンドで任意の文字列に置き換えることができます。二重ドットがない場合、すべてのビルダーのソースがコピーされます。これは間違っているだけではありません...これは設計上愚かです:|

4

1 に答える 1