Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8024553

Add a system property to keep internal build data to serve properly as build identity.

    Details

    • Type: Enhancement
    • Status: Closed
    • Priority: P2
    • Resolution: Won't Fix
    • Affects Version/s: 8
    • Fix Version/s: 10
    • Component/s: infrastructure
    • Labels:
      None

      Description

      The aim of this RFE is to simplify house-keeping of build artifacts and prevent engineers errors during JDK testing and development.
      For example, we would like to know:
      - (previous) promoted release/build number (standard version string has this, i.e. 1.8.0-ea-b105)
      - product name (same as above, but we'd like to be able to distinguish noncommercial builds too, product name is the most logical place for that)
      - date of the build (timestamp)
      - 'group' (may be 'project' is a better name) - repository of the build - master/lambda/jsr308/jigsaw/core-libs/master-noncommercial
      - intent' (or 'type' or 'variant') of the build: promotion (default), nightly, adhoc, PIT, etc.

      more things may come up, so we like to have this adjustable for RE/SQE.

      Things like 'release' file won't fit - we need something like a system property requestable at runtime. (consider for instance install tests use-cases)
      This data is shared by all artifacts of the build of all platforms - bundles, zipped/tarred, unpacked binaries.

      For instance, deployment testing may install java on the machine (even to the default location) and then just run /usr/bin/java our.jar to find out the identity above.

      We don't need a special key to get it right from java executable like java -fullversion, and we may keep it strongly encrypted so that no information would slip into outer world.
      We may even afford changing encryption keys monthly.

      All in all the above data doesn't seem dangerous to share.
       

        Issue Links

          Activity

          Hide
          nzinovie Nikita Zinoviev (Inactive) added a comment -
          I've been told by Claes Rederstadt about java -Xinternalversion and it already has the build date (start of the build on a given build machine), so it seems we are not trying to publish something which is not already published.

          Java HotSpot(TM) Server VM (20.6-b01) for solaris-x86 JRE (1.6.0_31-b05), built on Feb 3 2012 19:06:42 by "" with Workshop 5.8
          Java HotSpot(TM) 64-Bit Server VM (23.7-b01) for solaris-amd64 JRE (1.7.0_17-b02), built on Mar 1 2013 06:05:42 by "" with Sun Studio 12u1
          Show
          nzinovie Nikita Zinoviev (Inactive) added a comment - I've been told by Claes Rederstadt about java -Xinternalversion and it already has the build date (start of the build on a given build machine), so it seems we are not trying to publish something which is not already published. Java HotSpot(TM) Server VM (20.6-b01) for solaris-x86 JRE (1.6.0_31-b05), built on Feb 3 2012 19:06:42 by "" with Workshop 5.8 Java HotSpot(TM) 64-Bit Server VM (23.7-b01) for solaris-amd64 JRE (1.7.0_17-b02), built on Mar 1 2013 06:05:42 by "" with Sun Studio 12u1
          Hide
          nzinovie Nikita Zinoviev (Inactive) added a comment -
          The following may be useful - from the above wiki page:

          -type
          Type of the build nightly, promotion

          variant The variant of the build:
             oraclejdk - internal builds with commercial features
                  non-commercial - early access builds that do not contain commercial features, these bundles are pushed to java.net / CAP
                  openjdk - openjdk only build, closed forests are not included, the fact that build is openjdk can be seen from the 'product name' listed in the version string.
                  fastdebug - fastdebug only build -- this one is questionable, may be determined by the (jvm?) version string.
           
          The most useful one is 'project'. I feel it's better than the 'group' described above:

          project -The project under the release. Examples:
          - master
          - lambda
          - jsr308
          ...
          - jigsaw

          'master' value is used for all promo-like (same repo, same build setup) nightly builds (e.g. jdk8, 7u40). Thus, even if the promoted builds are built from a repository that hasn't been forked yet (generally prior to RD2, for example 7u-cpu), the nightlies from such repository also have the 'master' value.


          Show
          nzinovie Nikita Zinoviev (Inactive) added a comment - The following may be useful - from the above wiki page: -type Type of the build nightly, promotion variant The variant of the build:    oraclejdk - internal builds with commercial features         non-commercial - early access builds that do not contain commercial features, these bundles are pushed to java.net / CAP         openjdk - openjdk only build, closed forests are not included, the fact that build is openjdk can be seen from the 'product name' listed in the version string.         fastdebug - fastdebug only build -- this one is questionable, may be determined by the (jvm?) version string.   The most useful one is 'project'. I feel it's better than the 'group' described above: project -The project under the release. Examples: - master - lambda - jsr308 ... - jigsaw 'master' value is used for all promo-like (same repo, same build setup) nightly builds (e.g. jdk8, 7u40). Thus, even if the promoted builds are built from a repository that hasn't been forked yet (generally prior to RD2, for example 7u-cpu), the nightlies from such repository also have the 'master' value.
          Hide
          nzinovie Nikita Zinoviev (Inactive) added a comment -
          INTJDK-7607676 is our latest brainstorm on the subject and contains more clear presentation of the properties we want to have.
          Show
          nzinovie Nikita Zinoviev (Inactive) added a comment - INTJDK-7607676 is our latest brainstorm on the subject and contains more clear presentation of the properties we want to have.
          Hide
          ihse Magnus Ihse Bursie added a comment -
          I believe the information you request is now available in the the full version string after Verona.

          If you still need more information, please specify and reopen this bug.
          Show
          ihse Magnus Ihse Bursie added a comment - I believe the information you request is now available in the the full version string after Verona. If you still need more information, please specify and reopen this bug.

            People

            • Assignee:
              Unassigned
              Reporter:
              nzinovie Nikita Zinoviev (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: