
com.g2forge.gearbox.maven.MavenCoordinates Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gb-maven Show documentation
Show all versions of gb-maven Show documentation
Command line wrapper and helpers for running maven.
The newest version!
package com.g2forge.gearbox.maven;
import com.g2forge.alexandria.java.fluent.optional.NullableOptional;
import lombok.AccessLevel;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.ToString;
@Data
@Builder(toBuilder = true)
@RequiredArgsConstructor
public class MavenCoordinates {
protected final String groupId;
protected final String artifactId;
protected final String version;
@Builder.Default
protected final MavenPackaging packaging = MavenPackaging.JAR;
@ToString.Exclude
@Getter(lazy = true, value = AccessLevel.PROTECTED)
private final String versionLowercase = NullableOptional.ofNullable(getVersion()).map(String::toLowerCase).or(null);
@EqualsAndHashCode.Include(replaces = "version")
protected String getVersionIdentity() {
return getVersionLowercase();
}
@Override
public String toString() {
final StringBuilder retVal = new StringBuilder();
retVal.append(getGroupId()).append(':').append(getArtifactId()).append(':').append(getVersion());
if (getPackaging() != null) retVal.append(':').append(getPackaging().toString().toLowerCase());
return retVal.toString();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy