waf

FORK: waf with some random patches
git clone https://git.neptards.moe/neptards/waf.git
Log | Files | Refs | README

wscript (1167B)


      1 #! /usr/bin/env python
      2 
      3 def options(ctx):
      4 	pass
      5 
      6 def configure(ctx):
      7 	ctx.load('mem_reducer')
      8 	pass
      9 
     10 def build(bld):
     11 	bld(features='make_a_lot')
     12 
     13 """
     14 Testcase for the mem_reducer.py tool
     15 """
     16 
     17 import itertools, random
     18 from waflib import Utils, Task, TaskGen, Runner
     19 
     20 random.seed(0)
     21 class a(Task.Task):
     22 	def run(self):
     23 		self.outputs[0].write('a')
     24 class b(Task.Task):
     25 	after = ['a']
     26 	def run(self):
     27 		self.outputs[0].write('b')
     28 class c(Task.Task):
     29 	after = ['b', 'c']
     30 	def run(self):
     31 		self.outputs[0].write('c')
     32 class d(Task.Task):
     33 	after = ['c', 'a']
     34 	def run(self):
     35 		self.outputs[0].write('d')
     36 
     37 @TaskGen.feature('make_a_lot')
     38 def make_a_lot_of_tasks(self):
     39 	src = self.path.find_resource('wscript')
     40 	for x in range(9000):
     41 		anode = self.path.find_or_declare('a%d' % x)
     42 		self.create_task('a', [src], [anode])
     43 
     44 		bnode = self.path.find_or_declare('b%d' % x)
     45 		self.create_task('b', [src], [bnode])
     46 
     47 		cnode = self.path.find_or_declare('c%d' % x)
     48 		self.create_task('c', [src], [cnode])
     49 
     50 		dnode = self.path.find_or_declare('d%d' % x)
     51 		self.create_task('d', [src], [dnode])
     52 
     53 	# shuffle the tasks, but in the same order
     54 	#random.seed(0)
     55 	#random.shuffle(self.tasks)
     56