Uploaded image for project: 'Groovy'
  1. Groovy
  2. GROOVY-6308

Timestamps in bytecode prevents baselining of code

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • 2.1.6
    • None
    • Compiler
    • None

    Description

      The Groovy compiler generates timestamps in the byte code such as:
      // Field _timeStamp_239_neverHappen1376222554342:J

      Because of this, every build will produce different class files.

      We are moving towards baselining of jars using bnd (https://github.com/bndtools/bnd/wiki/Baselining-%5Bbeta%5D). Baselining helps versioning exported packages and bundles (jar files) correctly using the semantic versioning scheme. When class files change between builds the baseline diff will always notice a change, even when the code was actually not changed.

      Besides the baselining issue I think builds should produce the exact same byte code on successive runs when there are no changes.

      This issue is related to GROOVY-4102.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              paulbakker Paul Bakker
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: