Mercurial > hg > tc-symbol-server
diff agent/src/jetbrains/buildServer/symbols/SymbolsIndexer.java @ 25:f4e0050e2a2f
resolve server url from config parameter
author | Evgeniy.Koshkin |
---|---|
date | Tue, 06 Aug 2013 14:18:09 +0400 |
parents | 7bd8a756aa78 |
children | 87b24e4efcc3 |
line wrap: on
line diff
--- a/agent/src/jetbrains/buildServer/symbols/SymbolsIndexer.java Mon Aug 05 20:57:02 2013 +0400 +++ b/agent/src/jetbrains/buildServer/symbols/SymbolsIndexer.java Tue Aug 06 14:18:09 2013 +0400 @@ -84,8 +84,12 @@ } LOG.debug(SymbolsConstants.BUILD_FEATURE_TYPE + " build feature enabled. Searching for suitable files."); final Collection<File> pdbFiles = getArtifactPathsByFileExtension(artifacts, PDB_FILE_EXTENSION); - final SrcSrvStreamProvider srcSrvStreamProvider = new SrcSrvStreamProvider(myBuild.getBuildId(), myBuild.getCheckoutDirectory()); - final PdbFilePatcher pdbFilePatcher = new PdbFilePatcher(myBuild.getBuildTempDirectory(), srcSrvStreamProvider); + if(pdbFiles.isEmpty()) return; + + final FileUrlProvider urlProvider = getUrlProviderForBuild(myBuild, buildLogger); + if(urlProvider == null) return; + + final PdbFilePatcher pdbFilePatcher = new PdbFilePatcher(myBuild.getBuildTempDirectory(), new SrcSrvStreamBuilder(urlProvider)); for(File pdbFile : pdbFiles){ try { buildLogger.message("Indexing sources appeared in file " + pdbFile.getAbsolutePath()); @@ -99,6 +103,18 @@ } } + @Nullable + private FileUrlProvider getUrlProviderForBuild(@NotNull AgentRunningBuild build, BuildProgressLogger buildLogger) { + String serverUrl = build.getSharedConfigParameters().get(SymbolsConstants.SERVER_URL_PARAMETER_NAME); + if(serverUrl == null){ + final String message = String.format("Configuration parameter %s was not set. ", SymbolsConstants.SERVER_URL_PARAMETER_NAME); + LOG.warn(message); + buildLogger.warning(message); + return null; + } + return new FileUrlProvider(serverUrl, build.getBuildId(), build.getCheckoutDirectory()); + } + private Collection<File> getArtifactPathsByFileExtension(List<ArtifactsCollection> artifactsCollections, String fileExtension){ final Collection<File> result = new HashSet<File>(); for(ArtifactsCollection artifactsCollection : artifactsCollections){