cleanup (inspection "Java | Class structure | Utility class is not 'final'")
[idea/community.git] / jps / jps-builders / src / org / jetbrains / jps / incremental / artifacts / impl / JpsArtifactPathUtil.java
1 // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
2 package org.jetbrains.jps.incremental.artifacts.impl;
3
4 import com.intellij.openapi.util.text.StringUtil;
5 import com.intellij.openapi.util.text.StringUtilRt;
6 import org.jetbrains.annotations.NotNull;
7
8 import java.io.File;
9
10 public final class JpsArtifactPathUtil {
11   //todo[nik] copied from DeploymentUtil
12   public static String trimForwardSlashes(@NotNull String path) {
13     while (path.length() != 0 && (path.charAt(0) == '/' || path.charAt(0) == File.separatorChar)) {
14       path = path.substring(1);
15     }
16     return path;
17   }
18
19   //todo[nik] copied from DeploymentUtil
20   public static String appendToPath(@NotNull String basePath, @NotNull String relativePath) {
21     final boolean endsWithSlash = StringUtilRt.endsWithChar(basePath, '/') || StringUtilRt.endsWithChar(basePath, '\\');
22     final boolean startsWithSlash = StringUtil.startsWithChar(relativePath, '/') || StringUtil.startsWithChar(relativePath, '\\');
23     String tail;
24     if (endsWithSlash && startsWithSlash) {
25       tail = trimForwardSlashes(relativePath);
26     }
27     else if (!endsWithSlash && !startsWithSlash && basePath.length() > 0 && relativePath.length() > 0) {
28       tail = "/" + relativePath;
29     }
30     else {
31       tail = relativePath;
32     }
33     return basePath + tail;
34   }
35 }