diff --git a/bin/install-elasticsearch-instance.sh b/bin/install-elasticsearch-instance.sh index f873cf9..bf4cbb5 100755 --- a/bin/install-elasticsearch-instance.sh +++ b/bin/install-elasticsearch-instance.sh @@ -1,7 +1,7 @@ #!/bin/bash -# 1.3.3 -DOWNLOAD_URL="https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.3.3.tar.gz" +# 1.6.0 +DOWNLOAD_URL="https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.6.0.tar.gz" # To find new URLs, see: http://www.elasticsearch.org/download/ diff --git a/pom.xml b/pom.xml index 2717cb7..3a83364 100644 --- a/pom.xml +++ b/pom.xml @@ -1,63 +1,38 @@ - - + 4.0.0 + com.palantir.stash stash-code-search - ${domainVersion} + 4.0.0 + atlassian-plugin + Stash Codesearch Provides global repository, commit, and file content search for Stash instances - atlassian-plugin Palantir Technologies http://palantir.com - - - - com.atlassian.maven.plugins - maven-stash-plugin - ${amps.version} - true - - - - stash - stash - ${stash.version} - ${stash.data.version} - ${stash.containerId} - - - - - - org.apache.felix - maven-bundle-plugin - true - - - net.sf.alchim - yuicompressor-maven-plugin - 0.7.1 - - - org.apache.maven.plugins - maven-compiler-plugin - 2.4 - - 1.8 - 1.8 - - - - + + + 6.1.0 + 4.0.0 + 4.0.0 + tomcat8x + 0.21.2 + 1.6.0 + UTF-8 + + - com.atlassian.stash - stash-parent - ${stash.version} + com.atlassian.bitbucket.server + bitbucket-parent + 4.0.0 pom import @@ -65,38 +40,45 @@ - com.atlassian.stash - stash-api + com.atlassian.bitbucket.server + bitbucket-api + ${bitbucket.version} provided - com.atlassian.stash - stash-spi + com.atlassian.bitbucket.server + bitbucket-spi + ${bitbucket.version} provided - com.atlassian.stash - stash-scm-git-api + com.atlassian.bitbucket.server + bitbucket-git-api + ${bitbucket.version} provided - com.atlassian.stash - stash-scm-common + com.atlassian.bitbucket.server + bitbucket-scm-common + ${bitbucket.version} provided - com.atlassian.stash - stash-page-objects + com.atlassian.bitbucket.server + bitbucket-page-objects + ${bitbucket.version} provided com.atlassian.soy soy-template-renderer-api + ${bitbucket.version} provided com.atlassian.plugins atlassian-plugins-webresource + 3.4.7 provided @@ -118,12 +100,13 @@ javax.servlet servlet-api + 2.5 provided org.elasticsearch elasticsearch - 1.1.0 + ${elasticsearch.version} joda-time @@ -141,57 +124,61 @@ 1.8.5 test - commons-codec commons-codec 1.9 - ch.qos.logback logback-classic - provided com.atlassian.sal sal-api - provided - - 5.0.4 - 3.6.0 - 3.6.0 - tomcat7x - 0.21.2 - - - - gitversion - - - ${env.DOMAIN_VERSION} - - - - env.DOMAIN_VERSION - - - - - defaultversion - - 0.0.1-DEV - - - - !env.DOMAIN_VERSION - - - - + + + + com.atlassian.maven.plugins + bitbucket-maven-plugin + 6.1.0 + true + + + + bitbucket + bitbucket + ${bitbucket.version} + ${bitbucket.data.version} + ${bitbucket.containerId} + + + + + + org.apache.felix + maven-bundle-plugin + true + + + net.sf.alchim + yuicompressor-maven-plugin + 0.7.1 + + + org.apache.maven.plugins + maven-compiler-plugin + 2.4 + + 1.8 + 1.8 + + + + diff --git a/src/main/java/com/palantir/stash/codesearch/admin/GlobalSettingsServlet.java b/src/main/java/com/palantir/stash/codesearch/admin/GlobalSettingsServlet.java index 338cd68..53e92c5 100644 --- a/src/main/java/com/palantir/stash/codesearch/admin/GlobalSettingsServlet.java +++ b/src/main/java/com/palantir/stash/codesearch/admin/GlobalSettingsServlet.java @@ -42,20 +42,20 @@ import org.slf4j.LoggerFactory; import com.atlassian.soy.renderer.SoyTemplateRenderer; -import com.atlassian.stash.exception.AuthorisationException; -import com.atlassian.stash.server.ApplicationPropertiesService; -import com.atlassian.stash.user.EscalatedSecurityContext; -import com.atlassian.stash.user.Permission; -import com.atlassian.stash.user.PermissionValidationService; -import com.atlassian.stash.user.SecurityService; -import com.atlassian.stash.util.Operation; +import com.atlassian.bitbucket.AuthorisationException; +import com.atlassian.bitbucket.server.ApplicationPropertiesService; +import com.atlassian.bitbucket.user.EscalatedSecurityContext; +import com.atlassian.bitbucket.permission.Permission; +import com.atlassian.bitbucket.permission.PermissionValidationService; +import com.atlassian.bitbucket.user.SecurityService; +import com.atlassian.bitbucket.util.Operation; import com.google.common.collect.ImmutableMap; import com.palantir.stash.codesearch.updater.SearchUpdater; public class GlobalSettingsServlet extends HttpServlet { /** - * + * */ private static final long serialVersionUID = 1L; @@ -141,7 +141,7 @@ private boolean verifySysAdmin(HttpServletRequest req, HttpServletResponse resp) } try { validationService.validateForGlobal(Permission.SYS_ADMIN); - } catch (AuthorisationException notSysAdminException) { + } catch ( AuthorisationException notSysAdminException) { log.warn("User {} is not a system administrator", req.getRemoteUser()); resp.sendError(HttpServletResponse.SC_UNAUTHORIZED, "You do not have permission to access this page."); return false; diff --git a/src/main/java/com/palantir/stash/codesearch/admin/RepositorySettingsServlet.java b/src/main/java/com/palantir/stash/codesearch/admin/RepositorySettingsServlet.java index 9d3bdfa..f931327 100644 --- a/src/main/java/com/palantir/stash/codesearch/admin/RepositorySettingsServlet.java +++ b/src/main/java/com/palantir/stash/codesearch/admin/RepositorySettingsServlet.java @@ -20,22 +20,22 @@ import org.slf4j.LoggerFactory; import com.atlassian.soy.renderer.SoyTemplateRenderer; -import com.atlassian.stash.exception.AuthorisationException; -import com.atlassian.stash.repository.Repository; -import com.atlassian.stash.repository.RepositoryService; -import com.atlassian.stash.server.ApplicationPropertiesService; -import com.atlassian.stash.user.EscalatedSecurityContext; -import com.atlassian.stash.user.Permission; -import com.atlassian.stash.user.PermissionValidationService; -import com.atlassian.stash.user.SecurityService; -import com.atlassian.stash.util.Operation; +import com.atlassian.bitbucket.AuthorisationException; +import com.atlassian.bitbucket.repository.Repository; +import com.atlassian.bitbucket.repository.RepositoryService; +import com.atlassian.bitbucket.server.ApplicationPropertiesService; +import com.atlassian.bitbucket.user.EscalatedSecurityContext; +import com.atlassian.bitbucket.permission.Permission; +import com.atlassian.bitbucket.permission.PermissionValidationService; +import com.atlassian.bitbucket.user.SecurityService; +import com.atlassian.bitbucket.util.Operation; import com.google.common.collect.ImmutableMap; import com.palantir.stash.codesearch.updater.SearchUpdater; public class RepositorySettingsServlet extends HttpServlet { /** - * + * */ private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/palantir/stash/codesearch/admin/SettingsManager.java b/src/main/java/com/palantir/stash/codesearch/admin/SettingsManager.java index e034dc7..a41c921 100644 --- a/src/main/java/com/palantir/stash/codesearch/admin/SettingsManager.java +++ b/src/main/java/com/palantir/stash/codesearch/admin/SettingsManager.java @@ -3,7 +3,7 @@ */ package com.palantir.stash.codesearch.admin; -import com.atlassian.stash.repository.Repository; +import com.atlassian.bitbucket.repository.Repository; import com.palantir.stash.codesearch.updater.SearchUpdater; public interface SettingsManager { diff --git a/src/main/java/com/palantir/stash/codesearch/admin/SettingsManagerImpl.java b/src/main/java/com/palantir/stash/codesearch/admin/SettingsManagerImpl.java index e536890..77a9833 100644 --- a/src/main/java/com/palantir/stash/codesearch/admin/SettingsManagerImpl.java +++ b/src/main/java/com/palantir/stash/codesearch/admin/SettingsManagerImpl.java @@ -5,7 +5,7 @@ package com.palantir.stash.codesearch.admin; import com.atlassian.activeobjects.external.ActiveObjects; -import com.atlassian.stash.repository.Repository; +import com.atlassian.bitbucket.repository.Repository; import com.palantir.stash.codesearch.updater.SearchUpdater; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/com/palantir/stash/codesearch/event/IndexerEventListener.java b/src/main/java/com/palantir/stash/codesearch/event/IndexerEventListener.java index c1b227a..7381135 100644 --- a/src/main/java/com/palantir/stash/codesearch/event/IndexerEventListener.java +++ b/src/main/java/com/palantir/stash/codesearch/event/IndexerEventListener.java @@ -5,11 +5,11 @@ package com.palantir.stash.codesearch.event; import com.atlassian.event.api.EventListener; -import com.atlassian.stash.event.RepositoryDeletedEvent; -import com.atlassian.stash.event.RepositoryRefsChangedEvent; -import com.atlassian.stash.repository.RefChange; -import com.atlassian.stash.repository.RefChangeType; -import com.atlassian.stash.repository.Repository; +import com.atlassian.bitbucket.event.repository.RepositoryDeletedEvent; +import com.atlassian.bitbucket.event.repository.RepositoryRefsChangedEvent; +import com.atlassian.bitbucket.repository.RefChange; +import com.atlassian.bitbucket.repository.RefChangeType; +import com.atlassian.bitbucket.repository.Repository; import com.palantir.stash.codesearch.repository.RepositoryServiceManager; import com.palantir.stash.codesearch.updater.SearchUpdater; diff --git a/src/main/java/com/palantir/stash/codesearch/repository/RepositoryServiceManager.java b/src/main/java/com/palantir/stash/codesearch/repository/RepositoryServiceManager.java index e4f2822..35099af 100644 --- a/src/main/java/com/palantir/stash/codesearch/repository/RepositoryServiceManager.java +++ b/src/main/java/com/palantir/stash/codesearch/repository/RepositoryServiceManager.java @@ -4,8 +4,8 @@ package com.palantir.stash.codesearch.repository; -import com.atlassian.stash.repository.*; -import com.atlassian.stash.user.PermissionValidationService; +import com.atlassian.bitbucket.repository.*; +import com.atlassian.bitbucket.permission.PermissionValidationService; import com.google.common.collect.ImmutableMap; public interface RepositoryServiceManager { @@ -20,6 +20,6 @@ ImmutableMap getRepositoryMap ( RepositoryService getRepositoryService (); - RepositoryMetadataService getRepositoryMetadataService (); + RefService getRefService (); } diff --git a/src/main/java/com/palantir/stash/codesearch/repository/RepositoryServiceManagerImpl.java b/src/main/java/com/palantir/stash/codesearch/repository/RepositoryServiceManagerImpl.java index 6ff214f..5af172a 100644 --- a/src/main/java/com/palantir/stash/codesearch/repository/RepositoryServiceManagerImpl.java +++ b/src/main/java/com/palantir/stash/codesearch/repository/RepositoryServiceManagerImpl.java @@ -9,18 +9,18 @@ import org.slf4j.Logger; -import com.atlassian.stash.exception.AuthorisationException; -import com.atlassian.stash.repository.Branch; -import com.atlassian.stash.repository.RefOrder; -import com.atlassian.stash.repository.Repository; -import com.atlassian.stash.repository.RepositoryBranchesRequest; -import com.atlassian.stash.repository.RepositoryMetadataService; -import com.atlassian.stash.repository.RepositoryService; -import com.atlassian.stash.user.Permission; -import com.atlassian.stash.user.PermissionValidationService; -import com.atlassian.stash.util.Page; -import com.atlassian.stash.util.PageRequest; -import com.atlassian.stash.util.PageRequestImpl; +import com.atlassian.bitbucket.AuthorisationException; +import com.atlassian.bitbucket.repository.Branch; +import com.atlassian.bitbucket.repository.RefOrder; +import com.atlassian.bitbucket.repository.Repository; +import com.atlassian.bitbucket.repository.RepositoryBranchesRequest; +import com.atlassian.bitbucket.repository.RefService; +import com.atlassian.bitbucket.repository.RepositoryService; +import com.atlassian.bitbucket.permission.Permission; +import com.atlassian.bitbucket.permission.PermissionValidationService; +import com.atlassian.bitbucket.util.Page; +import com.atlassian.bitbucket.util.PageRequest; +import com.atlassian.bitbucket.util.PageRequestImpl; import com.google.common.collect.ImmutableMap; import com.palantir.stash.codesearch.logger.PluginLoggerFactory; @@ -30,16 +30,16 @@ public class RepositoryServiceManagerImpl implements RepositoryServiceManager { private final RepositoryService repositoryService; - private final RepositoryMetadataService repositoryMetadataService; + private final RefService refService; private final Logger log; public RepositoryServiceManagerImpl( PluginLoggerFactory plf, RepositoryService repositoryService, - RepositoryMetadataService repositoryMetadataService) { + RefService refService) { this.repositoryService = repositoryService; - this.repositoryMetadataService = repositoryMetadataService; + this.refService = refService; this.log = plf.getLogger(this.getClass().toString()); } @@ -79,9 +79,9 @@ public ImmutableMap getBranchMap(Repository repository) { PageRequest req = new PageRequestImpl(0, PAGE_SIZE); Map branchMap = new HashMap(); RepositoryBranchesRequest rbr = - new RepositoryBranchesRequest.Builder().repository(repository).order(RefOrder.ALPHABETICAL).build(); + new RepositoryBranchesRequest.Builder(repository).order(RefOrder.ALPHABETICAL).build(); while (true) { - Page branchPage = repositoryMetadataService.getBranches(rbr, req); + Page branchPage = refService.getBranches(rbr, req); for (Branch b : branchPage.getValues()) { if (branchMap.containsKey(b)) { @@ -105,8 +105,8 @@ public RepositoryService getRepositoryService() { } @Override - public RepositoryMetadataService getRepositoryMetadataService() { - return repositoryMetadataService; + public RefService getRefService() { + return refService; } } diff --git a/src/main/java/com/palantir/stash/codesearch/search/SearchFilterUtils.java b/src/main/java/com/palantir/stash/codesearch/search/SearchFilterUtils.java index 07657d1..1ebfe38 100644 --- a/src/main/java/com/palantir/stash/codesearch/search/SearchFilterUtils.java +++ b/src/main/java/com/palantir/stash/codesearch/search/SearchFilterUtils.java @@ -7,6 +7,7 @@ import static org.elasticsearch.index.query.FilterBuilders.boolFilter; import static org.elasticsearch.index.query.FilterBuilders.matchAllFilter; import static org.elasticsearch.index.query.FilterBuilders.orFilter; +import static org.elasticsearch.index.query.FilterBuilders.prefixFilter; import static org.elasticsearch.index.query.FilterBuilders.rangeFilter; import static org.elasticsearch.index.query.FilterBuilders.termFilter; import static org.elasticsearch.index.query.FilterBuilders.typeFilter; @@ -23,7 +24,7 @@ import org.joda.time.ReadableInstant; import org.slf4j.Logger; -import com.atlassian.stash.repository.Repository; +import com.atlassian.bitbucket.repository.Repository; import com.google.common.collect.Iterators; import com.palantir.stash.codesearch.logger.PluginLoggerFactory; @@ -129,6 +130,13 @@ public FilterBuilder refFilter(Iterable refs) { return filterAdded ? filter : matchAllFilter(); } + public FilterBuilder personalFilter() { + BoolFilterBuilder filter = boolFilter(); + filter.mustNot(prefixFilter("project", "~") + .cache(true)); + return filter; + } + public FilterBuilder projectFilter(String[] projects) { return projectFilter(toIterable(projects)); } diff --git a/src/main/java/com/palantir/stash/codesearch/search/SearchServlet.java b/src/main/java/com/palantir/stash/codesearch/search/SearchServlet.java index cd90e43..8b01b92 100644 --- a/src/main/java/com/palantir/stash/codesearch/search/SearchServlet.java +++ b/src/main/java/com/palantir/stash/codesearch/search/SearchServlet.java @@ -55,11 +55,11 @@ import org.slf4j.Logger; import com.atlassian.soy.renderer.SoyTemplateRenderer; -import com.atlassian.stash.exception.AuthorisationException; -import com.atlassian.stash.repository.Repository; -import com.atlassian.stash.server.ApplicationPropertiesService; -import com.atlassian.stash.user.Permission; -import com.atlassian.stash.user.PermissionValidationService; +import com.atlassian.bitbucket.AuthorisationException; +import com.atlassian.bitbucket.repository.Repository; +import com.atlassian.bitbucket.server.ApplicationPropertiesService; +import com.atlassian.bitbucket.permission.Permission; +import com.atlassian.bitbucket.permission.PermissionValidationService; import com.atlassian.webresource.api.assembler.PageBuilderService; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; @@ -74,7 +74,7 @@ public class SearchServlet extends HttpServlet { /** - * + * */ private static final long serialVersionUID = 1L; @@ -339,7 +339,8 @@ protected void doGet(HttpServletRequest req, HttpServletResponse resp) sf.projectFilter(params.projectKeys.split(",")), sf.repositoryFilter(params.repoNames.split(",")), sf.extensionFilter(params.extensions.split(",")), - sf.authorFilter(params.authorNames.split(",")) + sf.authorFilter(params.authorNames.split(",")), + params.noPersonal ? sf.personalFilter() : matchAllFilter() ), sf.dateRangeFilter(params.committedAfter, params.committedBefore)); FilteredQueryBuilder finalQuery = filteredQuery(query, filter); @@ -530,6 +531,7 @@ private static class SearchParams { public final boolean searchCode; public final boolean searchFilenames; public final boolean searchCommits; + public final boolean noPersonal; public final String projectKeys; public final String repoNames; public final String refNames; @@ -542,15 +544,16 @@ private static class SearchParams { private SearchParams(boolean doSearch, String searchString, boolean showStatistics, boolean searchCode, boolean searchFilenames, boolean searchCommits, - String projectKeys, String repoNames, String refNames, String extensions, - String authorNames, int page, String committedAfterStr, String committedBeforeStr, - DateTimeZone tz) { + boolean noPersonal, String projectKeys, String repoNames, String refNames, + String extensions, String authorNames, int page, String committedAfterStr, + String committedBeforeStr, DateTimeZone tz) { this.doSearch = doSearch; this.searchString = searchString; this.showStatistics = showStatistics; this.searchCode = searchCode; this.searchFilenames = searchFilenames; this.searchCommits = searchCommits; + this.noPersonal = noPersonal; this.projectKeys = projectKeys; this.repoNames = repoNames; this.refNames = refNames; @@ -563,6 +566,7 @@ private SearchParams(boolean doSearch, String searchString, boolean showStatisti .put("searchCode", searchCode) .put("searchFilenames", searchFilenames) .put("searchCommits", searchCommits) + .put("noPersonal", noPersonal) .put("projectKeys", projectKeys) .put("repoNames", repoNames) .put("refNames", refNames) @@ -610,9 +614,10 @@ public static SearchParams getParams(HttpServletRequest req, DateTimeZone tz) { boolean searchCode = "on".equals(req.getParameter("searchCode")); boolean searchFilenames = "on".equals(req.getParameter("searchFilenames")); boolean searchCommits = "on".equals(req.getParameter("searchCommits")); - if (!searchFilenames && !searchCode && !searchCommits) { + boolean noPersonal = "on".equals(req.getParameter("noPersonal")); + if (!searchFilenames && !searchCode && !searchCommits && !noPersonal) { // Reset checkboxes - searchFilenames = searchCode = searchCommits = true; + searchFilenames = searchCode = searchCommits = noPersonal = true; } String projectKeys = req.getParameter("projectKeys"); @@ -658,8 +663,9 @@ public static SearchParams getParams(HttpServletRequest req, DateTimeZone tz) { } return new SearchParams(doSearch, searchString, showStatistics, searchCode, - searchFilenames, searchCommits, projectKeys, repoNames, refNames, extensions, - authorNames, page, committedAfterStr, committedBeforeStr, tz); + searchFilenames, searchCommits, noPersonal, projectKeys, repoNames, + refNames, extensions, authorNames, page, committedAfterStr, committedBeforeStr, + tz); } } diff --git a/src/main/java/com/palantir/stash/codesearch/updater/CatFileInputHandler.java b/src/main/java/com/palantir/stash/codesearch/updater/CatFileInputHandler.java index e8dffc6..d8272c6 100644 --- a/src/main/java/com/palantir/stash/codesearch/updater/CatFileInputHandler.java +++ b/src/main/java/com/palantir/stash/codesearch/updater/CatFileInputHandler.java @@ -12,7 +12,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.atlassian.stash.scm.CommandInputHandler; +import com.atlassian.bitbucket.scm.CommandInputHandler; import com.atlassian.utils.process.Watchdog; class CatFileInputHandler implements CommandInputHandler { diff --git a/src/main/java/com/palantir/stash/codesearch/updater/CatFileOutputHandler.java b/src/main/java/com/palantir/stash/codesearch/updater/CatFileOutputHandler.java index b6ae5cf..b479dba 100644 --- a/src/main/java/com/palantir/stash/codesearch/updater/CatFileOutputHandler.java +++ b/src/main/java/com/palantir/stash/codesearch/updater/CatFileOutputHandler.java @@ -11,7 +11,7 @@ import org.slf4j.Logger; -import com.atlassian.stash.scm.CommandOutputHandler; +import com.atlassian.bitbucket.scm.CommandOutputHandler; import com.atlassian.utils.process.Watchdog; import com.palantir.stash.codesearch.logger.PluginLoggerFactory; diff --git a/src/main/java/com/palantir/stash/codesearch/updater/SearchUpdateJob.java b/src/main/java/com/palantir/stash/codesearch/updater/SearchUpdateJob.java index 2b379c8..c9434fc 100644 --- a/src/main/java/com/palantir/stash/codesearch/updater/SearchUpdateJob.java +++ b/src/main/java/com/palantir/stash/codesearch/updater/SearchUpdateJob.java @@ -4,8 +4,8 @@ package com.palantir.stash.codesearch.updater; -import com.atlassian.stash.repository.Repository; -import com.atlassian.stash.scm.git.GitScm; +import com.atlassian.bitbucket.repository.Repository; +import com.atlassian.bitbucket.scm.git.GitScm; import com.palantir.stash.codesearch.admin.GlobalSettings; import org.elasticsearch.client.Client; diff --git a/src/main/java/com/palantir/stash/codesearch/updater/SearchUpdateJobFactory.java b/src/main/java/com/palantir/stash/codesearch/updater/SearchUpdateJobFactory.java index e2c6929..bee04a1 100644 --- a/src/main/java/com/palantir/stash/codesearch/updater/SearchUpdateJobFactory.java +++ b/src/main/java/com/palantir/stash/codesearch/updater/SearchUpdateJobFactory.java @@ -4,7 +4,7 @@ package com.palantir.stash.codesearch.updater; -import com.atlassian.stash.repository.Repository; +import com.atlassian.bitbucket.repository.Repository; import com.palantir.stash.codesearch.logger.PluginLoggerFactory; import com.palantir.stash.codesearch.search.SearchFilterUtils; diff --git a/src/main/java/com/palantir/stash/codesearch/updater/SearchUpdateJobFactoryImpl.java b/src/main/java/com/palantir/stash/codesearch/updater/SearchUpdateJobFactoryImpl.java index 9acf9d9..a4dec0f 100644 --- a/src/main/java/com/palantir/stash/codesearch/updater/SearchUpdateJobFactoryImpl.java +++ b/src/main/java/com/palantir/stash/codesearch/updater/SearchUpdateJobFactoryImpl.java @@ -1,6 +1,6 @@ package com.palantir.stash.codesearch.updater; -import com.atlassian.stash.repository.Repository; +import com.atlassian.bitbucket.repository.Repository; import com.palantir.stash.codesearch.logger.PluginLoggerFactory; import com.palantir.stash.codesearch.search.SearchFilterUtils; diff --git a/src/main/java/com/palantir/stash/codesearch/updater/SearchUpdateJobImpl.java b/src/main/java/com/palantir/stash/codesearch/updater/SearchUpdateJobImpl.java index 171d756..32703eb 100644 --- a/src/main/java/com/palantir/stash/codesearch/updater/SearchUpdateJobImpl.java +++ b/src/main/java/com/palantir/stash/codesearch/updater/SearchUpdateJobImpl.java @@ -22,12 +22,13 @@ import org.elasticsearch.action.search.SearchRequestBuilder; import org.elasticsearch.action.update.UpdateRequestBuilder; import org.elasticsearch.client.Client; +import org.elasticsearch.script.ScriptService; import org.elasticsearch.search.SearchHit; import org.slf4j.Logger; -import com.atlassian.stash.repository.Repository; -import com.atlassian.stash.scm.git.GitCommandBuilderFactory; -import com.atlassian.stash.scm.git.GitScm; +import com.atlassian.bitbucket.repository.Repository; +import com.atlassian.bitbucket.scm.git.command.GitCommandBuilderFactory; +import com.atlassian.bitbucket.scm.git.GitScm; import com.google.common.collect.ImmutableList; import com.palantir.stash.codesearch.admin.GlobalSettings; import com.palantir.stash.codesearch.elasticsearch.RequestBuffer; @@ -172,7 +173,8 @@ private String getLatestHash(GitCommandBuilderFactory builderFactory) { private UpdateRequestBuilder buildDeleteFromRef(Client client, String type, String id) { return client.prepareUpdate(ES_UPDATEALIAS, type, id) .setScript("ctx._source.refs.contains(ref) ? ((ctx._source.refs.size() > 1) " + - "? (ctx._source.refs.remove(ref)) : (ctx.op = \"delete\")) : (ctx.op = \"none\")") + "? (ctx._source.refs.remove(ref)) : (ctx.op = \"delete\")) : (ctx.op = \"none\")", + ScriptService.ScriptType.INLINE) .setScriptLang("mvel") .addScriptParam("ref", ref) .setRetryOnConflict(MAX_ES_RETRIES) @@ -183,7 +185,8 @@ private UpdateRequestBuilder buildDeleteFromRef(Client client, String type, Stri private UpdateRequestBuilder buildAddToRef(Client client, String type, String id) { return client.prepareUpdate(ES_UPDATEALIAS, type, id) .setScript("ctx._source.refs.contains(ref) " + - "? (ctx.op = \"none\") : (ctx._source.refs += ref)") + "? (ctx.op = \"none\") : (ctx._source.refs += ref)", + ScriptService.ScriptType.INLINE) .setScriptLang("mvel") .addScriptParam("ref", ref) .setRetryOnConflict(MAX_ES_RETRIES) diff --git a/src/main/java/com/palantir/stash/codesearch/updater/SearchUpdater.java b/src/main/java/com/palantir/stash/codesearch/updater/SearchUpdater.java index 6c9f48d..51e4213 100644 --- a/src/main/java/com/palantir/stash/codesearch/updater/SearchUpdater.java +++ b/src/main/java/com/palantir/stash/codesearch/updater/SearchUpdater.java @@ -9,7 +9,7 @@ import java.util.concurrent.Future; -import com.atlassian.stash.repository.Repository; +import com.atlassian.bitbucket.repository.Repository; public interface SearchUpdater { diff --git a/src/main/java/com/palantir/stash/codesearch/updater/SearchUpdaterImpl.java b/src/main/java/com/palantir/stash/codesearch/updater/SearchUpdaterImpl.java index 9bafcef..9b80f14 100644 --- a/src/main/java/com/palantir/stash/codesearch/updater/SearchUpdaterImpl.java +++ b/src/main/java/com/palantir/stash/codesearch/updater/SearchUpdaterImpl.java @@ -26,9 +26,9 @@ import org.slf4j.Logger; import org.springframework.beans.factory.DisposableBean; -import com.atlassian.stash.repository.Branch; -import com.atlassian.stash.repository.Repository; -import com.atlassian.stash.scm.git.GitScm; +import com.atlassian.bitbucket.repository.Branch; +import com.atlassian.bitbucket.repository.Repository; +import com.atlassian.bitbucket.scm.git.GitScm; import com.palantir.stash.codesearch.admin.GlobalSettings; import com.palantir.stash.codesearch.admin.RepositorySettings; import com.palantir.stash.codesearch.admin.SettingsManager; @@ -42,7 +42,7 @@ public class SearchUpdaterImpl implements SearchUpdater, DisposableBean { private static class ResizableSemaphore extends Semaphore { /** - * + * */ private static final long serialVersionUID = 1L; private int curSize = 0; @@ -475,7 +475,7 @@ private Future submitAsyncUpdateImpl(Repository repository, String ref, try { String defaultBranch = null; try { - defaultBranch = repositoryServiceManager.getRepositoryMetadataService() + defaultBranch = repositoryServiceManager.getRefService() .getDefaultBranch(repository) .getId(); } catch (Exception e) { diff --git a/src/main/java/com/palantir/stash/codesearch/updater/StringOutputHandler.java b/src/main/java/com/palantir/stash/codesearch/updater/StringOutputHandler.java index 0e6a26e..ab038c6 100644 --- a/src/main/java/com/palantir/stash/codesearch/updater/StringOutputHandler.java +++ b/src/main/java/com/palantir/stash/codesearch/updater/StringOutputHandler.java @@ -8,9 +8,9 @@ import org.slf4j.Logger; -import com.atlassian.stash.io.LineReader; -import com.atlassian.stash.io.LineReaderOutputHandler; -import com.atlassian.stash.scm.CommandOutputHandler; +import com.atlassian.bitbucket.io.LineReader; +import com.atlassian.bitbucket.io.LineReaderOutputHandler; +import com.atlassian.bitbucket.scm.CommandOutputHandler; import com.atlassian.utils.process.Watchdog; import com.palantir.stash.codesearch.logger.PluginLoggerFactory; diff --git a/src/main/java/com/palantir/stash/codesearch/validator/GitVersionValidator.java b/src/main/java/com/palantir/stash/codesearch/validator/GitVersionValidator.java index c99bd2e..7b9c6ce 100644 --- a/src/main/java/com/palantir/stash/codesearch/validator/GitVersionValidator.java +++ b/src/main/java/com/palantir/stash/codesearch/validator/GitVersionValidator.java @@ -6,10 +6,10 @@ import org.slf4j.Logger; -import com.atlassian.stash.scm.Command; -import com.atlassian.stash.scm.CommandOutputHandler; -import com.atlassian.stash.scm.git.GitCommandBuilderFactory; -import com.atlassian.stash.scm.git.GitScm; +import com.atlassian.bitbucket.scm.Command; +import com.atlassian.bitbucket.scm.CommandOutputHandler; +import com.atlassian.bitbucket.scm.git.command.GitCommandBuilderFactory; +import com.atlassian.bitbucket.scm.git.GitScm; import com.atlassian.utils.process.ProcessException; import com.atlassian.utils.process.Watchdog; import com.google.common.io.LineReader; @@ -18,9 +18,9 @@ /** * This component should be instantiated when the plugin is started up, allowing us to fail the plugin activation of the * version of git is detected to be incompatible. - * + * * @author cmyers - * + * */ public class GitVersionValidator { diff --git a/src/main/resources/atlassian-plugin.xml b/src/main/resources/atlassian-plugin.xml index 5487e09..8973e9c 100644 --- a/src/main/resources/atlassian-plugin.xml +++ b/src/main/resources/atlassian-plugin.xml @@ -10,13 +10,13 @@ - + - com.atlassian.stash.stash-web-plugin:global + com.atlassian.bitbucket.stash-web-plugin:global @@ -59,7 +59,7 @@ /plugins/servlet/codesearch/search - + diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml index 0a43514..7f32758 100644 --- a/src/main/resources/logback.xml +++ b/src/main/resources/logback.xml @@ -7,14 +7,14 @@ INFO - ${stash.home}/logs/scs-plugin.log + ${bitbucket.home}/log/scs-plugin.log %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n - ${stash.home}/logs/scs-plugin-debug.log + ${bitbucket.home}/log/scs-plugin-debug.log %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n @@ -28,7 +28,7 @@ - + diff --git a/src/main/resources/templates/searchPage.soy b/src/main/resources/templates/searchPage.soy index 891dc12..1a4ddc6 100644 --- a/src/main/resources/templates/searchPage.soy +++ b/src/main/resources/templates/searchPage.soy @@ -97,6 +97,11 @@ +
+ + +