Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Duplicate
-
2.1.6
-
None
-
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
- duplicates
-
GROOVY-4102 remove timestamp fields for better hotswap
- Closed
- is related to
-
GROOVY-5390 groovyc class generation kind of break default serialVersionUID generation by the jvm
- Closed