codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#SConstruct script #Building production object #Building test object #Running test import os class Lobby: def __init__(self): pass def environment(self): return Environment(ENV = os.environ) def product(self): return Product(self) def make(self): self.product().make() class Product: def __init__(self, parent): self._parent = parent def environment(self): return self._parent.environment() def dest(self): return 'dest/product/classes' def src(self): return 'product/src' def target(self): return self.environment().Java(self.dest(), self.src()) def test(self): return Test(self) def make(self): self.target() self.test().make() class Test: def __init__(self, parent): self._parent = parent def junit(self): return 'test/lib/junit-4.10.jar' def environment(self): ret = self._parent.environment() ret['JAVACLASSPATH'] = [self._parent.dest(), self.junit()] return ret def src(self): return 'test/src' def dest(self): return 'dest/test/classes' def target(self): env = self.environment() ret = env.Java(self.dest(), self.src()) env.Depends(ret, self._parent.dest()) return ret def runner(self): return TestRunner(self) def make(self): self.target() self.runner().make() class TestRunner: def __init__(self, parent): self._parent = parent def environment(self): ret = self._parent.environment() ret['JAVACLASSPATH'].append(self._parent.dest()) return ret def dest(self): return 'dest/result/foo' def javaclasspath(self): return self.environment()['JAVACLASSPATH'] def classpath(self): return ':'.join(self.javaclasspath()) def tests(self): return 'SimpleTest' def mainclass(self): return 'org.junit.runner.JUnitCore' def main(self): return 'java -cp %s %s %s' % \ (self.classpath(), self.mainclass(), self.tests()) def target(self): env = self.environment() ret = env.Command(self.dest(), None, self.main()) env.Depends(ret, self._parent.target()) return ret def make(self): self.target() Lobby().make()
Private
[
?
]
Run code
Submit