Mercurial > hg > tc-symbol-server
annotate agent/src/jetbrains/buildServer/symbols/tools/JetSymbolsExe.java @ 28:646f64aca657
fixed url's to sources
author | Evgeniy.Koshkin |
---|---|
date | Wed, 07 Aug 2013 21:48:39 +0400 |
parents | 76ed2d58c871 |
children | a5f3d4f24843 |
rev | line source |
---|---|
27
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
1 package jetbrains.buildServer.symbols.tools; |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
2 |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
3 import com.intellij.execution.configurations.GeneralCommandLine; |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
4 import jetbrains.buildServer.ExecResult; |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
5 import jetbrains.buildServer.SimpleCommandLineProcessRunner; |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
6 import jetbrains.buildServer.agent.BuildProgressLogger; |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
7 |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
8 import java.io.File; |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
9 import java.util.Collection; |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
10 |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
11 /** |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
12 * @author Evgeniy.Koshkin |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
13 */ |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
14 public class JetSymbolsExe { |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
15 |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
16 private static final String SYMBOLS_EXE = "JetBrains.CommandLine.Symbols.exe"; |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
17 private static final String DUMP_SYMBOL_SIGN_CMD = "dumpSymbolSign"; |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
18 private final File myExePath; |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
19 |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
20 public JetSymbolsExe(File homeDir) { |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
21 myExePath = new File(homeDir, SYMBOLS_EXE); |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
22 } |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
23 |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
24 public void dumpGuidsToFile(Collection<File> files, File output, BuildProgressLogger buildLogger){ |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
25 final GeneralCommandLine commandLine = new GeneralCommandLine(); |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
26 commandLine.setExePath(myExePath.getPath()); |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
27 commandLine.addParameter(DUMP_SYMBOL_SIGN_CMD); |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
28 commandLine.addParameter(String.format("/o=\"%s\"", output.getPath())); |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
29 for(File file : files){ |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
30 commandLine.addParameter(file.getPath()); |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
31 } |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
32 buildLogger.message(String.format("Running command %s", commandLine.getCommandLineString())); |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
33 final ExecResult execResult = SimpleCommandLineProcessRunner.runCommand(commandLine, null); |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
34 final String stdout = execResult.getStdout(); |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
35 if(!stdout.isEmpty()){ |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
36 buildLogger.message("Stdout: " + stdout); |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
37 } |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
38 if (execResult.getExitCode() == 0) return; |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
39 buildLogger.warning(String.format("%s ends with non-zero exit code.", SYMBOLS_EXE)); |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
40 buildLogger.warning("Stdout: " + stdout); |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
41 buildLogger.warning("Stderr: " + execResult.getStderr()); |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
42 buildLogger.exception(execResult.getException()); |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
43 } |
76ed2d58c871
- reused home path between all srcsrv-related utilities
Evgeniy.Koshkin
parents:
diff
changeset
|
44 } |