How does ct.sym get created under the new build?
Erik Joelsson
erik.joelsson at oracle.com
Tue Feb 19 00:00:44 PST 2013
Looks good to me.
/Erik
On 2013-02-19 06:44, Joe Darcy wrote:
> David,
>
> Thank you!!
>
> The following patch to that file achieved exactly the effect I wanted:
>
> hg diff common/makefiles/javadoc/NON_CORE_PKGS.gmk
> diff -r 76808fb4194a common/makefiles/javadoc/NON_CORE_PKGS.gmk
> --- a/common/makefiles/javadoc/NON_CORE_PKGS.gmk Wed Feb 13
> 11:21:14 2013 -0800
> +++ b/common/makefiles/javadoc/NON_CORE_PKGS.gmk Mon Feb 18
> 21:39:49 2013 -0800
> @@ -80,7 +80,8 @@
>
> TREEAPI_PKGS = com.sun.source.doctree \
> com.sun.source.tree \
> - com.sun.source.util
> + com.sun.source.util \
> + jdk
>
> SMARTCARDIO_PKGS = javax.smartcardio
>
> @@ -93,6 +94,8 @@
> com.apple.eio
> endif
>
> +JDK_PKGS = jdk
> +
> # non-core packages in rt.jar
> NON_CORE_PKGS = $(DOMAPI_PKGS) \
> $(MGMT_PKGS) \
> @@ -103,5 +106,5 @@
> $(HTTPSERVER_PKGS) \
> $(SMARTCARDIO_PKGS) \
> $(SCTPAPI_PKGS) \
> - $(APPLE_EXT_PKGS)
> -
> + $(APPLE_EXT_PKGS) \
> + $(JDK_PKGS)
>
> (The jdk package may merit its own javadoc separate from the
> javac-related API, but that can be addressed as future work.)
>
> build-infra folk: please review the patch above. (It would be really
> helpful to retire the old build system; it is like an abandoned mine
> luring people in.)
>
> Thanks,
>
> -Joe
>
> On 02/18/2013 07:37 PM, David Holmes wrote:
>> Hi Joe,
>>
>> Not sure of the full details but see jdk/makefiles/CreateJars.gmk.
>> The files you want seem to be:
>>
>> include javadoc/CORE_PKGS.gmk
>> include javadoc/NON_CORE_PKGS.gmk
>>
>> which are in the top-level repo:
>>
>> ./common/makefiles/javadoc/
>>
>> David
>>
>>
>> On 19/02/2013 1:09 PM, Joe Darcy wrote:
>>> Hello,
>>>
>>> Previously, I added a new "jdk.Supported" annotation type to the
>>> platform [1] With some effort, this file was included in rt.jar under
>>> both new and old builds.
>>>
>>> I've been working on applying this annotation to the langtools repo to
>>> document that the javac tree API (com.sun.source.*) is JDK-supported.
>>> That all went fine until I did a build of a repo with the annotation
>>> and, just to be extra cautious, I ran the langtools regression tests.
>>> Several tests failed because while jdk.Supported is in rt.jar, it is
>>> not
>>> currently in ct.sym (and thus not visible by default during
>>> compilation).
>>>
>>> No problem, I just need to get "jdk" added to the list of packages used
>>> to construct ct.sym. I took a stab at doing this:
>>>
>>> $ hg diff
>>> diff -r bcde0486261e make/docs/Makefile
>>> --- a/make/docs/Makefile Mon Feb 18 08:14:18 2013 +0000
>>> +++ b/make/docs/Makefile Mon Feb 18 19:02:16 2013 -0800
>>> @@ -1008,7 +1008,7 @@
>>> TREEAPI_HEADER := <strong>Compiler Tree API</strong>
>>> TREEAPI_BOTTOM := $(call
>>> CommonBottom,$(TREEAPI_FIRST_COPYRIGHT_YEAR))
>>> TREEAPI_GROUPNAME := Packages
>>> -TREEAPI_REGEXP := com.sun.source.*
>>> +TREEAPI_REGEXP := com.sun.source.*:jdk
>>> # TREEAPI_PKGS is located in NON_CORE_PKGS.gmk
>>>
>>> TREEAPI_INDEX_HTML = $(TREEAPI_DOCDIR)/index.html
>>> diff -r bcde0486261e make/docs/NON_CORE_PKGS.gmk
>>> --- a/make/docs/NON_CORE_PKGS.gmk Mon Feb 18 08:14:18 2013 +0000
>>> +++ b/make/docs/NON_CORE_PKGS.gmk Mon Feb 18 19:02:16 2013 -0800
>>> @@ -78,7 +78,8 @@
>>>
>>> TREEAPI_PKGS = com.sun.source.doctree \
>>> com.sun.source.tree \
>>> - com.sun.source.util
>>> + com.sun.source.util \
>>> + jdk
>>>
>>> SMARTCARDIO_PKGS = javax.smartcardio
>>>
>>> @@ -91,6 +92,8 @@
>>> com.apple.eio
>>> endif
>>>
>>> +JDK_PKGS = jdk
>>> +
>>> # non-core packages in rt.jar
>>> NON_CORE_PKGS = $(DOMAPI_PKGS) \
>>> $(MGMT_PKGS) \
>>> @@ -101,5 +104,6 @@
>>> $(HTTPSERVER_PKGS) \
>>> $(SMARTCARDIO_PKGS) \
>>> $(SCTPAPI_PKGS) \
>>> - $(APPLE_EXT_PKGS)
>>> + $(APPLE_EXT_PKGS)\
>>> + $(JDK_PKGS)
>>>
>>> but to no avail. The modifications above do *not* seem to influence the
>>> construction of ct.sym under the new build. After making these changes,
>>> I've rerun configure, done a make clean, then a make, etc.
>>>
>>> Turning on logging during an images build,
>>>
>>> [...]
>>> /bin/mkdir -p
>>> /home/darcy/Sun/OpenJDK/8/hg/tl/build/linux-x86_64-normal-server-release/images/symbols/META-INF/sym
>>>
>>>
>>> /home/darcy/Sun/OpenJDK/jdk1.7.0_02/bin/java -Xms64M -Xmx1100M
>>> -XX:PermSize=32m -XX:MaxPermSize=160m -XX:ThreadStackSize=1536
>>> "-Xbootclasspath/p:/home/darcy/Sun/OpenJDK/8/hg/tl/build/linux-x86_64-normal-server-release/langtools/dist/bootstrap/lib/javac.jar"
>>>
>>> -cp
>>> /home/darcy/Sun/OpenJDK/8/hg/tl/build/linux-x86_64-normal-server-release/langtools/dist/bootstrap/lib/javac.jar
>>>
>>> com.sun.tools.javac.Main \
>>> -bootclasspath
>>> /home/darcy/Sun/OpenJDK/8/hg/tl/build/linux-x86_64-normal-server-release/jdk/classes
>>>
>>> \
>>> -XDprocess.packages -proc:only \
>>> [... long list of packages]
>>>
>>> The packages do not seem to be passed in the order indicated by the
>>> command in jdk/make/common/Release.gmk.
>>>
>>> As an experiment, I went in and hacked in "add("jdk")" to the
>>> CreateSymbols program in langtools which constructs ct.sym; if the jdk
>>> package is included manually, all works fine. This rules out problem in
>>> langtools in processing the jdk package.
>>>
>>> How can I get the "jdk" package included in ct.sym in the new build?
>>>
>>> Thanks,
>>>
>>> -Joe
>>>
>>> [1] 8001614: Include annotation type to documented supported-ness,
>>> http://hg.openjdk.java.net/jdk8/tl/langtools/rev/55cca2f38ee6
>
More information about the build-infra-dev
mailing list