Я пытаюсь выяснить, как переопределить поведение, когда SCons копирует артефакты из каталога кеша (заданного CacheDir) на используемые жесткие ссылки.Переопределение функции копирования кеш-памяти
Моя текущая попытка
def link_or_copy_file(class_instance, src, dst):
# do hardlinking instead...
SCons.Defaults.DefaultEnvironment()._copy_from_cache = link_or_copy_file
SCons.Defaults.DefaultEnvironment()._copy2_from_cache = link_or_copy_file
env = Environment()
env._copy_from_cache = link_or_copy_file
env._copy2_from_cache = link_or_copy_file
не оказывает никакого влияния на последующее использование env
. Функция link_or_copy_file
никогда не вызывается. Что не так?
Невозможно переопределить функцию-член класса Python таким образом.
Update: Кроме того, обратите внимание, что я делаю это после того, как env.Decider()
был назван так как эта функция, возможно, переопределяет члены _copy_from_cache
и _copy2_from_cache
.