Mercurial > hg > tc-symbol-server
diff agent/src/jetbrains/buildServer/symbols/PdbStrExe.java @ 12:662a0be55de7
- source indexing works!
- few tests added
author | Evgeniy.Koshkin |
---|---|
date | Tue, 30 Jul 2013 22:10:30 +0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/agent/src/jetbrains/buildServer/symbols/PdbStrExe.java Tue Jul 30 22:10:30 2013 +0400 @@ -0,0 +1,48 @@ +/* + * Copyright 2000-2013 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package jetbrains.buildServer.symbols; + +import com.intellij.execution.configurations.GeneralCommandLine; +import jetbrains.buildServer.ExecResult; +import jetbrains.buildServer.SimpleCommandLineProcessRunner; + +import java.io.File; + +/** + * @author Evgeniy.Koshkin + */ +public class PdbStrExe { + + public static final String SRCSRV_STREAM_NAME = "srcsrv"; + + private static final String STREAM_NAME_SWITCH = "-s"; + private static final String PATH_TO_PDB_FILE_SWITCH = "-p"; + private static final String PATH_TO_INPUT_FILE_SWITCH = "-i"; + + private final File myPath = new File("c:\\Program Files (x86)\\Windows Kits\\8.0\\Debuggers\\x64\\srcsrv\\pdbstr.exe"); + + public ExecResult doCommand(final PdbStrExeCommand cmd, final File pdbFile, final File inputStreamFile, final String streamName){ + final GeneralCommandLine commandLine = new GeneralCommandLine(); + commandLine.setWorkDirectory(myPath.getParent()); + commandLine.setExePath(myPath.getPath()); + commandLine.addParameter(cmd.getCmdSwitch()); + commandLine.addParameter(String.format("%s:%s", PATH_TO_PDB_FILE_SWITCH, pdbFile.getAbsolutePath())); + commandLine.addParameter(String.format("%s:%s", PATH_TO_INPUT_FILE_SWITCH, inputStreamFile.getAbsolutePath())); + commandLine.addParameter(STREAM_NAME_SWITCH + ":" + streamName); + return SimpleCommandLineProcessRunner.runCommand(commandLine, null); + } +}