Comments (10)
I personally think it should be the other way (eg build time) - doing partial builds is par for the course doing JIT development and I worry that if the version is not computed at build time doubt about what is actually in a build will creep in which will cost development time and needless confusion - right now we can trust the version in the string is the version that was used to build 100% and I worry the configure-time option loses that fidelity and unambiguous trust we can place in the SHAs today.
from openj9-openjdk-jdk.
Do you think it should be the other way around (openjdk SHA is computed at build time)?
from openj9-openjdk-jdk.
Do you think it should be the other way around (openjdk SHA is computed at build time)?
+1 from me. Having all the SHAs reflect what was built makes the most sense. While both approaches are acceptable for the Adopt builds as they start from a clean slate each time, I agree with Andrew that incremental builds are more common for developer workflows. Better to accurately list the SHAs in -version
to avoid confusion when comparing builds.
from openj9-openjdk-jdk.
from openj9-openjdk-jdk.
As I started working on this, I noticed that the openjdk SHA is computed only at configuration time, while the openj9 and omr SHAs are computed at build time. I plan to remove this inconsistency by computing all three SHAs (only) at configuration time. Printing the results at configuration time should then be sufficient.
from openj9-openjdk-jdk.
Here's a sample of the new configuration output (for jdk11):
checking for m4... /usr/bin/m4
Source versions:
openjdk - 7e023948526
openj9 - 015d3630dec
omr - e2fac34fcb3
checking CUDA_HOME... /home/keithc/opt/cuda-11.0
from openj9-openjdk-jdk.
I plan to remove this inconsistency by computing all three SHAs (only) at configuration time.
This may be confusing for developers who are updating the source and re-building.
from openj9-openjdk-jdk.
I'm not familiar with all dev workflows but I just wanted to say that build time sha is not necessarily 100% accurate. The files can still be modified by hand and not committed to Git. If you wanted 100% you could build into your SHA check a Git status check and print some kind of asterisk * with the SHA if the status was not clean. But maybe that's an edge case not worth solving?
from openj9-openjdk-jdk.
If we agree to use build-time SHAs (that seems to be the consensus we're approaching), then eclipse-openj9/openj9#9658 will want more attention so those incremental builds don't take longer than they should.
from openj9-openjdk-jdk.
This can be closed once these are merged:
- ibmruntimes/openj9-openjdk-jdk8#455
- ibmruntimes/openj9-openjdk-jdk11#357
- ibmruntimes/openj9-openjdk-jdk15#40
- #244
from openj9-openjdk-jdk.
Related Issues (20)
- Build_JDKnext_x86-64_windows No rule to make target 'java.desktop<cr>' HOT 1
- Windows openj9-staging failing to compile, merge problem HOT 6
- Include debug symbols in the SDK HOT 3
- Github actions from upstream OpenJDK running on PRs HOT 1
- Update Openj9PropsExt.java to set necessary Properties for @requeries expressions HOT 1
- Contribute #260 to OpenJDK HOT 4
- Contribute #282 to OpenJDK
- Re-enable NativeGCM lost due to OpenJDK update 8255557: Decouple GCM from CipherCore HOT 2
- Missing TEST.groups file needed to enable AGCT unit testing HOT 8
- Tags in extension repos HOT 1
- --disable-warnings-as-errors-o* is ignored in cmake mode HOT 5
- CRIU: Performance regression
- Porting adopting RI java.lang.Thread/ThreadGroup w/ --enable-openjdk-thread-support to other Java levels HOT 2
- Enabling CMake by default for cross-compiles HOT 14
- PR build limitation: test framework takes the default extension repo branch instead of current change HOT 2
- openjdk-tag.gmk:OPENJDK_TAG doesn't match actual openjdk tag merged HOT 1
- Contribute #535 to OpenJDK HOT 2
- Extension test change is not picked up by PR builds. HOT 7
- SunPKCS11 fails silently when there is an error in the PKCS11 configuration file
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openj9-openjdk-jdk.