in modules/core/src/main/scala/org/scalasteward/core/edit/hooks/HookExecutor.scala [59:84]
private def execPostUpdateHook(
repo: Repo,
update: Update.Single,
hook: PostUpdateHook,
signoffCommits: Option[Boolean]
): F[EditAttempt] =
for {
_ <- logger.info(
s"Executing post-update hook for ${update.groupId}:${update.mainArtifactId} with command ${hook.showCommand}"
)
repoDir <- workspaceAlg.repoDir(repo)
result <- logger.attemptWarn.log("Post-update hook failed") {
val slurpOptions = SlurpOptions.ignoreBufferOverflow
processAlg
.execMaybeSandboxed(hook.useSandbox)(hook.command, repoDir, slurpOptions = slurpOptions)
.void
}
commitMessage = hook
.commitMessage(update)
.appendParagraph(s"Executed command: ${hook.command.mkString_(" ")}")
maybeHookCommit <- gitAlg.commitAllIfDirty(repo, commitMessage, signoffCommits)
maybeBlameIgnoreCommit <-
maybeHookCommit.flatTraverse(
addToGitBlameIgnoreRevs(repo, repoDir, hook, _, commitMessage, signoffCommits)
)
} yield HookEdit(hook, result, maybeHookCommit.toList ++ maybeBlameIgnoreCommit.toList)