|
6 | 6 |
|
7 | 7 | import java.text.MessageFormat;
|
8 | 8 | import java.util.HashSet;
|
| 9 | +import java.util.LinkedHashMap; |
9 | 10 | import java.util.List;
|
10 | 11 | import java.util.Set;
|
11 | 12 | import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
|
@@ -309,52 +310,40 @@ protected StringBuffer topMakeGetRMCommand(Set<String> myDependencyMacros) {
|
309 | 310 | return (buffer.append(NEWLINE));
|
310 | 311 | }
|
311 | 312 |
|
312 |
| - protected String topMakeGetPreBuildStep() { |
313 |
| - String prebuildStep = myAutoBuildConfData.getPrebuildStep(); |
314 |
| - // JABA issue927 adding recipe.hooks.sketch.prebuild.NUMBER.pattern as cdt |
315 |
| - // prebuild command if needed |
316 |
| - // ICConfigurationDescription confDesc = |
317 |
| - // ManagedBuildManager.getDescriptionForConfiguration(config); |
318 |
| - // String sketchPrebuild = |
319 |
| - // io.sloeber.core.common.Common.getBuildEnvironmentVariable(confDesc, |
320 |
| - // "sloeber.prebuild", |
321 |
| - // new String(), false); |
322 |
| - String sketchPrebuild = getVariableValue("sloeber.prebuild", EMPTY_STRING, true, myAutoBuildConfData); //$NON-NLS-1$ |
323 |
| - if (!sketchPrebuild.isEmpty()) { |
324 |
| - if (!prebuildStep.isEmpty()) { |
325 |
| - prebuildStep = prebuildStep + NEWLINE+TAB + sketchPrebuild; |
326 |
| - } else { |
327 |
| - prebuildStep = sketchPrebuild; |
328 |
| - } |
329 |
| - } |
330 |
| - // end off JABA issue927 |
331 |
| - // try to resolve the build macros in the prebuild step |
332 |
| - prebuildStep = resolve(prebuildStep, EMPTY_STRING, WHITESPACE, myAutoBuildConfData); |
333 |
| - return prebuildStep.trim(); |
334 |
| - } |
| 313 | + |
335 | 314 |
|
336 | 315 | protected StringBuffer topMakeGetIncludeDependencies() {
|
337 | 316 | StringBuffer buffer = new StringBuffer();
|
338 | 317 |
|
339 | 318 | // Add the comment for the "All" target
|
340 | 319 | buffer.append(COMMENT_START).append(MakefileGenerator_comment_build_alltarget).append(NEWLINE);
|
341 | 320 |
|
342 |
| - String prebuildStep = topMakeGetPreBuildStep(); |
343 |
| - String postbuildStep = resolve(myAutoBuildConfData.getPostbuildStep(), EMPTY_STRING, WHITESPACE, |
344 |
| - myAutoBuildConfData); |
345 |
| - if (prebuildStep.isBlank() && postbuildStep.isBlank()) { |
| 321 | + LinkedHashMap<String,String> prebuildSteps = myAutoBuildConfData.getPrebuildSteps(); |
| 322 | + LinkedHashMap<String,String> postbuildSteps = myAutoBuildConfData.getPostbuildSteps(); |
| 323 | + if (prebuildSteps.size()== 0 && postbuildSteps.size()==0) { |
346 | 324 | buffer.append(TARGET_ALL).append(COLON).append(WHITESPACE).append(MAINBUILD).append(NEWLINE);
|
347 | 325 | } else {
|
| 326 | + // add prebuild announce data |
| 327 | + String preannouncebuildStep = myAutoBuildConfData.getPreBuildAnouncement(); |
| 328 | + if (preannouncebuildStep.length() > 0) { |
| 329 | + buffer.append(TAB).append(DASH).append(AT_SYMBOL).append(escapedEcho(preannouncebuildStep)); |
| 330 | + } |
| 331 | + // Add the prebuild recipes |
348 | 332 | buffer.append(TARGET_ALL).append(COLON).append(NEWLINE);
|
349 |
| - if (!prebuildStep.isBlank()) { |
350 |
| - buffer.append(TAB).append(MAKE).append(WHITESPACE).append(NO_PRINT_DIR).append(WHITESPACE) |
351 |
| - .append(PREBUILD).append(NEWLINE); |
| 333 | + for (String curRecipe : prebuildSteps.values()) { |
| 334 | + buffer.append(TAB).append(WHITESPACE).append(curRecipe).append(NEWLINE); |
352 | 335 | }
|
| 336 | + // Add the make all command |
353 | 337 | buffer.append(TAB).append(MAKE).append(WHITESPACE).append(NO_PRINT_DIR).append(WHITESPACE).append(MAINBUILD)
|
354 | 338 | .append(NEWLINE);
|
355 |
| - if (!postbuildStep.isBlank()) { |
356 |
| - buffer.append(TAB).append(MAKE).append(WHITESPACE).append(NO_PRINT_DIR).append(WHITESPACE) |
357 |
| - .append(POSTBUILD).append(NEWLINE); |
| 339 | + // add postbuild announce data |
| 340 | + String postannouncebuildStep = myAutoBuildConfData.getPostBuildAnouncement(); |
| 341 | + if (postannouncebuildStep.length() > 0) { |
| 342 | + buffer.append(TAB).append(DASH).append(AT_SYMBOL).append(escapedEcho(postannouncebuildStep)); |
| 343 | + } |
| 344 | + // Add the postbuild recipes |
| 345 | + for (String curRecipe : postbuildSteps.values()) { |
| 346 | + buffer.append(TAB).append(WHITESPACE).append(curRecipe).append(NEWLINE); |
358 | 347 | }
|
359 | 348 |
|
360 | 349 | }
|
@@ -396,31 +385,31 @@ protected StringBuffer topMakeGetTargets() {
|
396 | 385 | }
|
397 | 386 | buffer.append(NEWLINE).append(NEWLINE);
|
398 | 387 |
|
399 |
| - String prebuildStep = topMakeGetPreBuildStep(); |
400 |
| - if (prebuildStep.length() > 0) { |
401 |
| - |
402 |
| - String preannouncebuildStep = myAutoBuildConfData.getPreBuildAnouncement(); |
403 |
| - buffer.append(PREBUILD).append(COLON).append(NEWLINE); |
404 |
| - if (preannouncebuildStep.length() > 0) { |
405 |
| - buffer.append(TAB).append(DASH).append(AT_SYMBOL).append(escapedEcho(preannouncebuildStep)); |
406 |
| - } |
407 |
| - buffer.append(TAB).append(DASH).append(prebuildStep).append(NEWLINE); |
408 |
| - buffer.append(TAB).append(DASH).append(AT_SYMBOL).append(ECHO_BLANK_LINE).append(NEWLINE); |
409 |
| - } |
| 388 | +// String prebuildStep = topMakeGetPreBuildStep(); |
| 389 | +// if (prebuildStep.length() > 0) { |
| 390 | +// |
| 391 | +// String preannouncebuildStep = myAutoBuildConfData.getPreBuildAnouncement(); |
| 392 | +// buffer.append(PREBUILD).append(COLON).append(NEWLINE); |
| 393 | +// if (preannouncebuildStep.length() > 0) { |
| 394 | +// buffer.append(TAB).append(DASH).append(AT_SYMBOL).append(escapedEcho(preannouncebuildStep)); |
| 395 | +// } |
| 396 | +// buffer.append(TAB).append(DASH).append(prebuildStep).append(NEWLINE); |
| 397 | +// buffer.append(TAB).append(DASH).append(AT_SYMBOL).append(ECHO_BLANK_LINE).append(NEWLINE); |
| 398 | +// } |
410 | 399 |
|
411 |
| - String postbuildStep = myAutoBuildConfData.getPostbuildStep(); |
412 |
| - postbuildStep = resolve(postbuildStep, EMPTY_STRING, WHITESPACE, myAutoBuildConfData); |
413 |
| - postbuildStep = postbuildStep.trim(); |
414 |
| - // Add the postbuild step, if specified |
415 |
| - if (postbuildStep.length() > 0) { |
416 |
| - String postannouncebuildStep = myAutoBuildConfData.getPostBuildAnouncement(); |
417 |
| - buffer.append(POSTBUILD).append(COLON).append(NEWLINE); |
418 |
| - if (postannouncebuildStep.length() > 0) { |
419 |
| - buffer.append(TAB).append(DASH).append(AT_SYMBOL).append(escapedEcho(postannouncebuildStep)); |
420 |
| - } |
421 |
| - buffer.append(TAB).append(DASH).append(postbuildStep).append(NEWLINE); |
422 |
| - buffer.append(TAB).append(DASH).append(AT_SYMBOL).append(ECHO_BLANK_LINE).append(NEWLINE); |
423 |
| - } |
| 400 | +// String postbuildStep = myAutoBuildConfData.getPostbuildStep(); |
| 401 | +// postbuildStep = resolve(postbuildStep, EMPTY_STRING, WHITESPACE, myAutoBuildConfData); |
| 402 | +// postbuildStep = postbuildStep.trim(); |
| 403 | +// // Add the postbuild step, if specified |
| 404 | +// if (postbuildStep.length() > 0) { |
| 405 | +// String postannouncebuildStep = myAutoBuildConfData.getPostBuildAnouncement(); |
| 406 | +// buffer.append(POSTBUILD).append(COLON).append(NEWLINE); |
| 407 | +// if (postannouncebuildStep.length() > 0) { |
| 408 | +// buffer.append(TAB).append(DASH).append(AT_SYMBOL).append(escapedEcho(postannouncebuildStep)); |
| 409 | +// } |
| 410 | +// buffer.append(TAB).append(DASH).append(postbuildStep).append(NEWLINE); |
| 411 | +// buffer.append(TAB).append(DASH).append(AT_SYMBOL).append(ECHO_BLANK_LINE).append(NEWLINE); |
| 412 | +// } |
424 | 413 |
|
425 | 414 | return buffer;
|
426 | 415 | }
|
@@ -562,34 +551,10 @@ public StringBuffer getRecipesInMakeFileStyle(IAutoBuildMakeRule makeRule) {
|
562 | 551 | .append(escapedEcho(MakefileGenerator_message_start_file + WHITESPACE + OUT_MACRO));
|
563 | 552 | buffer.append(TAB).append(AT_SYMBOL).append(escapedEcho(tool.getAnnouncement()));
|
564 | 553 |
|
565 |
| - // // JABA add sketch.prebuild and postbuild if needed |
566 |
| - // //TOFIX this should not be here |
567 |
| - // if ("sloeber.ino".equals(fileName)) { //$NON-NLS-1$ |
568 |
| - // |
569 |
| - // // String sketchPrebuild = |
570 |
| - // io.sloeber.core.common.Common.getBuildEnvironmentVariable(confDesc, |
571 |
| - // // "sloeber.sketch.prebuild", new String(), true); //$NON-NLS-1$ |
572 |
| - // // String sketchPostBuild = |
573 |
| - // io.sloeber.core.common.Common.getBuildEnvironmentVariable(confDesc, |
574 |
| - // // "sloeber.sketch.postbuild", new String(), true); //$NON-NLS-1$ |
575 |
| - // String sketchPrebuild = resolve("sloeber.sketch.prebuild", EMPTY_STRING, |
576 |
| - // WHITESPACE, autoBuildConfData); |
577 |
| - // String sketchPostBuild = resolve("sloeber.sketch.postbuild", EMPTY_STRING, |
578 |
| - // WHITESPACE,autoBuildConfData); |
579 |
| - // if (!sketchPrebuild.isEmpty()) { |
580 |
| - // buffer.append(TAB).append(sketchPrebuild); |
581 |
| - // } |
582 |
| - // buffer.append(TAB).append(buildCmd).append(NEWLINE); |
583 |
| - // if (!sketchPostBuild.isEmpty()) { |
584 |
| - // buffer.append(TAB).append(sketchPostBuild); |
585 |
| - // } |
586 |
| - // } else { |
587 | 554 | for (String resolvedCommand : makeRule.getRecipes(myBuildRoot, myAutoBuildConfData)) {
|
588 | 555 | buffer.append(TAB).append(resolvedCommand);
|
589 | 556 | buffer.append(NEWLINE);
|
590 | 557 | }
|
591 |
| - // } |
592 |
| - // // end JABA add sketch.prebuild and postbuild if needed |
593 | 558 |
|
594 | 559 | buffer.append(NEWLINE);
|
595 | 560 | buffer.append(TAB).append(AT_SYMBOL)
|
|
0 commit comments