[
https://issues.apache.org/jira/browse/DERBY-4263?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12744031#action_12744031
]
Kristian Waagan commented on DERBY-4263:
----------------------------------------
Thanks, Myrna.
I'm on vacation right now, but will look more into this when I come back.
Note that the new algorithm relies on meta data recorded in the jar files of
the JDK distribution - it doesn't actually start the VM to extract it.
We could do that, but I thought that will be more expensive than just doing a
few file checks on the file system.
My quick notes from the IBM JDKs:
- To pick IBM, you have to run IBM (as the VM invoking ant)
- I didn't know exactly which JAR file(s) to check for the IBM JDKs, all I
found had incomplete information (i.e. no vendor)
- Versions differ (i.e. 1.6.0 vs 6.0).
It may be that the logic for IBM JDK 6 is simply broken, due to the missing
vendor and the different version string.
> PropertySetter isn't able to recognize JDK without version number in path
> -------------------------------------------------------------------------
>
> Key: DERBY-4263
> URL: https://issues.apache.org/jira/browse/DERBY-4263
> Project: Derby
> Issue Type: Bug
> Components: Build tools
> Affects Versions: 10.6.0.0
> Reporter: Knut Anders Hatlen
> Assignee: Kristian Waagan
> Priority: Minor
> Fix For: 10.6.0.0
>
> Attachments: derby-4263-1a-jdk_detection_by_jars.diff,
> derby-4263-1b-jdk_detection_by_jars.diff
>
>
> With empty ant.properties and JDK 6 installed in /tmp/jdk as the only JDK on
> the system, PropertySetter complains that it's not able to set
> java16compile.classpath:
> ,----
> | [setJdkProperties]
> | [setJdkProperties] PropertySetter environment =
> | [setJdkProperties]
> | [setJdkProperties] java.vendor = Sun Microsystems Inc.
> | [setJdkProperties] java.home = /tmp/jdk/jre
> | [setJdkProperties] java.version = 1.6.0_13
> | [setJdkProperties] os.name = SunOS
> | [setJdkProperties] j14lib = null
> | [setJdkProperties] j15lib = null
> | [setJdkProperties] j16lib = null
> | [setJdkProperties]
> |
> | BUILD FAILED
> | /code/derby/trunk0/build.xml:203: Don't know how to set
> java15compile.classpath, java16compile.classpath using this environment:
> |
> | java.vendor = Sun Microsystems Inc.
> | java.home = /tmp/jdk/jre
> | java.version = 1.6.0_13
> | os.name = SunOS
> | j14lib = null
> | j15lib = null
> | j16lib = null
> `----
> Since it is able to detect both that the version of the default JDK is
> 1.6.0_13 and where it is installed, setting java16compile.classpath should be
> trivial.
> If the name of the JDK directory is changed from /tmp/jdk to /tmp/jdk1.6.0,
> Derby is built successfully.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.