Class PostMutationSync

java.lang.Object
network.ike.plugin.ws.PostMutationSync

public final class PostMutationSync extends Object
Refresh workspace state derived from POMs and on-disk siblings. Called at the end of any goal whose effect can change which siblings are present on disk or what their POMs declare.

Combines two independent derivations into one call:

  • IdeProfileSync — writes the -P block in .mvn/maven.config so IntelliJ activates the right with-* profiles for the current sibling set.
  • YamlDepsSync — re-derives each subproject's depends-on edges from POM contents and rewrites workspace.yaml when the graph has drifted.

Each step is idempotent — running this hook back-to-back produces no further changes. Failures in one step are logged at WARN and do not stop the other.

Triggered from: ws:add, ws:remove, ws:sync, ws:pull, ws:commit, ws:scaffold-init, ws:feature-finish-merge-publish, ws:feature-finish-squash-publish, ws:align-publish, ws:scaffold-publish (which subsumes the retired ws:set-parent).

See IKE-Network/ike-issues#279.

  • Method Details

    • refresh

      public static void refresh(File workspaceRoot, org.apache.maven.api.plugin.Log log)
      Run all post-mutation derivations against the workspace at workspaceRoot.
      Parameters:
      workspaceRoot - the workspace root directory
      log - plugin log for status messages