Initializes the bootstrap base. @param __bin The binary output directory. @param __src The source input namespace directories. @param __args Arguments to the bootstrap. @throws IOException On read/write errors. @throws NullPointerException On null arguments. @since 2016/10/26
(Path __bin, Path __src, String[] __args)
| 140 | * @since 2016/10/26 |
| 141 | */ |
| 142 | public NewBootstrap(Path __bin, Path __src, String[] __args) |
| 143 | throws IOException, NullPointerException |
| 144 | { |
| 145 | // Check |
| 146 | if (__bin == null || __src == null || __args == null) |
| 147 | throw new NullPointerException("NARG"); |
| 148 | |
| 149 | // Set |
| 150 | this.binarypath = __bin; |
| 151 | this.sourcepath = __src; |
| 152 | this.launchargs = __args.clone(); |
| 153 | this.buildjarout = __bin.resolve("bootsjme"); |
| 154 | this.bootstrapout = __bin.resolve("sjmeboot.jar"); |
| 155 | |
| 156 | // Load all projects in the build directory |
| 157 | Map<String, BuildProject> projects = new LinkedHashMap<>(); |
| 158 | |
| 159 | // Java SE special host libraries |
| 160 | __loadProjects(projects, __src.resolve("bldt/javase/libs")); |
| 161 | |
| 162 | // Run-time projects |
| 163 | __loadProjects(projects, __src.resolve("runt/apis")); |
| 164 | __loadProjects(projects, __src.resolve("runt/libs")); |
| 165 | __loadProjects(projects, __src.resolve("runt/mids")); |
| 166 | __loadProjects(projects, __src.resolve("runt/klib")); |
| 167 | __loadProjects(projects, __src.resolve("runt/kmid")); |
| 168 | |
| 169 | // JIT-time projects |
| 170 | __loadProjects(projects, __src.resolve("jitt/libs")); |
| 171 | |
| 172 | // Build-time projects |
| 173 | __loadProjects(projects, __src.resolve("bldt/libs")); |
| 174 | __loadProjects(projects, __src.resolve("bldt/mids")); |
| 175 | |
| 176 | // Use them |
| 177 | this.projects = projects; |
| 178 | } |
| 179 | |
| 180 | /** |
| 181 | * {@inheritDoc} |
nothing calls this directly
no test coverage detected