fun getPathPrefix()

in google-storage-agent/src/main/kotlin/jetbrains/buildServer/artifacts/google/publish/GoogleFileUtils.kt [26:49]


    fun getPathPrefix(build: AgentRunningBuild): String {
        val pathSegments = arrayListOf<String>()

        // Try to get overridden path prefix
        val pathPrefix = build.sharedConfigParameters[GoogleConstants.PATH_PREFIX_SYSTEM_PROPERTY]
        if (pathPrefix == null) {
            // Set default path prefix
            build.sharedConfigParameters[ServerProvidedProperties.TEAMCITY_PROJECT_ID_PARAM]?.let {
                pathSegments.add(it)
            }
            pathSegments.add(build.buildTypeExternalId)
            pathSegments.add(build.buildId.toString())
        } else {
            pathSegments.addAll(
                pathPrefix
                    .trim()
                    .replace('\\', SLASH)
                    .split(SLASH)
                    .filter { it.isNotEmpty() }
            )
        }

        return pathSegments.joinToString("$SLASH")
    }