MCPcopy
hub / github.com/arduino/Arduino / callArduinoBuilder

Method callArduinoBuilder

arduino-core/src/cc/arduino/Compiler.java:233–332  ·  view source on GitHub ↗
(TargetBoard board, TargetPlatform platform, TargetPackage aPackage, String vidpid, BuilderAction action, OutputStream outStream, OutputStream errStream)

Source from the content-addressed store, hash-verified

231 }
232
233 private void callArduinoBuilder(TargetBoard board, TargetPlatform platform, TargetPackage aPackage, String vidpid, BuilderAction action, OutputStream outStream, OutputStream errStream) throws RunnerException {
234 List<String> cmd = new ArrayList<>();
235 cmd.add(BaseNoGui.getContentFile("arduino-builder").getAbsolutePath());
236 cmd.add(action.value);
237 cmd.add("-logger=machine");
238
239 File installedPackagesFolder = new File(BaseNoGui.getSettingsFolder(), "packages");
240
241 addPathFlagIfPathExists(cmd, "-hardware", BaseNoGui.getHardwareFolder());
242 addPathFlagIfPathExists(cmd, "-hardware", installedPackagesFolder);
243 addPathFlagIfPathExists(cmd, "-hardware", BaseNoGui.getSketchbookHardwareFolder());
244
245 addPathFlagIfPathExists(cmd, "-tools", BaseNoGui.getContentFile("tools-builder"));
246 addPathFlagIfPathExists(cmd, "-tools", Paths.get(BaseNoGui.getHardwarePath(), "tools", "avr").toFile());
247 addPathFlagIfPathExists(cmd, "-tools", installedPackagesFolder);
248
249 addPathFlagIfPathExists(cmd, "-built-in-libraries", BaseNoGui.getContentFile("libraries"));
250 addPathFlagIfPathExists(cmd, "-libraries", BaseNoGui.getSketchbookLibrariesFolder().folder);
251
252 String fqbn = Stream.of(aPackage.getId(), platform.getId(), board.getId(), boardOptions(board)).filter(s -> !s.isEmpty()).collect(Collectors.joining(":"));
253 cmd.add("-fqbn=" + fqbn);
254
255 if (!"".equals(vidpid)) {
256 cmd.add("-vid-pid=" + vidpid);
257 }
258
259 cmd.add("-ide-version=" + BaseNoGui.REVISION);
260 cmd.add("-build-path");
261 cmd.add(buildPath);
262 cmd.add("-warnings=" + PreferencesData.get("compiler.warning_level"));
263
264 if (PreferencesData.getBoolean("compiler.cache_core") == true && buildCache != null) {
265 cmd.add("-build-cache");
266 cmd.add(buildCache.getAbsolutePath());
267 }
268
269 PreferencesData.getMap()
270 .subTree("runtime.build_properties_custom")
271 .entrySet()
272 .stream()
273 .forEach(kv -> cmd.add("-prefs=" + kv.getKey() + "=" + kv.getValue()));
274
275 cmd.add("-prefs=build.warn_data_percentage=" + PreferencesData.get("build.warn_data_percentage"));
276
277 for (Map.Entry<String, String> entry : BaseNoGui.getBoardPreferences().entrySet()) {
278 if (entry.getKey().startsWith("runtime.tools")) {
279 cmd.add("-prefs=" + entry.getKey() + "=" + entry.getValue());
280 }
281 }
282
283 //commandLine.addArgument("-debug-level=10", false);
284
285 if (verbose) {
286 cmd.add("-verbose");
287 }
288
289 cmd.add(pathToSketch.getAbsolutePath());
290

Callers 2

buildMethod · 0.95
loadPreferencesMethod · 0.95

Calls 15

getContentFileMethod · 0.95
getSettingsFolderMethod · 0.95
getHardwareFolderMethod · 0.95
getHardwarePathMethod · 0.95
boardOptionsMethod · 0.95
getMethod · 0.95
getBooleanMethod · 0.95
getMapMethod · 0.95
getBoardPreferencesMethod · 0.95

Tested by

no test coverage detected