[
https://issues.apache.org/jira/browse/KNOX-3429?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sandor Molnar updated KNOX-3429:
--------------------------------
Status: Patch Available (was: Open)
> knox-<version>-src.zip can balloon far beyond its expected size (~40 MB ->
> GBs) and fail to stage to the Apache dist repo.
> --------------------------------------------------------------------------------------------------------------------------
>
> Key: KNOX-3429
> URL: https://issues.apache.org/jira/browse/KNOX-3429
> Project: Apache Knox
> Issue Type: Bug
> Components: Build, Release
> Affects Versions: 3.0.0
> Reporter: Sandor Molnar
> Assignee: Sandor Molnar
> Priority: Major
> Fix For: 3.1.0
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> {noformat}
> ant stage-candidate fails uploading the source archive:
> svn: E175002: PUT request on
> '.../dev/knox/knox-<version>/knox-<version>-src.zip' failed
> The PUT is rejected because the source zip is oversized.
> {noformat}
> *Root cause:* {{src/assembly.xml}} includes {{**}} from the repo root and
> subtracts only a short exclude list ({{target, node_modules, IDE files}}).
> The assembly snapshots the working tree at end-of-build, so anything else
> present gets bundled: Angular caches (.angular), runtime state generated by
> running the gateway/tests outside target/ (data/security keystores,
> data/ldap-server, data/deployments, logs, *.pid), JVM crash/heap dumps, and
> the {{candidate/}} staging dir (which re-bundles a previous *-src.zip).
> Shipping generated {{keystores/credentials}} in a source release is also a
> hygiene issue. A clean checkout builds correctly, so the logic is sound - the
> descriptor just isn't robust to leftover artifacts.
> *Fix:* Add scoped excludes to src/assembly.xml:
> {noformat}
> **/.angular/**, **/.scannerwork/**, candidate/**,
> **/data/{security,deployments,ldap-server}/**, **/logs/*.{log,out,err},
> **/*.pid, **/*.hprof, **/hs_err_pid*.log, **/replay_pid*.log. Patterns kept
> narrow and verified via git ls-files to drop no tracked source (preserving
> home/data/**/README, home/logs/.gitignore, sample .log).
> {noformat}
> *Acceptance Criteria*
> - Source zip stays ~40 MB even when built from a tree with runtime state /
> populated candidate/.
> - No generated keystores/credentials in the archive; no legitimate tracked
> files dropped.
> - ant stage-candidate uploads successfully.
> *Note*
> Excludes are a safety net - staging from a clean checkout remains the
> recommended practice.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)