diff --git a/pom.xml b/pom.xml index 69c2487..a4cf023 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ build-tool-common - 2.0.8-SNAPSHOT + 2.0.8 Build Tool Common Manage a Build Info with artifact and dependencies diff --git a/src/main/java/com/blackducksoftware/integration/build/utils/FilePathGavExtractor.java b/src/main/java/com/blackducksoftware/integration/build/utils/FilePathGavExtractor.java new file mode 100644 index 0000000..92c394d --- /dev/null +++ b/src/main/java/com/blackducksoftware/integration/build/utils/FilePathGavExtractor.java @@ -0,0 +1,47 @@ +package com.blackducksoftware.integration.build.utils; + +import java.io.File; +import java.util.Arrays; + +public class FilePathGavExtractor { + + private static String makeMessage(final String groupId, final String artifactId, final String version) { + final StringBuilder sb = new StringBuilder(); + sb.append("group: "); + sb.append(groupId); + sb.append(", "); + sb.append("artifact: "); + sb.append(artifactId); + sb.append(", "); + sb.append("version: "); + sb.append(version); + return sb.toString(); + } + + public static String getMavenPathGav(final String jarPath, final String localMavenRepoPath) { + final String[] filePathSegments = jarPath.split(File.separator); + final String[] m2RepoSegments = localMavenRepoPath.split(File.separator); + final String[] groupIdSegments = Arrays.copyOfRange(filePathSegments, m2RepoSegments.length, + filePathSegments.length - 3); + final StringBuilder groupIdBuilder = new StringBuilder(); + for (int i = 0; i < groupIdSegments.length; i++) { + groupIdBuilder.append(groupIdSegments[i]); + if (i < groupIdSegments.length - 1) { + groupIdBuilder.append("."); + } + } + final String groupId = groupIdBuilder.toString(); + final String artifactId = filePathSegments[filePathSegments.length - 3]; + final String version = filePathSegments[filePathSegments.length - 2]; + return makeMessage(groupId, artifactId, version); + + } + + public static String getGradlePathGav(final String filePath) { + final String[] filePathSegments = filePath.split(File.separator); + final String groupId = filePathSegments[filePathSegments.length - 5]; + final String artifactId = filePathSegments[filePathSegments.length - 4]; + final String version = filePathSegments[filePathSegments.length - 3]; + return makeMessage(groupId, artifactId, version); + } +}