(TargetBoard board, TargetPlatform platform, TargetPackage aPackage, String vidpid, BuilderAction action, OutputStream outStream, OutputStream errStream)
| 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 |
no test coverage detected