()
| 121 | } |
| 122 | |
| 123 | public boolean run() throws IOException { |
| 124 | List<WhileyFile> whileyfiles = new ArrayList<>(); |
| 125 | // Read source files |
| 126 | for (Trie sf : sources) { |
| 127 | WhileyFile wf = readWhileyFile(whileydir, sf); |
| 128 | whileyfiles.add(wf); |
| 129 | } |
| 130 | ArrayList<WyilFile> deps = new ArrayList<>(this.dependencies); |
| 131 | // Extract any dependencies from zips |
| 132 | for(File dep : whileypath) { |
| 133 | extractDependencies(dep,deps); |
| 134 | } |
| 135 | // Compile WyilFile |
| 136 | CompileTask task = new CompileTask(target, deps).setStrict(strict).setLinking(linking); |
| 137 | Pair<WyilFile, Boolean> r = task.compile(whileyfiles); |
| 138 | // Read out binary file from build repository |
| 139 | WyilFile binary = r.first(); |
| 140 | // Print out syntactic markers |
| 141 | writeSyntacticMarkers(mailbox,binary); |
| 142 | // Write generated WyIL file |
| 143 | writeWyilFile(wyildir,target,binary); |
| 144 | // |
| 145 | return r.second() && binary.isValid(); |
| 146 | } |
| 147 | |
| 148 | /** |
| 149 | * Command-line options |
no test coverage detected