Mercurial > hg > tc-symbol-server
annotate 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 |
rev | line source |
---|---|
12 | 1 /* |
2 * Copyright 2000-2013 JetBrains s.r.o. | |
3 * | |
4 * Licensed under the Apache License, Version 2.0 (the "License"); | |
5 * you may not use this file except in compliance with the License. | |
6 * You may obtain a copy of the License at | |
7 * | |
8 * http://www.apache.org/licenses/LICENSE-2.0 | |
9 * | |
10 * Unless required by applicable law or agreed to in writing, software | |
11 * distributed under the License is distributed on an "AS IS" BASIS, | |
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
13 * See the License for the specific language governing permissions and | |
14 * limitations under the License. | |
15 */ | |
16 | |
17 package jetbrains.buildServer.symbols; | |
18 | |
19 import java.io.File; | |
20 import java.io.FileWriter; | |
21 import java.io.IOException; | |
22 import java.util.Collection; | |
23 | |
24 /** | |
25 * @author Evgeniy.Koshkin | |
26 */ | |
27 public class SrcSrvStreamProvider { | |
28 | |
24 | 29 private static final String myRestApiUrl = "http://unit-519.labs.intelliJ.net:8111/bs/guestAuth/app/sources"; |
30 | |
12 | 31 private long myBuildId; |
32 private File mySourcesRootDirectory; | |
33 | |
34 public SrcSrvStreamProvider(final long buildId, final File sourcesRootDirectory) { | |
35 myBuildId = buildId; | |
36 mySourcesRootDirectory = sourcesRootDirectory; | |
37 } | |
38 | |
39 public void dumpStreamToFile(File targetFile, Collection<File> sourceFiles) throws IOException { | |
40 final FileWriter fileWriter = new FileWriter(targetFile.getPath(), true); | |
20 | 41 |
12 | 42 try { |
24 | 43 fileWriter.write("SRCSRV: ini ------------------------------------------------\r\n"); |
44 fileWriter.write("VERSION=3\r\n"); | |
45 fileWriter.write("INDEXVERSION=2\r\n"); | |
46 fileWriter.write("VERCTRL=http\r\n"); | |
47 fileWriter.write("SRCSRV: variables ------------------------------------------\r\n"); | |
48 fileWriter.write("SRCSRVVERCTRL=http\r\n"); | |
49 fileWriter.write(String.format("HTTP_ALIAS=%s/builds/id-%d/sources/files\r\n", myRestApiUrl, myBuildId)); | |
50 fileWriter.write("HTTP_EXTRACT_TARGET=%HTTP_ALIAS%/%var2%\r\n"); | |
51 fileWriter.write("SRCSRVTRG=%HTTP_EXTRACT_TARGET%\r\n"); | |
52 fileWriter.write("SRCSRVCMD=\r\n"); | |
53 fileWriter.write("SRCSRV: source files ------------------------------------------\r\n"); | |
19
c038e1a8c8a5
fixed srcsrv stream content template - srctool now says that files are indexed
Evgeniy.Koshkin
parents:
17
diff
changeset
|
54 String sourcesRootDirectoryPath = mySourcesRootDirectory.getCanonicalPath(); |
12 | 55 for(File sourceFile : sourceFiles){ |
19
c038e1a8c8a5
fixed srcsrv stream content template - srctool now says that files are indexed
Evgeniy.Koshkin
parents:
17
diff
changeset
|
56 final String sourceFileCanonical = sourceFile.getCanonicalPath(); |
24 | 57 fileWriter.write(String.format("%s*%s\r\n", sourceFileCanonical, sourceFileCanonical.substring(sourcesRootDirectoryPath.length() + 1).replace(File.separator, "/"))); |
12 | 58 } |
59 fileWriter.write("SRCSRV: end ------------------------------------------------"); | |
60 } | |
61 finally { | |
62 fileWriter.close(); | |
63 } | |
64 } | |
65 } |