On Nov 24, 2010, at 6:06 PM, David Holmes wrote:

Kelly O'Hair said the following on 11/25/10 11:38:
On Nov 24, 2010, at 4:08 PM, David Holmes wrote:
Ok. So why not just USER_BUILD_INFO or CUSTOM_BUILD_INFO ? There's really no tie to "FCS" or not. In fact why not use USER_RELEASE_SUFFIX - see below ..
It's just a name, but we were looking for a name that told you it would be ignored if MILESTONE=fcs.

I see - that's not obvious from the webrev. I guess somewhere in there is some "magic" MILESTONE treatment. That said for a real fcs build I expect the complete version strings to specified by the "release" process on the build invocation not defaulting to whatever is in the Makefiles.

The whole way the versions are defined is a bit confusing, tricky stuff. Probably need a serious revamping someday. But in general, yes, if MILESTONE=fcs most values come from the command line or RE scripts.


USER_RELEASE_SUFFIX would work, and your suggestion below works too, although I still want to export USER_RELEASE_SUFFIX so that shell logic isn't repeated over and over, hard on windows systems.

I'm still unclear to where you are exporting this value? One of the doc makefiles utilizes USER_RELEASE_SUFFIX but doesn't need it to be exported presently.

The jdk makefiles are heavily nested, make running make, and these Defs files are repeatedly parsed over and
over, maybe 100's of times for a top level Makefile?
The export pushes the variable into the environment so that the lower nested makefiles see the definition as an environment variable and if you use ifndef then you avoid the recalculations or shell execs. Solaris/Linux aren't bothered by the excessive execs that much, but Windows suffers from it. I've been trying to lower the total exec count when the Defs files are parsed to make windows builds faster.


I'll need to change all NONFCS_BUILD_INFO to USER_RELEASE_SUFFIX in the hotspot files.
That also cures John's complaint about the "fcs" name too.
Check this one out:
 http://cr.openjdk.java.net/~ohair/openjdk7/nonfcs-version2/webrev/

I can give Thumbs Up as is.

OK.

-kto


Thanks,
David

-kto

When full builds of jdk7 are done, we wanted a single variable that would add some extra identification string to all version strings. Hudson systems and JPRT can use this to uniquely identify all full builds so that testing teams can report an exact build on bugs.

I see. I'm not sure why you re-export the variable here (jdk/.../ Defs.gmk) as it doesn't appear to get used anywhere else:

+   ifndef NONFCS_BUILD_INFO
    BUILD_DATE := $(shell $(DATE) '+%Y_%m_%d_%H_%M')
CLEAN_USERNAME := $(shell $(ECHO) "$(USER)" | $(TR) -d -c '[:alnum:]') USER_RELEASE_SUFFIX := $(shell $(ECHO) "$(CLEAN_USERNAME)_$ (BUILD_DATE)" | $(TR) '[:upper:]' '[:lower:]' )
!     NONFCS_BUILD_INFO = $(USER_RELEASE_SUFFIX)
!   endif
!   export NONFCS_BUILD_INFO
!   FULL_VERSION = $(RELEASE)-$(NONFCS_BUILD_INFO)-$(BUILD_NUMBER)

It would seem a little simpler/cleaner to me to instead just do:

 ifndef NONFCS_BUILD_INFO
    BUILD_DATE := $(shell $(DATE) '+%Y_%m_%d_%H_%M')
CLEAN_USERNAME := $(shell $(ECHO) "$(USER)" | $(TR) -d -c '[:alnum:]') USER_RELEASE_SUFFIX := $(shell $(ECHO) "$(CLEAN_USERNAME)_$ (BUILD_DATE)" | $(TR) '[:upper:]' '[:lower:]' )
 else
   USER_RELEASE_SUFFIX := $(NONFCS_BUILD_INFO)
 endif
 FULL_VERSION = $(RELEASE)-$(USER_RELEASE_SUFFIX)-$(BUILD_NUMBER)

And this would be even simpler if USER_RELEASE_SUFFIX were the variable that was set externally in the first place.

 ifndef USER_RELEASE_SUFFIX
    BUILD_DATE := $(shell $(DATE) '+%Y_%m_%d_%H_%M')
CLEAN_USERNAME := $(shell $(ECHO) "$(USER)" | $(TR) -d -c '[:alnum:]') USER_RELEASE_SUFFIX := $(shell $(ECHO) "$(CLEAN_USERNAME)_$ (BUILD_DATE)" | $(TR) '[:upper:]' '[:lower:]' )
 endif
 FULL_VERSION = $(RELEASE)-$(USER_RELEASE_SUFFIX)-$(BUILD_NUMBER)


Cheers,
David



Any why use the same NONFCS_BUILD_INFO for Hotspot and the JDK when they typically report different version strings anyway ???
It's extra build information, not really a change in the component version number.
-kto

David

Aside from that, looks fine.
-John
On Nov 24, 2010, at 11:28 AM, Mark Wielaard wrote:

On Wed, 2010-11-24 at 11:19 -0800, Kelly O'Hair wrote:
I need a reviewer for this change:

6987107: Add NONFCS_BUILD_INFO variable to add to but not modify
MILESTONE in version string
http://javaweb.sfbay.sun.com/~ohair/webrevs/jdk7/nonfcs-version/webrev/
Bit hard to review if the host isn't reachable :)
Could you just attach the patch to your email,
or post it on some publicly reachable machine?

Thanks,

Mark


Reply via email to