[ 
https://issues.apache.org/jira/browse/LUCENE-9321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17098368#comment-17098368
 ] 

Uwe Schindler edited comment on LUCENE-9321 at 5/3/20, 11:32 AM:
-----------------------------------------------------------------

bq. I wouldn't require a second (independent) build pass. If it's something 
required for the "release" then let's have a release task in gradle and take 
care of it there (javadocs built twice but within the same run of the build - 
the "release" build). Otherwise the "release" scripts are duplicating what 
could as well be done within the main build script?

During the release you build maven artifacts (with absolute links) going to 
local module folder. In addition you build global javadocs with relative links. 
So I agree, this should be done in the same build run.

IMHO, both can be done with a same set of tasks, we just need to dynamically 
duplicate them in our build plugin. When doing this, I'd change 2 things: the 
output directory and apply URI.relativize() to our clones.

The global documentation task depends on those variants; the jar file builds 
for maven and those running during normal "developer interaction" depend on 
standard javadocs task, that delegates to renderJavaDoc with absolute links.

I have a plan how to do this, let me get started and propose a pull request. 
When all is done, the full blown javadocs are never created for developers, 
only if the release manager, smoketester, or jenkins calls "gradle 
documentation" or "gradle release" (or whatever). If you just run tests or run 
precommit, only the "minimal checks" are done. In addition the documentation is 
not built, only local javadocs for the module.

I will also try to fix the hardcoded URLs and make then properties, so Jenkins 
can tell where the documentation will land. This also alows downstream users to 
publish javadocs on their own pages (we have several clones).


was (Author: thetaphi):
bq. I wouldn't require a second (independent) build pass. If it's something 
required for the "release" then let's have a release task in gradle and take 
care of it there (javadocs built twice but within the same run of the build - 
the "release" build). Otherwise the "release" scripts are duplicating what 
could as well be done within the main build script?

During the release you build maven artifacts (with absolute links) going to 
local module folder. In addition you build global javadocs with relative links.

Both can be done with a same set of tasks, just dynamically duplicate then in 
the bud module. When doing this change 2 things: the output die and apply 
URI.relativize(). The global documentation task depends on those variants, the 
jar file builds for maven depend on standard javadocs task, that delegates to 
renderJavaDoc with absolute links.

> Port documentation task to gradle
> ---------------------------------
>
>                 Key: LUCENE-9321
>                 URL: https://issues.apache.org/jira/browse/LUCENE-9321
>             Project: Lucene - Core
>          Issue Type: Sub-task
>          Components: general/build
>            Reporter: Tomoko Uchida
>            Priority: Major
>         Attachments: screenshot-1.png
>
>          Time Spent: 2.5h
>  Remaining Estimate: 0h
>
> This is a placeholder issue for porting ant "documentation" task to gradle. 
> The generated documents should be able to be published on lucene.apache.org 
> web site on "as-is" basis.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to