Record Class WorkspaceRoot

java.lang.Object
java.lang.Record
network.ike.workspace.WorkspaceRoot
Record Components:
groupId - the Maven groupId for the workspace root POM
artifactId - the Maven artifactId (typically matches the workspace's directory name)
version - the current version, typically ending in -SNAPSHOT between releases

public record WorkspaceRoot(String groupId, String artifactId, String version) extends Record
The workspace root's published Maven coordinates.

Persisted under the workspace-root: block in workspace.yaml (schema 1.1+), populated by ws:scaffold-init -Dgroup=... (ike-issues#183). Provides a single source of truth for the aggregator artifact's GAV so downstream goals — ws:release-publish (#185), ws:align-publish, site deploy (#186) — can reference the workspace root by real coordinates rather than the legacy local.aggregate:<name>:1.0.0-SNAPSHOT placeholder.

The version field is a single-segment monotonic counter, not semver — it represents \"the Nth release of this workspace manifest,\" nothing more (per feedback_no_semver_assumption).

  • Constructor Details

    • WorkspaceRoot

      public WorkspaceRoot(String groupId, String artifactId, String version)
      Creates an instance of a WorkspaceRoot record class.
      Parameters:
      groupId - the value for the groupId record component
      artifactId - the value for the artifactId record component
      version - the value for the version record component
  • Method Details

    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • groupId

      public String groupId()
      Returns the value of the groupId record component.
      Returns:
      the value of the groupId record component
    • artifactId

      public String artifactId()
      Returns the value of the artifactId record component.
      Returns:
      the value of the artifactId record component
    • version

      public String version()
      Returns the value of the version record component.
      Returns:
      the value of the version record component