RFR: JDK-8179079: Incremental HotSpot builds broken on Windows

2017-04-21 Thread Erik Joelsson
We have hit another issue related to the new Cygwin behavior regarding 
\r line endings. The incremental native build on Windows breaks because 
we get ^M characters in the *.d files. Output from "make --debug=b" 
typically looks like this:


Prerequisite 
'/cygdrive/c/erik/jdk9-dev/hotspot/src/share/vm/adlc/adlc.hpp^M' of 
target 
'/cygdrive/c/erik/jdk9-dev/build/windows-x64/hotspot/variant-server/tools/adlc/objs/adlparse.obj' 
does not exist.


It's annoying to be fixing these one at a time like this, but I can't 
really see a general solution to the problem. Here is the simplest fix I 
could come up with for this particular problem:


diff -r 6832b2d9d1ae make/common/NativeCompilation.gmk
--- a/make/common/NativeCompilation.gmk Fri Apr 21 11:31:09 2017 +0200
+++ b/make/common/NativeCompilation.gmk Fri Apr 21 16:48:11 2017 +0200
@@ -165,6 +165,7 @@
 WINDOWS_SHOWINCLUDE_SED_PATTERN := \
 -e '/^Note: including file:/!d' \
 -e 's|Note: including file: *||' \
+-e 's|\r||g' \
 -e 's|\\|/|g' \
 -e 's|^\([a-zA-Z]\):|$(UNIX_PATH_PREFIX)/\1|g' \
 -e '\|$(TOPDIR)|I !d' \


This sed expression is used to rewrite the output of CL's -showIncludes 
into a list of header files with absolute unix paths.


/Erik



Re: RFR: JDK-8179078: Jib run-test-prebuilt profile missing dependency on bootjdk

2017-04-21 Thread Christian Tornqvist
Hi Erik,

This looks good, I’ve verified that the fix works. Thanks for fixing this!

Thanks,
Christian

> On Apr 21, 2017, at 10:43 AM, Erik Joelsson  wrote:
> 
> (resending to include Christian)
> 
> 
> On 2017-04-21 16:37, Erik Joelsson wrote:
>> Hello,
>> 
>> When using the run-test-prebuilt Jib profile to run tests, we need to set 
>> JT_JAVA to point to the boot jdk for jtreg. The configuration to set JT_JAVA 
>> is there, but I forgot to also add boot_jdk as a dependency on that profile.
>> 
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8179078
>> 
>> Patch:
>> 
>> diff -r 111e2e7d00f4 common/conf/jib-profiles.js
>> --- a/common/conf/jib-profiles.js
>> +++ b/common/conf/jib-profiles.js
>> @@ -584,7 +584,7 @@
>> var testOnlyProfilesPrebuilt = {
>> "run-test-prebuilt": {
>> src: "src.conf",
>> -dependencies: [ "jtreg", "gnumake", testedProfile + ".jdk",
>> +dependencies: [ "jtreg", "gnumake", "boot_jdk", testedProfile + 
>> ".jdk",
>> testedProfile + ".test", "src.full"
>> ],
>> work_dir: input.get("src.full", "install_path") + "/test",
>> 
>> 
>> /Erik
>> 
> 



Re: Review Request: JDK-8179035: Include tool modules in unified docs

2017-04-21 Thread Mandy Chung

> On Apr 21, 2017, at 12:33 AM, Alan Bateman  wrote:
> 
> On 20/04/2017 19:37, Mandy Chung wrote:
> 
>> A few modules are missing in the unified docs such as jdk.jcmd,
>> jdk.jdwp.agent, jdk.jstatd, etc.  Some tool modules are providers
>> and they were in the initial set.  The modules that are neither
>> a provider nor exporting any API package are missed in the initial
>> patch.
>> 
>> http://cr.openjdk.java.net/~mchung/jdk9/webrevs/8179035/webrev.00/
> 
> For jdk.rmic then it might be better to take the wording from the man page so 
> that it reads:
> 
> "... to generate stub and skeleton class files (JRMP protocol) and stub and 
> tie class files (IIOP protocol) for remote objects."

I have pushed the fix.  We can rev it in the next pass.  Now that we have 
unified docs which will make it easier to do a review on the first sentence of 
module summary page.

Mandy

Re: RFR: JDK-8179022 Add serialization spec as markdown

2017-04-21 Thread Roger Riggs

Hi Magnus,

Looks good, I checked the previous and new html content and found no 
significant differences.
There are some content improvements that should be made but that's a 
separate task.


Thanks, Roger


On 4/20/2017 2:51 PM, Roger Riggs wrote:

Hi Magnus,

How did you verify that the result was the same as the previous 
specification?
It would have been good to separate the content changes from the other 
parts
so they could be properly reviewed.  The proposed markdown source does 
not

favorably easily with the spec as I worked on it a couple of months ago.
That's going to take more work to verify.

Thanks, Roger


On 4/20/2017 2:47 PM, Magnus Ihse Bursie wrote:

On 2017-04-20 15:59, Alan Bateman wrote:

On 20/04/2017 14:49, Magnus Ihse Bursie wrote:

Here's the first step towards fixing JDK-8177434 
. A framework is 
added for converting markdown specs to html using pandoc. The Java 
serialization spec is added in markdown format as a proof of 
concept. I also reintroduced the functionality to enable full docs 
if all prerequisites are present.


Note that this fix is dependent on the patch for JDK-8178038 et al 
that is currently out for review. The webrev is created with that 
patch as baseline.


This fix is part of JEP 299. I intend to push it to jdk9.

Here's an example of the generated output:
http://cr.openjdk.java.net/~ihse/JDK-8179022-javadoc-output-demo/specs/serialization/ 



Bug: https://bugs.openjdk.java.net/browse/JDK-8179022
WebRev: 
http://cr.openjdk.java.net/~ihse/JDK-8179022-add-markdown-serialization-spec/webrev.01
I just skimmed this and notice this adds class.gif with output that 
I think is serialver. This tool has been changed in JDK 9 to drop 
the GUI and so this image and the reference to the "Show" button are 
now obsolete. I'm sure you don't want want to get into issues like 
this but we will need to submit a few bugs to ensure that some of 
the dusty documents are updated.


You are right that I do not want to make any substantial changes to 
the documentation. I have made an effort to make sure the markdown is 
of a high quality (like any other source code), so that it should be 
easy to read and update. In this process I noticed a few minor issues 
(like syntactic errors in the examples, or incorrect/inconsistent 
formatting) which I have fixed.


I have also noticed some things that sound like they need to be 
updated, like the serialver stuff. I'm no expert on serialization, 
but perhaps I can have an offline chat with someone who are, and come 
with a couple of suggestions on things to improve with the 
documentation.


---

I just noticed that I had missed to do "hg add" so webrev did not 
pick up my new script that creates the pandoc bundle. Here's an 
updated webrev that added this:


http://cr.openjdk.java.net/~ihse/JDK-8179022-add-markdown-serialization-spec/webrev.02 



/Magnus



-Alan








Re: RFR: JDK-8179078: Jib run-test-prebuilt profile missing dependency on bootjdk

2017-04-21 Thread Erik Joelsson

(resending to include Christian)


On 2017-04-21 16:37, Erik Joelsson wrote:

Hello,

When using the run-test-prebuilt Jib profile to run tests, we need to 
set JT_JAVA to point to the boot jdk for jtreg. The configuration to 
set JT_JAVA is there, but I forgot to also add boot_jdk as a 
dependency on that profile.


Bug: https://bugs.openjdk.java.net/browse/JDK-8179078

Patch:

diff -r 111e2e7d00f4 common/conf/jib-profiles.js
--- a/common/conf/jib-profiles.js
+++ b/common/conf/jib-profiles.js
@@ -584,7 +584,7 @@
 var testOnlyProfilesPrebuilt = {
 "run-test-prebuilt": {
 src: "src.conf",
-dependencies: [ "jtreg", "gnumake", testedProfile + ".jdk",
+dependencies: [ "jtreg", "gnumake", "boot_jdk", 
testedProfile + ".jdk",

 testedProfile + ".test", "src.full"
 ],
 work_dir: input.get("src.full", "install_path") + "/test",


/Erik





RFR: JDK-8179078: Jib run-test-prebuilt profile missing dependency on bootjdk

2017-04-21 Thread Erik Joelsson

Hello,

When using the run-test-prebuilt Jib profile to run tests, we need to 
set JT_JAVA to point to the boot jdk for jtreg. The configuration to set 
JT_JAVA is there, but I forgot to also add boot_jdk as a dependency on 
that profile.


Bug: https://bugs.openjdk.java.net/browse/JDK-8179078

Patch:

diff -r 111e2e7d00f4 common/conf/jib-profiles.js
--- a/common/conf/jib-profiles.js
+++ b/common/conf/jib-profiles.js
@@ -584,7 +584,7 @@
 var testOnlyProfilesPrebuilt = {
 "run-test-prebuilt": {
 src: "src.conf",
-dependencies: [ "jtreg", "gnumake", testedProfile + ".jdk",
+dependencies: [ "jtreg", "gnumake", "boot_jdk", 
testedProfile + ".jdk",

 testedProfile + ".test", "src.full"
 ],
 work_dir: input.get("src.full", "install_path") + "/test",


/Erik



Re: RFR: JDK-8175036 All API docs should be built for HTML 5

2017-04-21 Thread Magnus Ihse Bursie

Jon,

Can you please open a separate bug for this? Just adding 
--doclint-format html5 generates a lot of failures, as Martin points 
out, so it's not feasible to do as part of this fix.


/Magnus

On 2017-04-21 03:08, Martin Buchholz wrote:

There would be a global cleanup involved for --doclint-format html5
A CSS expert can probably suggest replacements.

 [javac] ... src/main/java/util/Deque.java:30: error: attribute border
for table only accepts "" or "1", use CSS instead: BORDER
 [javac]  * 


On Thu, Apr 20, 2017 at 3:42 PM, Jonathan Gibbons <
jonathan.gibb...@oracle.com> wrote:


We probably want to set

--doclint-format html5

for javac as well, for the benefit of compilations that run doclint.

-- Jon



On 4/20/17 3:20 PM, Magnus Ihse Bursie wrote:


We should switch all uses of the javadoc tool to generate documentation
in HTML 5, using the -html5 option.

Bug: https://bugs.openjdk.java.net/browse/JDK-8175036
Patch inline:
diff --git a/make/Javadoc.gmk b/make/Javadoc.gmk
--- a/make/Javadoc.gmk
+++ b/make/Javadoc.gmk
@@ -84,7 +84,7 @@
  # The initial set of options for javadoc
  JAVADOC_OPTIONS := -XDignore.symbol.file=true -use -keywords
-notimestamp \
  -serialwarn -encoding ISO-8859-1 -breakiterator -splitIndex --system
none \
---expand-requires transitive
+-html5 --expand-requires transitive

  # Should we add DRAFT stamps to the generated javadoc?
  ifeq ($(VERSION_IS_GA), true)

/Magnus







Re: RFR: JDK-8175036 All API docs should be built for HTML 5

2017-04-21 Thread Erik Joelsson

Looks good to me.

/Erik


On 2017-04-21 00:20, Magnus Ihse Bursie wrote:
We should switch all uses of the javadoc tool to generate 
documentation in HTML 5, using the -html5 option.


Bug: https://bugs.openjdk.java.net/browse/JDK-8175036
Patch inline:
diff --git a/make/Javadoc.gmk b/make/Javadoc.gmk
--- a/make/Javadoc.gmk
+++ b/make/Javadoc.gmk
@@ -84,7 +84,7 @@
 # The initial set of options for javadoc
 JAVADOC_OPTIONS := -XDignore.symbol.file=true -use -keywords 
-notimestamp \
 -serialwarn -encoding ISO-8859-1 -breakiterator -splitIndex 
--system none \

---expand-requires transitive
+-html5 --expand-requires transitive

 # Should we add DRAFT stamps to the generated javadoc?
 ifeq ($(VERSION_IS_GA), true)

/Magnus




Re: Review Request: JDK-8179035: Include tool modules in unified docs

2017-04-21 Thread Alan Bateman

On 20/04/2017 19:37, Mandy Chung wrote:


A few modules are missing in the unified docs such as jdk.jcmd,
jdk.jdwp.agent, jdk.jstatd, etc.  Some tool modules are providers
and they were in the initial set.  The modules that are neither
a provider nor exporting any API package are missed in the initial
patch.

http://cr.openjdk.java.net/~mchung/jdk9/webrevs/8179035/webrev.00/


For jdk.rmic then it might be better to take the wording from the man 
page so that it reads:


"... to generate stub and skeleton class files (JRMP protocol) and stub 
and tie class files (IIOP protocol) for remote objects."


The proposed javadoc for jdk.pack looks okay to me.

-Alan