Mercurial > hg > tc-symbol-server
changeset 30:c14e96398b62
presented symbol server url in UI
author | Evgeniy.Koshkin |
---|---|
date | Fri, 09 Aug 2013 16:06:34 +0400 |
parents | 6ac3c2491e1a |
children | 48b3a2443fd6 |
files | common/src/jetbrains/buildServer/symbols/SymbolsConstants.java server/resources/editSymbolsBuildFeatureParams.jsp server/src/jetbrains/buildServer/symbols/DownloadSymbolsController.java server/src/jetbrains/buildServer/symbols/IndexSymbolsBuildFeature.java |
diffstat | 4 files changed, 48 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/common/src/jetbrains/buildServer/symbols/SymbolsConstants.java Thu Aug 08 19:08:42 2013 +0400 +++ b/common/src/jetbrains/buildServer/symbols/SymbolsConstants.java Fri Aug 09 16:06:34 2013 +0400 @@ -6,4 +6,5 @@ public class SymbolsConstants { public static final String BUILD_FEATURE_TYPE = "symbol-indexer"; public static final String SERVER_URL_PARAMETER_NAME = "symbols.server-url"; + public static final String APP_SYMBOLS = "app/symbols/"; }
--- a/server/resources/editSymbolsBuildFeatureParams.jsp Thu Aug 08 19:08:42 2013 +0400 +++ b/server/resources/editSymbolsBuildFeatureParams.jsp Fri Aug 09 16:06:34 2013 +0400 @@ -1,2 +1,34 @@ <%@ include file="/include-internal.jsp"%> -<em>Symbols and sources indexing will be performed for all symbol files (.pdb) appeared among build artifacts.</em> \ No newline at end of file + +<jsp:useBean id="isGuestEnabled" scope="request" type="java.lang.Boolean"/> +<jsp:useBean id="publicFeedUrl" scope="request" type="java.lang.String" /> +<jsp:useBean id="actualServerUrl" scope="request" type="java.lang.String" /> + +<table class="runnerFormTable"> + <tr> + <td colspan="2"> + <em>Symbols and sources indexing will be performed for all symbol files (.pdb) appeared among build artifacts.</em> + </td> + </tr> + <tr> + <th>Symbol Server URL:</th> + <td> + <c:choose> + <c:when test="${not isGuestEnabled}"> + <div>Not available.</div> + <span class="smallNote"> + Guest user is disabled. + </span> + <span class="smallNote"> + You need to enable guest user login in TeamCity <a href="<c:url value="/admin/admin.html?item=auth"/>">Authentication Settings</a> for Symbol Server to work. + </span> + </c:when> + <c:otherwise> + <c:set var="url"><c:url value="${actualServerUrl}${publicFeedUrl}"/></c:set> + <div><a href="${url}">${url}</a></div> + <span class="smallNote">Use this URL in Visual Studio and WinDbg settings.</span> + </c:otherwise> + </c:choose> + </td> + </tr> +</table> \ No newline at end of file
--- a/server/src/jetbrains/buildServer/symbols/DownloadSymbolsController.java Thu Aug 08 19:08:42 2013 +0400 +++ b/server/src/jetbrains/buildServer/symbols/DownloadSymbolsController.java Fri Aug 09 16:06:34 2013 +0400 @@ -27,7 +27,7 @@ */ public class DownloadSymbolsController extends BaseController { - public static final String APP_SYMBOLS = "/app/symbols/"; + private static final String APP_SYMBOLS = "/" + SymbolsConstants.APP_SYMBOLS; private static final String COMPRESSED_FILE_EXTENSION = "pd_"; private static final String FILE_POINTER_FILE_EXTENSION = "ptr";
--- a/server/src/jetbrains/buildServer/symbols/IndexSymbolsBuildFeature.java Thu Aug 08 19:08:42 2013 +0400 +++ b/server/src/jetbrains/buildServer/symbols/IndexSymbolsBuildFeature.java Fri Aug 09 16:06:34 2013 +0400 @@ -2,8 +2,10 @@ import jetbrains.buildServer.controllers.BaseController; import jetbrains.buildServer.serverSide.BuildFeature; +import jetbrains.buildServer.serverSide.impl.ServerSettings; import jetbrains.buildServer.web.openapi.PluginDescriptor; import jetbrains.buildServer.web.openapi.WebControllerManager; +import jetbrains.buildServer.web.util.WebUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.springframework.web.servlet.ModelAndView; @@ -18,14 +20,18 @@ private String myEditParametersUrl; - public IndexSymbolsBuildFeature(PluginDescriptor pluginDescriptor, WebControllerManager web) { + public IndexSymbolsBuildFeature(final PluginDescriptor pluginDescriptor, final WebControllerManager web, final ServerSettings serverSettings) { final String jsp = pluginDescriptor.getPluginResourcesPath("editSymbolsBuildFeatureParams.jsp"); final String html = pluginDescriptor.getPluginResourcesPath("symbolIndexerSettings.html"); web.registerController(html, new BaseController() { @Override protected ModelAndView doHandle(final HttpServletRequest request, final HttpServletResponse response) throws Exception { - return new ModelAndView(jsp); + final ModelAndView modelAndView = new ModelAndView(jsp); + modelAndView.getModel().put("isGuestEnabled", serverSettings.isGuestLoginAllowed()); + modelAndView.getModel().put("actualServerUrl", WebUtil.getRootUrl(request)); + modelAndView.getModel().put("publicFeedUrl", WebUtil.GUEST_AUTH_PREFIX + SymbolsConstants.APP_SYMBOLS); + return modelAndView; } }); @@ -44,14 +50,14 @@ return "Symbol Files Indexer"; } + @Override + public boolean isMultipleFeaturesPerBuildTypeAllowed() { + return false; + } + @Nullable @Override public String getEditParametersUrl() { return myEditParametersUrl; } - - @Override - public boolean isMultipleFeaturesPerBuildTypeAllowed() { - return false; - } }