comparison 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
comparison
equal deleted inserted replaced
24:9cbdbfed44f4 25:f4e0050e2a2f
82 LOG.debug(SymbolsConstants.BUILD_FEATURE_TYPE + " build feature disabled. No indexing performed."); 82 LOG.debug(SymbolsConstants.BUILD_FEATURE_TYPE + " build feature disabled. No indexing performed.");
83 return; 83 return;
84 } 84 }
85 LOG.debug(SymbolsConstants.BUILD_FEATURE_TYPE + " build feature enabled. Searching for suitable files."); 85 LOG.debug(SymbolsConstants.BUILD_FEATURE_TYPE + " build feature enabled. Searching for suitable files.");
86 final Collection<File> pdbFiles = getArtifactPathsByFileExtension(artifacts, PDB_FILE_EXTENSION); 86 final Collection<File> pdbFiles = getArtifactPathsByFileExtension(artifacts, PDB_FILE_EXTENSION);
87 final SrcSrvStreamProvider srcSrvStreamProvider = new SrcSrvStreamProvider(myBuild.getBuildId(), myBuild.getCheckoutDirectory()); 87 if(pdbFiles.isEmpty()) return;
88 final PdbFilePatcher pdbFilePatcher = new PdbFilePatcher(myBuild.getBuildTempDirectory(), srcSrvStreamProvider); 88
89 final FileUrlProvider urlProvider = getUrlProviderForBuild(myBuild, buildLogger);
90 if(urlProvider == null) return;
91
92 final PdbFilePatcher pdbFilePatcher = new PdbFilePatcher(myBuild.getBuildTempDirectory(), new SrcSrvStreamBuilder(urlProvider));
89 for(File pdbFile : pdbFiles){ 93 for(File pdbFile : pdbFiles){
90 try { 94 try {
91 buildLogger.message("Indexing sources appeared in file " + pdbFile.getAbsolutePath()); 95 buildLogger.message("Indexing sources appeared in file " + pdbFile.getAbsolutePath());
92 pdbFilePatcher.patch(pdbFile, buildLogger); 96 pdbFilePatcher.patch(pdbFile, buildLogger);
93 mySymbolsToProcess.add(pdbFile); 97 mySymbolsToProcess.add(pdbFile);
95 LOG.error("Error occurred while patching symbols file " + pdbFile, e); 99 LOG.error("Error occurred while patching symbols file " + pdbFile, e);
96 buildLogger.error("Error occurred while patching symbols file " + pdbFile); 100 buildLogger.error("Error occurred while patching symbols file " + pdbFile);
97 buildLogger.exception(e); 101 buildLogger.exception(e);
98 } 102 }
99 } 103 }
104 }
105
106 @Nullable
107 private FileUrlProvider getUrlProviderForBuild(@NotNull AgentRunningBuild build, BuildProgressLogger buildLogger) {
108 String serverUrl = build.getSharedConfigParameters().get(SymbolsConstants.SERVER_URL_PARAMETER_NAME);
109 if(serverUrl == null){
110 final String message = String.format("Configuration parameter %s was not set. ", SymbolsConstants.SERVER_URL_PARAMETER_NAME);
111 LOG.warn(message);
112 buildLogger.warning(message);
113 return null;
114 }
115 return new FileUrlProvider(serverUrl, build.getBuildId(), build.getCheckoutDirectory());
100 } 116 }
101 117
102 private Collection<File> getArtifactPathsByFileExtension(List<ArtifactsCollection> artifactsCollections, String fileExtension){ 118 private Collection<File> getArtifactPathsByFileExtension(List<ArtifactsCollection> artifactsCollections, String fileExtension){
103 final Collection<File> result = new HashSet<File>(); 119 final Collection<File> result = new HashSet<File>();
104 for(ArtifactsCollection artifactsCollection : artifactsCollections){ 120 for(ArtifactsCollection artifactsCollection : artifactsCollections){