From 05c8a2e004e9cc17a4d5963a42c835753eefb367 Mon Sep 17 00:00:00 2001 From: Michal Duda Date: Fri, 7 Jun 2019 12:25:22 +0200 Subject: SONAR-12197 completely drop "sonar.branch" code --- .../analysis/AnalysisMetadataHolderImpl.java | 2 +- .../ce/task/projectanalysis/analysis/Branch.java | 6 ----- .../posttask/PostProjectAnalysisTasksExecutor.java | 7 ++--- .../projectanalysis/component/BranchLoader.java | 18 +++---------- .../component/DefaultBranchImpl.java | 30 +++------------------- .../notification/NotificationFactory.java | 2 +- .../step/BuildComponentTreeStep.java | 2 +- .../step/LoadReportAnalysisMetadataHolderStep.java | 17 +++--------- 8 files changed, 16 insertions(+), 68 deletions(-) (limited to 'server/sonar-ce-task-projectanalysis/src/main/java') diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/analysis/AnalysisMetadataHolderImpl.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/analysis/AnalysisMetadataHolderImpl.java index 46e2b3bf3b2..4f9699e9fa5 100644 --- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/analysis/AnalysisMetadataHolderImpl.java +++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/analysis/AnalysisMetadataHolderImpl.java @@ -153,7 +153,7 @@ public class AnalysisMetadataHolderImpl implements MutableAnalysisMetadataHolder checkState(!this.branch.isInitialized(), "Branch has already been set"); boolean isCommunityEdition = editionProvider.get().filter(t -> t == EditionProvider.Edition.COMMUNITY).isPresent(); checkState( - !isCommunityEdition || branch.isMain() || branch.isLegacyFeature(), + !isCommunityEdition || branch.isMain(), "Branches and Pull Requests are not supported in Community Edition"); this.branch.setProperty(branch); return this; diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/analysis/Branch.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/analysis/Branch.java index c4a022f0724..66b2e175f31 100644 --- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/analysis/Branch.java +++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/analysis/Branch.java @@ -30,12 +30,6 @@ public interface Branch extends ComponentKeyGenerator { boolean isMain(); - /** - * Whether branch has been created through the legacy configuration - * (scanner parameter sonar.branch) or not - */ - boolean isLegacyFeature(); - /** * Name of the branch */ diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/api/posttask/PostProjectAnalysisTasksExecutor.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/api/posttask/PostProjectAnalysisTasksExecutor.java index 0b5e7f0c617..1f14c24c131 100644 --- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/api/posttask/PostProjectAnalysisTasksExecutor.java +++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/api/posttask/PostProjectAnalysisTasksExecutor.java @@ -230,11 +230,8 @@ public class PostProjectAnalysisTasksExecutor implements ComputationStepExecutor @CheckForNull private BranchImpl createBranch() { org.sonar.ce.task.projectanalysis.analysis.Branch analysisBranch = analysisMetadataHolder.getBranch(); - if (!analysisBranch.isLegacyFeature()) { - String branchKey = analysisBranch.getType() == PULL_REQUEST ? analysisBranch.getPullRequestKey() : analysisBranch.getName(); - return new BranchImpl(analysisBranch.isMain(), branchKey, Branch.Type.valueOf(analysisBranch.getType().name())); - } - return null; + String branchKey = analysisBranch.getType() == PULL_REQUEST ? analysisBranch.getPullRequestKey() : analysisBranch.getName(); + return new BranchImpl(analysisBranch.isMain(), branchKey, Branch.Type.valueOf(analysisBranch.getType().name())); } private static QualityGate.Status convert(QualityGateStatus status) { diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/component/BranchLoader.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/component/BranchLoader.java index eef07f70d3e..0a85a218401 100644 --- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/component/BranchLoader.java +++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/component/BranchLoader.java @@ -24,7 +24,6 @@ import org.sonar.api.utils.MessageException; import org.sonar.ce.task.projectanalysis.analysis.MutableAnalysisMetadataHolder; import org.sonar.scanner.protocol.output.ScannerReport; -import static org.apache.commons.lang.StringUtils.trimToNull; import static org.sonar.scanner.protocol.output.ScannerReport.Metadata.BranchType.UNSET; public class BranchLoader { @@ -41,21 +40,12 @@ public class BranchLoader { } public void load(ScannerReport.Metadata metadata) { - String deprecatedBranch = trimToNull(metadata.getDeprecatedBranch()); - String branchName = trimToNull(metadata.getBranchName()); - - if (deprecatedBranch != null && branchName != null) { - throw MessageException.of("Properties sonar.branch and sonar.branch.name can't be set together"); - } - - if (delegate == null && hasBranchProperties(metadata)) { - throw MessageException.of("Current edition does not support branch feature"); - } - - if (delegate != null && deprecatedBranch == null) { + if (delegate != null) { delegate.load(metadata); + } else if (hasBranchProperties(metadata)) { + throw MessageException.of("Current edition does not support branch feature"); } else { - metadataHolder.setBranch(new DefaultBranchImpl(deprecatedBranch)); + metadataHolder.setBranch(new DefaultBranchImpl()); } } diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/component/DefaultBranchImpl.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/component/DefaultBranchImpl.java index 1a15ad8e243..a42889a088b 100644 --- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/component/DefaultBranchImpl.java +++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/component/DefaultBranchImpl.java @@ -20,36 +20,23 @@ package org.sonar.ce.task.projectanalysis.component; import javax.annotation.Nullable; -import org.sonar.api.utils.MessageException; import org.sonar.ce.task.projectanalysis.analysis.Branch; import org.sonar.core.component.ComponentKeys; import org.sonar.db.component.BranchDto; import org.sonar.db.component.BranchType; -import static java.lang.String.format; import static org.apache.commons.lang.StringUtils.isEmpty; import static org.apache.commons.lang.StringUtils.trimToNull; /** - * The default (and legacy) implementation of {@link Branch}. It is used - * when scanner is configured with parameter "sonar.branch" or when no branch is provided and the branch plugin is not installed. - * A legacy branch is implemented as a fork of the project, so any branch is considered as "main". + * Implementation of {@link Branch} for default/main branch. It is used + * when no branch is provided as a scanner parameter or if the branch plugin is not installed. */ public class DefaultBranchImpl implements Branch { private final String branchName; - private final boolean isLegacyBranch; public DefaultBranchImpl() { - this(null); - } - - public DefaultBranchImpl(@Nullable String name) { - this.isLegacyBranch = (name != null); - this.branchName = (name == null) ? BranchDto.DEFAULT_MAIN_BRANCH_NAME : name; - if (!ComponentKeys.isValidLegacyBranch(branchName)) { - throw MessageException.of(format("\"%s\" is not a valid branch name. " - + "Allowed characters are alphanumeric, '-', '_', '.' and '/'.", branchName)); - } + this.branchName = BranchDto.DEFAULT_MAIN_BRANCH_NAME; } @Override @@ -67,11 +54,6 @@ public class DefaultBranchImpl implements Branch { throw new IllegalStateException("Not valid for the main branch"); } - @Override - public boolean isLegacyFeature() { - return isLegacyBranch; - } - @Override public String getName() { return branchName; @@ -79,8 +61,7 @@ public class DefaultBranchImpl implements Branch { @Override public boolean supportsCrossProjectCpd() { - // only on regular project, not on branches - return !isLegacyBranch; + return true; } @Override @@ -95,9 +76,6 @@ public class DefaultBranchImpl implements Branch { @Override public String generateKey(String projectKey, @Nullable String fileOrDirPath) { - if (isLegacyBranch) { - projectKey = ComponentKeys.createKey(projectKey, branchName); - } if (isEmpty(fileOrDirPath)) { return projectKey; } diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/notification/NotificationFactory.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/notification/NotificationFactory.java index 1bf255cd626..182e6cc5b51 100644 --- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/notification/NotificationFactory.java +++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/notification/NotificationFactory.java @@ -121,7 +121,7 @@ public class NotificationFactory { Project.Builder builder = new Project.Builder(project.getUuid()) .setKey(project.getKey()) .setProjectName(project.getName()); - if (!branch.isLegacyFeature() && branch.getType() != PULL_REQUEST && !branch.isMain()) { + if (branch.getType() != PULL_REQUEST && !branch.isMain()) { builder.setBranchName(branch.getName()); } return builder.build(); diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/BuildComponentTreeStep.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/BuildComponentTreeStep.java index 96abdd05c0e..d4dc2ffcd64 100644 --- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/BuildComponentTreeStep.java +++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/BuildComponentTreeStep.java @@ -135,7 +135,7 @@ public class BuildComponentTreeStep implements ComputationStep { Branch branch = analysisMetadataHolder.getBranch(); // for non-legacy branches, the public key is different from the DB key. - if (!branch.isLegacyFeature() && !branch.isMain()) { + if (!branch.isMain()) { return new DefaultBranchImpl(); } return branch; diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/LoadReportAnalysisMetadataHolderStep.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/LoadReportAnalysisMetadataHolderStep.java index a0765550a60..df5c1c05f46 100644 --- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/LoadReportAnalysisMetadataHolderStep.java +++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/LoadReportAnalysisMetadataHolderStep.java @@ -25,7 +25,6 @@ import java.util.List; import java.util.Optional; import javax.annotation.CheckForNull; import javax.annotation.Nullable; -import org.apache.commons.lang.StringUtils; import org.sonar.api.utils.MessageException; import org.sonar.ce.task.CeTask; import org.sonar.ce.task.projectanalysis.analysis.MutableAnalysisMetadataHolder; @@ -34,7 +33,6 @@ import org.sonar.ce.task.projectanalysis.analysis.ScannerPlugin; import org.sonar.ce.task.projectanalysis.batch.BatchReportReader; import org.sonar.ce.task.projectanalysis.component.BranchLoader; import org.sonar.ce.task.step.ComputationStep; -import org.sonar.core.component.ComponentKeys; import org.sonar.core.platform.PluginRepository; import org.sonar.core.util.stream.MoreCollectors; import org.sonar.db.DbClient; @@ -104,7 +102,6 @@ public class LoadReportAnalysisMetadataHolderStep implements ComputationStep { * @return a {@link Runnable} to execute some checks on the project at the end of the step */ private Runnable loadProject(ScannerReport.Metadata reportMetadata, Organization organization) { - String reportProjectKey = projectKeyFromReport(reportMetadata); CeTask.Component mainComponent = mandatoryComponent(ceTask.getMainComponent()); String mainComponentKey = mainComponent.getKey() .orElseThrow(() -> MessageException.of(format( @@ -115,14 +112,14 @@ public class LoadReportAnalysisMetadataHolderStep implements ComputationStep { .orElseThrow(() -> MessageException.of(format( "Compute Engine task component key is null. Project with UUID %s must have been deleted since report was uploaded. Can not proceed.", component.getUuid()))); - ComponentDto dto = toProject(reportProjectKey); + ComponentDto dto = toProject(reportMetadata.getProjectKey()); analysisMetadata.setProject(Project.from(dto)); return () -> { - if (!mainComponentKey.equals(reportProjectKey)) { + if (!mainComponentKey.equals(reportMetadata.getProjectKey())) { throw MessageException.of(format( "ProjectKey in report (%s) is not consistent with projectKey under which the report has been submitted (%s)", - reportProjectKey, + reportMetadata.getProjectKey(), mainComponentKey)); } if (!dto.getOrganizationUuid().equals(organization.getUuid())) { @@ -233,14 +230,6 @@ public class LoadReportAnalysisMetadataHolderStep implements ComputationStep { } } - private static String projectKeyFromReport(ScannerReport.Metadata reportMetadata) { - String deprecatedBranch = reportMetadata.getDeprecatedBranch(); - if (StringUtils.isNotEmpty(deprecatedBranch)) { - return ComponentKeys.createKey(reportMetadata.getProjectKey(), deprecatedBranch); - } - return reportMetadata.getProjectKey(); - } - @Override public String getDescription() { return "Load analysis metadata"; -- cgit v1.2.3