Dosyaları scons içinde oluşturulduğunda denetlemeye çalışırken deliriyorum. Bir Poem
oluşturucu ile sadece .txt
dosya alıp karşılık gelen bir .eectxt
dosyasında küçük harfe dönüştüren çok basit bir örnek yapı ağacım var (aşağıya bakın).Özel oluşturucum olduğunda dosyaları oluşturmak için scons ne tetikler?
SConstruct ve SConscript dosyalarında, 3 .txt dosyasının bağımlılıklarını bildiriyorum.
Ancak bunları varsayılan yapının içine koyduğunu anlayamıyorum!
sconstest/
SConstruct
tiger.txt
src/
SConscript
hope.txt
jabberwocky.txt
nerede * .txt dosyaları şiirler ve benim SConstruct ve SConscript şu şekilde görünür:
SConstruct:
env = Environment();
def eecummings(target, source, env):
if (len(target) == 1 and len(source) == 1):
with open(str(source[0]), 'r') as fin:
with open(str(target[0]), 'w') as fout:
for line in fin:
fout.write(line.lower());
return None
env['BUILDERS']['Poem'] = Builder(action=eecummings, suffix='.eectxt', src_suffix='.txt');
Export('env');
poems = SConscript('src/SConscript');
tigerPoem = env.Poem('tiger.txt');
src/SConscript:
Import('env');
input = ['jabberwocky.txt', 'hope.txt'];
output = [env.Poem(x) for x in input];
Return('output');
Ne yapmak istediği .eectxt
dosyalarının bağımlılığını ilgilidan bildirmektirdosyaları, ancak değil onları açık bir şekilde onlar SConstruct dosyasında Default()
yapı içine koymak sürece, ya da ben açıkça komut satırında bunları isteyin.
Bunu nasıl yapabilirim?