当前位置: 首页>>代码示例>>Java>>正文


Java Command类代码示例

本文整理汇总了Java中org.sonar.api.utils.command.Command的典型用法代码示例。如果您正苦于以下问题:Java Command类的具体用法?Java Command怎么用?Java Command使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


Command类属于org.sonar.api.utils.command包,在下文中一共展示了Command类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: analyze

import org.sonar.api.utils.command.Command; //导入依赖的package包/类
public void analyze(File configFile) throws IOException, XMLStreamException {

        final Command command = Command.create(settings.getString(ColdFusionPlugin.CFLINT_JAVA));

        addCflintJavaOpts(command);

        command.addArgument("-jar")
                .addArgument(extractCflintJar().getPath())
                .addArgument("-xml")
                .addArgument("-folder")
                .addArgument(settings.getString("sonar.sources"))
                .addArgument("-xmlfile")
                .addArgument(fs.workDir() + File.separator + "cflint-result.xml")
                .addArgument("-configfile")
                .addArgument(configFile.getPath());

        int exitCode = CommandExecutor.create().execute(command, new LogInfoStreamConsumer(), new LogErrorStreamConsumer(), Integer.MAX_VALUE);
        if (exitCode != 0) {
            throw new IllegalStateException("The CFLint analyzer failed with exit code: " + exitCode);
        }
    }
 
开发者ID:stepstone-tech,项目名称:sonar-coldfusion,代码行数:22,代码来源:CFLintAnalyzer.java

示例2: executesCommandWithCorrectArgumentsAndTimeouts

import org.sonar.api.utils.command.Command; //导入依赖的package包/类
@Test
public void executesCommandWithCorrectArgumentsAndTimeouts() {
    final ArrayList<Command> capturedCommands = new ArrayList<Command>();
    final ArrayList<Long> capturedTimeouts = new ArrayList<Long>();

    Answer<Integer> captureCommand = new Answer<Integer>() {
        @Override
        public Integer answer(InvocationOnMock invocation) throws Throwable {
            capturedCommands.add((Command) invocation.getArguments()[0]);
            capturedTimeouts.add((long) invocation.getArguments()[3]);
            return 0;
        }
    };

    when(this.commandExecutor.execute(any(Command.class), any(StreamConsumer.class), any(StreamConsumer.class), any(long.class))).then(captureCommand);
    this.executorImpl.execute(this.config, Arrays.asList(new String[] { "path/to/file", "path/to/another" }));

    assertEquals(1, capturedCommands.size());

    Command theCommand = capturedCommands.get(0);
    long theTimeout = capturedTimeouts.get(0);

    assertEquals("node path/to/tslint --format json --rules-dir path/to/rules --out path/to/temp --config path/to/config path/to/file path/to/another", theCommand.toCommandLine());
    // Expect one timeout period per file processed
    assertEquals(2 * 40000, theTimeout);
}
 
开发者ID:Pablissimo,项目名称:SonarTsPlugin,代码行数:27,代码来源:TsLintExecutorImplTest.java

示例3: usesTypeCheckParameter_ifConfigSaysToUseTypeCheck

import org.sonar.api.utils.command.Command; //导入依赖的package包/类
@Test
public void usesTypeCheckParameter_ifConfigSaysToUseTypeCheck() {
    final ArrayList<Command> capturedCommands = new ArrayList<Command>();

    Answer<Integer> captureCommand = new Answer<Integer>() {
        @Override
        public Integer answer(InvocationOnMock invocation) throws Throwable {
            capturedCommands.add((Command) invocation.getArguments()[0]);
            return 0;
        }
    };

    this.config.setPathToTsConfig("path/to/tsconfig.json");
    this.config.setShouldPerformTypeCheck(true);

    when(this.commandExecutor.execute(any(Command.class), any(StreamConsumer.class), any(StreamConsumer.class), any(long.class))).then(captureCommand);
    this.executorImpl.execute(this.config, Arrays.asList(new String[] { "path/to/file", "path/to/another" }));

    assertEquals(1, capturedCommands.size());

    Command theCommand = capturedCommands.get(0);

    assertEquals("node path/to/tslint --format json --rules-dir path/to/rules --out path/to/temp --config path/to/config --project path/to/tsconfig.json --type-check", theCommand.toCommandLine());
}
 
开发者ID:Pablissimo,项目名称:SonarTsPlugin,代码行数:25,代码来源:TsLintExecutorImplTest.java

示例4: DoesNotAddRulesDirParameter_IfNull

import org.sonar.api.utils.command.Command; //导入依赖的package包/类
@Test
public void DoesNotAddRulesDirParameter_IfNull() {
    final ArrayList<Command> capturedCommands = new ArrayList<Command>();
    final ArrayList<Long> capturedTimeouts = new ArrayList<Long>();

    Answer<Integer> captureCommand = new Answer<Integer>() {
        @Override
        public Integer answer(InvocationOnMock invocation) throws Throwable {
            capturedCommands.add((Command) invocation.getArguments()[0]);
            capturedTimeouts.add((long) invocation.getArguments()[3]);
            return 0;
        }
    };

    when(this.commandExecutor.execute(any(Command.class), any(StreamConsumer.class), any(StreamConsumer.class), any(long.class))).then(captureCommand);

    this.config.setRulesDir(null);
    this.executorImpl.execute(this.config, Arrays.asList(new String[] { "path/to/file" }));

    Command theCommand = capturedCommands.get(0);
    assertFalse(theCommand.toCommandLine().contains("--rules-dir"));
}
 
开发者ID:Pablissimo,项目名称:SonarTsPlugin,代码行数:23,代码来源:TsLintExecutorImplTest.java

示例5: DoesNotAddRulesDirParameter_IfEmptyString

import org.sonar.api.utils.command.Command; //导入依赖的package包/类
@Test
public void DoesNotAddRulesDirParameter_IfEmptyString() {
    final ArrayList<Command> capturedCommands = new ArrayList<Command>();
    final ArrayList<Long> capturedTimeouts = new ArrayList<Long>();

    Answer<Integer> captureCommand = new Answer<Integer>() {
        @Override
        public Integer answer(InvocationOnMock invocation) throws Throwable {
            capturedCommands.add((Command) invocation.getArguments()[0]);
            capturedTimeouts.add((long) invocation.getArguments()[3]);
            return 0;
        }
    };

    when(this.commandExecutor.execute(any(Command.class), any(StreamConsumer.class), any(StreamConsumer.class), any(long.class))).then(captureCommand);

    this.config.setRulesDir("");
    this.executorImpl.execute(this.config, Arrays.asList(new String[] { "path/to/file" }));

    Command theCommand = capturedCommands.get(0);
    assertFalse(theCommand.toCommandLine().contains("--rules-dir"));
}
 
开发者ID:Pablissimo,项目名称:SonarTsPlugin,代码行数:23,代码来源:TsLintExecutorImplTest.java

示例6: addCflintJavaOpts

import org.sonar.api.utils.command.Command; //导入依赖的package包/类
protected void addCflintJavaOpts(Command command) {
    final String cflintJavaOpts = settings.getString(ColdFusionPlugin.CFLINT_JAVA_OPTS);

    if (cflintJavaOpts != null) {
        final String[] arguments = cflintJavaOpts.split(" ");
        for (String argument : arguments) {
            command.addArgument(argument);
        }
    }
}
 
开发者ID:stepstone-tech,项目名称:sonar-coldfusion,代码行数:11,代码来源:CFLintAnalyzer.java

示例7: getBaseCommand

import org.sonar.api.utils.command.Command; //导入依赖的package包/类
private Command getBaseCommand(TsLintExecutorConfig config, String tempPath) {
    Command command =
            Command
            .create(config.getPathToNode())
            .addArgument(this.preparePath(config.getPathToTsLint()))
            .addArgument("--format")
            .addArgument("json");

    String rulesDir = config.getRulesDir();
    if (rulesDir != null && rulesDir.length() > 0) {
        command
            .addArgument("--rules-dir")
            .addArgument(this.preparePath(rulesDir));
    }

    if (tempPath != null && tempPath.length() > 0) {
        command
            .addArgument("--out")
            .addArgument(this.preparePath(tempPath));
    }

    command
        .addArgument("--config")
        .addArgument(this.preparePath(config.getConfigFile()));

    if (config.useTsConfigInsteadOfFileList()) {
        command
            .addArgument("--project")
            .addArgument(this.preparePath(config.getPathToTsConfig()));
    }

    if (config.shouldPerformTypeCheck()) {
        command
            .addArgument("--type-check");
    }

    command.setNewShell(false);

    return command;
}
 
开发者ID:Pablissimo,项目名称:SonarTsPlugin,代码行数:41,代码来源:TsLintExecutorImpl.java

示例8: doesNotSendFileListToTsLint_ifConfigSaysToUseProjectFile

import org.sonar.api.utils.command.Command; //导入依赖的package包/类
@Test
public void doesNotSendFileListToTsLint_ifConfigSaysToUseProjectFile() {
    final ArrayList<Command> capturedCommands = new ArrayList<Command>();
    final ArrayList<Long> capturedTimeouts = new ArrayList<Long>();

    Answer<Integer> captureCommand = new Answer<Integer>() {
        @Override
        public Integer answer(InvocationOnMock invocation) throws Throwable {
            capturedCommands.add((Command) invocation.getArguments()[0]);
            capturedTimeouts.add((long) invocation.getArguments()[3]);
            return 0;
        }
    };

    this.config.setPathToTsConfig("path/to/tsconfig.json");

    when(this.commandExecutor.execute(any(Command.class), any(StreamConsumer.class), any(StreamConsumer.class), any(long.class))).then(captureCommand);
    this.executorImpl.execute(this.config, Arrays.asList(new String[] { "path/to/file", "path/to/another" }));

    assertEquals(1, capturedCommands.size());

    Command theCommand = capturedCommands.get(0);
    long theTimeout = capturedTimeouts.get(0);

    assertEquals("node path/to/tslint --format json --rules-dir path/to/rules --out path/to/temp --config path/to/config --project path/to/tsconfig.json", theCommand.toCommandLine());
    // Timeout should be just what we specified since we're not batching

    assertEquals(40000, theTimeout);
}
 
开发者ID:Pablissimo,项目名称:SonarTsPlugin,代码行数:30,代码来源:TsLintExecutorImplTest.java

示例9: BatchesExecutions_IfTooManyFilesForCommandLine

import org.sonar.api.utils.command.Command; //导入依赖的package包/类
@Test
public void BatchesExecutions_IfTooManyFilesForCommandLine() {
    List<String> filenames = new ArrayList<String>();
    int currentLength = 0;
    int standardCmdLength = "node path/to/tslint --format json --rules-dir path/to/rules --out path/to/temp --config path/to/config".length();

    String firstBatch = "first batch";
    while (currentLength + 12 < TsLintExecutorImpl.MAX_COMMAND_LENGTH - standardCmdLength) {
        filenames.add(firstBatch);
        currentLength += firstBatch.length() + 1; // 1 for the space
    }
    filenames.add("second batch");

    final ArrayList<Command> capturedCommands = new ArrayList<Command>();
    final ArrayList<Long> capturedTimeouts = new ArrayList<Long>();

    Answer<Integer> captureCommand = new Answer<Integer>() {
        @Override
        public Integer answer(InvocationOnMock invocation) throws Throwable {
            capturedCommands.add((Command) invocation.getArguments()[0]);
            capturedTimeouts.add((long) invocation.getArguments()[3]);
            return 0;
        }
    };

    when(this.commandExecutor.execute(any(Command.class), any(StreamConsumer.class), any(StreamConsumer.class), any(long.class))).then(captureCommand);
    this.executorImpl.execute(this.config, filenames);

    assertEquals(2, capturedCommands.size());

    Command theSecondCommand = capturedCommands.get(1);

    assertFalse(theSecondCommand.toCommandLine().contains("first batch"));
    assertTrue(theSecondCommand.toCommandLine().contains("second batch"));
}
 
开发者ID:Pablissimo,项目名称:SonarTsPlugin,代码行数:36,代码来源:TsLintExecutorImplTest.java

示例10: execute

import org.sonar.api.utils.command.Command; //导入依赖的package包/类
public void execute(String executable, String project, String solutionFile, File rulesetFile, File reportFile, int timeout) {
  Command cmd = Command.create(getExecutable(executable))
    .addArgument("/output=" + reportFile.getAbsolutePath())
    .addArgument("/no-swea")
    .addArgument("/project=" + project)
    .addArgument("/profile=" + rulesetFile.getAbsolutePath())
    .addArgument("/no-buildin-settings")
    .addArgument(solutionFile);

  int exitCode = CommandExecutor.create().execute(cmd, TimeUnit.MINUTES.toMillis(timeout));

  if (exitCode != 0) {
    throw new CommandException(cmd, "ReSharper execution failed with exit code: " + exitCode, null);
  }
}
 
开发者ID:GregBartlett,项目名称:sonar-resharper,代码行数:16,代码来源:ReSharperExecutor.java

示例11: getCommandOutput

import org.sonar.api.utils.command.Command; //导入依赖的package包/类
private String getCommandOutput(Command thisCommand, StreamConsumer stdOutConsumer, StreamConsumer stdErrConsumer, File tslintOutputFile, Integer timeoutMs) {
    this.createExecutor().execute(thisCommand, stdOutConsumer, stdErrConsumer, timeoutMs);

    return getFileContent(tslintOutputFile);
}
 
开发者ID:Pablissimo,项目名称:SonarTsPlugin,代码行数:6,代码来源:TsLintExecutorImpl.java


注:本文中的org.sonar.api.utils.command.Command类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。