Ejemplo n.º 1
0
  public static String getOptionBooleanCommand(IConfiguration config, String sOptionId) {

    IOption option = config.getToolChain().getOptionBySuperClassId(sOptionId);
    String sReturn = null;
    if (option != null) {
      try {
        if (option.getBooleanValue()) sReturn = option.getCommand().trim();
      } catch (BuildException e) {
        Activator.log(e);
      }
    } else {
      Activator.log(sOptionId + " not found");
    }

    return sReturn;
  }
Ejemplo n.º 2
0
  public static Boolean getOptionBooleanValue(IConfiguration config, String sOptionId) {

    IOption option = config.getToolChain().getOptionBySuperClassId(sOptionId);
    Boolean bReturn = null;
    if (option != null) {
      try {
        bReturn = new Boolean(option.getBooleanValue());
      } catch (BuildException e) {
        Activator.log(e);
      }
    } else {
      Activator.log(sOptionId + " not found");
    }

    return bReturn;
  }
Ejemplo n.º 3
0
  private void doTestEnablement(IBuildObject cfg) {
    ITool tool = getTool(cfg, "enablement.this.child_1.2.3");
    ITool otherTool = getTool(cfg, "enablement.other");
    ITool tool2 = getTool(cfg, "enablement.this.child.2_1.2.3");

    //		IManagedBuildInfo info = ManagedBuildManager.getBuildInfo(project);

    IOption thisBoolean = tool.getOptionBySuperClassId("this.boolean");
    IOption thisString = tool.getOptionBySuperClassId("this.string");
    IOption thisEnum = tool.getOptionBySuperClassId("this.enum");

    IOption otherString = otherTool.getOptionBySuperClassId("other.string");
    IOption otherBoolean = otherTool.getOptionBySuperClassId("other.boolean");

    try {

      IOption option = tool.getOptionBySuperClassId("enablement.command.c1");

      assertEquals(option.getCommand(), "c1");
      assertEquals(option.getCommandFalse(), "cmdF");
      assertTrue(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.command.c2");
      assertEquals(option.getCommand(), "c2");
      assertEquals(option.getCommandFalse(), "cmdF");
      assertTrue(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.commandFalse.c1");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "c1");
      assertTrue(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.commandFalse.c2");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "c2");
      assertTrue(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.command.c1.commandFalse.cF1");
      assertEquals(option.getCommand(), "c1");
      assertEquals(option.getCommandFalse(), "cF1");
      assertTrue(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.command.cmd.commandFalse.cmdF");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cmdF");
      assertTrue(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.command.c1.commandFalse.cmdF");
      assertEquals(option.getCommand(), "c1");
      assertEquals(option.getCommandFalse(), "cmdF");
      assertTrue(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.command.cmd.commandFalse.cF1");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cF1");
      assertTrue(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.ui.en");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cF1");
      assertFalse(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.ui.vis");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cF1");
      assertTrue(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertFalse(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.cmd.us");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cmdF");
      assertTrue(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));
      assertFalse(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.cmdUs.or.uiVis");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cF1");
      assertTrue(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));
      assertFalse(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertFalse(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.uiEn.or.uiVis");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cF1");
      assertFalse(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertFalse(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.all");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cF1");
      assertFalse(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));
      assertFalse(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertFalse(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.all.ac.vh");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cF1");

      setEnablement(false, false, false);
      assertFalse(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertFalse(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));
      assertFalse(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));

      setEnablement(false, true, false);
      assertFalse(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));
      assertFalse(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));

      setEnablement(false, false, true);
      assertFalse(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertFalse(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));

      setEnablement(true, false, false);
      assertTrue(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertFalse(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));
      assertFalse(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));

      setEnablement(false, false, false);
      option = tool.getOptionBySuperClassId("enablement.all.cF1.ac.vh");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cF1");
      assertFalse(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertFalse(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));
      assertFalse(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));

      setEnablement(true, false, true);

      option = tool.getOptionBySuperClassId("enablement.all.cF.cmdF");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cmdF");
      assertTrue(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.all.cF.cF1");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cF1");
      assertFalse(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertFalse(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));
      assertFalse(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));

      option = tool.getOptionBySuperClassId("this.boolean");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cmdF");
      assertTrue(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.checkOpt.all.Q.this.boolean.True");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cmdF");
      assertEquals(
          thisBoolean.getBooleanValue() == true,
          option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertEquals(
          thisBoolean.getBooleanValue() == true,
          option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));
      assertEquals(
          thisBoolean.getBooleanValue() == true,
          option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.checkOpt.all.Q.this.boolean.False");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cmdF");
      assertEquals(
          thisBoolean.getBooleanValue() == false,
          option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertEquals(
          thisBoolean.getBooleanValue() == false,
          option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));
      assertEquals(
          thisBoolean.getBooleanValue() == false,
          option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.checkOpt.all.Q.this.string.Q.empty");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cmdF");
      assertEquals(
          thisString.getStringValue().equals(""),
          option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertEquals(
          thisString.getStringValue().equals(""),
          option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));
      assertEquals(
          thisString.getStringValue().equals(""),
          option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.checkOpt.all.Q.this.string.Q.test a b c");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cmdF");
      assertEquals(
          thisString.getStringValue().equals("test a b c"),
          option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertEquals(
          thisString.getStringValue().equals("test a b c"),
          option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));
      assertEquals(
          thisString.getStringValue().equals("test a b c"),
          option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));

      option =
          tool.getOptionBySuperClassId(
              "enablement.checkOpt.all.Q.this.enum.Q.testgnu.enablement.c.optimization.level.optimize");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cmdF");
      String id = thisEnum.getEnumeratedId(thisEnum.getStringValue());
      if (id == null) id = "";
      assertEquals(
          id.equals("testgnu.enablement.c.optimization.level.optimize"),
          option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertEquals(
          id.equals("testgnu.enablement.c.optimization.level.optimize"),
          option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));
      assertEquals(
          id.equals("testgnu.enablement.c.optimization.level.optimize"),
          option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.checkOpt.all.Q.this.Q.true");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cmdF");
      assertEquals(
          option.getBooleanValue() == true,
          option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertEquals(
          option.getBooleanValue() == true,
          option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));
      assertEquals(
          option.getBooleanValue() == true,
          option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));

      option =
          tool.getOptionBySuperClassId(
              "enablement.checkOpt.all.Q.this.string.Q.start ${ParentVersion} stop");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cmdF");
      assertEquals(
          thisString.getStringValue().equals("start 1.2.3 stop"),
          option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertEquals(
          thisString.getStringValue().equals("start 1.2.3 stop"),
          option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));
      assertEquals(
          thisString.getStringValue().equals("start 1.2.3 stop"),
          option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.checkOpt.all.Q.this.string.Q.other.string");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cmdF");
      assertEquals(
          thisString.getStringValue().equals(otherString.getStringValue()),
          option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertEquals(
          thisString.getStringValue().equals(otherString.getStringValue()),
          option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));
      assertEquals(
          thisString.getStringValue().equals(otherString.getStringValue()),
          option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.checkOpt.all.Q.this.string.Q.other.string");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cmdF");
      assertEquals(
          thisString.getStringValue().equals(otherString.getStringValue()),
          option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertEquals(
          thisString.getStringValue().equals(otherString.getStringValue()),
          option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));
      assertEquals(
          thisString.getStringValue().equals(otherString.getStringValue()),
          option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.checkString");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cmdF");
      assertTrue(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.checkString.2");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cmdF");
      assertTrue(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.checkString.3");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cmdF");
      assertTrue(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.checkFalse.false");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cmdF");
      assertFalse(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertFalse(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));
      assertFalse(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.checkNot.false");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cmdF");
      assertFalse(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertFalse(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));
      assertFalse(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.checkOr.true");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cmdF");
      assertTrue(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.checkAnd.false");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cmdF");
      assertFalse(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertFalse(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));
      assertFalse(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));

      option = tool.getOptionBySuperClassId("enablement.checkHolder.true.1.false.2");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cmdF");
      assertTrue(option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionVisible(cfg, tool, option));
      assertTrue(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool, option));

      option = tool2.getOptionBySuperClassId("enablement.checkHolder.true.1.false.2");
      assertEquals(option.getCommand(), "cmd");
      assertEquals(option.getCommandFalse(), "cmdF");
      assertFalse(
          option.getApplicabilityCalculator().isOptionUsedInCommandLine(cfg, tool2, option));
      assertFalse(option.getApplicabilityCalculator().isOptionVisible(cfg, tool2, option));
      assertFalse(option.getApplicabilityCalculator().isOptionEnabled(cfg, tool2, option));

    } catch (BuildException e) {
      fail(e.getLocalizedMessage());
    }
  }