Class ScaffoldPublishMojo

java.lang.Object
network.ike.plugin.support.AbstractGoalMojo
network.ike.plugin.ScaffoldPublishMojo
All Implemented Interfaces:
org.apache.maven.api.plugin.Mojo

@Mojo(name="scaffold-publish", projectRequired=false, aggregator=true) public class ScaffoldPublishMojo extends AbstractGoalMojo
Apply the scaffold manifest to disk and update the lockfiles.

Runs ScaffoldPlanner followed by ScaffoldApplier in each applicable scope. Writes the per-file results into:

  • {projectRoot}/.ike/scaffold.lock — commits to the project's git history
  • {userHome}/.ike/scaffold.lock — tracks user-home state on this machine

Write-actions land atomically (tmp file + move with ATOMIC_MOVE + REPLACE_EXISTING). Skip actions — tracked files the user has edited — are left alone; they are reported but never overwritten.

Running with projectRequired = false means this goal works both inside a project (project + user scope) and on a fresh machine (user scope only, for bootstrap of git hooks, ~/.m2/settings.xml, etc.).

Use ike:scaffold-draft first to preview changes.

See Also:
  • Constructor Details

    • ScaffoldPublishMojo

      public ScaffoldPublishMojo()
      Creates this goal instance.
  • Method Details

    • runGoal

      protected GoalReportSpec runGoal() throws org.apache.maven.api.plugin.MojoException
      Specified by:
      runGoal in class AbstractGoalMojo
      Throws:
      org.apache.maven.api.plugin.MojoException