Skip to content

Remove docs/ from the Solr binary distribution#4641

Open
dsmiley wants to merge 2 commits into
apache:mainfrom
dsmiley:remove_docs_distro
Open

Remove docs/ from the Solr binary distribution#4641
dsmiley wants to merge 2 commits into
apache:mainfrom
dsmiley:remove_docs_distro

Conversation

@dsmiley

@dsmiley dsmiley commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Remove docs/ from the Solr binary distribution; fold links into README.txt

The docs/ folder bundled in solr/packaging's distributions contained only a stub index.html redirecting to the real online documentation, plus an HTML rendering of CHANGELOG.md that already ships verbatim at the top level of the distribution. None of this was real documentation, so it is dropped from packaging and its two links (online docs, online Changes.html) are folded directly into README.txt's existing "Files included" section instead. The online docs link is version-pinned per release using the existing solrDocUrl property, substituted via a Gradle ReplaceTokens filter on README.txt, with a SNAPSHOT/custom-build fallback message for non-release builds. solr/packaging/build.gradle no longer depends on :solr:documentation's minimalSite configuration, and the corresponding docs entries were removed from smokeTestRelease.py's expected top-level directory lists for both the slim and full distributions.

This also exposed that ./gradlew assemble was unconditionally rebuilding all of Solr's documentation (full javadocs, markdown-to-html, and the now-removed minimal stub site) via :solr:documentation's assemble task, even though that output is only needed by the release process (which invokes gradle documentation directly to publish to svn.apache.org/repos/infra/sites/solr/docs) or by the ref guide build (which resolves :solr:documentation's site/javadocs configurations explicitly). assemble no longer depends on the documentation task, and the root documentation task (used by the release wizard) now depends directly on :solr:documentation:documentation instead of routing through :solr:documentation:assemble. With packaging's last consumer gone, the entire minimalSite mechanism is deleted outright: the documentationMinimal, copyMiniDocumentationAssets, and copyChangesToHtmlForMiniSite tasks, the minimalSite configuration and artifact, the docrootMinimal property, the createMiniDocumentationIndex task, and its online-link.template.md template.

Verified by building both distributions locally with SNAPSHOT and simulated release versions to confirm no docs/ directory ships and README.txt renders the correct URL or fallback text, by dry-running gw assemble/gw documentation/gw :solr:documentation:check to confirm the task graphs behave as expected, and by running :solr:documentation:documentation directly to confirm the full site still builds.

…E.txt

The docs/ folder bundled in solr/packaging's distributions contained only a stub index.html redirecting to the real online documentation, plus an HTML rendering of CHANGELOG.md that already ships verbatim at the top level of the distribution.
None of this was real documentation, so it is dropped from packaging and its two links (online docs, online Changes.html) are folded directly into README.txt's existing "Files included" section instead.
The online docs link is version-pinned per release using the existing solrDocUrl property, substituted via a Gradle ReplaceTokens filter on README.txt, with a SNAPSHOT/custom-build fallback message for non-release builds.
solr/packaging/build.gradle no longer depends on :solr:documentation's minimalSite configuration, and the corresponding docs entries were removed from smokeTestRelease.py's expected top-level directory lists for both the slim and full distributions.

This also exposed that ./gradlew assemble was unconditionally rebuilding all of Solr's documentation (full javadocs, markdown-to-html, and the now-removed minimal stub site) via :solr:documentation's assemble task, even though that output is only needed by the release process (which invokes gradle documentation directly to publish to svn.apache.org/repos/infra/sites/solr/docs) or by the ref guide build (which resolves :solr:documentation's site/javadocs configurations explicitly).
assemble no longer depends on the documentation task, and the root documentation task (used by the release wizard) now depends directly on :solr:documentation:documentation instead of routing through :solr:documentation:assemble.
With packaging's last consumer gone, the entire minimalSite mechanism is deleted outright: the documentationMinimal, copyMiniDocumentationAssets, and copyChangesToHtmlForMiniSite tasks, the minimalSite configuration and artifact, the docrootMinimal property, the createMiniDocumentationIndex task, and its online-link.template.md template.

Verified by building both distributions locally with SNAPSHOT and simulated release versions to confirm no docs/ directory ships and README.txt renders the correct URL or fallback text, by dry-running gw assemble/gw documentation/gw :solr:documentation:check to confirm the task graphs behave as expected, and by running :solr:documentation:documentation directly to confirm the full site still builds.
@dsmiley dsmiley requested review from gerlowskija and janhoy July 15, 2026 22:34
@github-actions github-actions Bot added documentation Improvements or additions to documentation tool:build scripts labels Jul 15, 2026
@dsmiley dsmiley added this to the 10.x milestone Jul 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation scripts tool:build

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant