Mercurial > hg > tc-symbol-server
view agent/src/jetbrains/buildServer/symbols/tools/SrcToolExe.java @ 117:d2c79f95c2a6 default tip
remove tailing slash in teamcity server url when constructing symbol server url
author | Evgeniy.Koshkin@unit-519.Labs.IntelliJ.Net |
---|---|
date | Fri, 27 May 2016 15:27:30 +0300 |
parents | 4c516ddbddf1 |
children |
line wrap: on
line source
/* * 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.tools; import com.intellij.execution.configurations.GeneralCommandLine; import jetbrains.buildServer.ExecResult; import jetbrains.buildServer.SimpleCommandLineProcessRunner; import jetbrains.buildServer.util.CollectionsUtil; import jetbrains.buildServer.util.Converter; import org.jetbrains.annotations.NotNull; import java.io.File; import java.util.Arrays; import java.util.Collection; /** * @author Evgeniy.Koshkin */ public class SrcToolExe { private static final String DUMP_SOURCES_FROM_PDB_SWITCH = "-r"; private static final String SRCTOOL_EXE = "srctool.exe"; private final File mySrcToolPath; public SrcToolExe(File srcSrvHomeDir) { mySrcToolPath = new File(srcSrvHomeDir, SRCTOOL_EXE); } public Collection<File> getReferencedSourceFiles(File symbolsFile) { final GeneralCommandLine commandLine = new GeneralCommandLine(); commandLine.setExePath(mySrcToolPath.getPath()); commandLine.addParameter(symbolsFile.getAbsolutePath()); commandLine.addParameter(DUMP_SOURCES_FROM_PDB_SWITCH); final ExecResult execResult = SimpleCommandLineProcessRunner.runCommand(commandLine, null); return CollectionsUtil.convertAndFilterNulls(Arrays.asList(execResult.getOutLines()), new Converter<File, String>() { public File createFrom(@NotNull String source) { final File file = new File(source); if (file.isFile()) return file; return null; //last string is not a source file path } }); } }