You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by "Chris M. Hostetter (Jira)" <ji...@apache.org> on 2020/09/01 23:08:00 UTC
[jira] [Commented] (LUCENE-9495) Ref Guide gradle buildSite ignores
version parameter
[ https://issues.apache.org/jira/browse/LUCENE-9495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17188853#comment-17188853 ]
Chris M. Hostetter commented on LUCENE-9495:
--------------------------------------------
{quote}To accomplish this, the guide has long used a parameter {{solr-guide-version}} to indicate when a build for the Ref Guide _should not_ be considered a draft. With the Gradle build, this no longer works. (I thought I'd tested this, but either I missed it or it broke at some point in between.)
{quote}
IIUC it _does_ seem to work, but:
* it's been renamed (probably to be more "gradle-esque" ?) using camel case
* it has to be specified using '{{-P}}' (which is evidently the gradle way of setting _project_ properties on the command line
(and it looks like this info wasn't fully updated in {{how-to-contribute.adoc}} ?)
So on master you can do...
{noformat}
hossman@slate:~/lucene/dev/solr/solr-ref-guide [j11] [master] $ gradle buildSite
Using gradle at '/home/hossman/lucene/dev/gradlew' to run buildfile '/home/hossman/lucene/dev/solr/solr-ref-guide/build.gradle':
> Task :solr:solr-ref-guide:setupLazyProps
Building ref guide with:
solr-root-path -> ../../../../solr/
solr-guide-draft-status -> DRAFT
solr-guide-version -> 9.0-DRAFT
solr-guide-version-path -> 9_0-DRAFT
solr-docs-version -> 9.0
javadoc.link -> https://docs.oracle.com/en/java/javase/11/docs/api/
java-javadocs -> https://docs.oracle.com/en/java/javase/11/docs/api/
solr-javadocs -> https://lucene.apache.org/solr/9_0_0/
html-solr-javadocs -> https://lucene.apache.org/solr/9_0_0/
lucene-javadocs -> https://lucene.apache.org/core/9_0_0/
html-lucene-javadocs -> https://lucene.apache.org/core/9_0_0/
...
{noformat}
...to get the "default" version numbers and DRAFT status info, or you can do...
{noformat}
hossman@slate:~/lucene/dev/solr/solr-ref-guide [j11] [master] $ gradle buildSite -PsolrGuideVersion=9.0
Using gradle at '/home/hossman/lucene/dev/gradlew' to run buildfile '/home/hossman/lucene/dev/solr/solr-ref-guide/build.gradle':
> Task :solr:solr-ref-guide:setupLazyProps
Building ref guide with:
solr-root-path -> ../../../../solr/
solr-guide-draft-status ->
solr-guide-version -> 9.0
solr-guide-version-path -> 9_0
solr-docs-version -> 9.0
javadoc.link -> https://docs.oracle.com/en/java/javase/11/docs/api/
java-javadocs -> https://docs.oracle.com/en/java/javase/11/docs/api/
solr-javadocs -> https://lucene.apache.org/solr/9_0_0/
html-solr-javadocs -> https://lucene.apache.org/solr/9_0_0/
lucene-javadocs -> https://lucene.apache.org/core/9_0_0/
html-lucene-javadocs -> https://lucene.apache.org/core/9_0_0/
...
{noformat}
...to explicitly set the version and prevent the DRAFT status.
----
{quote}Beyond getting this to work, I think it's worth a discussion (separate Jira?) about whether we can simplify it. Maybe just a parameter ref-guide-draft=false would be sufficient? We might also reconsider the variations of versions in the Ref Guide params and whether we really need them (solr-guide-version, solr-docs-version).
{quote}
We can certainly simplify a *LOT* of this – most of the complexity here comes from when we had "official releases" of the ref-guide in PDF as well as HTML, and wanted/needed to be able to:
* have a ref-guide version that was based on the major.minor solr version
** but had an independent and optional bugfix value...
*** because we didn't do ref-guide releases for every solr bugfix
*** BUT: we wanted to have the ability to to "bugfix" releases of the ref guide if it had egregious errors: (ie: refguide version 8.1 might have been followed y ref guide version 8.1.1 even if there was never a solr 8.1.1)
* link to version specific javadocs
** using absolute URLs in the PDF
** BUT using relative URLs from the html that we would host on the site
A lot of this was spelled out in the build.xml comments, but that info evidently wasn't preserved in the creation of build.gradle...
{noformat}
<loadresource property="solr-docs-version">
<!-- NOTE: this is specifically only the "major.minor", it does not include the ".bugfix"
This is because we (currently) only release the guide for minor versions.
-->
...
</loadresource>
<loadresource property="solr-docs-version-path">
<!-- NOTE: This is the ${solr-docs-version} as a path suitbale for linking to javadocs -->
...
</loadresource>
<!-- NOTE: ${solr-guide-version} is the version of this ref-guide.
By default, we assume this is the same as ${solr-docs-version} with a "-DRAFT" suffix
When releasing, specify an explicit value of this property on the command line.
NOTE: the ${solr-guide-version} used *may* be different from the version of Solr the guide
covers if we decide to do a bug-fix release of the ref-guide
Examples: (assume branch_6_1 where version=6.1.SOMETHING)
Basic nightly/local build of the 6.1 guide...
=> ant build-site
Official build of the 6.1 guide...
=> ant build-site -Dsolr-guide-version=6.1
Release of a "6.1.1" ref guide, correcting some serious error in the docs
(even if there is no 6.1.1 version - or if we've already released up to 6.1.5 - of Solr itself)
=> ant build-site -Dsolr-guide-version=6.1.1
-->
<property name="solr-guide-version" value="${solr-docs-version}-DRAFT" />
<condition property="solr-guide-draft-status" value="" else="DRAFT">
<matches pattern="^\d+\.\d+(|\.\d+)$" string="${solr-guide-version}" />
</condition>
<loadresource property="solr-guide-version-path">
<!-- NOTE: This is the ${solr-guide-version} as a path suitable for use publishing the HTML -->
...
</loadresource>
{noformat}
> Ref Guide gradle buildSite ignores version parameter
> ----------------------------------------------------
>
> Key: LUCENE-9495
> URL: https://issues.apache.org/jira/browse/LUCENE-9495
> Project: Lucene - Core
> Issue Type: Bug
> Components: general/build
> Reporter: Cassandra Targett
> Priority: Major
>
> All Ref Guide builds by default are built as drafts. A DRAFT watermark is inserted on to every page, a special header is added to the side navigation, and the footer version includes the word "-DRAFT".
> To accomplish this, the guide has long used a parameter {{solr-guide-version}} to indicate when a build for the Ref Guide _should not_ be considered a draft. With the Gradle build, this no longer works. (I thought I'd tested this, but either I missed it or it broke at some point in between.)
> [~hossman] set this up several years ago, so cc'ing him here so he can take a look and see why the logic would stop working now.
> Links:
> Ref Guide {{build.gradle}} that determines Guide version: https://github.com/apache/lucene-solr/blob/master/solr/solr-ref-guide/build.gradle#L128
> Ant {{build.xml}} the above was adapted from: https://github.com/apache/lucene-solr/blob/branch_8x/solr/solr-ref-guide/build.xml#L70
> Beyond getting this to work, I think it's worth a discussion (separate Jira?) about whether we can simplify it. Maybe just a parameter {{ref-guide-draft=false}} would be sufficient? We might also reconsider the variations of versions in the Ref Guide params and whether we really need them ({{solr-guide-version}}, {{solr-docs-version}}).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org