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();