Actually, RM is "rm -f" so $(RM) -f is redundant. 

/Magnus

> 31 mars 2016 kl. 07:18 skrev Erik Joelsson <erik.joels...@oracle.com>:
> 
> Hello,
> 
> The comment has not been updated after the dependencies changed.
> 
> Please use $(MKDIR), $(RM) -f and $(LN).
> 
> There is no need for the dash before rm since rm -f won't fail and we haven't 
> used it like that before in these makefiles.
> 
> Please don't remove the assembly dir after zipping. In general, we keep 
> intermediate files around for easier debugging of the build.
> 
>> On 2016-03-31 15:20, Jiri Vanek wrote:
>> 
>> Here we go!
>> https://jvanek.fedorapeople.org/oracle/jdk8/webrevs/zip-javadocs/v2/
>> https://jvanek.fedorapeople.org/oracle/jdk8/webrevs/zip-javadocs/v2/webrev.zip
>>  
>>> 
>>> I can't seem to find your name on the OCA list [1], have you signed it? 
>>> Otherwise we cannot accept
>>> patches from you.
>> 
>> As Andrew wrote down @redhat.com should do the job.
> Good to know!
>>> 
>>> I can comment and review the patch from a build point of view. There is a 
>>> separate processes for
>>> approving it for inclusion in an older release, like JDK 8.
>> 
>> I'm aware of it. Once you are happy , I will use the patch in 8's rpms, and 
>> rpepare webrev for 9. Later, if luck allows, I will ask for backporting to 8.
> Note that the change for 9 will be quite different. The makefiles have 
> evolved quite a bit.
>>> 
>>> That said, your patch is mostly reasonable but there are a few things that 
>>> needs changing.
>> 
>> Thank you very much for review and advices!
>>> 
>>> In Main.gmk.
>>> * Please follow the current pattern of declaring both "zip-docs" and 
>>> "zip-docs-only" and make
>>> zip-docs depend on docs. Dependencies between top level targets should be 
>>> handled in the top level
>>> makefile.
>> 
>> Done. Although Now I'm a bit unsure about the dependencies, as described 
>> lower (*).
>>> 
>>> In Javadock.gmk.
>>> * Please use := instead of = for variable declarations. This particular 
>>> file unfortunately has many
>>> bad examples of where = is misused.
>> 
>> Fixed. I can fix the file as separate changeset for jdk9 if you agree.
> No need. I would rather rewrite this old clunky piece of makefile completely 
> than waste time on patching it. It's one of the rare files we never fully 
> converted to the new style of makefiles in JDK 8.
>>> * The file should be named jdk-$(FULL_VERSION)-docs.zip
>> done
>> 
>> Although now it have date. However not-nice, definitely reasonable.
> Right, for adhoc default configured builds, they do. This can be overridden 
> on the configure command line using --with-user-release-suffix.
>> 
>>> * The file should be created in $(OUTPUT_ROOT)/bundles
>> 
>> Done.
>> 
>>> * Having the archive only depend on COREAPI_INDEX_FILE is broken if you 
>>> also include the other docs.
>>> Either depend on all and include all or only include the core docs. If you 
>>> only include the core
>>> docs, the targets and file names should probably change. Depending on all 
>>> is currently tricky since
>>> Javadock.gmk is badly written and uses a lot of phony targets instead of 
>>> the actual targets for
>>> dependency management. That would need to be fixed.
>> 
>> Well yes:( (*)
>> 
>> I'm aware of the brokenness of it, but what to depend on?
>> I wonted to avoid any other configuration, so whatever make docs generates, 
>> this target will pack.
>> But I stumbled over (now clear) bug in Javadock.gmk. - any time make docs 
>> (make docs-only seems broken) is invoked, it always regenerate all javadocs.
>> 
>> So by calling make zip-docs, with dependencies you recommended, it causes 
>> javadoc to be regenerated.
>> 
>> 
>> It seems to me out of scope of this patch, but if you feel differently, I 
>> will happily elaborate.
> Yes, dependencies here are broken. I don't expect you to fix it in this 
> patch. It's rare that people build docs incrementally so it hasn't been a 
> priority to fix. For now, I suppose you can add back the COREAPI_INDEX_FILE 
> so that the zip is rebuilt if the coreapi docs were rebuilt, but with a 
> comment that dependencies are actually broken and this is just a reasonable 
> workaround. At least ordering is properly handled in Main.gmk now.
> 
> /Erik
>>> * Please don't use temporary directories outside the build output dir. Such 
>>> directories always risk
>>> being left behind by failed builds. We need the build to only create files 
>>> in the designated output
>>> dir.
>> 
>> fixed.
>> 
>>> * --display-globaldots is not a good option to use in this context. It 
>>> won't work well with file
>>> logging of the build and I doubt it's valid for all platforms we build on.
>> 
>> sure.   Removed.
>> 
>> 
>> Thanx!
>>  J.
>>> 
>>> /Erik
>>> 
>>>> On 2016-03-29 18:24, Jiri Vanek wrote:
>>>> Hello Again!
>>>> 
>>>> Sorry for delay in reply.
>>>> 
>>>> There is webrev
>>>> 
>>>> https://jvanek.fedorapeople.org/oracle/jdk8/webrevs/zip-javadocs/v1/
>>>> https://jvanek.fedorapeople.org/oracle/jdk8/webrevs/zip-javadocs/v1/webrev.zip
>>>>  
>>>> 
>>>> with patch as was (moreover) agreed in this thread for *jdk8*
>>>> 
>>>> As I was studying the makefiles, I think I did not violated to much 
>>>> conditions by this hunk of code:)
>>>> I thought that 8 will be much more simple, but at the end it evolved to 
>>>> same "find all roots" as
>>>> discussed for 9 and modules.
>>>> 
>>>> The only thing I don't like in this patch is unsuitability of zip to zip 
>>>> directories with stripped
>>>> path.
>>>> 
>>>> I went by pushd/popd  but I had seen you like cd in  make files more.
>>>> 
>>>> 
>>>> Thanx for any feedback!
>>>> 
>>>>  J.
>>>> 
>>>>> On 03/08/2016 03:50 PM, Erik Joelsson wrote:
>>>>> I wouldn't go that far, but I won't have time to look into it for a while 
>>>>> yet at least.
>>>>> 
>>>>> /Erik
>>>>> 
>>>>>> On 2016-03-08 15:34, Jiri Vanek wrote:
>>>>>> Ping?
>>>>>> 
>>>>>> Or is this going to be considered closed-wont "fix"?
>>>>>> 
>>>>>> Thanx!
>>>>>> 
>>>>>> J.
>>>>>>> On 02/29/2016 04:24 PM, Jiri Vanek wrote:
>>>>>>>> On 02/26/2016 08:05 PM, Jonathan Gibbons wrote:
>>>>>>>>> On 02/26/2016 03:49 AM, Jiri Vanek wrote:
>>>>>>>>>> On 02/25/2016 06:34 PM, Jonathan Gibbons wrote:
>>>>>>>>>>> On 02/25/2016 09:23 AM, Jiri Vanek wrote:
>>>>>>>>>>> 
>>>>>>>>>>> I must be missing something. Dozens? Of varius runs of javadoc?
>>>>>>>>>>> 
>>>>>>>>>>> I thought that javadoc ending at the end in single drectory is one 
>>>>>>>>>>> single javadoc for java. If
>>>>>>>>>>> you are referring to javadoc generated by "per module" then one 
>>>>>>>>>>> jjoined zip is enough for me.
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> Jiri,
>>>>>>>>>> 
>>>>>>>>>> If you accept the premise  that javadoc writes one stylesheet.css 
>>>>>>>>>> file per run of javadoc,
>>>>>>>>>> take a
>>>>>>>>>> look at the following list:
>>>>>>>>> 
>>>>>>>>> Then my goal will be to crate a trget, which takes
>>>>>>>>> build/linux-x86_64-normal-server-release/images/docs/
>>>>>>>>> and pack it to
>>>>>>>>> build/linux-x86_64-normal-server-release/images/javadoc.zip
>>>>>>>>> 
>>>>>>>>> It should contains also the "smaller api" you are mentioning below? 
>>>>>>>>> If not, then those should
>>>>>>>>> appear in this zip too.
>>>>>>>>>> 
>>>>>>>>>> $ find build/linux-x86_64-normal-server-release/images/docs/ -name 
>>>>>>>>>> stylesheet.css
>>>>>>>>>> build/linux-x86_64-normal-server-release/images/docs/jdk/api/dynalink/stylesheet.css
>>>>>>>>>>  
>>>>>>>>>> build/linux-x86_64-normal-server-release/images/docs/jdk/api/attach/spec/stylesheet.css
>>>>>>>>>>  
>>>>>>>>>> build/linux-x86_64-normal-server-release/images/docs/jdk/api/javac/tree/stylesheet.css
>>>>>>>>>>  
>>>>>>>>>> build/linux-x86_64-normal-server-release/images/docs/jdk/api/jconsole/spec/stylesheet.css
>>>>>>>>>>  
>>>>>>>>>> build/linux-x86_64-normal-server-release/images/docs/jdk/api/jpda/jdi/stylesheet.css
>>>>>>>>>>  
>>>>>>>>>> build/linux-x86_64-normal-server-release/images/docs/jdk/api/javadoc/doclet/stylesheet.css
>>>>>>>>>>  
>>>>>>>>>> build/linux-x86_64-normal-server-release/images/docs/jdk/api/javadoc/old/doclet/stylesheet.css
>>>>>>>>>>  
>>>>>>>>>> build/linux-x86_64-normal-server-release/images/docs/jdk/api/javadoc/old/taglet/stylesheet.css
>>>>>>>>>>  
>>>>>>>>>> build/linux-x86_64-normal-server-release/images/docs/jdk/api/nashorn/stylesheet.css
>>>>>>>>>>  
>>>>>>>>>> build/linux-x86_64-normal-server-release/images/docs/api/stylesheet.css
>>>>>>>>>>  
>>>>>>>>>> build/linux-x86_64-normal-server-release/images/docs/jre/api/nio/sctp/spec/stylesheet.css
>>>>>>>>>>  
>>>>>>>>>> build/linux-x86_64-normal-server-release/images/docs/jre/api/plugin/dom/stylesheet.css
>>>>>>>>>>  
>>>>>>>>>> build/linux-x86_64-normal-server-release/images/docs/jre/api/security/jaas/spec/stylesheet.css
>>>>>>>>>>  
>>>>>>>>>> build/linux-x86_64-normal-server-release/images/docs/jre/api/security/smartcardio/spec/stylesheet.css
>>>>>>>>>>  
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> build/linux-x86_64-normal-server-release/images/docs/jre/api/security/jgss/spec/stylesheet.css
>>>>>>>>>>  
>>>>>>>>>> build/linux-x86_64-normal-server-release/images/docs/jre/api/management/extension/stylesheet.css
>>>>>>>>>>  
>>>>>>>>>> 
>>>>>>>>>> build/linux-x86_64-normal-server-release/images/docs/jre/api/net/httpserver/spec/stylesheet.css
>>>>>>>>>>  
>>>>>>>>>> build/linux-x86_64-normal-server-release/images/docs/jre/api/net/socketoptions/spec/stylesheet.css
>>>>>>>>>>  
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> build/linux-x86_64-normal-server-release/images/docs/jre/api/accessibility/jaccess/spec/stylesheet.css
>>>>>>>>>>  
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> The "main"/"Java SE" javadoc bundle that most are aware of is the 
>>>>>>>>>> shortest filename, in the
>>>>>>>>>> middle
>>>>>>>>>> of the list, but there are lots of other smaller APIs that get their 
>>>>>>>>>> own doc bundle.  You can
>>>>>>>>>> get at
>>>>>>>>>> most of them in released doc sets through the top-level "brick wall" 
>>>>>>>>>> page, or by using your
>>>>>>>>>> favorite
>>>>>>>>>> search engine.
>>>>>>>>> 
>>>>>>>>> Hmm.. Do you have some?  javadoc offline search is quite painful 
>>>>>>>>> think. (Even with new search in
>>>>>>>>> 9, which seems to have some troubles on local filesystem). The best 
>>>>>>>>> search engine I know is
>>>>>>>>> (unluckily) https://github.com/judovana/JavadocOfflineSearch
>>>>>>>> 
>>>>>>>> The point of the preceding list was to say that each directory 
>>>>>>>> containing stylesheet.css is the
>>>>>>>> root
>>>>>>>> of a separate, distinct, javadoc bundle.  So the smaller APIs that get 
>>>>>>>> their own bundle are
>>>>>>>> precisely the ones given in the preceding list, other than the main 
>>>>>>>> javadoc bundle.
>>>>>>>> 
>>>>>>>> The point of the comment about the brick wall and search engines was 
>>>>>>>> to indicate how most people
>>>>>>>> will find these doc bundles in normal use, when they don't have a 
>>>>>>>> cheat sheet like the list
>>>>>>>> above.
>>>>>>> 
>>>>>>> yes I got that. But Then this compressed shattered javadoc needs more 
>>>>>>> thoughts.
>>>>>>> 
>>>>>>> What is expected format of distribution?
>>>>>>> I can imagine: web accessible, unapcked "all docs" and "zipepd "all 
>>>>>>> docs".
>>>>>>> But never several zips, or several directories.
>>>>>>> 
>>>>>>> What is what I'm missing behind this effort to deliver javadocs 
>>>>>>> per-module?
>>>>>>> 
>>>>>>>> 
>>>>>>>> As far as IDEs wanting to access javadoc bundles, I would expect that 
>>>>>>>> to make all the docs
>>>>>>>> available, you would want to zip up *each* directory containing 
>>>>>>>> stylesheet.css given in the
>>>>>>>> preceding list. If you just zip up the top API directory, sure, that 
>>>>>>>> will include all the files,
>>>>>>>> but
>>>>>>>> the reality is that the IDE will likely not have any way of knowing 
>>>>>>>> about the minor doc
>>>>>>>> bundles in
>>>>>>>> all jre/ and jdk/ directories and subdirectories.
>>>>>>> 
>>>>>>> Indeed, when you pack top level javadoc directroy as top level of 
>>>>>>> archive (so javadco will become
>>>>>>> zipped1.zip!javadoc) then indeed, Netbeasn refuse to load it whole 
>>>>>>> 9just few parts)
>>>>>>> 
>>>>>>> However when you pack it  that content of javadoc will be the top of 
>>>>>>> the archive
>>>>>>> (zipped2.zip!{api,jdk,jre,platform}) then NB loads it fine.
>>>>>>> 
>>>>>>> If even this is wrong, then as last approach is really to 
>>>>>>> restructuralise docs after theirs
>>>>>>> generation/before zipping to structure where top level directory will 
>>>>>>> the "one with style"
>>>>>>> 
>>>>>>> dynalink/stylesheet.css
>>>>>>> spec/stylesheet.css
>>>>>>> tree/stylesheet.css
>>>>>>> spec/stylesheet.css
>>>>>>> jdi/stylesheet.css
>>>>>>> doclet/stylesheet.css
>>>>>>> nashorn/stylesheet.css
>>>>>>> api/stylesheet.css
>>>>>>> spec/stylesheet.css
>>>>>>> dom/stylesheet.css
>>>>>>> spec/stylesheet.css
>>>>>>> spec/stylesheet.css
>>>>>>> ...
>>>>>>> 
>>>>>>> But looking to the occurences of "spec" There is something wrong with 
>>>>>>> those assumptions :)
>>>>>>> 
>>>>>>> 
>>>>>>> As for indexing and viewing tools - They works fine with both zipepd1 
>>>>>>> and zipped2 (but there is
>>>>>>> not
>>>>>>> much to try)
>>>>>>> 
>>>>>>> Seeing the impact of packaging, I think it is one more +1 to add this 
>>>>>>> packing target, so JDK's
>>>>>>> javadoc is pacaked in known, "laodable" way.
>>>>>>> 
>>>>>>> Thanx!
>>>>>>>   J.
>>>>>>> 
>>>>>>>> 
>>>>>>>> -- Jon
>>>>>>>> 
>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> --
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Thanx a lot!
>>>>>>>>>  J.
> 

Reply via email to