| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
A SecurityManager is once installed globally and stays the same across
all classloaders. TrapSecurityManager was installed this way, but it
looked up the `trapExitCode` in it's own classloader, while
classes in other classloaders (when cbt was using another version of
cbt) were writing it to their own classloader. This flag needs to be in
a global place instead to fix this, so we'll put it straight into the
TrapSecurityManager itself.
|
|
|
|
|
|
|
|
|
| |
Installing one globally for the JVM live-time and make behavior dependent
on a thread local variable seems safer than globally switching it out
and having race conditions.
Also now all other calls are forwarded to a potential Nailgun
SecurityManager, which should fix some bugs.
|
|
- Changed launcher to already load zinc
- use code generation to generate necessary dependencies
- changed resolver to linearize dependency DAG in a way that guarantees that every transitive dependee of a node in the DAG is a transitive dependee of that node in the linear sequence
- move exit code trapping code into java so it can be used for zinc early
There seems to be a bug in this version, where CBT crashes about half of the time with a "object is not an instance of declaring class" Exception during running the task from the build object via reflection.
|