Mercurial > hg > tc-symbol-server
comparison agent/src/jetbrains/buildServer/symbols/SrcSrvStreamProvider.java @ 24:9cbdbfed44f4
fixed sources loading
- replaced ':' symbols in teamcity rest api url's written to pdb
- added controller which forward sources request to the correct reat api controllers
author | Evgeniy.Koshkin |
---|---|
date | Mon, 05 Aug 2013 20:57:02 +0400 |
parents | 10cb71666d5e |
children |
comparison
equal
deleted
inserted
replaced
23:7bd8a756aa78 | 24:9cbdbfed44f4 |
---|---|
24 /** | 24 /** |
25 * @author Evgeniy.Koshkin | 25 * @author Evgeniy.Koshkin |
26 */ | 26 */ |
27 public class SrcSrvStreamProvider { | 27 public class SrcSrvStreamProvider { |
28 | 28 |
29 private static final String myRestApiUrl = "http://UNIT-519.Labs.IntelliJ.Net:8111/bs/guestAuth/app/rest"; | 29 private static final String myRestApiUrl = "http://unit-519.labs.intelliJ.net:8111/bs/guestAuth/app/sources"; |
30 | |
30 private long myBuildId; | 31 private long myBuildId; |
31 private File mySourcesRootDirectory; | 32 private File mySourcesRootDirectory; |
32 | 33 |
33 public SrcSrvStreamProvider(final long buildId, final File sourcesRootDirectory) { | 34 public SrcSrvStreamProvider(final long buildId, final File sourcesRootDirectory) { |
34 myBuildId = buildId; | 35 myBuildId = buildId; |
37 | 38 |
38 public void dumpStreamToFile(File targetFile, Collection<File> sourceFiles) throws IOException { | 39 public void dumpStreamToFile(File targetFile, Collection<File> sourceFiles) throws IOException { |
39 final FileWriter fileWriter = new FileWriter(targetFile.getPath(), true); | 40 final FileWriter fileWriter = new FileWriter(targetFile.getPath(), true); |
40 | 41 |
41 try { | 42 try { |
42 fileWriter.write("SRCSRV: ini ------------------------------------------------\n"); | 43 fileWriter.write("SRCSRV: ini ------------------------------------------------\r\n"); |
43 fileWriter.write(String.format("VERSION=%d\n", 2)); | 44 fileWriter.write("VERSION=3\r\n"); |
44 fileWriter.write("VERCTRL=http\n"); | 45 fileWriter.write("INDEXVERSION=2\r\n"); |
45 fileWriter.write("SRCSRV: variables ------------------------------------------\n"); | 46 fileWriter.write("VERCTRL=http\r\n"); |
46 fileWriter.write("SRCSRVVERCTRL=http\n"); | 47 fileWriter.write("SRCSRV: variables ------------------------------------------\r\n"); |
47 fileWriter.write("SRCSRVCMD=cmd.exe\n"); | 48 fileWriter.write("SRCSRVVERCTRL=http\r\n"); |
48 fileWriter.write("SRCSRVTRG=%http_extract_target%\n"); | 49 fileWriter.write(String.format("HTTP_ALIAS=%s/builds/id-%d/sources/files\r\n", myRestApiUrl, myBuildId)); |
49 fileWriter.write(String.format("HTTP_EXTRACT_TARGET=%s/builds/id:%d/sources/files", myRestApiUrl, myBuildId) + "/%var2%\n"); | 50 fileWriter.write("HTTP_EXTRACT_TARGET=%HTTP_ALIAS%/%var2%\r\n"); |
50 fileWriter.write("SRCSRV: source files ------------------------------------------\n"); | 51 fileWriter.write("SRCSRVTRG=%HTTP_EXTRACT_TARGET%\r\n"); |
52 fileWriter.write("SRCSRVCMD=\r\n"); | |
53 fileWriter.write("SRCSRV: source files ------------------------------------------\r\n"); | |
51 String sourcesRootDirectoryPath = mySourcesRootDirectory.getCanonicalPath(); | 54 String sourcesRootDirectoryPath = mySourcesRootDirectory.getCanonicalPath(); |
52 for(File sourceFile : sourceFiles){ | 55 for(File sourceFile : sourceFiles){ |
53 final String sourceFileCanonical = sourceFile.getCanonicalPath(); | 56 final String sourceFileCanonical = sourceFile.getCanonicalPath(); |
54 fileWriter.write(String.format("%s*%s\n", sourceFileCanonical, sourceFileCanonical.substring(sourcesRootDirectoryPath.length() + 1).replace(File.separator, "/"))); | 57 fileWriter.write(String.format("%s*%s\r\n", sourceFileCanonical, sourceFileCanonical.substring(sourcesRootDirectoryPath.length() + 1).replace(File.separator, "/"))); |
55 } | 58 } |
56 fileWriter.write("SRCSRV: end ------------------------------------------------"); | 59 fileWriter.write("SRCSRV: end ------------------------------------------------"); |
57 } | 60 } |
58 finally { | 61 finally { |
59 fileWriter.close(); | 62 fileWriter.close(); |