Skip to content

release plan: publish-only transitive inclusion and location excludes (CR-0039) - #28

Merged
jbrazda merged 1 commit into
devfrom
feature/release-plan-publish-transitive-filter
Sep 17, 2026
Merged

jbrazda merged 1 commit into
devfrom
feature/release-plan-publish-transitive-filter

Conversation

@jbrazda

@jbrazda jbrazda commented Sep 17, 2026

Copy link
Copy Markdown
Owner

Implements CR-0039. Adds three CLI-only flags to release plan:

  • --publish-include-found-transitive: include transitive dependencies already found in the target in the generated publish file only (package file's transitive policy stays governed by --include-found-transitive, unaffected).
  • --publish-exclude-regex / --publish-exclude-file: exclude assets from the publish file only, matched against location, reusing the existing release.LoadExcludePatterns file format. Always applied regardless of the found-transitive setting.

internal/release/plan.go gains ExcludeAssetsByLocation, with ApplyPolicies refactored to reuse it (no behavior change). BuildPlan computes publish assets from the unfiltered per-plan asset list when the new flag is set, then applies the exclude patterns.

Non-breaking: default invocation (no new flags) is byte-identical to prior behavior - zero-value PublishIncludeFoundTransitive/PublishExcludePatterns reduce to the existing PublishAssets(envAssets) call. iics publish (the execution command) is untouched.

Verification

gofmt -s -l ., go build ./..., go vet ./..., go test ./..., go test -race ./internal/release/..., and golangci-lint run ./... all clean. release plan --help diffed before/after: all 9 pre-existing flags byte-identical, only the 3 new flags added.

Moves CR-0039 to pending/.

🤖 Generated with Claude Code

https://claude.ai/code/session_019KEFMYHnZwja4rcKZC5Pim

…s (CR-0039)

Add three CLI-only flags to release plan:
- --publish-include-found-transitive: include transitive deps already
  found in the target in the generated publish file only (package
  file's transitive policy stays governed by --include-found-transitive,
  unaffected).
- --publish-exclude-regex / --publish-exclude-file: exclude assets from
  the publish file only, matched against location, reusing the existing
  release.LoadExcludePatterns file format. Always applied regardless of
  the found-transitive setting.

internal/release/plan.go gains ExcludeAssetsByLocation, with
ApplyPolicies refactored to reuse it (no behavior change). BuildPlan
computes publish assets from the unfiltered per-plan asset list when
the new flag is set, then applies the exclude patterns.

Non-breaking: default invocation (no new flags) is byte-identical to
prior behavior - zero value PublishIncludeFoundTransitive/
PublishExcludePatterns reduce to the existing PublishAssets(envAssets)
call. iics publish (execution command) is untouched.

Moves CR-0039 to pending/.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019KEFMYHnZwja4rcKZC5Pim
@jbrazda
jbrazda merged commit 135426d into dev Sep 17, 2026
8 checks passed
@jbrazda
jbrazda deleted the feature/release-plan-publish-transitive-filter branch September 17, 2026 15:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant