On 14:44 Mon 29 Nov , Kelly O'Hair wrote: > > Need reviewers and comments: > 6989472: Provide simple jdk identification information in the > install image > http://cr.openjdk.java.net/~ohair/openjdk7/jdk_release/webrev/ > > With JDK6 Updates we purposely resisted many rebranding changes that > could impacted > customers, however at one point we had accidently changed the Windows > DLL/EXE > COMPANY value thinking that no one would be looking at it. > We were wrong and this change cause Eclipse failures, so we are > looking for a solution, see: > https://bugs.eclipse.org/bugs/show_bug.cgi?id=321390 > So we went back and change JDK6 Updates back the way it was, and > learned a valuable lesson. > > But we have and will change JDK7 in this regard, so we wanted a better > way for an app to > know what it had it's hands on without using platform specific > information in the binary files. > > The above change creates a small text file called "jdk.release" at the > top of the install image > with some basic values that could help direct any app using the jdk in > constructing a command > line or even being assured that this jdk install image will even work > on your existing system. > In the Eclipse case it was looking for "Sun", but I suspect it really > wanted to know if the VM was > "Hotspot" because I think it was trying to set a Hotspot specific > PermGen option. > In any case I think this jdk.release file should provide the necessary > answers in the future. > > The make variable COMPANY_NAME determines the vendor name during a > build, > so a Linux 64bit build from a make command line like: > make COMPANY_NAME="Test Company Name" > should result in a jdk.release file that looks something like: > > os.name = Linux > os.version = 2.6 > os.arch = amd64 > java.vendor = Test Company Name > java.version = 1.7.0-internal > java.vm.vendor = Test Company Name > java.vm.name = Hotspot(TM) > java.vm.version = 20.0-b02 > > A formal Oracle jdk7 EA build on Linux 64bit should look something like: > > os.name = Linux > os.version = 2.6 > os.arch = amd64 > java.vendor = Oracle Corporation > java.version = 1.7.0-ea > java.vm.vendor = Oracle Corporation > java.vm.name = Hotspot(TM) > java.vm.version = 20.0-b02 > > Comments are welcome. Although, polite constructive comments are > probably more what I'd like to see. ;^) > > -kto >
So what happens if a build does not set COMPANY_NAME? There won't always be an appropriate value for this. Given this is aimed mainly at the Eclipse hackers, have they been notified of this addition? I agree with the previous comment that it should use the standard '.properties' extension and be standardised for cross-JDK usage. Of course, that's only useful if the JSR concerned is actually available under terms which will allow their use with FOSS. I believe this is still not the case with most JSRs. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint = F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8