Compare commits

..

549 Commits

Author SHA1 Message Date
Tobias Hartmann
b8c88a3e91 8321599: Data loss in AVX3 Base64 decoding
Reviewed-by: chagedorn
Backport-of: 13c11487f7
2024-01-04 09:16:19 +00:00
Ioi Lam
ea6d79ff94 8322321: Add man page doc for -XX:+VerifySharedSpaces
Reviewed-by: ccheung
Backport-of: f7dc257a20
2023-12-21 02:24:53 +00:00
Gui Cao
c249229b3c 8322154: RISC-V: JDK-8315743 missed change in MacroAssembler::load_reserved
Reviewed-by: fyang
Backport-of: 59073fa3eb
2023-12-21 02:09:05 +00:00
Alex Menkov
fb3cc98da3 8321565: [REDO] Heap dump does not contain virtual Thread stack references
Reviewed-by: sspitsyn
Backport-of: cf948548c3
2023-12-21 01:48:37 +00:00
Alisen Chung
a05f3d10cc 8322041: JDK 22 RDP1 L10n resource files update
Reviewed-by: kcr, naoto
Backport-of: b061b6678f
2023-12-20 21:41:55 +00:00
Erik Österlund
3ae97bc502 8321619: Generational ZGC: ZColorStoreGoodOopClosure is only valid for young objects
Reviewed-by: sjohanss
Backport-of: be49dabd0d
2023-12-20 09:16:55 +00:00
Aleksei Voitylov
049be572ef 8321514: UTF16 string gets constructed incorrectly from codepoints if CompactStrings is not enabled
Reviewed-by: rriggs, iris
Backport-of: fde5b16817
2023-12-19 21:33:50 +00:00
Naoto Sato
57d97b52c9 8321958: @param/@return descriptions of ZoneRules#isDaylightSavings() are incorrect
Reviewed-by: bpb
Backport-of: 87ef73329f
2023-12-15 18:12:37 +00:00
Tobias Hartmann
6b46c776e4 8320682: [AArch64] C1 compilation fails with "Field too big for insn"
Reviewed-by: chagedorn
Backport-of: 69014cd55b
2023-12-15 14:28:47 +00:00
Jamil Nimeh
d7b592ab21 8321542: C2: Missing ChaCha20 stub for x86_32 leads to crashes
Reviewed-by: kvn
Backport-of: 5718039a46
2023-12-14 18:09:04 +00:00
Jorn Vernee
d62249a3ab 8321400: java/foreign/TestStubAllocFailure.java fails with code cache exhaustion
Reviewed-by: mcimadamore
Backport-of: 7ece9e90c0
2023-12-14 14:58:01 +00:00
Tobias Hartmann
41b7296f49 8321974: Crash in ciKlass::is_subtype_of because TypeAryPtr::_klass is not initialized
Reviewed-by: epeter, tholenstein
Backport-of: c8ad7b7f84
2023-12-14 09:42:38 +00:00
Adam Sotona
a55e18baf0 8321641: ClassFile ModuleAttribute.ModuleAttributeBuilder::moduleVersion spec contains a copy-paste error
Reviewed-by: alanb
Backport-of: 3c6459e1de
2023-12-13 08:48:44 +00:00
Christian Stein
ae77bd009f 8321739: Source launcher fails with "Not a directory" error
Reviewed-by: jlahoda
Backport-of: df4ed7eff7
2023-12-12 21:07:56 +00:00
Jorn Vernee
9f0469b94a 8320886: Unsafe_SetMemory0 is not guarded
Reviewed-by: shade
Backport-of: ce4b257fa5
2023-12-12 14:26:38 +00:00
Thomas Schatzl
379a8bbb5d 8321422: Test gc/g1/pinnedobjs/TestPinnedObjectTypes.java times out after completion
Reviewed-by: ayang, iwalulya
Backport-of: 7d903964fb
2023-12-12 11:09:28 +00:00
Per Minborg
e88a022072 8321387: SegmentAllocator:allocateFrom(AddressLayout, MemorySegment) does not throw stated UnsupportedOperationException
Reviewed-by: mcimadamore
Backport-of: d13302f8b0
2023-12-11 16:43:40 +00:00
Martin Doerr
cbec97c945 8321539: Minimal build is broken by JDK-8320935
Reviewed-by: iklam
Backport-of: 5e6bfc5eaa
2023-12-09 00:04:14 +00:00
Naoto Sato
e5684da6e5 8321409: Console read line with zero out should zero out underlying buffer in JLine (redux)
Reviewed-by: alanb
Backport-of: 4ed38f5ad5
2023-12-08 18:15:10 +00:00
Jaikiran Pai
508d04f71f 8316738: java/net/httpclient/HttpClientLocalAddrTest.java failed in timeout
Reviewed-by: dfuchs
Backport-of: f577385fc8
2023-12-08 11:03:34 +00:00
Weijun Wang
7de0fb3613 8320597: RSA signature verification fails on signed data that does not encode params correctly
Reviewed-by: valeriep
Backport-of: 11e4a925be
2023-12-08 03:01:17 +00:00
Thomas Schatzl
86f9b3f52a 8319313: G1: Rename G1EvacFailureInjector appropriately
Reviewed-by: mli, iwalulya, ayang
2023-12-07 16:44:32 +00:00
Johan Sjölen
a7f6016406 8320370: NMT: Change MallocMemorySnapshot to simplify code.
Reviewed-by: stuefe, gziemski, stefank
2023-12-07 15:58:50 +00:00
Alan Bateman
58530f4098 8321223: Implementation of Scoped Values (Second Preview)
Reviewed-by: psandoz, mcimadamore
2023-12-07 15:07:26 +00:00
Hamlin Li
2f9e70e4ad 8321001: RISC-V: C2 SignumVF
8321002: RISC-V: C2 SignumVD

Reviewed-by: fyang
2023-12-07 14:29:07 +00:00
Erik Gahlin
de95259306 8316454: JFR break locale settings
Reviewed-by: mgronlun
2023-12-07 13:50:43 +00:00
Brett Okken
c42535f111 8321470: ThreadLocal.nextHashCode can be static final
Reviewed-by: shade, jpai
2023-12-07 13:02:40 +00:00
Maurizio Cimadamore
42bb852696 8321467: MemorySegment.setString(long, String, Charset) throws IAE(Misaligned access)
Reviewed-by: pminborg
2023-12-07 12:51:42 +00:00
Erik Gahlin
c087e9174e 8321505: JFR: Update views
Reviewed-by: mgronlun
2023-12-07 12:35:05 +00:00
Daniel Jeliński
ead4fb1464 8321519: Typo in exception message
Reviewed-by: jpai
2023-12-07 12:00:12 +00:00
Erik Gahlin
b5933b186f 8320805: JFR: Create view for deprecated methods
Reviewed-by: mgronlun
2023-12-07 11:54:32 +00:00
Alan Bateman
29d7a22348 8321270: Virtual Thread.yield consumes parking permit
Reviewed-by: sspitsyn
2023-12-07 11:41:41 +00:00
Prasanta Sadhukhan
0b0fa47f84 8319925: CSS.BackgroundImage incorrectly uses double-checked locking
Reviewed-by: aivanov
2023-12-07 11:41:30 +00:00
Mark Sheppard
0048f1da4c 8263256: Test java/net/Inet6Address/serialize/Inet6AddressSerializationTest.java fails due to dynamic reconfigurations of network interface during test
Reviewed-by: jpai
2023-12-07 11:27:42 +00:00
Markus Grönlund
49fff0132b 8211238: @Deprecated JFR event
Reviewed-by: egahlin, jbachorik
2023-12-07 10:45:55 +00:00
Aleksey Shipilev
656b446289 8320969: Shenandoah: Enforce stable number of GC workers
Reviewed-by: kdnilsen, wkemper, ysr
2023-12-07 09:33:57 +00:00
Hannes Wallnöfer
9a87e52c0c 8320538: Obsolete CSS styles in collection framework doc-file
Reviewed-by: alanb
2023-12-07 09:23:21 +00:00
Jan Lahoda
03c4595173 8321164: javac with annotation processor throws AssertionError: Filling jrt:/... during JarFileObject[/...]
Reviewed-by: vromero, mcimadamore
2023-12-07 09:09:19 +00:00
Alexander Zvegintsev
632a3c56e0 8305825: getBounds API returns wrong value resulting in multiple Regression Test Failures on Ubuntu 23.04
Reviewed-by: prr, achung, honkar, aivanov
2023-12-07 03:34:49 +00:00
Markus Grönlund
75a7c199d8 8315827: Kitchensink.java and RenaissanceStressTest.java time out with jvmti module errors
Reviewed-by: egahlin
2023-12-06 22:59:26 +00:00
Phil Race
91ffdfb1fc 8320365: IPPPrintService.getAttributes() causes blanket re-initialisation
Reviewed-by: aivanov, azvegint
2023-12-06 21:59:23 +00:00
Albert Mingkun Yang
50baaf46b7 8321013: Parallel: Refactor ObjectStartArray
Reviewed-by: tschatzl, sjohanss
2023-12-06 21:58:56 +00:00
Phil Race
afb896400b 8320443: [macos] Test java/awt/print/PrinterJob/PrinterDevice.java fails on macOS
Reviewed-by: aivanov, azvegint
2023-12-06 21:57:05 +00:00
Jim Laskey
82796bdebb 8320570: NegativeArraySizeException decoding >1G UTF8 bytes with non-ascii characters
Reviewed-by: rriggs
2023-12-06 21:55:05 +00:00
Joe Darcy
781775d73b 8321484: Make TestImplicitlyDeclaredClasses release independent
Reviewed-by: vromero
2023-12-06 21:24:56 +00:00
Aleksey Shipilev
b02fc8681e 8321122: Shenandoah: Remove ShenandoahLoopOptsAfterExpansion flag
Reviewed-by: kdnilsen, roland, rkennke
2023-12-06 21:19:24 +00:00
Aleksey Shipilev
2830dd2a7d 8321410: Shenandoah: Remove ShenandoahSuspendibleWorkers flag
Reviewed-by: rkennke
2023-12-06 21:17:19 +00:00
Stefan Karlsson
f4822605af 8319969: os::large_page_init() turns off THPs for ZGC
Reviewed-by: stuefe, aboldtch
2023-12-06 19:07:30 +00:00
Joe Darcy
3edc24a71d 8321073: Defer policy of disabling annotation processing by default
Reviewed-by: vromero, jlahoda, mcimadamore
2023-12-06 18:36:26 +00:00
Anthony Scarpino
dc9c77bebe 8318756: Create better internal buffer for AEADs
Reviewed-by: djelinski
2023-12-06 18:09:10 +00:00
Vicente Romero
a9cb120d03 8320948: NPE due to unreported compiler error
Reviewed-by: jlahoda
2023-12-06 16:48:08 +00:00
Abhishek Kumar
4ef24e2596 8319938: TestFileChooserSingleDirectorySelection.java fails with "getSelectedFiles returned empty array"
Reviewed-by: aivanov, tr
2023-12-06 16:41:24 +00:00
Doug Lea
cc25d8b12b 8319662: ForkJoinPool trims worker threads too slowly
8319498: ForkJoinPool.invoke(ForkJoinTask) does not specify behavior when task throws checked exception

Reviewed-by: alanb
2023-12-06 16:12:59 +00:00
Aggelos Biboudis
90e433d72e 8320144: Compilation crashes when a custom annotation with invalid default value is used
Reviewed-by: vromero, jlahoda
2023-12-06 15:34:25 +00:00
Andrew Haley
50f3124055 8320892: AArch64: Restore FPU control state after JNI
Reviewed-by: adinn, stuefe
2023-12-06 15:32:35 +00:00
Adam Sotona
0217b5ac8b 8321248: ClassFile API ClassModel::verify is inconsistent with the rest of the API
Reviewed-by: jlahoda, mcimadamore
2023-12-06 15:32:24 +00:00
Thomas Schatzl
7fbfb3b74a 8321369: Unproblemlist gc/cslocker/TestCSLocker.java
Reviewed-by: dholmes
2023-12-06 10:34:27 +00:00
Jatin Bhateja
2678e4cd94 8319111: Mismatched MemorySegment heap access is not consistently intrinsified
Reviewed-by: sviswanathan, psandoz, thartmann
2023-12-06 09:58:06 +00:00
Per Minborg
a0920aa436 8321159: SymbolLookup.libraryLookup(Path, Arena) Assumes default Filesystem
Reviewed-by: mcimadamore
2023-12-06 08:02:52 +00:00
Viktor Klang
9d776777c5 8321124: java/util/stream/GatherersTest.java times out
Reviewed-by: alanb
2023-12-06 07:12:03 +00:00
Ioi Lam
4c96aac9c0 8320935: Move CDS config initialization code to cdsConfig.cpp
Reviewed-by: ccheung, matsaave, stuefe
2023-12-06 05:25:19 +00:00
Joe Wang
78d09584c9 8321406: Null IDs should be resolved as before catalogs are added
Reviewed-by: naoto, iris, lancea
2023-12-06 04:24:48 +00:00
Vicente Romero
aaaae3ee3c 8321207: javac is not accepting correct code
Reviewed-by: jlahoda
2023-12-06 02:36:02 +00:00
Yi-Fan Tsai
86b27b784e 8317831: compiler/codecache/CheckLargePages.java fails on OL 8.8 with unexpected memory string
Reviewed-by: eastigeevich, dholmes
2023-12-06 02:34:26 +00:00
Sergey Bylokhov
3cd65ce2a4 8321325: Remove unused Java_java_awt_MenuComponent_initIDs function
Reviewed-by: prr, aivanov
2023-12-06 00:19:28 +00:00
Serguei Spitsyn
905137d406 8321219: runtime/jni/FastGetField: assert(is_interpreted_frame()) failed: interpreted frame expected
Reviewed-by: dcubed
2023-12-05 23:41:49 +00:00
Pavel Rappo
430564cf88 8308715: Create a mechanism for Implicitly Declared Class javadoc
Reviewed-by: jjg
2023-12-05 22:09:05 +00:00
David Holmes
c8fa758100 8320860: add-opens/add-exports require '=' in JAVA_TOOL_OPTIONS
Reviewed-by: sspitsyn, alanb
2023-12-05 21:48:31 +00:00
Jonathan Joo
9e570105c3 8315149: Add hsperf counters for CPU time of internal GC threads
Co-authored-by: Man Cao <manc@openjdk.org>
Co-authored-by: Stefan Johansson <sjohanss@openjdk.org>
Reviewed-by: simonis, manc, sjohanss
2023-12-05 19:43:25 +00:00
Brian Burkhalter
b0d145097c 8321053: Use ByteArrayInputStream.buf directly when parameter of transferTo() is trusted
Reviewed-by: alanb
2023-12-05 19:41:12 +00:00
Damon Nguyen
acaf2c8dcf 8318590: JButton ignores margin when painting HTML text
Reviewed-by: prr, azvegint, honkar
2023-12-05 19:25:42 +00:00
Alexey Semenyuk
d3df3eb5d7 8294699: Launcher causes lingering busy cursor
Reviewed-by: almatvee
2023-12-05 18:41:38 +00:00
Tom Rodriguez
fddc02e046 8321225: [JVMCI] HotSpotResolvedObjectTypeImpl.isLeafClass shouldn't create strong references
Reviewed-by: thartmann, eosterlund, kvn
2023-12-05 18:12:54 +00:00
Archie Cobbs
640d7f31b2 8314327: Issues with JShell when using "local" execution engine
Reviewed-by: jlahoda
2023-12-05 17:57:43 +00:00
Alisen Chung
db5613af89 8317288: [macos] java/awt/Window/Grab/GrabTest.java: Press on the outside area didn't cause ungrab
Reviewed-by: honkar, azvegint
2023-12-05 17:50:05 +00:00
Alexey Ivanov
b1cb37432a 8320349: Simplify FileChooserSymLinkTest.java by using single-window testUI
Reviewed-by: serb
2023-12-05 17:40:55 +00:00
Jan Lahoda
18c7922781 8321224: ct.sym for JDK 22 contains references to internal modules
Reviewed-by: darcy, vromero, asotona, ihse
2023-12-05 17:24:48 +00:00
Alexey Ivanov
83ffc1ac94 8320303: Allow PassFailJFrame to accept single window creator
Reviewed-by: serb
2023-12-05 17:22:57 +00:00
Maxim Kartashev
fd31f6a166 8321183: Incorrect warning from cds about the modules file
Reviewed-by: ccheung, iklam
2023-12-05 17:17:14 +00:00
Sandhya Viswanathan
027b5dbb6a 8321215: Incorrect x86 instruction encoding for VSIB addressing mode
Reviewed-by: shade, thartmann
2023-12-05 16:35:36 +00:00
Tobias Hartmann
61d0db3838 8318468: compiler/tiered/LevelTransitionTest.java fails with -XX:CompileThreshold=100 -XX:TieredStopAtLevel=1
Reviewed-by: rcastanedalo, chagedorn
2023-12-05 16:27:29 +00:00
Brian Burkhalter
87516e29dc 8320943: Files/probeContentType/Basic.java fails on latest Windows 11 - content type mismatch
Reviewed-by: cstein, rriggs
2023-12-05 15:56:30 +00:00
Thomas Schatzl
800f347c32 8321216: SerialGC attempts to access the card table beyond the end of the heap during card table scan
Co-authored-by: Albert Mingkun Yang <ayang@openjdk.org>
Reviewed-by: ayang, iwalulya
2023-12-05 15:08:37 +00:00
Martin Doerr
a1fe16b5ec 8321300: Cleanup TestHFA
Reviewed-by: jvernee, jbechberger
2023-12-05 13:57:06 +00:00
Evgeny Astigeevich
5b02188f72 8321105: Enable UseCryptoPmullForCRC32 for Neoverse V2
Reviewed-by: shade, ngasson
2023-12-05 13:05:23 +00:00
Alan Bateman
4fbf22b002 8320652: ThreadInfo.isInNative needs to be updated to say what executing native code means
Reviewed-by: mchung
2023-12-05 12:11:38 +00:00
Jaikiran Pai
672f37324f 8321163: [test] OutputAnalyzer.getExitValue() unnecessarily logs even when process has already completed
Reviewed-by: stefank, lmesnik
2023-12-05 10:58:02 +00:00
Thomas Schatzl
30817b7423 8317809: Insertion of free code blobs into code cache can be very slow during class unloading
Reviewed-by: iwalulya, ayang
2023-12-05 10:37:34 +00:00
Aleksey Shipilev
a56286f7ad 8321269: Require platforms to define DEFAULT_CACHE_LINE_SIZE
Reviewed-by: stefank, stuefe, dholmes
2023-12-05 10:35:41 +00:00
Albert Mingkun Yang
1cf7ef520b 8321273: Parallel: Remove unused UpdateOnlyClosure::_space_id
Reviewed-by: tschatzl
2023-12-05 08:35:21 +00:00
Christian Stein
517b178819 8306914: Implement JEP 458: Launch Multi-File Source-Code Programs
Reviewed-by: jlahoda, jlaskey
2023-12-05 07:50:21 +00:00
Feilong Jiang
aec386596d 8320697: RISC-V: Small refactoring for runtime calls
Co-authored-by: Fei Yang <fyang@openjdk.org>
Reviewed-by: fyang, rehn
2023-12-05 07:05:57 +00:00
Viktor Klang
50d1839d54 8318809: java/util/concurrent/ConcurrentLinkedQueue/WhiteBox.java shows intermittent failures on linux ppc64le and aarch64
Reviewed-by: alanb, jpai
2023-12-05 05:29:29 +00:00
Jaikiran Pai
81484d8c05 8320687: sun.jvmstat.monitor.MonitoredHost.getMonitoredHost() throws unexpected exceptions when invoked concurrently
Reviewed-by: alanb, kevinw
2023-12-05 01:06:14 +00:00
Daniel D. Daugherty
30b5d42735 8321069: JvmtiThreadState::state_for_while_locked() returns nullptr for an attached JNI thread with a java.lang.Thread object after JDK-8319935
Reviewed-by: dholmes, jiangli, sspitsyn
2023-12-04 20:53:46 +00:00
Naoto Sato
bd04f91e91 8321131: Console read line with zero out should zero out underlying buffer in JLine
Reviewed-by: iris, alanb, jlahoda
2023-12-04 19:12:25 +00:00
Roger Riggs
155abc576a 8311906: Improve robustness of String constructors with mutable array inputs
Co-authored-by: Damon Fenacci <dfenacci@openjdk.org>
Co-authored-by: Claes Redestad <redestad@openjdk.org>
Co-authored-by: Amit Kumar <amitkumar@openjdk.org>
Co-authored-by: Martin Doerr <mdoerr@openjdk.org>
Reviewed-by: rgiulietti, thartmann, redestad, dfenacci
2023-12-04 18:28:59 +00:00
Coleen Phillimore
316b78336c 8321276: runtime/cds/appcds/dynamicArchive/DynamicSharedSymbols.java failed with "'17 2: jdk/test/lib/apps ' missing from stdout/stderr"
Reviewed-by: dcubed
2023-12-04 18:01:31 +00:00
Erik Gahlin
65be5e0c54 8305931: jdk/jfr/jcmd/TestJcmdDumpPathToGCRoots.java failed with "Expected chains but found none"
Reviewed-by: mgronlun
2023-12-04 16:56:16 +00:00
Erik Gahlin
f6be922952 8316193: jdk/jfr/event/oldobject/TestListenerLeak.java java.lang.Exception: Could not find leak
Reviewed-by: mgronlun
2023-12-04 16:50:45 +00:00
Erik Gahlin
a9de5c7f13 8315128: jdk/jfr/event/runtime/TestResidentSetSizeEvent.java fails with "The size should be less than or equal to peak"
Reviewed-by: stefank, mgronlun
2023-12-04 16:37:33 +00:00
Erik Gahlin
d2c529cc37 8319072: JFR: Turn off events for JFR.view
Reviewed-by: mgronlun
2023-12-04 16:09:00 +00:00
Erik Gahlin
d5f59cf0a8 8321220: JFR: RecordedClass reports incorrect modifiers
Reviewed-by: mgronlun
2023-12-04 15:51:22 +00:00
Zhengyu Gu
9769dfecb5 8321214: Parallel: Remove unused SpaceInfo::_min_dense_prefix
Reviewed-by: kbarrett, tschatzl
2023-12-04 14:07:02 +00:00
Oli Gillespie
d23f4f12ad 8315559: Delay TempSymbol cleanup to avoid symbol table churn
Reviewed-by: coleenp, kbarrett, shade
2023-12-04 12:25:51 +00:00
Anton Bobrov
c17b8cfafe 8320655: awt screencast robot spin and sync issues with native libpipewire api
Reviewed-by: azvegint
2023-12-04 10:48:26 +00:00
Abhishek Kumar
ed5b8c3a7b 8225220: When the Tab Policy is checked,the scroll button direction displayed incorrectly.
Reviewed-by: tr, psadhukhan
2023-12-04 09:31:17 +00:00
Aleksey Shipilev
f32ab8cc47 8320924: Improve heap dump performance by optimizing archived object checks
Reviewed-by: yyang, stuefe
2023-12-04 08:20:23 +00:00
Aleksey Shipilev
93b9235f19 8321120: Shenandoah: Remove ShenandoahElasticTLAB flag
Reviewed-by: kdnilsen, ysr
2023-12-04 08:20:09 +00:00
Eric Liu
9b8eaa2fc3 8319872: AArch64: [vectorapi] Implementation of unsigned (zero extended) casts
Reviewed-by: aph, xgong
2023-12-04 08:14:57 +00:00
Matthias Baesken
b9b82631bf 8317307: test/jdk/com/sun/jndi/ldap/LdapPoolTimeoutTest.java fails with ConnectException: Connection timed out: no further information
Reviewed-by: clanger
2023-12-04 08:09:01 +00:00
Tejesh R
0d0a657414 5108458: JTable does not properly layout its content
Reviewed-by: dnguyen, aivanov, psadhukhan
2023-12-04 07:30:17 +00:00
Adam Sotona
2b00ac0d02 8308753: Class-File API transition to Preview
Reviewed-by: ihse, mchung, vromero
2023-12-04 07:07:57 +00:00
Erik Gahlin
b9df827adc 8309871: jdk/jfr/api/consumer/recordingstream/TestSetEndTime.java timed out
Reviewed-by: mgronlun
2023-12-03 19:46:37 +00:00
Gregor Purdy
949846986f 8318983: Fix comment typo in PKCS12Passwd.java
Reviewed-by: weijun
2023-12-02 21:13:37 +00:00
Erik Gahlin
4dcbd13f99 8314905: jdk/jfr/tool/TestView.java fails with RuntimeException 'Invoked Concurrent' missing from stdout/stderr
Reviewed-by: mgronlun
2023-12-02 17:03:15 +00:00
Alan Bateman
5dee2a3675 8320440: Implementation of Structured Concurrency (Second Preview)
Reviewed-by: iris, jpai, mchung, mcimadamore
2023-12-02 09:05:16 +00:00
Jaikiran Pai
6f7bb79a5b 8320931: [REDO] dsymutil command leaves around temporary directories
Reviewed-by: ihse, clanger
2023-12-02 05:38:07 +00:00
Leonid Mesnik
8be3e39220 8320129: "top" command during jtreg failure handler does not display CPU usage on OSX
Reviewed-by: cjplummer, jpai
2023-12-02 02:58:03 +00:00
Eirik Bjorsnos
2f299e4a73 8321182: SourceExample.SOURCE_14 comment should refer to 'switch expressions' instead of 'text blocks'
Reviewed-by: darcy
2023-12-01 21:15:46 +00:00
Erik Gahlin
3a09a052bc 8313722: JFR: Avoid unnecessary calls to Events.from(Recording)
Reviewed-by: mgronlun
2023-12-01 20:54:35 +00:00
Serguei Spitsyn
42af8ce1f6 8308614: Enabling JVMTI ClassLoad event slows down vthread creation by factor 10
Reviewed-by: dcubed, cjplummer, amenkov
2023-12-01 20:54:13 +00:00
Joe Darcy
1839433bff 8320941: Discuss receiver type handling
Reviewed-by: vromero
2023-12-01 20:24:09 +00:00
Pavel Rappo
92f7e513c7 8312098: Update man page for javadoc
Reviewed-by: jlaskey
Backport-of: 4fcb0b28d7
2023-12-01 19:14:44 +00:00
Naoto Sato
f6be7fdf22 8321059: Unneeded array assignments in MergeCollation and CompactByteArray
Reviewed-by: jlu, bpb, rriggs
2023-12-01 17:43:28 +00:00
Naoto Sato
d568562966 8320798: Console read line with zero out should zero out underlying buffer
Reviewed-by: bpb, lancea, joehw, alanb, jpai, mbaesken
2023-12-01 17:39:11 +00:00
Martin Doerr
3087e14cde 8320807: [PPC64][ZGC] C1 generates wrong code for atomics
Reviewed-by: lucy, rrich
2023-12-01 14:44:18 +00:00
Aggelos Biboudis
54957ac55f 8312560: Annotation on Decomposed Record Component in Enhanced For Loop Fails Compilation
Reviewed-by: jlahoda
2023-12-01 14:15:38 +00:00
Jorn Vernee
3b30095a63 8321130: Microbenchmarks do not build any more after 8254693 on 32 bit platforms
Reviewed-by: mcimadamore, tschatzl
2023-12-01 13:11:07 +00:00
Pavel Rappo
8f1d40b48b 8321114: Rename "Unnamed Classes" to "Implicitly Declared Classes" better
Reviewed-by: jlaskey
2023-12-01 11:51:25 +00:00
Christian Hagedorn
ecd335d8f4 8321107: Add more test cases for JDK-8319372
Reviewed-by: roland, kvn
2023-12-01 07:44:09 +00:00
Alan Bateman
2476be4590 8320716: ResolvedModule::reads includes self when configuration contains two or more automatic modules
Reviewed-by: mchung
2023-12-01 07:31:10 +00:00
Aggelos Biboudis
4ba94ef69e 8320145: Compiler should accept final variable in Record Pattern
Reviewed-by: jlahoda
2023-12-01 07:13:39 +00:00
Vladimir Kozlov
02ffab1a4d 8321141: VM build issue on MacOS after JDK-8267532
Reviewed-by: jiefu
2023-12-01 03:35:31 +00:00
Alexey Semenyuk
56d4c33f40 8227529: With malformed --app-image the error messages are awful
Reviewed-by: almatvee
2023-12-01 01:53:20 +00:00
Phil Race
76fea80707 8320608: Many jtreg printing tests are missing the @printer keyword
Reviewed-by: aivanov, serb
2023-11-30 22:59:37 +00:00
Matias Saavedra Silva
c4732c2baa 8320530: has_resolved_ref_index flag not restored after resetting entry
Reviewed-by: adinn, dholmes, iklam, coleenp
2023-11-30 21:20:23 +00:00
Jorn Vernee
e96e191952 8318586: Explicitly handle upcall stub allocation failure
8318653: UpcallTestHelper::runInNewProcess waits for forked process without timeout

Reviewed-by: shade, mcimadamore
2023-11-30 19:26:54 +00:00
Ioi Lam
630bafd9c6 8320826: call allocate_shared_strings_array after all strings are interned
Reviewed-by: ccheung, matsaave
2023-11-30 19:22:11 +00:00
Weijun Wang
0a60b0f99e 8302233: HSS/LMS: keytool and jarsigner changes
Reviewed-by: mullan
2023-11-30 19:14:29 +00:00
Weibing Xiao
7ad700596f 8315034: File.mkdirs() occasionally fails to create folders on Windows shared folder
Reviewed-by: bpb
2023-11-30 17:34:49 +00:00
Serguei Spitsyn
41daa3b934 8320239: add dynamic switch for JvmtiVTMSTransitionDisabler sync protocol
Reviewed-by: lmesnik, pchilanomate, amenkov
2023-11-30 16:58:27 +00:00
Erik Österlund
7c135c3697 8321066: Multiple JFR tests have started failing
Reviewed-by: mcimadamore, jvernee, dcubed
2023-11-30 16:37:33 +00:00
Jorn Vernee
8bedb28bbc 8321119: Disable java/foreign/TestHandshake.java on Zero VMs
Reviewed-by: eosterlund, shade
2023-11-30 16:35:12 +00:00
Albert Mingkun Yang
b1cbf55859 8321018: Parallel: Make some methods in ParCompactionManager private
Reviewed-by: sjohanss, tschatzl
2023-11-30 16:32:23 +00:00
Daniel D. Daugherty
c6a8278362 8321127: ProblemList java/util/stream/GatherersTest.java
Reviewed-by: shade, alanb
2023-11-30 16:16:59 +00:00
Alisen Chung
a3eb664077 8315701: [macos] Regression: KeyEvent has different keycode on different keyboard layouts
Reviewed-by: aivanov, kizune
2023-11-30 16:11:09 +00:00
Volodymyr Paprotski
6aba6aa6f1 8320347: Emulate vblendvp[sd] on ECore
Reviewed-by: sviswanathan, jbhateja
2023-11-30 16:10:54 +00:00
Albert Mingkun Yang
693847452f 8320916: jdk/jfr/event/gc/stacktrace/TestParallelMarkSweepAllocationPendingStackTrace.java failed with "OutOfMemoryError: GC overhead limit exceeded"
Reviewed-by: sjohanss, tschatzl
2023-11-30 15:48:00 +00:00
Tom Rodriguez
da09eabdfc 8319980: [JVMCI] libgraal should reuse Thread instances as C2 does
Reviewed-by: dnsimon, kvn
2023-11-30 14:58:18 +00:00
Viktor Klang
33b26f79a9 8319123: Implement JEP 461: Stream Gatherers (Preview)
Reviewed-by: tvaleev, alanb, psandoz
2023-11-30 14:45:23 +00:00
Jim Laskey
04ad98ed32 8315458: Implement JEP 463: Implicitly Declared Classes and Instance Main Method (Second Preview)
Reviewed-by: jlahoda, mcimadamore, vromero, rriggs, alanb, mchung
2023-11-30 12:49:49 +00:00
Stefan Karlsson
03759e892d 8320304: Refactor and simplify monitor deflation functions
Reviewed-by: dcubed, dholmes
2023-11-30 12:40:23 +00:00
Ivan Šipka
da7cf258bb 8320665: update jdk_core at open/test/jdk/TEST.groups
Reviewed-by: msheppar
2023-11-30 12:09:20 +00:00
Evgeny Astigeevich
c9d15f7d5e 8321025: Enable Neoverse N1 optimizations for Neoverse V2
Reviewed-by: ngasson, shade
2023-11-30 11:33:02 +00:00
Joachim Kern
61653a1ff1 8320830: [AIX] Dont mix os::dll_load() with direct dlclose() calls
Reviewed-by: stuefe, clanger
2023-11-30 11:19:58 +00:00
Aleksey Shipilev
8b102ed6b4 8321063: AArch64: Zero build fails after JDK-8320368
Reviewed-by: stuefe, haosun
2023-11-30 10:51:48 +00:00
Aleksey Shipilev
694136909c 8320921: GHA: Parallelize hotspot_compiler test jobs
Reviewed-by: stuefe, ihse
2023-11-30 10:18:23 +00:00
Stefan Karlsson
0d146361f2 8320515: assert(monitor->object_peek() != nullptr) failed: Owned monitors should not have a dead object
Reviewed-by: dholmes, ihse, sspitsyn, dcubed
2023-11-30 09:46:26 +00:00
Olga Mikhaltsova
d6b4aa01a2 8318157: RISC-V: implement ensureMaterializedForStackWalk intrinsic
Reviewed-by: fyang
2023-11-30 08:15:34 +00:00
Roland Westrelin
7766785098 8319372: C2 compilation fails with "Bad immediate dominator info"
Reviewed-by: kvn, chagedorn, thartmann
2023-11-30 08:09:06 +00:00
Harshitha Onkar
940f67c1a6 8318854: [macos14] Running any AWT app prints Secure coding warning
Reviewed-by: kcr, kizune, prr
2023-11-29 21:53:22 +00:00
Aleksey Shipilev
c86431767e 8320888: Shenandoah: Enable ShenandoahVerifyOptoBarriers in debug builds
Reviewed-by: wkemper, kdnilsen, rkennke
2023-11-29 20:15:44 +00:00
Alex Menkov
d1e73b1299 8318626: GetClassFields does not filter out ConstantPool.constantPoolOop field
Reviewed-by: sspitsyn, lmesnik
2023-11-29 20:10:27 +00:00
Mikhailo Seledtsov
ea6e92ed0d 8320945: problemlist tests failing on latest Windows 11 update
Reviewed-by: lmesnik
2023-11-29 19:20:34 +00:00
Justin Lu
2584bf87ae 8210410: Refactor java.util.Currency:i18n shell tests to plain java tests
Reviewed-by: naoto, lancea
2023-11-29 19:11:34 +00:00
Mikael Vidstedt
454b11653c 8320942: Only set openjdk-target when cross compiling linux-aarch64
Reviewed-by: ihse, erikj
2023-11-29 19:02:25 +00:00
Sergey Bylokhov
eb44bafe77 8320937: support latest VS2022 MSC_VER in abstract_vm_version.cpp
Reviewed-by: dholmes, shade
2023-11-29 18:42:50 +00:00
Liam Miller-Cushon
62418c681e 8319444: Unhelpful failure output in TestLegalNotices
Reviewed-by: hannesw, jjg
2023-11-29 17:49:30 +00:00
Jaroslav Bachorik
cdd1a6e851 8313816: Accessing jmethodID might lead to spurious crashes
Reviewed-by: coleenp
2023-11-29 17:29:52 +00:00
Aleksey Shipilev
b65ccff357 8320877: Shenandoah: Remove ShenandoahUnloadClassesFrequency support
Reviewed-by: wkemper, kdnilsen, rkennke
2023-11-29 17:25:40 +00:00
Joe Darcy
b68356b267 8320806: Augment test/langtools/tools/javac/versions/Versions.java for JDK 22 language changes
Reviewed-by: jlahoda, vromero
2023-11-29 17:25:26 +00:00
Joe Darcy
d783aa31a9 8320940: Fix typo in java.lang.Double
Reviewed-by: rriggs, iris, shade, lancea, bpb
2023-11-29 17:23:14 +00:00
Aleksey Shipilev
43c7f6a673 8320907: Shenandoah: Remove ShenandoahSelfFixing flag
Reviewed-by: wkemper, zgu, kdnilsen, rkennke
2023-11-29 17:23:04 +00:00
Jiangli Zhou
da7bcfcf6e 8319935: Ensure only one JvmtiThreadState is created for one JavaThread associated with attached native thread
Reviewed-by: manc, dholmes, sspitsyn
2023-11-29 16:05:54 +00:00
Michael McMahon
a2c5f1fc91 8319417: (dc) DatagramChannel.connect undocumented behavior
Reviewed-by: alanb
2023-11-29 14:03:39 +00:00
Thomas Stuefe
abf2e49097 8320859: gtest high malloc footprint caused by BufferNodeAllocator stress test
Reviewed-by: ayang, kbarrett
2023-11-29 13:18:31 +00:00
Thomas Stuefe
033cced6e1 8320368: Per-CPU optimization of Klass range reservation
Reviewed-by: rkennke, rehn
2023-11-29 13:16:38 +00:00
Darragh Clarke
48960df7bc 8316734: URLEncoder should specify that replacement bytes will be used in case of coding error
Reviewed-by: dfuchs, alanb
2023-11-29 12:59:19 +00:00
Erik Österlund
159465324f 8310644: Make panama memory segment close use async handshakes
Reviewed-by: jvernee, mcimadamore, pchilanomate
2023-11-29 12:40:21 +00:00
Jan Lahoda
65dfcae6d6 8308399: Recommend --release when -source and -target are misused
Reviewed-by: vromero
2023-11-29 12:27:54 +00:00
Hamlin Li
335f5dbf62 8320911: RISC-V: Enable hotspot/jtreg/compiler/intrinsics/chacha/TestChaCha20.java
Reviewed-by: fyang
2023-11-29 11:18:58 +00:00
Albert Mingkun Yang
77d604a29f 8319373: Serial: Refactor dirty cards scanning during Young GC
Reviewed-by: kbarrett, tschatzl
2023-11-29 10:27:16 +00:00
Thomas Schatzl
38cfb220dd 8318706: Implement JEP 423: Region Pinning for G1
Reviewed-by: ayang, iwalulya, sjohanss
2023-11-29 10:03:32 +00:00
Alan Bateman
e44d4b24ed 8320858: Move jpackage tests to tier3
Reviewed-by: mchung, asemenyuk, almatvee
2023-11-29 09:12:58 +00:00
Hamlin Li
5dcf3a56cb 8320715: Improve the tests of test/hotspot/jtreg/compiler/intrinsics/float16
Reviewed-by: kvn
2023-11-29 08:01:40 +00:00
Matthias Baesken
78b6c2b408 8320898: exclude compiler/vectorapi/reshape/TestVectorReinterpret.java on ppc64(le) platforms
Reviewed-by: clanger
2023-11-29 07:44:02 +00:00
Joe Wang
9a6ca233c7 8320918: Fix errors in the built-in Catalog implementation
Reviewed-by: lancea, naoto, iris
2023-11-29 04:33:28 +00:00
Dean Long
5e1b771a19 8316422: TestIntegerUnsignedDivMod.java triggers "invalid layout" assert in FrameValues::validate
Reviewed-by: thartmann, never
2023-11-29 03:06:32 +00:00
Alexander Matveev
a657aa38a5 8320681: [macos] Test tools/jpackage/macosx/MacAppStoreJlinkOptionsTest.java timed out on macOS
Reviewed-by: asemenyuk
2023-11-29 01:41:38 +00:00
Fei Gao
3ccd02f142 8320379: C2: Sort spilling/unspilling sequence for better ld/st merging into ldp/stp on AArch64
Reviewed-by: aph, kvn
2023-11-29 01:41:20 +00:00
John Jiang
2c4c6c9ba3 8320049: PKCS10 would not discard the cause when throw SignatureException on invalid key
Reviewed-by: mullan
2023-11-28 23:52:22 +00:00
Erik Joelsson
f93b18f39c 8320932: [BACKOUT] dsymutil command leaves around temporary directories
Reviewed-by: mikael
2023-11-28 23:32:18 +00:00
Magnus Ihse Bursie
ce4e6e2bd7 8320915: Update copyright year in build files
Reviewed-by: erikj, iris
2023-11-28 21:40:20 +00:00
Thomas Schatzl
21d361e944 8320525: G1: G1UpdateRemSetTrackingBeforeRebuild::distribute_marked_bytes accesses partially unloaded klass
Reviewed-by: ayang, iwalulya
2023-11-28 20:55:27 +00:00
Thomas Stuefe
dc256fbc64 8320061: [nmt] Multiple issues with peak accounting
Reviewed-by: jsjolen, mbaesken
2023-11-28 17:48:54 +00:00
Magnus Ihse Bursie
adad132028 8320767: Use := wherever possible in spec.gmk.in
Reviewed-by: erikj
2023-11-28 17:33:23 +00:00
Justin Lu
69c0b24386 8320714: java/util/Locale/LocaleProvidersRun.java and java/util/ResourceBundle/modules/visibility/VisibilityTest.java timeout after passing
Reviewed-by: naoto, bpb, lancea
2023-11-28 17:23:13 +00:00
Magnus Ihse Bursie
66ae6d52a1 8320899: Select the correct Makefile when running make in build directory
Reviewed-by: erikj
2023-11-28 17:15:32 +00:00
Magnus Ihse Bursie
ebbef629c7 8320769: Remove ill-adviced "make install" target
Reviewed-by: erikj, shade
2023-11-28 15:32:21 +00:00
Jaikiran Pai
86bb804029 8320863: dsymutil command leaves around temporary directories
Reviewed-by: erikj, ihse
2023-11-28 14:51:08 +00:00
Kevin Rushforth
db7fedfa88 8320358: GHA: ignore jdk* branches
Reviewed-by: ihse
2023-11-28 13:51:10 +00:00
Thomas Stuefe
e33b6c10f8 8319437: NMT should show library names in call stacks
Reviewed-by: dholmes, zgu
2023-11-28 13:33:50 +00:00
Jan Lahoda
2fae07f53f 8319311: JShell Process Builder should be configurable
Reviewed-by: asotona
2023-11-28 12:32:23 +00:00
Gaurav Chaudhari
63ad868e18 8319668: Fixup of jar filename typo in BadFactoryTest.sh
Reviewed-by: alanb, jpai
2023-11-28 11:35:00 +00:00
Albert Mingkun Yang
4bcda60266 8319713: Parallel: Remove PSAdaptiveSizePolicy::should_full_GC
Reviewed-by: tschatzl, sjohanss
2023-11-28 10:40:14 +00:00
Eirik Bjorsnos
99f870c43f 8320781: Fix whitespace in j.l.Double and j.u.z.ZipInputStream @snippets
Reviewed-by: lancea, bpb, darcy, jpai
2023-11-28 10:20:11 +00:00
Jorn Vernee
a5ccd3beaf 8267532: C2: Profile and prune untaken exception handlers
8310011: Arena with try-with-resources is slower than it should be

Reviewed-by: thartmann, vlivanov
2023-11-28 10:17:58 +00:00
Joachim Kern
464dc3dab5 8319633: runtime/posixSig/TestPosixSig.java intermittent timeouts on UNIX
Reviewed-by: dholmes, stuefe, mdoerr
2023-11-28 09:57:48 +00:00
Aleksey Shipilev
efc392259c 8319048: Monitor deflation unlink phase prolongs time to safepoint
Reviewed-by: ysr, stefank, aboldtch, dcubed
2023-11-28 09:49:03 +00:00
Kevin Walls
debf0ecfb0 8313355: javax/management/remote/mandatory/notif/ListenerScaleTest.java failed with "Exception: Failed: ratio=792.2791601423487"
Reviewed-by: sspitsyn
2023-11-28 09:48:40 +00:00
Galder Zamarreño
20aae3c438 8320533: Adjust capstone integration for v6 changes
Reviewed-by: ihse, aph
2023-11-28 08:33:23 +00:00
Joe Wang
0678253bff 8320602: Lock contention in SchemaDVFactory.getInstance()
Reviewed-by: iris, lancea
2023-11-28 06:48:22 +00:00
Michael McMahon
f1a24f6d48 8318599: HttpURLConnection cache issues leading to crashes in JGSS w/ native GSS introduced by 8303809
Reviewed-by: dfuchs
2023-11-27 22:43:48 +00:00
Alexey Semenyuk
7848ed779b 8301856: Generated .spec file for RPM installers uninstalls desktop launcher on update
Reviewed-by: almatvee
2023-11-27 22:28:38 +00:00
Alexey Semenyuk
726f854b14 8320706: RuntimePackageTest.testUsrInstallDir test fails on Linux
Reviewed-by: almatvee
2023-11-27 22:20:43 +00:00
Dean Long
1bb250c9e6 8261837: SIGSEGV in ciVirtualCallTypeData::translate_from
Co-authored-by: Fei Yang <fyang@openjdk.org>
Reviewed-by: iveresov, vlivanov, kvn
2023-11-27 22:01:37 +00:00
Alexey Semenyuk
5f7f2c4ea0 8320249: tools/jpackage/share/AddLauncherTest.java#id1 fails intermittently on Windows in verifyDescription
Reviewed-by: almatvee
2023-11-27 21:42:47 +00:00
Joe Darcy
6871a2ff12 8320803: Update SourceVersion.RELEASE_22 description for language changes
Reviewed-by: jjg
2023-11-27 20:36:29 +00:00
steveatgh
82967f45db 8310159: Bulk copy with Unsafe::arrayCopy is slower compared to memcpy
Co-authored-by: Maurizio Cimadamore <mcimadamore@openjdk.org>
Reviewed-by: thartmann, jbhateja, sviswanathan
2023-11-27 17:35:39 +00:00
Magnus Ihse Bursie
f0a12c571b 8320763: Fix spacing arround assignment in spec.gmk.in
Reviewed-by: erikj, iris
2023-11-27 17:32:41 +00:00
Archie Cobbs
12e983a72e 8194743: Compiler implementation for Statements before super()
Reviewed-by: vromero, jwaters, mcimadamore
2023-11-27 17:26:52 +00:00
Vicente Romero
5e24aaf4f7 8320001: javac crashes while adding type annotations to the return type of a constructor
Reviewed-by: cushon, jlahoda
2023-11-27 16:23:02 +00:00
Albert Mingkun Yang
f9e9131e12 8319703: Serial: Remove generationSpec
Reviewed-by: cjplummer, tschatzl
2023-11-27 16:09:20 +00:00
Magnus Ihse Bursie
a006d7eae0 8294549: configure script should detect unsupported path
Co-authored-by: Mike Duigou <mduigou@openjdk.org>
Reviewed-by: erikj
2023-11-27 14:52:42 +00:00
Jasmine Karthikeyan
4977922a3f 8320330: Improve implementation of RShift Value
Reviewed-by: thartmann, chagedorn
2023-11-27 14:44:08 +00:00
Ekaterina Vergizova
a40d8d97e8 8314220: Configurable InlineCacheBuffer size
Reviewed-by: dlong, kvn
2023-11-27 13:38:44 +00:00
Prasanta Sadhukhan
12723688ca 8318113: CSS.BackgroundImage doesn't implement equals
Reviewed-by: aivanov, tr, prr
2023-11-27 09:01:22 +00:00
Adam Sotona
28d3762bd3 8320618: NPE: Cannot invoke "java.lang.constant.ClassDesc.isArray()" because "this.sym" is null
Reviewed-by: alanb
2023-11-27 08:25:31 +00:00
Christoph Langer
f6e5559ae9 8320601: ProblemList java/lang/invoke/lambda/LambdaFileEncodingSerialization.java on linux-all
Reviewed-by: mbaesken
2023-11-27 08:21:59 +00:00
Conor Cleary
bddcd086b7 8304701: Request with timeout aborts later in-flight request on HTTP/1.1 cxn
Reviewed-by: dfuchs, michaelm
2023-11-27 08:09:10 +00:00
Axel Boldt-Christmas
91279fcf05 8319778: Remove unreachable code in ObjectSynchronizer::exit
Reviewed-by: rkennke, dholmes, pchilanomate, dcubed
2023-11-27 07:22:32 +00:00
Martin Doerr
6aa197667a 8320363: ppc64 TypeEntries::type_unknown logic looks wrong, missed optimization opportunity
Reviewed-by: lucy, rrich
2023-11-24 22:44:25 +00:00
Daniel Jeliński
4d50df63b6 8320691: Timeout handler on Windows takes 2 hours to complete
Reviewed-by: stuefe, jpai, ihse, alanb
2023-11-24 14:55:57 +00:00
Jan Lahoda
0c9a61c185 8319220: Pattern matching switch with a lot of cases is unduly slow
Reviewed-by: asotona, vromero
2023-11-24 09:05:39 +00:00
Matthias Baesken
26c3390421 8320383: refresh libraries cache on AIX in VMError::report
Reviewed-by: stuefe, mdoerr
2023-11-24 07:56:40 +00:00
Jan Lahoda
fc314740e9 8318913: The module-infos for --release data do not contain pre-set versions
Co-authored-by: Erik Joelsson <erikj@openjdk.org>
Reviewed-by: vromero, ihse
2023-11-24 06:30:08 +00:00
Doug Simon
df1b896e01 8320679: [JVMCI] invalid code in PushLocalFrame event message
Reviewed-by: never
2023-11-23 23:36:08 +00:00
David Holmes
c75c38871e 8318776: Require supports_cx8 to always be true
Reviewed-by: eosterlund, shade, dcubed
2023-11-23 22:23:42 +00:00
Afshin Zafari
14557e72ef 8314502: Change the comparator taking version of GrowableArray::find to be a template method
Reviewed-by: jsjolen, sspitsyn, stefank
2023-11-23 22:16:57 +00:00
Jiangli Zhou
28026434f7 8314243: Make VM_Exit::wait_for_threads_in_native_to_block wait for user threads time configurable
Reviewed-by: dholmes
2023-11-23 19:25:29 +00:00
Gergö Barany
6f263111a1 8318490: Increase timeout for JDK tests that are close to the limit when run with libgraal
Reviewed-by: dnsimon, never, thartmann
2023-11-23 18:33:19 +00:00
Abhishek Kumar
cb95e393b6 8224261: JProgressBar always with border painted around it
Reviewed-by: aivanov, dnguyen
2023-11-23 16:18:46 +00:00
Yuri Gaevsky
6d79e0aa3c 8318159: RISC-V: Improve itable_stub
Reviewed-by: fyang, rehn
2023-11-23 16:06:05 +00:00
Pavel Rappo
06f040ba3a 8320645: DocLint should use javax.lang.model to detect default constructors
Reviewed-by: jlahoda, jjg
2023-11-23 15:52:04 +00:00
Magnus Ihse Bursie
beaa79c28b 8320663: Fix C syntax in LIB_SETUP_HSDIS_BINUTILS
Co-authored-by: Galder Zamarreño <galder@openjdk.org>
Reviewed-by: rehn
2023-11-23 15:15:12 +00:00
Axel Boldt-Christmas
3787ff8d1d 8319700: [AArch64] C2 compilation fails with "Field too big for insn"
Reviewed-by: aph, thartmann
2023-11-23 12:41:51 +00:00
Ivan Šipka
99b9cb0a2e 8320586: update manual test/jdk/TEST.groups
Reviewed-by: msheppar
2023-11-23 10:31:23 +00:00
Daniel Lundén
8db7bad992 8319813: Remove upper limit on number of compiler phases in phasetype.hpp
Reviewed-by: chagedorn, rcastanedalo, epeter
2023-11-23 08:42:09 +00:00
Christian Hagedorn
c49fb4fca2 8320403: C2: PrintIdeal is no longer dumped to tty when xtty is set
Reviewed-by: kvn, thartmann
2023-11-23 08:36:34 +00:00
Aleksey Shipilev
06d957fd7c 8320582: Zero: Misplaced CX8 enablement flag
Reviewed-by: dholmes
2023-11-23 08:20:38 +00:00
Jan Lahoda
14193a049e 8314614: jdk/jshell/ImportTest.java failed with "InternalError: Failed remote listen"
8312140: jdk/jshell tests failed with JDI socket timeouts

Reviewed-by: asotona
2023-11-23 07:15:43 +00:00
Feilong Jiang
864b39a893 8320564: RISC-V: Minimal build failed after JDK-8316592
Reviewed-by: fyang, shade
2023-11-23 00:50:27 +00:00
Justin Lu
2bb4b9398d 8319569: Several java/util tests should be updated to accept VM flags
Reviewed-by: naoto, lancea
2023-11-23 00:27:27 +00:00
Erik Gahlin
6016536ab9 8314745: JFR: @StackFilter
Reviewed-by: mgronlun
2023-11-22 20:48:42 +00:00
Oliver Lockwood
aac4318431 8320577: Improve MessageHeader's toString() function to make HttpURLConnection's debug log readable
Reviewed-by: dfuchs, jpai
2023-11-22 18:25:44 +00:00
Chris Plummer
572b14ac86 8320536: problemlist failing serviceability/attach/ConcAttachTest.java test on macosx
Reviewed-by: amenkov, dholmes
2023-11-22 17:59:42 +00:00
Aleksey Shipilev
30462f9da4 8318986: Improve GenericWaitBarrier performance
Reviewed-by: rehn, iwalulya, pchilanomate
2023-11-22 17:55:17 +00:00
Jonathan Gibbons
407cdd4cac 8320207: doclet incorrectly chooses code font for a See Also link
Reviewed-by: hannesw
2023-11-22 17:23:38 +00:00
Thomas Schatzl
1629a9059b 8320331: G1 Full GC Heap verification relies on metadata not reset before verification
Reviewed-by: iwalulya, ayang
2023-11-22 17:17:11 +00:00
Joe Wang
93bdc2a6db 8306055: Add a built-in Catalog to JDK XML module
Reviewed-by: ihse, lancea, alanb
2023-11-22 17:11:26 +00:00
Arseny Bochkarev
a4bd9e4d0b 8319440: RISC-V: jdk can't be built with clang due to register keyword
Reviewed-by: fyang
2023-11-22 16:13:49 +00:00
Martin Doerr
524da141e7 8320418: PPC64: invokevfinal_helper duplicates code to handle ResolvedMethodEntry
Reviewed-by: rrich, lucy
2023-11-22 16:08:54 +00:00
Sonia Zaldana Calles
5d4a54bccd 8319449: compiler/print/CompileCommandPrintMemStat.java fails on Graal
Reviewed-by: kvn, stuefe
2023-11-22 16:03:45 +00:00
Sonia Zaldana Calles
35526d02c3 8257076: os::scan_pages is empty on all platforms
Reviewed-by: dholmes, stuefe
2023-11-22 16:01:27 +00:00
suchismith1993
25cebe8c3e 8317799: AIX PPC64: FFI symbol lookup doesn't find symbols
Reviewed-by: mdoerr, ihse, dholmes, jvernee
2023-11-22 15:43:34 +00:00
Patricio Chilano Mateo
c39d001c7a 8319137: release _object in ObjectMonitor dtor to avoid races
Reviewed-by: stefank, aboldtch, shade, dcubed, eosterlund
2023-11-22 14:59:47 +00:00
Varada M
8b47a14958 8320309: AIX: pthreads created by foreign test library don't work as expected
Reviewed-by: mdoerr, mbaesken, stuefe
2023-11-22 13:43:33 +00:00
suchismith
bf0a904f0e 8318175: AIX PPC64: Handle alignment of double in structs
Reviewed-by: mdoerr, amitkumar
2023-11-22 13:39:25 +00:00
Matthew Donovan
6ce0ebb858 8295343: sun/security/pkcs11 tests fail on Linux RHEL 8.6 and newer
Reviewed-by: erikj, ihse, valeriep
2023-11-22 13:00:56 +00:00
Feilong Jiang
5e818318ea 8320399: RISC-V: Some format clean-up in opto assembly code
Reviewed-by: fyang
2023-11-22 10:13:17 +00:00
Christian Stein
ceb0290335 8320447: Remove obsolete LintCategory.hidden
Reviewed-by: jjg
2023-11-22 09:49:37 +00:00
Thomas Stuefe
98edb03abe 8320382: Remove CompressedKlassPointers::is_valid_base()
Reviewed-by: rkennke, aph
2023-11-22 09:20:19 +00:00
Dan Heidinga
2c31ca525b 8320335: Deprecate RegisterFinalizersAtInit option and code
Reviewed-by: eosterlund, dholmes
2023-11-22 05:49:51 +00:00
Hao Sun
b3616c9ac0 8320131: Zero build fails on macOS after JDK-8254693
Reviewed-by: dholmes, jvernee
2023-11-22 05:32:57 +00:00
Xin Liu
d1af748ab4 8309067: gtest/AsyncLogGtest.java fails again in stderrOutput_vm
Reviewed-by: jsjolen, dholmes
2023-11-22 03:23:45 +00:00
Alec Su
e47cf611c9 8074211: javax.sound.midi: Error with send System Exclusive messages of different length
8250667: MIDI sysex over USB scrambled when reply length matches previous message

Reviewed-by: prr
2023-11-21 19:26:49 +00:00
Matias Saavedra Silva
6d824364c2 8320278: ARM32 build is broken after JDK-8301997
Reviewed-by: coleenp, stuefe
2023-11-21 19:02:48 +00:00
Phil Race
f69e6653f8 8318364: Add an FFM-based implementation of harfbuzz OpenType layout
Reviewed-by: jdv, psadhukhan
2023-11-21 17:46:29 +00:00
Weijun Wang
1c0bd81a10 8319124: Update XML Security for Java to 3.0.3
Reviewed-by: mullan
2023-11-21 17:46:11 +00:00
Shaojin Wen
61d81d6496 8317742: ISO Standard Date Format implementation consistency on DateTimeFormatter and String.format
Reviewed-by: rriggs, naoto
2023-11-21 17:00:18 +00:00
Vladimir Kozlov
c4aba87570 8320272: Make method_entry_barrier address shared
Reviewed-by: dlong
2023-11-21 16:48:24 +00:00
Magnus Ihse Bursie
9311749edc 8320526: Use title case in building.md
Reviewed-by: iris
2023-11-21 16:27:15 +00:00
Evgeny Nikitin
9598ff8386 8315969: compiler/rangechecks/TestRangeCheckHoistingScaledIV.java: make flagless
Reviewed-by: thartmann, chagedorn
2023-11-21 15:12:57 +00:00
Adam Sotona
53eb6f126b 8187591: -Werror turns incubator module warning to an error
Reviewed-by: jlahoda
2023-11-21 15:11:00 +00:00
Daniel Fuchs
570dffb104 8310807: java/nio/channels/DatagramChannel/Connect.java timed out
Reviewed-by: msheppar, jpai
2023-11-21 14:09:46 +00:00
Alan Bateman
21a59b9f4e 8282726: java/net/vthread/BlockingSocketOps.java timeout/hang intermittently on Windows
Reviewed-by: djelinski
2023-11-21 14:05:32 +00:00
Daniel Lundén
923207073a 8318480: Obsolete UseCounterDecay and remove CounterDecayMinIntervalLength
Reviewed-by: thartmann, lmesnik, dholmes
2023-11-21 10:58:09 +00:00
Magnus Ihse Bursie
e055fae104 8264425: Update building.md on non-English locales on Windows
Reviewed-by: naoto, erikj
2023-11-21 10:09:21 +00:00
Adam Sotona
c4aee66d74 8320222: Wrong bytecode accepted, and StackMap table generated
Reviewed-by: jlahoda
2023-11-21 10:08:48 +00:00
Adam Sotona
604d29a8c9 8304446: javap --system flag doesn't override system APIs
Reviewed-by: jlahoda
2023-11-21 10:04:54 +00:00
Serguei Spitsyn
839dd65366 8319244: implement JVMTI handshakes support for virtual threads
Reviewed-by: pchilanomate, amenkov
2023-11-21 08:17:43 +00:00
ArsenyBochkarev
46e4028adf 8316592: RISC-V: implement poly1305 intrinsic
Reviewed-by: fyang, luhenry, mli
2023-11-21 07:36:55 +00:00
Cesar Soares Lucas
3544d2dd86 8319784: VM crash during heap dump after JDK-8287061
Reviewed-by: kvn, thartmann, shade
2023-11-21 07:20:28 +00:00
Tobias Hartmann
303757b3a0 8319879: Stress mode to randomize incremental inlining decision
Reviewed-by: kvn, roland
2023-11-21 07:18:04 +00:00
Jaikiran Pai
099a8f5b2f 8308144: Uncontrolled memory consumption in SSLFlowDelegate.Reader
Co-authored-by: Sergey Zhuravlev <sergey.zhuravlev@gmail.com>
Reviewed-by: dfuchs, djelinski
2023-11-21 06:10:47 +00:00
Weijun Wang
fcb4df26f1 8320192: SHAKE256 does not work correctly if n >= 137
Co-authored-by: Ferenc Rakoczi <ferenc.r.rakoczi@oracle.com>
Reviewed-by: mpowers, valeriep
2023-11-20 23:28:48 +00:00
Weijun Wang
2b4e99140a 8320208: Update Public Suffix List to b5bf572
Reviewed-by: mullan
2023-11-20 19:20:06 +00:00
Aleksey Shipilev
6b96bb640a 8319777: Zero: Support 8-byte cmpxchg
Reviewed-by: dholmes, stuefe
2023-11-20 19:05:57 +00:00
Aleksey Shipilev
020c9007f8 8320052: Zero: Use __atomic built-ins for atomic RMW operations
Reviewed-by: dholmes, eastigeevich
2023-11-20 19:01:20 +00:00
Hannes Wallnöfer
30d895383e 8275889: Search dialog has redundant scrollbars
Reviewed-by: jjg
2023-11-20 18:32:20 +00:00
Hannes Wallnöfer
cee54de41b 8319988: Wrong heading for inherited nested classes
Reviewed-by: jjg
2023-11-20 18:26:21 +00:00
Brian Burkhalter
32098ce33c 8320348: test/jdk/java/io/File/GetAbsolutePath.windowsDriveRelative fails if working directory is not on drive C
Reviewed-by: alanb, mbaesken
2023-11-20 18:23:02 +00:00
Sean Mullan
a2c0fa6f9c 8320372: test/jdk/sun/security/x509/DNSName/LeadingPeriod.java validity check failed
Reviewed-by: alanb
2023-11-20 17:47:48 +00:00
Pavel Rappo
3aefd1ce71 8320234: Merge doclint.Env.AccessKind with tool.AccessKind
Reviewed-by: jjg
2023-11-20 17:36:33 +00:00
Naoto Sato
d6d7bdc774 8319817: Charset constructor should make defensive copy of aliases
Reviewed-by: rriggs, alanb, bpb, iris, jpai
2023-11-20 17:31:58 +00:00
Ioi Lam
0712b22a3a 8320147: Remove DumpSharedSpaces
Reviewed-by: ccheung, matsaave
2023-11-20 17:09:55 +00:00
Andrew Haley
6e86904a94 8319973: AArch64: Save and restore FPCR in the call stub
Reviewed-by: adinn, stuefe
2023-11-20 16:38:05 +00:00
Magnus Ihse Bursie
04fd17e6a9 8320410: Reflow markdown in building.md
Reviewed-by: erikj
2023-11-20 15:14:44 +00:00
Maurizio Cimadamore
7f231109c2 8319928: Exceptions thrown by cleanup actions should be handled correctly
Reviewed-by: jvernee
2023-11-20 15:02:11 +00:00
Gui Cao
a6098e438d 8320280: RISC-V: Avoid passing t0 as temp register to MacroAssembler::lightweight_lock/unlock
Reviewed-by: fyang, rehn
2023-11-20 14:40:00 +00:00
Matthias Baesken
60c8d9c045 8320300: Adjust hs_err output in malloc/mmap error cases
Reviewed-by: clanger, mdoerr
2023-11-20 13:40:54 +00:00
Daniel Jeliński
9f6a4a3f9c 8320386: Remove java/nio/channels/vthread/BlockingChannelOps.java#direct-register from ProblemList
Reviewed-by: alanb
2023-11-20 12:45:00 +00:00
Matthias Baesken
db1d82347b 8320168: handle setsocktopt return values
Reviewed-by: lucy, alanb, vtewari
2023-11-20 11:28:41 +00:00
Andrey Turbanov
6c5e15c1a2 8316557: Make fields final in 'sun.util' package
Reviewed-by: pminborg, naoto
2023-11-20 09:41:39 +00:00
Abhishek Kumar
de51aa19d6 8283214: [macos] Screen magnifier does not show the magnified text for JcomboBox
Co-authored-by: Alexey Ivanov <aivanov@openjdk.org>
Reviewed-by: asemenov, kizune, aivanov
2023-11-20 06:56:49 +00:00
Jonathan Gibbons
179f505258 8320361: Doc error in RemoteRecordingStream.java
Reviewed-by: egahlin
2023-11-19 22:11:29 +00:00
Joe Darcy
8ff7d6ea0a 8295391: Add discussion of binary <-> decimal conversion issues
Reviewed-by: bpb
2023-11-18 01:19:25 +00:00
Magnus Ihse Bursie
99570fbe76 8320258: Refresh building.md
Reviewed-by: erikj
2023-11-17 23:12:41 +00:00
Mikael Vidstedt
a1e7a302c8 8320212: Disable GCC stringop-overflow warning for affected files
Reviewed-by: ihse, dcubed
2023-11-17 21:37:49 +00:00
Sandhya Viswanathan
0881f2b0c4 8318562: Computational test more than 2x slower when AVX instructions are used
Reviewed-by: kvn
2023-11-17 20:10:17 +00:00
Sandhya Viswanathan
9b372e28ce 8320206: Some intrinsics/stubs missing vzeroupper on x86_64
Reviewed-by: kvn, jbhateja
2023-11-17 20:05:09 +00:00
Sergey Bylokhov
b5a7562bd1 8319985: Delete sun.awt.windows.WToolkit.embedded*() API
Reviewed-by: prr
2023-11-17 18:58:19 +00:00
Magnus Ihse Bursie
1fce70b666 8320334: Reflow markdown in testing.md
Reviewed-by: iris
2023-11-17 18:09:56 +00:00
Jim Laskey
9902d2eb17 8315457: Implement JEP 459: String Templates (Second Preview)
Reviewed-by: jlahoda, alanb, vromero
2023-11-17 12:53:49 +00:00
Darragh Clarke
5522656af7 8317834: java/lang/Thread/IsAlive.java timed out
Reviewed-by: dfuchs, alanb, dholmes, shade
2023-11-17 12:21:13 +00:00
Magnus Ihse Bursie
9194d2c714 8317357: Update links in building.md to use https rather than http
Reviewed-by: iris, erikj, jwaters
2023-11-17 12:06:55 +00:00
Martin Doerr
368e4f60a9 8315801: [PPC64] JNI code should be more similar to the Panama implementation
Reviewed-by: rrich, lucy
2023-11-17 11:49:21 +00:00
yibo.yl
8ec6b8de3b 8319876: Reduce memory consumption of VM_ThreadDump::doit
Reviewed-by: dholmes, stefank
2023-11-17 08:43:18 +00:00
Stefan Karlsson
bbf52e0e4c 8319897: Move StackWatermark handling out of LockStack::contains
Reviewed-by: eosterlund, dholmes, dcubed
2023-11-17 08:38:21 +00:00
Roland Westrelin
129c4708b4 8311932: Suboptimal compiled code of nested loop over memory segment
Reviewed-by: thartmann, chagedorn
2023-11-17 07:54:10 +00:00
Stefan Karlsson
369bbecc0d 8319896: Remove monitor deflation from final audit
Reviewed-by: dholmes, dcubed
2023-11-17 07:04:13 +00:00
Mandy Chung
1588dd934c 8319567: Update java/lang/invoke tests to support vm flags
8319568: Update java/lang/reflect/exeCallerAccessTest/CallerAccessTest.java to accept vm flags
8319672: Several classloader tests ignore VM flags
8319676: A couple of jdk/modules/incubator/ tests ignore VM flags
8319677: Test jdk/internal/misc/VM/RuntimeArguments.java should be marked as flagless

Reviewed-by: jvernee, lmesnik
2023-11-16 22:40:22 +00:00
Brian Burkhalter
9727f4bddd 8320199: Fix HTML 5 errors in java.math.BigInteger
Reviewed-by: naoto, darcy, lancea, iris
2023-11-16 16:55:46 +00:00
Vicente Romero
d6aa7c8ba0 8314621: ClassNotFoundException due to lambda reference to elided anonymous inner class
Reviewed-by: jlahoda
2023-11-16 16:49:26 +00:00
Vicente Romero
52e2878cff 8319987: compilation of sealed classes leads to infinite recursion
Reviewed-by: jlahoda
2023-11-16 16:41:58 +00:00
Sandhya Viswanathan
b05e69f789 8320209: VectorMaskGen clobbers rflags on x86_64
Reviewed-by: kvn, qamai, jbhateja
2023-11-16 16:32:08 +00:00
Alexander Zvegintsev
f3ed27582e 8319103: Popups that request focus are not shown on Linux with Wayland
Reviewed-by: serb, prr
2023-11-16 14:59:27 +00:00
Stefan Karlsson
9e7a3ae277 8319630: Monitor final audit log lacks separator
Reviewed-by: dholmes, shade
2023-11-16 14:36:34 +00:00
Stefan Karlsson
87be6b69fe 8318757: VM_ThreadDump asserts in interleaved ObjectMonitor::deflate_monitor calls
Reviewed-by: shade, aboldtch, pchilanomate, dcubed
2023-11-16 14:33:50 +00:00
Matthias Baesken
9faead1469 8319927: Log that IEEE rounding mode was corrupted by loading a library
Reviewed-by: goetz, lucy
2023-11-16 12:55:06 +00:00
Roland Westrelin
f33c874b6e 8319764: C2 compilation asserts during incremental inlining because Phi input is out of bounds
Reviewed-by: thartmann, chagedorn
2023-11-16 12:43:50 +00:00
Roland Westrelin
6868b371c6 8318826: C2: "Bad graph detected in build_loop_late" with incremental inlining
Reviewed-by: thartmann, chagedorn, kvn
2023-11-16 12:41:16 +00:00
Darragh Clarke
1d9688667e 8319531: FileServerHandler::discardRequestBody could be improved
Reviewed-by: dfuchs, jpai, michaelm
2023-11-16 10:54:47 +00:00
Darragh Clarke
73e19f60cd 8319825: jdk.net/jdk.net.ExtendedSocketOptions::IP_DONTFRAGMENT is missing @since 19
Reviewed-by: dfuchs, jpai
2023-11-16 10:50:38 +00:00
Daniel Jeliński
faeea07fe5 8319747: galoisCounterMode_AESCrypt stack walking broken
Reviewed-by: kvn, sviswanathan
2023-11-16 08:55:18 +00:00
Thomas Obermeier
b4c2d1c1af 8319542: Fix boundaries of region to be tested with os::is_readable_range
Reviewed-by: dlong, clanger
2023-11-16 08:38:15 +00:00
Daniel Lundén
c36ec2ca70 8316653: Large NMethodSizeLimit triggers assert during C1 code buffer allocation
Reviewed-by: kvn, rcastanedalo, thartmann
2023-11-16 07:41:13 +00:00
Christian Hagedorn
2db9ea9bbf 8317723: C2: CountedLoopEndNodes and Zero Trip Guards are wrongly treated as Runtime Predicate
Reviewed-by: thartmann, epeter
2023-11-16 07:37:45 +00:00
Thomas Stuefe
eaa4417f5c 8319301: Static analysis warnings after JDK-8318016
Reviewed-by: thartmann, kvn
2023-11-16 07:29:37 +00:00
Cesar Soares Lucas
3452210b36 8283140: Remove unused encoding classes/operands from x86_64.ad
Reviewed-by: thartmann, dlong
2023-11-16 06:51:26 +00:00
Eirik Bjorsnos
f0b7eb519a 8304020: Speed up test/jdk/java/util/zip/ZipFile/TestTooManyEntries.java and clarify its purpose
Reviewed-by: lancea, martin, jpai
2023-11-16 06:30:29 +00:00
Matias Saavedra Silva
ffa35d8cf1 8301997: Move method resolution information out of the cpCache
Co-authored-by: Gui Cao <gcao@openjdk.org>
Co-authored-by: Fei Yang <fyang@openjdk.org>
Co-authored-by: Martin Doerr <mdoerr@openjdk.org>
Co-authored-by: Amit Kumar <amitkumar@openjdk.org>
Reviewed-by: coleenp, adinn, fparain
2023-11-15 19:04:11 +00:00
Naoto Sato
891d8cfaf2 8319986: Invalid/inconsistent description and example for DateFormat
Reviewed-by: joehw, rriggs, jlu, iris, lancea
2023-11-15 18:51:25 +00:00
Alex Menkov
536b1cee24 8320130: Problemlist 2 vmTestbase/nsk/jdi/StepRequest/addClassFilter_rt tests with Xcomp
Reviewed-by: cjplummer, dcubed
2023-11-15 18:48:57 +00:00
Rajan Halade
0bda467f6e 8319187: Add three eMudhra emSign roots
Reviewed-by: mullan
2023-11-15 18:33:40 +00:00
Hamlin Li
3c6ffcadfe 8318219: RISC-V: C2 ExpandBits
Reviewed-by: fyang
2023-11-15 15:45:13 +00:00
Aleksey Shipilev
77a6966114 8320053: GHA: Cross-compile gtest code
Reviewed-by: ihse, stuefe
2023-11-15 14:06:12 +00:00
Per Minborg
4f4d00fa75 8319966: AIX: expected [[0:i4]] but found [[0:I4]] after JDK-8319882
Reviewed-by: mdoerr
2023-11-15 13:52:06 +00:00
Thomas Stuefe
2e34a2ebf0 8318671: Potential uninitialized uintx value after JDK-8317683
Reviewed-by: thartmann, shade
2023-11-15 09:55:51 +00:00
Hamlin Li
fac6b51699 8319781: RISC-V: Refactor UseRVV related checks
Reviewed-by: rehn, fyang
2023-11-15 09:51:14 +00:00
Daniel Lundén
bad6999634 8313672: C2: PhaseCCP does not correctly track analysis dependencies involving shift, convert, and mask
Reviewed-by: epeter, rcastanedalo, thartmann
2023-11-15 09:19:15 +00:00
Thomas Schatzl
fbe19378c3 8319955: Improve dependencies removal during class unloading
Reviewed-by: dholmes, eosterlund
2023-11-15 08:33:44 +00:00
Tobias Holenstein
4c1540baa6 8287284: C2: loop optimization performs split_thru_phi infinitely many times
Reviewed-by: thartmann, epeter, chagedorn, roland
2023-11-15 08:31:39 +00:00
Thomas Stuefe
70f0c013ba 8320054: Remove unused _count from NMT walker classes
Reviewed-by: jsjolen, gziemski
2023-11-15 08:02:42 +00:00
Prasanta Sadhukhan
e7486e8cfc 8315986: [macos14] javax/swing/JMenuItem/4654927/bug4654927.java: component must be showing on the screen to determine its location
Reviewed-by: dnguyen, honkar, aivanov
2023-11-15 07:01:32 +00:00
Ioi Lam
a6343c0b7b 8319999: Refactor MetaspaceShared::use_full_module_graph()
Reviewed-by: dholmes, ccheung
2023-11-15 05:09:10 +00:00
Sandhya Viswanathan
d9a89c59da 8319572: Test jdk/incubator/vector/LoadJsvmlTest.java ignores VM flags
Reviewed-by: lmesnik
2023-11-15 01:17:40 +00:00
Kim Barrett
1e76ba0cd0 8319439: Move BufferNode from PtrQueue files to new files
Reviewed-by: tschatzl, iwalulya
2023-11-15 01:09:09 +00:00
Justin Lu
d5abe49670 8319628: DateFormat does not mention IllegalArgumentException for invalid style args
Reviewed-by: naoto
2023-11-14 23:37:28 +00:00
Alec Su
d725b73df0 8301310: The SendRawSysexMessage test may cause a JVM crash
Reviewed-by: serb
2023-11-14 22:51:39 +00:00
Brian Burkhalter
12fce4b715 8287843: File::getCanonicalFile doesn't work for \\?\C:\ style paths DOS device paths
Reviewed-by: alanb
2023-11-14 18:01:13 +00:00
Liam Miller-Cushon
346dbd6d1c 8319196: ExecutableElement.getReceiverType doesn't return receiver types for methods loaded from bytecode
Reviewed-by: vromero
2023-11-14 17:38:09 +00:00
Rajan Halade
0ea58048f9 8318759: Add four DigiCert root certificates
Reviewed-by: mullan
2023-11-14 17:29:28 +00:00
Stewart X Addison
6a75c2406b 8319958: test/jdk/java/io/File/libGetXSpace.c does not compile on Windows 32-bit
Reviewed-by: bpb, shade
2023-11-14 17:06:03 +00:00
Tobias Holenstein
58af9aeeb0 8316392: compiler/interpreter/TestVerifyStackAfterDeopt.java failed with SIGBUS in PcDescContainer::find_pc_desc_internal
Reviewed-by: thartmann, kvn
2023-11-14 16:17:34 +00:00
Vicente Romero
a75b6e569f 8191460: crash in Annotate with duplicate declaration and annotation processing enabled
Co-authored-by: Jan Lahoda <jlahoda@openjdk.org>
Reviewed-by: asotona
2023-11-14 15:17:18 +00:00
Ashutosh Mehra
7bb1999c51 8316342: CLHSDB "dumpclass" command produces invalid classes
Reviewed-by: cjplummer, sspitsyn
2023-11-14 14:48:47 +00:00
Roman Marchenko
97ea5bf0ff 8319961: JvmtiEnvBase doesn't zero _ext_event_callbacks
Reviewed-by: dholmes
2023-11-14 14:36:18 +00:00
Aleksey Shipilev
25f9af99be 8319883: Zero: Use atomic built-ins for 64-bit accesses
Reviewed-by: dholmes, kbarrett, stuefe
2023-11-14 12:52:49 +00:00
Jorn Vernee
9c98270737 8254693: Add Panama feature to pass heap segments to native code
Reviewed-by: mcimadamore, lucy, vlivanov
2023-11-14 11:19:30 +00:00
Hamlin Li
c80e691adf 8319970: AArch64: enable tests compiler/intrinsics/Test(Long|Integer)UnsignedDivMod.java on aarch64
Reviewed-by: aph, haosun
2023-11-14 10:10:47 +00:00
Hamlin Li
856c280d93 8319960: RISC-V: compiler/intrinsics/TestInteger/LongUnsignedDivMod.java failed with "counts: Graph contains wrong number of nodes"
Reviewed-by: rehn
2023-11-14 10:06:09 +00:00
Hamlin Li
cb7875d57d 8318218: RISC-V: C2 CompressBits
Reviewed-by: fyang, fjiang
2023-11-14 09:59:08 +00:00
Daniel Jeliński
1535528cb1 8318479: [jmh] the test security.CacheBench failed for multiple threads run
Reviewed-by: redestad
2023-11-14 09:53:23 +00:00
Tejesh R
95bd92a560 8210807: Printing a JTable with a JScrollPane prints table without rows populated
Reviewed-by: psadhukhan, abhiscxk
2023-11-14 09:53:05 +00:00
Roland Westrelin
21cda19d05 8309203: C2: remove copy-by-value of GrowableArray for InterfaceSet
Reviewed-by: thartmann, kvn
2023-11-14 09:07:56 +00:00
Aleksey Shipilev
b120a05b22 8319406: x86: Shorter movptr(reg, imm) for 32-bit immediates
Reviewed-by: qamai, kvn
2023-11-14 08:59:15 +00:00
Daniel Lundén
7df73a23d3 8318817: Could not reserve enough space in CodeHeap 'profiled nmethods' (0K)
Reviewed-by: stuefe, rcastanedalo
2023-11-14 07:49:35 +00:00
Eirik Bjorsnos
07eaea8c25 8303920: Avoid calling out to python in DataDescriptorSignatureMissing test
Co-authored-by: Jaikiran Pai <jpai@openjdk.org>
Reviewed-by: jpai, lancea, iris
2023-11-14 07:30:02 +00:00
Naoto Sato
fe0ccdf5f8 8319640: ClassicFormat::parseObject (from DateTimeFormatter) does not conform to the javadoc and may leak DateTimeException
Reviewed-by: rriggs, iris, jlu, joehw
2023-11-13 23:42:40 +00:00
Mikael Vidstedt
1802cb566e 8319570: Change to GCC 13.2.0 for building on Linux at Oracle
Reviewed-by: ihse, dholmes
2023-11-13 22:44:28 +00:00
Mat Carter
d992033439 8317562: [JFR] Compilation queue statistics
Reviewed-by: kvn
2023-11-13 20:56:58 +00:00
Eamonn McManus
965ae72964 8319753: Duration javadoc has "period" instead of "duration" in several places
Reviewed-by: rriggs
2023-11-13 20:53:30 +00:00
Ioi Lam
115b0744c6 8319944: Remove DynamicDumpSharedSpaces
Reviewed-by: dholmes, ccheung, matsaave
2023-11-13 18:09:24 +00:00
Mikael Vidstedt
c0507af5a4 8319818: Address GCC 13.2.0 warnings (stringop-overflow and dangling-pointer)
Reviewed-by: ihse, dholmes
2023-11-13 17:46:26 +00:00
Naoto Sato
3684b4b5f2 8306116: Update CLDR to Version 44.0
Reviewed-by: srl, joehw, lancea
2023-11-13 16:54:53 +00:00
Naoto Sato
88ccd646a7 8296250: Update ICU4J to Version 74.1
Reviewed-by: joehw, lancea, rriggs
2023-11-13 16:54:37 +00:00
Aleksey Shipilev
03db82818b 8319650: Improve heap dump performance with class metadata caching
Reviewed-by: simonis, coleenp, yyang
2023-11-13 11:51:38 +00:00
Per Minborg
b41b00a41c 8319820: Use unnamed variables in the FFM implementation
Reviewed-by: mcimadamore
2023-11-13 10:52:10 +00:00
Thomas Stuefe
4d650fe85f 8319704: LogTagSet::set_output_level() should not accept NULL as LogOutput
Reviewed-by: jsjolen, dholmes
2023-11-13 08:31:06 +00:00
Thomas Stuefe
6f863b2a1b 8318636: Add jcmd to print annotated process memory map
Reviewed-by: jsjolen, gziemski
2023-11-13 08:26:42 +00:00
Matthias Baesken
e035637a4c 8319375: test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineLeakThrowable.java runs into OutOfMemoryError: Metaspace on AIX
Reviewed-by: kevinw, lucy, dholmes
2023-11-13 07:53:03 +00:00
Eric Liu
50f41d6370 8309893: Integrate ReplicateB/S/I/L/F/D nodes to Replicate node
Reviewed-by: jbhateja, epeter, fgao
2023-11-13 02:19:52 +00:00
Justin Lu
caf71810f8 8318189: ChoiceFormat::format throws undocumented AIOOBE
Reviewed-by: naoto
2023-11-12 21:39:43 +00:00
Thomas Stuefe
9938b3f62b 8319314: NMT detail report slow or hangs for large number of mappings
Reviewed-by: jsjolen, gziemski
2023-11-11 06:55:21 +00:00
Pavel Rappo
c9077b8b81 8319339: Internal error on spurious markup in a hybrid snippet
Reviewed-by: jjg
2023-11-10 16:50:53 +00:00
Roman Kennke
ea1ffa3419 8318895: Deoptimization results in incorrect lightweight locking stack
Co-authored-by: Axel Boldt-Christmas <aboldtch@openjdk.org>
Co-authored-by: Richard Reingruber <rrich@openjdk.org>
Reviewed-by: dlong, rrich
2023-11-10 15:28:27 +00:00
Per Minborg
c9657cad12 8319882: SequenceLayout::toString throws ArithmeticException
Reviewed-by: mcimadamore
2023-11-10 14:24:22 +00:00
Thomas Stuefe
6b21ff61da 8319828: runtime/NMT/VirtualAllocCommitMerge.java may fail if mixing interpreted and compiled native invocations
Reviewed-by: stefank
2023-11-10 10:44:11 +00:00
Raffaello Giulietti
a64fc48e2d 8319174: Enhance robustness of some j.m.BigInteger constructors
Reviewed-by: rriggs, darcy
2023-11-10 10:05:38 +00:00
Cesar Soares Lucas
9cce9fe067 8319256: Print more diagnostic information when an unexpected user is found in a Phi
Reviewed-by: kvn, thartmann
2023-11-10 07:10:13 +00:00
Hai-May Chao
a95062b39a 8319670: Improve comments describing system properties for TLS server and client for max chain length
Reviewed-by: mullan
2023-11-09 20:21:15 +00:00
Joshua Cao
38745ecacd 8319649: inline_boxing_calls unused gvn variable
Reviewed-by: dlong, thartmann, shade
2023-11-09 19:20:39 +00:00
Volodymyr Paprotski
636a351976 8319429: Resetting MXCSR flags degrades ecore
Reviewed-by: sviswanathan, thartmann
2023-11-09 18:11:15 +00:00
Xin Liu
d7b0ba9d7c 8319554: Select LogOutput* directly for stdout and stderr
Reviewed-by: jsjolen, dholmes
2023-11-09 17:52:08 +00:00
Roger Riggs
68110b7a82 8319574: Exec/process tests should be marked as flagless
Reviewed-by: bpb, naoto, jpai
2023-11-09 16:21:42 +00:00
Hamlin Li
7b971c1fe8 8319705: RISC-V: signumF/D intrinsics fails compiler/intrinsics/math/TestSignumIntrinsic.java
Reviewed-by: fyang, vkempik
2023-11-09 15:58:54 +00:00
Per Minborg
f939542104 8319324: FFM: Reformat javadocs
Reviewed-by: mcimadamore
2023-11-09 15:18:43 +00:00
Joshua Cao
a3f1b33b9b 8319664: IGV always output on PhaseRemoveUseless
Reviewed-by: rcastanedalo, thartmann
2023-11-09 14:56:57 +00:00
Roman Kennke
f57b78c9c3 8319726: Parallel GC: Re-use object in object-iterator
Reviewed-by: ayang, phh
2023-11-09 13:31:00 +00:00
Doug Simon
4451a927bc 8319748: [JVMCI] TestUseCompressedOopsFlagsWithUlimit.java crashes on libgraal
Reviewed-by: never, thartmann
2023-11-09 10:48:26 +00:00
Martin Doerr
7d8adfa855 8316746: Top of lock-stack does not match the unlocked object
Reviewed-by: rrich, lucy
2023-11-09 10:14:03 +00:00
Christian Hagedorn
dd9eab15c8 8310886: C2 SuperWord: Two nodes should be isomorphic if they are loop invariant but pinned at different nodes outside the loop
Reviewed-by: kvn, epeter
2023-11-09 09:31:54 +00:00
Leo Korinth
7e4cb2f09d 8318962: Update ProcessTools javadoc with suggestions in 8315097
Reviewed-by: rriggs
2023-11-09 08:57:44 +00:00
Joachim Kern
0b58bdec71 8319104: GtestWrapper crashes with SIGILL in AsyncLogTest::test_asynclog_raw on AIX opt
Reviewed-by: mdoerr, stuefe
2023-11-09 08:56:00 +00:00
Aleksey Shipilev
b0fc8082f0 8319725: G1: Subtracting virtual time from wall time after JDK-8319204
Reviewed-by: ayang, iwalulya
2023-11-09 07:36:32 +00:00
Ichiroh Takiguchi
a26f7c03c7 6928542: Chinese characters in RTF are not decoded
Reviewed-by: prr, psadhukhan
2023-11-09 01:05:00 +00:00
Phil Race
4e8c0364a2 8319665: [macOS] Obsolete imports of <Carbon/Carbon.h> in java.desktop
Reviewed-by: psadhukhan, serb
2023-11-08 22:49:48 +00:00
David Holmes
f4ab9528ad 8319253: [BACKOUT] Change LockingMode default from LM_LEGACY to LM_LIGHTWEIGHT
Reviewed-by: stuefe, shade, stefank, dcubed
2023-11-08 20:35:20 +00:00
Mandy Chung
c137b17e82 8187655: jdk.lambda.vm.InterfaceAccessFlagsTest.testPrivateMethodCall needs update after nestmates support
Reviewed-by: liach, asotona
2023-11-08 19:59:31 +00:00
Antonios Printezis
fa331d7128 8319184: RISC-V: improve MD5 intrinsic
Reviewed-by: fyang, mli
2023-11-08 19:55:28 +00:00
Bill Huang
4c0f6c6105 8311961: Update Manual Test Groups for ATR JDK22
Reviewed-by: msheppar
2023-11-08 19:39:30 +00:00
Raffaello Giulietti
a6785e4d63 8318915: Enhance checks in BigDecimal.toPlainString()
Reviewed-by: rriggs, bpb
2023-11-08 19:05:22 +00:00
Claes Redestad
7d25f1c6cb 8319423: Improve Year.isLeap by checking divisibility by 16
Reviewed-by: naoto, rriggs
2023-11-08 15:18:53 +00:00
Roman Kennke
59e9981ec2 8319376: ParallelGC: Forwarded objects found during heap inspection
Co-authored-by: Albert Mingkun Yang <ayang@openjdk.org>
Reviewed-by: ayang, tschatzl
2023-11-08 15:18:40 +00:00
Thomas Schatzl
7c7f8ea30d 8319456: jdk/jfr/event/gc/collection/TestGCCauseWith[Serial|Parallel].java : GC cause 'GCLocker Initiated GC' not in the valid causes
Reviewed-by: ayang, iwalulya
2023-11-08 13:50:58 +00:00
Mourad Abbay
7bc8e4c891 8294980: test/jdk/java/lang/invoke 15 test classes use experimental bytecode library
Reviewed-by: asotona
2023-11-08 13:26:58 +00:00
Erik Gahlin
e841897247 8319374: JFR: Remove instrumentation for exception events
Reviewed-by: mgronlun, alanb
2023-11-08 13:22:33 +00:00
Albert Mingkun Yang
cd9719bc1d 8319306: Serial: Remove TenuredSpace::verify
Reviewed-by: iwalulya, tschatzl
2023-11-08 11:55:47 +00:00
Quan Anh Mai
1e687b4529 8316719: C2 compilation still fails with "bad AD file"
Reviewed-by: chagedorn, thartmann
2023-11-08 10:47:00 +00:00
Thomas Stuefe
8555e0f6c4 8319318: bufferedStream fixed case can be removed
Reviewed-by: dholmes
2023-11-08 06:23:39 +00:00
Per Minborg
73c5f60f41 8319556: Harmonize interface formatting in the FFM API
Reviewed-by: mcimadamore
2023-11-08 06:12:14 +00:00
Justin Lu
cc4b0d9217 8319378: Spec for j.util.Timer::purge and j.util.Timer::cancel could be improved
Reviewed-by: naoto, jpai, rriggs
2023-11-07 21:33:33 +00:00
Gergö Barany
a290256bbf 8315680: java/lang/ref/ReachabilityFenceTest.java should run with -Xbatch
Reviewed-by: dnsimon, never, psandoz
2023-11-07 19:23:53 +00:00
Joe Wang
b1625af600 8305814: Update Xalan Java to 2.7.3
Reviewed-by: iris, lancea, naoto
2023-11-07 19:21:03 +00:00
Mikael Vidstedt
806529aa77 8319573: Change to Visual Studio 17.6.5 for building on Windows at Oracle
Reviewed-by: erikj
2023-11-07 17:13:47 +00:00
Alexey Semenyuk
e9eb8b98f4 8319338: tools/jpackage/share/RuntimeImageTest.java fails with -XX:+UseZGC
Reviewed-by: almatvee, alanb
2023-11-07 17:07:43 +00:00
Mandy Chung
8eb6f617b3 8319436: Proxy.newProxyInstance throws NPE if loader is null and interface not visible from class loader
Reviewed-by: alanb
2023-11-07 17:00:08 +00:00
Lance Andersen
82747132b0 8314891: Additional Zip64 extra header validation
Reviewed-by: coffeys
2023-11-07 16:52:22 +00:00
Afshin Zafari
0dcd730f5c 8318594: NMT: VM.native_memory crashes on assert if functionality isn't supported by OS
Reviewed-by: zgu, jsjolen
2023-11-07 15:47:01 +00:00
Jan Lahoda
45e68ae207 8319532: jshell - Non-sealed declarations sometimes break a snippet evaluation
Reviewed-by: asotona
2023-11-07 15:27:48 +00:00
Chen Liang
4a0ad462ab 8317937: @sealedGraph: Links to inner classes fails in links
Reviewed-by: pminborg
2023-11-07 15:07:17 +00:00
Per Minborg
134c382d39 8319560: Reformat method parameters in the FFM API
Reviewed-by: mcimadamore
2023-11-07 15:05:03 +00:00
Per Minborg
ef8c8408a6 8319607: FFM: Review the language in the FFM documentation
Reviewed-by: mcimadamore
2023-11-07 14:34:33 +00:00
Albert Mingkun Yang
bf9a93de1f 8319204: G1: Change G1CMTask::_termination_time_ms to wallclock time
Reviewed-by: iwalulya, tschatzl
2023-11-07 14:30:14 +00:00
Feilong Jiang
b2504a0f9c 8319525: RISC-V: Rename *_riscv64.ad files to *_riscv.ad under riscv/gc
Reviewed-by: luhenry, fyang
2023-11-07 14:29:53 +00:00
Daniel Lundén
bfafb27e27 8319615: IGV incomplete gitignore
Reviewed-by: rcastanedalo
2023-11-07 13:57:12 +00:00
Thomas Schatzl
c760097943 8319541: G1: Inline G1RemoveSelfForwardsTask into RestoreRetainedRegionsTask
Reviewed-by: ayang, iwalulya
2023-11-07 13:48:18 +00:00
Thomas Schatzl
85e4cde3f8 8319620: Parallel: Remove unused PSPromotionManager::*_is_full getters and setters
Reviewed-by: ayang
2023-11-07 13:48:04 +00:00
Chen Liang
d22e368cb5 8319462: Signature.ClassTypeSig::classDesc() incorrect for inner class types
Reviewed-by: asotona
2023-11-07 12:22:40 +00:00
Jan Lahoda
541ff7149f 8318144: Match on enum constants with body compiles but fails with MatchException
Reviewed-by: liach, vromero
2023-11-07 12:05:58 +00:00
Per Minborg
42f43c520c 8319563: Reformat code in the FFM API
Reviewed-by: mcimadamore
2023-11-07 11:39:41 +00:00
Per Minborg
ac0ee20a38 8319613: Complier error in benchmark TestLoadSegmentVarious
Reviewed-by: jpai, stefank
2023-11-07 11:04:43 +00:00
Kevin Walls
a7c0190230 8319238: JMX ThreadPoolAccTest.java is too verbose and should fail before timeout
Reviewed-by: sspitsyn
2023-11-07 10:15:35 +00:00
Doug Simon
9ac6ac86d3 8319559: [JVMCI] ensureLinked must be able to call Java
Reviewed-by: never, thartmann
2023-11-07 10:13:54 +00:00
Hamlin Li
1c0e7b71b8 8319408: RISC-V: MaxVectorSize is not consistently checked in several situations
Reviewed-by: fyang
2023-11-07 09:50:51 +00:00
Per Minborg
74f1889b58 8318678: Vector access on heap MemorySegments only works for byte[]
Reviewed-by: chegar, mcimadamore, psandoz
2023-11-07 09:46:45 +00:00
Daniel Jeliński
e1cae72036 8319197: Exclude hb-subset and hb-style from compilation
Reviewed-by: erikj, aivanov, prr
2023-11-07 08:41:49 +00:00
Marc R. Hoffmann
419ed90770 8319450: New methods java.net.InetXAddress.ofLiteral() miss @since tag
Reviewed-by: dfuchs, aefimov, vtewari, jpai
2023-11-07 06:37:45 +00:00
Hao Sun
439ed046e4 8319233: AArch64: Build failure with clang due to -Wformat-nonliteral warning
Reviewed-by: kbarrett, eastigeevich
2023-11-07 01:01:37 +00:00
lawrence.andrews
e4803e0cbf 8318580: "javax/swing/MultiMonitor/MultimonVImage.java failing with Error. Can't find library: /open/test/jdk/java/awt/regtesthelpers" after JDK-8316053
Reviewed-by: serb, aivanov
2023-11-06 20:10:51 +00:00
Jorn Vernee
cdf337357a 8319316: Clarify text around which layouts a linker supports
Reviewed-by: mcimadamore
2023-11-06 15:09:26 +00:00
Kevin Driver
1696603ccd 8308453: Convert JKS test keystores in test/jdk/javax/net/ssl/etc to PKCS12
Reviewed-by: weijun
2023-11-06 15:07:03 +00:00
Thomas Stuefe
b3126b6e44 8319455: Test compiler/print/CompileCommandMemLimit.java times out
Reviewed-by: thartmann, chagedorn
2023-11-06 13:58:52 +00:00
Leo Korinth
1c2ea1d27b 8319153: Fix: Class is a raw type in ProcessTools
Reviewed-by: dholmes, mli, lmesnik, jpai
2023-11-06 13:32:10 +00:00
Tejesh R
96e6e670b5 4365952: Cannot disable JFileChooser
Reviewed-by: prr, abhiscxk
2023-11-06 13:29:48 +00:00
Jaikiran Pai
2d4bbf4787 8319465: Typos in javadoc of com.sun.management.OperatingSystemMXBean methods
Reviewed-by: dholmes, kevinw, dfuchs
2023-11-06 12:58:15 +00:00
Albert Mingkun Yang
8fb94fd4fe 8319379: G1: gc/logging/TestUnifiedLoggingSwitchStress.java crashes after JDK-8318894
Reviewed-by: tschatzl, sjohanss
2023-11-06 11:06:42 +00:00
Emanuel Peter
b5c863b772 8316533: C2 compilation fails with assert(verify(phase)) failed: missing Value() optimization
Reviewed-by: rcastanedalo, thartmann, roland
2023-11-06 10:41:09 +00:00
Roberto Castañeda Lozano
377138c7b5 8318959: C2: define MachNode::fill_new_machnode() statically
Reviewed-by: kvn, thartmann
2023-11-06 09:08:56 +00:00
Robbin Ehn
c146685ca9 8319165: hsdis binutils: warns on empty string as option string
Reviewed-by: mli, jwilhelm, aph
2023-11-06 05:48:10 +00:00
Hamlin Li
01c0d5dd0a 8319412: RISC-V: Simple fix of indent in c2_MacroAssembler_riscv.hpp
Reviewed-by: fyang
2023-11-05 11:29:30 +00:00
Andrew Haley
df599dbb9b 8295159: DSO created with -ffast-math breaks Java floating-point arithmetic
Reviewed-by: ihse, dholmes, stuefe
2023-11-04 09:17:11 +00:00
Alan Bateman
c099cf53f2 8318422: Allow poller threads be virtual threads
Reviewed-by: michaelm
2023-11-04 06:52:19 +00:00
Alex Menkov
29cf2c471b 8319053: Segment dump files remain after parallel heap dump on Windows
Reviewed-by: dholmes, yyang
2023-11-03 20:44:36 +00:00
Justin Lu
ea6a88a0aa 8318466: Improve spec of NumberFormat's methods with unsupported operations
Reviewed-by: naoto, iris
2023-11-03 17:32:51 +00:00
Liam Miller-Cushon
de6667cf11 8225377: type annotations are not visible to javac plugins across compilation boundaries
Reviewed-by: vromero
2023-11-03 17:31:05 +00:00
Mandy Chung
008ca2a725 8317620: Build JDK tools with ModuleMainClass attribute
Reviewed-by: erikj, alanb
2023-11-03 16:05:40 +00:00
Johannes Bechberger
1a21c1a783 8318736: com/sun/jdi/JdwpOnThrowTest.java failed with "transport error 202: bind failed: Address already in use"
Reviewed-by: amenkov
2023-11-03 12:32:53 +00:00
Matthias Baesken
81db1721d4 8318955: Add ReleaseIntArrayElements in Java_sun_awt_X11_XlibWrapper_SetBitmapShape XlbWrapper.c to early return
Reviewed-by: rschmelter, prr
2023-11-03 12:29:39 +00:00
Per Minborg
be01caf30d 8319323: FFM: Harmonize the @throws tags in the javadocs
Reviewed-by: jvernee
2023-11-03 12:26:47 +00:00
xpbob
ec79ab4b3c 8319268: Build failure with GCC8.3.1 after 8313643
Reviewed-by: jiefu, erikj, prr
2023-11-03 03:49:37 +00:00
Joe Darcy
c788160f8a 8296240: Augment discussion of test tiers in doc/testing.md
Reviewed-by: alanb
2023-11-02 20:28:16 +00:00
Markus Grönlund
ffaecd4aa2 8315364: Assert thread state invariant for JFR stack trace capture
Reviewed-by: egahlin
2023-11-02 19:34:51 +00:00
Alisen Chung
3b65b8797a 8316028: Update FreeType to 2.13.2
Reviewed-by: serb, dnguyen
2023-11-02 19:05:14 +00:00
Joe Darcy
9dc40ba48e 8319195: Move most tier 1 vector API regression tests to tier 3
Reviewed-by: kvn, jiefu
2023-11-02 18:59:07 +00:00
Doug Simon
f875163c5d 8318982: Improve Exceptions::special_exception
Reviewed-by: coleenp, dholmes
2023-11-02 17:43:26 +00:00
Weijun Wang
84f4f7477c 8319213: Compatibility.java reads both stdout and stderr of JdkUtils
Reviewed-by: rhalade
2023-11-02 17:39:34 +00:00
Mandy Chung
6ad093ef12 8319265: TestLoadLibraryDeadlock.java fails on windows-x64 "Unable to load b.jar"
Reviewed-by: jpai, rriggs
2023-11-02 16:38:30 +00:00
Rajan Halade
e6f46a4326 8317374: Add Let's Encrypt ISRG Root X2
Reviewed-by: mullan
2023-11-02 16:38:13 +00:00
Calvin Cheung
e318cd25cb 8316969: Improve CDS module graph support for --module option
Reviewed-by: iklam, alanb
2023-11-02 16:03:14 +00:00
Matias Saavedra Silva
7a7b1e5a92 8315890: Attempts to load from nullptr in instanceKlass.cpp and unsafe.cpp
Reviewed-by: coleenp, ccheung, dholmes
2023-11-02 14:30:41 +00:00
Per Minborg
cb20a3e7a6 8319166: Typos in the JavaDocs for MemorySegment
Reviewed-by: mcimadamore
2023-11-02 13:29:27 +00:00
Martin Doerr
99efcded6c 8317545: AIX PPC64: Implementation of Foreign Function & Memory API
Reviewed-by: jvernee
2023-11-02 13:13:46 +00:00
Hannes Wallnöfer
e9d19d0fff 8319300: Remove unused methods in WorkArounds and Utils
Reviewed-by: prappo
2023-11-02 12:21:26 +00:00
Markus Grönlund
faa8bde275 8319206: [REDO] Event NativeLibraryLoad breaks invariant by taking a stacktrace when thread is in state _thread_in_native
Reviewed-by: dholmes, egahlin
2023-11-02 12:17:35 +00:00
Markus Grönlund
4f808c62b0 8316538: runtime/handshake/MixedHandshakeWalkStackTest.java crashes with JFR
Reviewed-by: egahlin
2023-11-02 12:17:18 +00:00
Hannes Wallnöfer
2d4a4d04b8 8315921: Invalid CSS declarations in java.lang class documentation
Reviewed-by: jpai, alanb
2023-11-02 11:53:54 +00:00
Albert Mingkun Yang
792d829328 8319205: Parallel: Reenable work stealing after JDK-8310031
Reviewed-by: tschatzl, iwalulya
2023-11-02 11:26:04 +00:00
Albert Mingkun Yang
23a96bf312 8318894: G1: Use uint for age in G1SurvRateGroup
Reviewed-by: tschatzl, iwalulya
2023-11-02 11:25:53 +00:00
Julian Waters
64f8253b7d 8317332: Prepare security for permissive-
Reviewed-by: djelinski, weijun, valeriep
2023-11-02 10:53:17 +00:00
Matthias Baesken
53bb7cd415 8318957: enhance agentlib:jdwp help output by info about allow option
Reviewed-by: cjplummer
2023-11-02 10:06:37 +00:00
Thomas Obermeier
d6ce62ebc0 8306561: Possible out of bounds access in print_pointer_information
Reviewed-by: stuefe, clanger
2023-11-02 09:51:22 +00:00
Albert Mingkun Yang
7f31a0591c 8319203: Parallel: Rename addr_is_marked_imprecise
Reviewed-by: iwalulya, tschatzl
2023-11-02 09:39:30 +00:00
Julian Waters
4a85f6ae9f 8317132: Prepare HotSpot for permissive-
Reviewed-by: dholmes, jvernee, djelinski
2023-11-02 08:17:14 +00:00
Mandy Chung
5207443b36 8317965: TestLoadLibraryDeadlock.java fails with "Unable to load native library.: expected true, was false"
Reviewed-by: rriggs
2023-11-01 22:19:57 +00:00
Justin Lu
ee57e731d0 8317612: ChoiceFormat and MessageFormat constructors call non-final public method
Reviewed-by: naoto, lancea
2023-11-01 21:29:45 +00:00
Maurizio Cimadamore
f262f06c97 8319211: Regression in LoopOverNonConstantFP
Reviewed-by: jvernee
2023-11-01 17:49:21 +00:00
Ben Perez
bfaf5704e7 8311546: Certificate name constraints improperly validated with leading period
Reviewed-by: mullan
2023-11-01 16:49:50 +00:00
Doug Simon
d354141aa1 8318694: [JVMCI] disable can_call_java in most contexts for libjvmci compiler threads
Reviewed-by: dholmes, never
2023-11-01 16:27:04 +00:00
Jonathan Gibbons
c86592d38d 8319046: Execute tests in source/class-file order in JavadocTester
Reviewed-by: hannesw
2023-11-01 15:48:31 +00:00
Jonathan Gibbons
3660a90ad8 8319139: Improve diagnosability of JavadocTester output
Reviewed-by: hannesw
2023-11-01 15:33:53 +00:00
Alexey Ivanov
7f47c51ace 8316025: Use testUI() method of PassFailJFrame.Builder in FileChooserSymLinkTest.java
Reviewed-by: azvegint
2023-11-01 15:27:05 +00:00
Aggelos Biboudis
36de19d462 8317048: VerifyError with unnamed pattern variable and more than one components
Reviewed-by: jlahoda
2023-11-01 13:38:10 +00:00
Albert Mingkun Yang
ab1934848b 8318647: Serial: Refactor BlockOffsetTable
Reviewed-by: tschatzl, iwalulya
2023-11-01 11:50:52 +00:00
Julian Waters
b4f5379d50 8304939: os::win32::exit_process_or_thread should be marked noreturn
Reviewed-by: dholmes, kbarrett
2023-11-01 10:42:23 +00:00
Thomas Stuefe
0461d9a7d6 8318016: Per-compilation memory ceiling
Reviewed-by: roland, thartmann
2023-11-01 08:12:39 +00:00
Jasmine Karthikeyan
2a76ad975c 8318683: compiler/c2/irTests/TestPhiDuplicatedConversion.java "Failed IR Rules (2) of Methods (2)"
Reviewed-by: thartmann, kvn
2023-11-01 06:12:55 +00:00
Jonathan Gibbons
b3fec6b5f3 8306980: Generated docs should contain correct Legal Documents
Reviewed-by: ihse, mchung
2023-10-31 22:03:35 +00:00
Calvin Cheung
11394828b3 8316132: CDSProtectionDomain::get_shared_protection_domain should check for exception
Reviewed-by: dholmes, iklam
2023-10-31 20:56:18 +00:00
Harshitha Onkar
2182c93689 8313643: Update HarfBuzz to 8.2.2
Reviewed-by: jdv, prr, dnguyen
2023-10-31 19:01:15 +00:00
Renjith Kannath Pariyangad
613a3cc689 8301846: Invalid TargetDataLine after screen lock when using JFileChooser or COM library
Reviewed-by: serb, aivanov
2023-10-31 18:20:38 +00:00
Renjith Kannath Pariyangad
613d32c282 8169475: WheelModifier.java fails by timeout
Reviewed-by: dmarkov, aivanov
2023-10-31 18:20:22 +00:00
Adam Sotona
f1e8787393 8317609: Classfile API fails to verify /jdk.jcmd/sun/tools/jstat/Alignment.class
Reviewed-by: liach, alanb
2023-10-31 16:13:41 +00:00
Daniel Jeliński
47624f6fc6 8299058: AssertionError in sun.net.httpserver.ServerImpl when connection is idle
Reviewed-by: jpai, michaelm, dfuchs
2023-10-31 15:53:28 +00:00
Erik Gahlin
2d5829afbc 8239508: JFR: @RemoveFields
Reviewed-by: mgronlun
2023-10-31 15:36:12 +00:00
Hai-May Chao
0064cf90ff 8311596: Add separate system properties for TLS server and client for maximum chain length
Reviewed-by: jnimeh, weijun, mullan
2023-10-31 15:22:18 +00:00
Conor Cleary
3a7525d5c3 8309118: HttpClient: Add more tests for 100 ExpectContinue with HTTP/2
Reviewed-by: dfuchs, djelinski
2023-10-31 14:45:14 +00:00
Albert Mingkun Yang
f4c5db92ea 8318908: Parallel: Remove ExtendedCardValue
Reviewed-by: tschatzl, sjohanss
2023-10-31 14:23:18 +00:00
Doug Simon
7452d50be5 8318940: [JVMCI] do not set HotSpotNmethod oop for a default HotSpotNmethod
Reviewed-by: thartmann, never
2023-10-31 14:16:38 +00:00
Matthew Donovan
3e39d7b34c 8319136: Skip pkcs11 tests on linux-aarch64
Reviewed-by: rhalade
2023-10-31 13:28:41 +00:00
Andrew Haley
ee6f25b507 8319120: Unbound ScopedValue.get() throws the wrong exception
Reviewed-by: alanb
2023-10-31 12:58:56 +00:00
Viktor Klang
e05cafda78 8318467: [jmh] tests concurrent.Queues and concurrent.ProducerConsumer hang with 101+ threads
Reviewed-by: alanb
2023-10-31 11:14:08 +00:00
Markus Grönlund
d3c3f0e7c8 8317951: Refactor loading of zip library to help resolve JDK-8315220
Reviewed-by: egahlin, dholmes
2023-10-31 10:02:40 +00:00
Conor Cleary
576c9bccfb 8318492: Http2ClientImpl should attempt to close and remove connection in stop()
Reviewed-by: dfuchs, jpai
2023-10-31 09:58:26 +00:00
Albert Mingkun Yang
5411ad2a5c 8319106: Remove unimplemented TaskTerminator::do_delay_step
Reviewed-by: tschatzl
2023-10-31 09:14:57 +00:00
Jayathirth D V
75ce02fe74 8318951: Additional negative value check in JPEG decoding
Reviewed-by: azvegint, prr
2023-10-31 04:20:23 +00:00
Andrew John Hughes
328b381075 8009550: PlatformPCSC should load versioned so
Reviewed-by: valeriep, stuefe
2023-10-31 02:06:41 +00:00
4786 changed files with 178330 additions and 615784 deletions

214
.github/README.md vendored
View File

@@ -1,214 +0,0 @@
[![official JetBrains project](http://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
# Welcome to JetBrains Runtime!
JetBrains Runtime is a fork of [OpenJDK](https://github.com/openjdk/jdk) available for Windows, Mac OS X, and Linux.
It supports enhanced class redefinition ([DCEVM](https://ssw.jku.at/dcevm/)),
features optional [JCEF](https://github.com/JetBrains/jcef), a framework for embedding Chromium-based browsers,
includes a number of improvements in font rendering, keyboards support,
windowing/focus subsystems, HiDPI, accessibility, and performance, provides better desktop integration
and bugfixes not yet present in OpenJDK.
> **_NOTE_**: This is a **development** branch that is periodically synchronized with
> the [OpenJDK master](https://github.com/openjdk/jdk/tree/master) branch.
>
Release builds are based on these branches:
* [jbr11](https://github.com/JetBrains/JetBrainsRuntime/tree/jbr11) (JDK 11)
* [jbr17](https://github.com/JetBrains/JetBrainsRuntime/tree/jbr17) (JDK 17)
Download the latest releases of JetBrains Runtime to use with JetBrains IDEs. The full list
can be found on the [releases page](https://github.com/JetBrains/JetBrainsRuntime/releases).
## Releases based on JDK 17
| IDE Version | Latest JBR | Date Released |
|-------------|--------------------------------------------------------------------------------------------------------|---------------|
| 2023.3 | [17.0.9-b1087.3](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.9b1087.3) | 24-Oct-2023 |
| 2023.2 | [17.0.8-b1000.22](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.8b1000.22) | 04-Sep-2023 |
| 2023.1 | [17.0.7-b829.16](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.7b829.16) | 06-Jun-2023 |
| 2022.3 | [17.0.6-b653.34](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.6b653.34) | 28-Feb-2023 |
| 2022.2 | [17.0.6-b469.82](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.6b469.82) | 06-Mar-2023 |
## Releases based on JDK 11
| IDE Version | Latest JBR | Date Released |
|-------------|-------------------------------------------------------------------------------------------------------|---------------|
| 2022.1 | [11_0_16-b2043.64](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr11_0_16b2043.64) | 10-Nov-2022 |
| 2021.3 | [11_0_14_1-b1751.46](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr11_0_14_1b1751.46) | 21-Feb-2022 |
| 2021.2 | [11_0_13-b1504.49](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jb11_0_13-b1504.49) | 15-Nov-2021 |
| 2021.1 | [11.0.11+9-b1341.60](https://github.com/JetBrains/JetBrainsRuntime/issues/171#issuecomment-1248891540)| 15-Jun-2021 |
| 2020.3 | [11_0_10-b1145.115](https://github.com/JetBrains/JetBrainsRuntime/issues/171#issuecomment-1249243977) | 21-Jun-2021 |
## Contents
- [Welcome to JetBrains Runtime](#welcome-to-jetbrains-runtime)
- [Why Use JetBrains Runtime?](#why-use-jetbrains-runtime)
- [Products Built on JetBrains Runtime](#products-built-on-jetbrains-runtime)
- [Getting Sources](#getting-sources)
- [macOS, Linux](#macos-linux)
- [Windows](#sources-windows)
- [Configuring the Build Environment](#configuring-the-build-environment)
- [Linux (Docker)](#linux-docker)
- [Ubuntu Linux](#ubuntu-linux)
- [Windows](#build-windows)
- [macOS](#macos)
- [Developing](#developing)
- [Contributing](#contributing)
- [Resources](#resources)
## Why Use JetBrains Runtime?
* **Embedded browser**: JetBrains Runtime includes the Java Chromium Embedded Framework ([JCEF](https://github.com/JetBrains/jcef)), which
enables you to embed a Chromium-based browsers in your JVM-based application.
To use it, [download a build with JCEF](https://github.com/JetBrains/JetBrainsRuntime/releases).
* **Enhanced class re-definition** with the [DCEVM](https://ssw.jku.at/dcevm/) technology that makes it easier to reload
changed code without restarting JVM; this feature needs to be explicitly enabled with `-XX:+AllowEnhancedClassRedefinition`.
* **Better FPS performance** for graphics-intensive applications.
* **Improved font rendering**, **keyboard input** (such as shortcuts and multinational keyboards),
**HiDPI** and **accessibility** support.
* **Robust desktop experience**: GUI-related fixes often reach JetBrains Runtime much earlier than the corresponding version of OpenJDK.
## Products Built on JetBrains Runtime
* [Android Studio](https://developer.android.com/studio). The official IDE for Google's Android operating system.
* [CLion](https://www.jetbrains.com/clion/). A cross-platform IDE for C and C++ from JetBrains.
* [DataGrip](https://www.jetbrains.com/datagrip/). The IDE for Databases and SQL from JetBrains.
* [GoLand](https://www.jetbrains.com/go/). The cross-platform Go IDE from JetBrains.
* [IntelliJ IDEA](https://www.jetbrains.com/idea/). The IDE for JVM from JetBrains.
* [JProfiler](https://www.ej-technologies.com/products/jprofiler/overview.html). The Java profiler.
* [PhpStorm](https://www.jetbrains.com/phpstorm/). The PHP IDE from JetBrains.
* [PyCharm](https://www.jetbrains.com/pycharm/). The Python IDE from JetBrains.
* [Rider](https://www.jetbrains.com/rider/). The cross-platform .NET IDE from JetBrains.
* [RubyMine](https://www.jetbrains.com/ruby/). The Ruby and Rails IDE from JetBrains.
* [Toolbox App](https://www.jetbrains.com/toolbox-app/). JetBrains IDE manager.
* [WebStorm](https://www.jetbrains.com/webstorm/). The JavaScript IDE from JetBrains.
* [YourKit](https://www.yourkit.com/). Java and .NET profilers.
## Getting Sources
### macOS, Linux
```
git config --global core.autocrlf input
git clone git@github.com:JetBrains/JetBrainsRuntime.git
```
### Windows
<a name="sources-windows"></a>
```
git config --global core.autocrlf false
git clone git@github.com:JetBrains/JetBrainsRuntime.git
```
## Configuring the Build Environment
Here are quick per-platform instructions for those who can't wait to get started.
Please refer to [OpenJDK build docs](https://openjdk.java.net/groups/build/doc/building.html) for in-depth
coverage of all the details.
> **_TIP:_** To get a preliminary report of what's missing, run `./configure` and check its output.
> It would usually have meaningful advice on how to solve the problem.
### Linux (Docker)
Create a container:
```
$ cd jb/project/docker
$ docker build .
...
Successfully built 942ea9900054
```
Run these commands in the new container:
```
$ docker run -v `pwd`../../../../:/JetBrainsRuntime -it 942ea9900054
# cd /JetBrainsRuntime
# sh ./configure
# make images CONF=linux-x86_64-normal-server-release
```
### Ubuntu Linux
Install the necessary tools, libraries, and headers with:
```
$ sudo apt-get install autoconf make build-essential libx11-dev libxext-dev libxrender-dev libxtst-dev \
libxt-dev libxrandr-dev libcups2-dev libfontconfig1-dev libasound2-dev
```
Get Java 18 (for instance, [Azul Zulu Builds of OpenJDK 18](https://www.azul.com/downloads/?version=java-18-sts&os=linux&package=jdk)).
Then run the following:
```
$ cd JetBrainsRuntime
$ git checkout main
$ sh ./configure
$ make images
```
This will build the release configuration under `./build/linux-x86_64-server-release/`.
### Windows
<a name="build-windows"></a>
Install the following:
* [Cygwin x64](http://www.cygwin.com/).
Required packages: `autoconf`, `binutils`, `cpio`, `diffutils`, `file`, `gawk`, `gcc-core`, `make`, `m4`, `unzip`, `zip`.
Install those together with Cygwin.
* [Visual Studio compiler toolset](https://visualstudio.microsoft.com/downloads/).
Install with the desktop development kit, which includes Windows SDK and compilers.
Visual Studio 2019 is supported by default.
* Java 18 (for instance, [Azul Zulu Builds of OpenJDK 18](https://www.azul.com/downloads/?version=java-18-sts&os=windows&package=jdk)).
If you have problems while configuring, read [Java tips on Cygwin](http://horstmann.com/articles/cygwin-tips.html).
From the command line:
```
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
"c:\Program_Files\cygwin64\bin\mintty.exe" /bin/bash -l
```
The first command sets up environment variables, the second starts a Cygwin shell with the proper environment.
In the Cygwin shell:
```
$ cd JetBrainsRuntime
$ git checkout main
$ bash configure --with-toolchain-version=2019
$ make images
```
This will build the release configuration under `./build/windows-x86_64-server-release/`.
### macOS
Install the following:
* Xcode command line developer tools and `autoconf` via [Homebrew](https://brew.sh/).
* Java 18 (for instance, [Azul Zulu Builds of OpenJDK 18](https://www.azul.com/downloads/?version=java-18-sts&os=macos&package=jdk)).
From the command line:
```
$ cd JetBrainsRuntime
$ git checkout main
$ sh ./configure
$ make images
```
This will build the release configuration under `./build/macosx-x86_64-server-release/`.
## Developing
You can use [CLion](https://www.jetbrains.com/clion/) to develop native parts of the JetBrains Runtime and
[IntelliJ IDEA](https://www.jetbrains.com/idea/) for the parts written in Java.
Both require projects to be created.
### CLion
Run
```
$ make compile-commands
```
in the git root and open the resulting `build/.../compile_commands.json` file as a project.
Then use `Tools | Compilation Database | Change Project Root` to point to git root of this repository.
See also this detailed step-by-step tutorial for all platforms:
[How to develop OpenJDK with CLion](https://blog.jetbrains.com/clion/2020/03/openjdk-with-clion/).
### IDEA
Run
```
$ sh ./bin/idea.sh
```
in the git root to generate project files (add `--help` for options). If you have multiple
configurations (for example, `release` and `fastdebug`), supply the `--conf <conf_name>` argument.
Then open the git root directory as a project in IDEA.
## Contributing
We are happy to receive your pull requests!
Before you submit one, please sign our [Contributor License Agreement (CLA)](https://www.jetbrains.com/agreements/cla/).
## Resources
* [JetBrains Runtime on GitHub](https://github.com/JetBrains/JetBrainsRuntime).
* [OpenJDK build instructions](https://openjdk.java.net/groups/build/doc/building.html).
* [OpenJDK test instructions](https://htmlpreview.github.io/?https://raw.githubusercontent.com/openjdk/jdk/master/doc/building.html#running-tests).
* [How to develop OpenJDK with CLion](https://blog.jetbrains.com/clion/2020/03/openjdk-with-clion/).

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -100,6 +100,10 @@ jobs:
with:
platform: linux-x64
- name: 'Get GTest'
id: gtest
uses: ./.github/actions/get-gtest
# Upgrading apt to solve libc6 installation bugs, see JDK-8260460.
- name: 'Install toolchain and dependencies'
run: |
@@ -155,6 +159,7 @@ jobs:
--with-conf-name=linux-${{ matrix.target-cpu }}
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
--with-boot-jdk=${{ steps.bootjdk.outputs.path }}
--with-gtest=${{ steps.gtest.outputs.path }}
--with-zlib=system
--enable-debug
--disable-precompiled-headers

View File

@@ -26,6 +26,11 @@
name: 'OpenJDK GHA Sanity Checks'
on:
push:
branches-ignore:
- master
- pr/*
- jdk*
workflow_dispatch:
inputs:
platforms:
@@ -55,8 +60,7 @@ jobs:
outputs:
linux-x64: ${{ steps.include.outputs.linux-x64 }}
linux-x86: ${{ steps.include.outputs.linux-x86 }}
# additional build options for linux-x64 are disabled
# linux-x64-variants: ${{ steps.include.outputs.linux-x64-variants }}
linux-x64-variants: ${{ steps.include.outputs.linux-x64-variants }}
linux-cross-compile: ${{ steps.include.outputs.linux-cross-compile }}
macos-x64: ${{ steps.include.outputs.macos-x64 }}
macos-aarch64: ${{ steps.include.outputs.macos-aarch64 }}

View File

@@ -1,270 +0,0 @@
#
# Copyright 2000-2023 JetBrains s.r.o.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
name: 'Build OpenJDK on pull request'
on:
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
###
### Determine platforms to include
###
select:
name: 'Select platforms'
runs-on: ubuntu-22.04
outputs:
linux-x64: ${{ steps.include.outputs.linux-x64 }}
linux-x86: ${{ steps.include.outputs.linux-x86 }}
linux-cross-compile: ${{ steps.include.outputs.linux-cross-compile }}
macos-x64: ${{ steps.include.outputs.macos-x64 }}
macos-aarch64: ${{ steps.include.outputs.macos-aarch64 }}
windows-x64: ${{ steps.include.outputs.windows-x64 }}
windows-aarch64: ${{ steps.include.outputs.windows-aarch64 }}
windows-x86: ${{ steps.include.outputs.windows-x86 }}
steps:
# This function must be inlined in main.yml, or we'd be forced to checkout the repo
- name: 'Check what jobs to run'
id: include
run: |
# Determine which platform jobs to run
# Returns 'true' if the input platform list matches any of the platform monikers given as argument,
# 'false' otherwise.
# arg $1: platform name or names to look for
function check_platform() {
if [[ $GITHUB_EVENT_NAME == workflow_dispatch ]]; then
input='${{ github.event.inputs.platforms }}'
elif [[ $GITHUB_EVENT_NAME == push ]]; then
if [[ '${{ !secrets.JDK_SUBMIT_FILTER || startsWith(github.ref, 'refs/heads/submit/') }}' == 'false' ]]; then
# If JDK_SUBMIT_FILTER is set, and this is not a "submit/" branch, don't run anything
>&2 echo 'JDK_SUBMIT_FILTER is set and not a "submit/" branch'
echo 'false'
return
else
input='${{ secrets.JDK_SUBMIT_PLATFORMS }}'
fi
fi
normalized_input="$(echo ,$input, | tr -d ' ')"
if [[ "$normalized_input" == ",," ]]; then
# For an empty input, assume all platforms should run
echo 'true'
return
else
# Check for all acceptable platform names
for part in $* ; do
if echo "$normalized_input" | grep -q -e ",$part," ; then
echo 'true'
return
fi
done
fi
echo 'false'
}
echo "linux-x64=$(check_platform linux-x64 linux x64)" >> $GITHUB_OUTPUT
echo "linux-x86=$(check_platform linux-x86 linux x86)" >> $GITHUB_OUTPUT
echo "linux-x64-variants=$(check_platform linux-x64-variants variants)" >> $GITHUB_OUTPUT
echo "linux-cross-compile=$(check_platform linux-cross-compile cross-compile)" >> $GITHUB_OUTPUT
echo "macos-x64=$(check_platform macos-x64 macos x64)" >> $GITHUB_OUTPUT
echo "macos-aarch64=$(check_platform macos-aarch64 macos aarch64)" >> $GITHUB_OUTPUT
echo "windows-x64=$(check_platform windows-x64 windows x64)" >> $GITHUB_OUTPUT
echo "windows-x86=$(check_platform windows-x86 windows x86)" >> $GITHUB_OUTPUT
echo "windows-aarch64=$(check_platform windows-aarch64 windows aarch64)" >> $GITHUB_OUTPUT
echo "docs=$(check_platform docs)" >> $GITHUB_OUTPUT
###
### Build jobs
###
build-linux-x64:
name: linux-x64
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
gcc-major-version: '10'
apt-gcc-version: '10.4.0-4ubuntu1~22.04'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
# The linux-x64 jdk bundle is used as buildjdk for the cross-compile job
if: needs.select.outputs.linux-x64 == 'true' || needs.select.outputs.linux-cross-compile == 'true'
build-linux-x86:
name: linux-x86
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x86
gcc-major-version: '10'
gcc-package-suffix: '-multilib'
apt-gcc-version: '10.4.0-4ubuntu1~22.04'
apt-architecture: 'i386'
# Some multilib libraries do not have proper inter-dependencies, so we have to
# install their dependencies manually.
apt-extra-packages: 'libfreetype6-dev:i386 libtiff-dev:i386 libcupsimage2-dev:i386 libc6-i386'
extra-conf-options: '--with-target-bits=32'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-x86 == 'true'
build-linux-cross-compile:
name: linux-cross-compile
needs:
- select
- build-linux-x64
uses: ./.github/workflows/build-cross-compile.yml
with:
gcc-major-version: '10'
apt-gcc-version: '10.4.0-4ubuntu1~22.04'
apt-gcc-cross-version: '10.4.0-4ubuntu1~22.04cross1'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-cross-compile == 'true'
build-macos-x64:
name: macos-x64
needs: select
uses: ./.github/workflows/build-macos.yml
with:
platform: macos-x64
xcode-toolset-version: '12.5.1'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.macos-x64 == 'true'
build-macos-aarch64:
name: macos-aarch64
needs: select
uses: ./.github/workflows/build-macos.yml
with:
platform: macos-aarch64
xcode-toolset-version: '12.5.1'
extra-conf-options: '--openjdk-target=aarch64-apple-darwin'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.macos-aarch64 == 'true'
build-windows-x64:
name: windows-x64
needs: select
uses: ./.github/workflows/build-windows.yml
with:
platform: windows-x64
msvc-toolset-version: '14.29'
msvc-toolset-architecture: 'x86.x64'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.windows-x64 == 'true'
build-windows-x86:
name: windows-x86
needs: select
uses: ./.github/workflows/build-windows.yml
with:
platform: windows-x86
msvc-toolset-version: '14.29'
msvc-toolset-architecture: 'x86'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.windows-x86 == 'true'
build-windows-aarch64:
name: windows-aarch64
needs: select
uses: ./.github/workflows/build-windows.yml
with:
platform: windows-aarch64
msvc-toolset-version: '14.29'
msvc-toolset-architecture: 'arm64'
make-target: 'hotspot'
extra-conf-options: '--openjdk-target=aarch64-unknown-cygwin'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.windows-aarch64 == 'true'
build-docs:
name: docs
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
debug-levels: '[ "debug" ]'
make-target: 'docs-jdk-bundles'
# Make sure we never try to make full docs, since that would require a
# build JDK, and we do not need the additional testing of the graphs.
extra-conf-options: '--disable-full-docs'
gcc-major-version: '10'
apt-gcc-version: '10.4.0-4ubuntu1~22.04'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.docs == 'true'
# Remove bundles so they are not misconstrued as binary distributions from the JDK project
remove-bundles:
name: 'Remove bundle artifacts'
runs-on: ubuntu-22.04
if: always()
needs:
- build-linux-x64
- build-linux-x86
- build-linux-cross-compile
- build-macos-x64
- build-macos-aarch64
- build-windows-x64
- build-windows-aarch64
- build-windows-x86
steps:
# Hack to get hold of the api environment variables that are only defined for actions
- name: 'Get API configuration'
id: api
uses: actions/github-script@v6
with:
script: 'return { url: process.env["ACTIONS_RUNTIME_URL"], token: process.env["ACTIONS_RUNTIME_TOKEN"] }'
- name: 'Remove bundle artifacts'
run: |
# Find and remove all bundle artifacts
ALL_ARTIFACT_URLS="$(curl -s \
-H 'Accept: application/json;api-version=6.0-preview' \
-H 'Authorization: Bearer ${{ fromJson(steps.api.outputs.result).token }}' \
'${{ fromJson(steps.api.outputs.result).url }}_apis/pipelines/workflows/${{ github.run_id }}/artifacts?api-version=6.0-preview')"
BUNDLE_ARTIFACT_URLS="$(echo "$ALL_ARTIFACT_URLS" | jq -r -c '.value | map(select(.name|startswith("bundles-"))) | .[].url')"
for url in $BUNDLE_ARTIFACT_URLS; do
echo "Removing $url"
curl -s \
-H 'Accept: application/json;api-version=6.0-preview' \
-H 'Authorization: Bearer ${{ fromJson(steps.api.outputs.result).token }}' \
-X DELETE "$url" \
|| echo "Failed to remove bundle"
done

View File

@@ -60,7 +60,9 @@ jobs:
- 'jdk/tier1 part 3'
- 'langtools/tier1'
- 'hs/tier1 common'
- 'hs/tier1 compiler'
- 'hs/tier1 compiler part 1'
- 'hs/tier1 compiler part 2'
- 'hs/tier1 compiler part 3'
- 'hs/tier1 gc'
- 'hs/tier1 runtime'
- 'hs/tier1 serviceability'
@@ -83,8 +85,16 @@ jobs:
test-suite: 'test/hotspot/jtreg/:tier1_common'
debug-suffix: -debug
- test-name: 'hs/tier1 compiler'
test-suite: 'test/hotspot/jtreg/:tier1_compiler'
- test-name: 'hs/tier1 compiler part 1'
test-suite: 'test/hotspot/jtreg/:tier1_compiler_1'
debug-suffix: -debug
- test-name: 'hs/tier1 compiler part 2'
test-suite: 'test/hotspot/jtreg/:tier1_compiler_2 test/hotspot/jtreg/:tier1_compiler_not_xcomp'
debug-suffix: -debug
- test-name: 'hs/tier1 compiler part 3'
test-suite: 'test/hotspot/jtreg/:tier1_compiler_3'
debug-suffix: -debug
- test-name: 'hs/tier1 gc'

View File

@@ -1,5 +1,3 @@
[![official JetBrains project](http://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
# Welcome to the JDK!
For build instructions please see the

View File

@@ -25,26 +25,7 @@
# Shell script for generating an IDEA project from a given list of modules
usage() {
echo "Usage: $0 [-h|--help] [-q|--quiet] [-a|--absolute-paths] [-r|--root <path>] [-o|--output <path>] [-c|--conf <conf_name>] [modules...]"
echo " -h | --help"
echo " -q | --quiet
No stdout output"
echo " -a | --absolute-paths
Use absolute paths to this jdk, so that generated .idea
project files can be moved independently of jdk sources"
echo " -r | --root <path>
Project content root
Default: $TOPLEVEL_DIR"
echo " -o | --output <path>
Where .idea directory with project files will be generated
(e.g. using '-o .' will place project files in './.idea')
Default: same as --root"
echo " -c | --conf <conf_name>
make configuration (release, slowdebug etc)"
echo " [modules...]
Generate project modules for specific java modules
(e.g. 'java.base java.desktop')
Default: all existing modules (java.* and jdk.*)"
echo "usage: $0 [-h|--help] [-v|--verbose] [-o|--output <path>] [-c|--conf <conf_name>] [modules]+"
exit 1
}
@@ -52,13 +33,10 @@ SCRIPT_DIR=`dirname $0`
#assume TOP is the dir from which the script has been called
TOP=`pwd`
cd $SCRIPT_DIR; SCRIPT_DIR=`pwd`
if [ "x$TOPLEVEL_DIR" = "x" ] ; then
cd .. ; TOPLEVEL_DIR=`pwd`
fi
cd $TOP;
VERBOSE=true
ABSOLUTE_PATHS=false
IDEA_OUTPUT=$TOP/.idea
VERBOSE="false"
CONF_ARG=
while [ $# -gt 0 ]
do
@@ -67,24 +45,14 @@ do
usage
;;
-q | --quiet )
VERBOSE=false
;;
-a | --absolute-paths )
ABSOLUTE_PATHS=true
;;
-r | --root )
TOPLEVEL_DIR="$2"
shift
-v | --vebose )
VERBOSE="true"
;;
-o | --output )
IDEA_OUTPUT="$2/.idea"
IDEA_OUTPUT=$2/.idea
shift
;;
-c | --conf )
CONF_ARG="CONF_NAME=$2"
shift
@@ -101,17 +69,20 @@ do
shift
done
if [ "x$IDEA_OUTPUT" = "x" ] ; then
IDEA_OUTPUT="$TOPLEVEL_DIR/.idea"
if [ -e $IDEA_OUTPUT ] ; then
rm -r $IDEA_OUTPUT
fi
mkdir -p $IDEA_OUTPUT || exit 1
cd $IDEA_OUTPUT; IDEA_OUTPUT=`pwd`
if [ "x$TOPLEVEL_DIR" = "x" ] ; then
cd $SCRIPT_DIR/..
TOPLEVEL_DIR=`pwd`
cd $IDEA_OUTPUT
fi
mkdir -p $IDEA_OUTPUT || exit 1
cd "$TOP" ; cd $TOPLEVEL_DIR; TOPLEVEL_DIR=`pwd`
cd "$TOP" ; cd $IDEA_OUTPUT; IDEA_OUTPUT=`pwd`
cd ..; IDEA_OUTPUT_PARENT=`pwd`
cd "$SCRIPT_DIR/.." ; OPENJDK_DIR=`pwd`
IDEA_MAKE="$OPENJDK_DIR/make/ide/idea/jdk"
MAKE_DIR="$SCRIPT_DIR/../make"
IDEA_MAKE="$MAKE_DIR/ide/idea/jdk"
IDEA_TEMPLATE="$IDEA_MAKE/template"
cp -r "$IDEA_TEMPLATE"/* "$IDEA_OUTPUT"
@@ -123,31 +94,31 @@ if [ -d "$TEMPLATES_OVERRIDE" ] ; then
done
fi
if [ "$VERBOSE" = true ] ; then
echo "Will generate IDEA project files in \"$IDEA_OUTPUT\" for project \"$TOPLEVEL_DIR\""
if [ "$VERBOSE" = "true" ] ; then
echo "output dir: $IDEA_OUTPUT"
echo "idea template dir: $IDEA_TEMPLATE"
fi
cd $TOP ; make -f "$IDEA_MAKE/idea.gmk" -I "$OPENJDK_DIR" idea TOPLEVEL_DIR="$TOPLEVEL_DIR" \
MAKEOVERRIDES= IDEA_OUTPUT_PARENT="$IDEA_OUTPUT_PARENT" OUT="$IDEA_OUTPUT/env.cfg" MODULES="$*" $CONF_ARG || exit 1
cd $TOP ; make -f "$IDEA_MAKE/idea.gmk" -I $MAKE_DIR/.. idea MAKEOVERRIDES= OUT=$IDEA_OUTPUT/env.cfg MODULES="$*" $CONF_ARG || exit 1
cd $SCRIPT_DIR
. $IDEA_OUTPUT/env.cfg
# Expect MODULES, MODULE_NAMES, RELATIVE_PROJECT_DIR, RELATIVE_BUILD_DIR to be set
if [ "xMODULES" = "x" ] ; then
echo "FATAL: MODULES is empty" >&2; exit 1
# Expect MODULE_ROOTS, MODULE_NAMES, BOOT_JDK & SPEC to be set
if [ "x$MODULE_ROOTS" = "x" ] ; then
echo "FATAL: MODULE_ROOTS is empty" >&2; exit 1
fi
if [ "x$MODULE_NAMES" = "x" ] ; then
echo "FATAL: MODULE_NAMES is empty" >&2; exit 1
fi
if [ "x$RELATIVE_PROJECT_DIR" = "x" ] ; then
echo "FATAL: RELATIVE_PROJECT_DIR is empty" >&2; exit 1
if [ "x$BOOT_JDK" = "x" ] ; then
echo "FATAL: BOOT_JDK is empty" >&2; exit 1
fi
if [ "x$RELATIVE_BUILD_DIR" = "x" ] ; then
echo "FATAL: RELATIVE_BUILD_DIR is empty" >&2; exit 1
if [ "x$SPEC" = "x" ] ; then
echo "FATAL: SPEC is empty" >&2; exit 1
fi
if [ -d "$TOPLEVEL_DIR/.hg" ] ; then
@@ -158,43 +129,6 @@ if [ -d "$TOPLEVEL_DIR/.git" ] ; then
VCS_TYPE="Git"
fi
if [ "$ABSOLUTE_PATHS" = true ] ; then
if [ "x$PATHTOOL" != "x" ]; then
PROJECT_DIR="`$PATHTOOL -am $OPENJDK_DIR`"
TOPLEVEL_PROJECT_DIR="`$PATHTOOL -am $TOPLEVEL_DIR`"
else
PROJECT_DIR="$OPENJDK_DIR"
TOPLEVEL_PROJECT_DIR="$TOPLEVEL_DIR"
fi
MODULE_DIR="$PROJECT_DIR"
TOPLEVEL_MODULE_DIR="$TOPLEVEL_PROJECT_DIR"
cd "$IDEA_OUTPUT_PARENT" && cd "$RELATIVE_BUILD_DIR" && BUILD_DIR="`pwd`"
CLION_SCRIPT_TOPDIR="$OPENJDK_DIR"
CLION_PROJECT_DIR="$PROJECT_DIR"
else
if [ "$RELATIVE_PROJECT_DIR" = "." ] ; then
PROJECT_DIR=""
else
PROJECT_DIR="/$RELATIVE_PROJECT_DIR"
fi
if [ "$RELATIVE_TOPLEVEL_PROJECT_DIR" = "." ] ; then
TOPLEVEL_PROJECT_DIR=""
else
TOPLEVEL_PROJECT_DIR="/$RELATIVE_TOPLEVEL_PROJECT_DIR"
fi
MODULE_DIR="\$MODULE_DIR\$$PROJECT_DIR"
PROJECT_DIR="\$PROJECT_DIR\$$PROJECT_DIR"
TOPLEVEL_MODULE_DIR="\$MODULE_DIR\$$TOPLEVEL_PROJECT_DIR"
TOPLEVEL_PROJECT_DIR="\$PROJECT_DIR\$$TOPLEVEL_PROJECT_DIR"
BUILD_DIR="\$PROJECT_DIR\$/$RELATIVE_BUILD_DIR"
CLION_SCRIPT_TOPDIR="$CLION_RELATIVE_PROJECT_DIR"
CLION_PROJECT_DIR="\$PROJECT_DIR\$/$CLION_SCRIPT_TOPDIR"
fi
if [ "$VERBOSE" = true ] ; then
echo "Project root: $PROJECT_DIR"
echo "Generating IDEA project files..."
fi
### Replace template variables
NUM_REPLACEMENTS=0
@@ -218,106 +152,116 @@ add_replacement() {
eval TO$NUM_REPLACEMENTS='$2'
}
add_replacement "###PATHTOOL###" "$PATHTOOL"
add_replacement "###CLION_SCRIPT_TOPDIR###" "$CLION_SCRIPT_TOPDIR"
add_replacement "###CLION_PROJECT_DIR###" "$CLION_PROJECT_DIR"
add_replacement "###PROJECT_DIR###" "$PROJECT_DIR"
add_replacement "###MODULE_DIR###" "$MODULE_DIR"
add_replacement "###TOPLEVEL_PROJECT_DIR###" "$TOPLEVEL_PROJECT_DIR"
add_replacement "###TOPLEVEL_MODULE_DIR###" "$TOPLEVEL_MODULE_DIR"
add_replacement "###MODULE_NAMES###" "$MODULE_NAMES"
add_replacement "###VCS_TYPE###" "$VCS_TYPE"
add_replacement "###BUILD_DIR###" "$BUILD_DIR"
add_replacement "###RELATIVE_BUILD_DIR###" "$RELATIVE_BUILD_DIR"
if [ "x$PATHTOOL" != "x" ]; then
add_replacement "###BASH_RUNNER_PREFIX###" "\$PROJECT_DIR\$/.idea/bash.bat"
else
add_replacement "###BASH_RUNNER_PREFIX###" ""
fi
if [ "x$PATHTOOL" != "x" ]; then
SPEC_DIR=`dirname $SPEC`
if [ "x$CYGPATH" != "x" ]; then
add_replacement "###BUILD_DIR###" "`$CYGPATH -am $SPEC_DIR`"
add_replacement "###IMAGES_DIR###" "`$CYGPATH -am $SPEC_DIR`/images/jdk"
add_replacement "###ROOT_DIR###" "`$CYGPATH -am $TOPLEVEL_DIR`"
add_replacement "###IDEA_DIR###" "`$CYGPATH -am $IDEA_OUTPUT`"
if [ "x$JT_HOME" = "x" ]; then
add_replacement "###JTREG_HOME###" ""
else
add_replacement "###JTREG_HOME###" "`$PATHTOOL -am $JT_HOME`"
add_replacement "###JTREG_HOME###" "`$CYGPATH -am $JT_HOME`"
fi
elif [ "x$WSL_DISTRO_NAME" != "x" ]; then
add_replacement "###BUILD_DIR###" "`wslpath -am $SPEC_DIR`"
add_replacement "###IMAGES_DIR###" "`wslpath -am $SPEC_DIR`/images/jdk"
add_replacement "###ROOT_DIR###" "`wslpath -am $TOPLEVEL_DIR`"
add_replacement "###IDEA_DIR###" "`wslpath -am $IDEA_OUTPUT`"
if [ "x$JT_HOME" = "x" ]; then
add_replacement "###JTREG_HOME###" ""
else
add_replacement "###JTREG_HOME###" "`wslpath -am $JT_HOME`"
fi
else
add_replacement "###BUILD_DIR###" "$SPEC_DIR"
add_replacement "###JTREG_HOME###" "$JT_HOME"
add_replacement "###IMAGES_DIR###" "$SPEC_DIR/images/jdk"
add_replacement "###ROOT_DIR###" "$TOPLEVEL_DIR"
add_replacement "###IDEA_DIR###" "$IDEA_OUTPUT"
fi
MODULE_IMLS=""
TEST_MODULE_DEPENDENCIES=""
for module in $MODULE_NAMES; do
MODULE_IMLS="$MODULE_IMLS<module fileurl=\"file://\$PROJECT_DIR$/.idea/$module.iml\" filepath=\"\$PROJECT_DIR$/.idea/$module.iml\" /> "
TEST_MODULE_DEPENDENCIES="$TEST_MODULE_DEPENDENCIES<orderEntry type=\"module\" module-name=\"$module\" scope=\"TEST\" /> "
SOURCE_PREFIX="<sourceFolder url=\"file://"
SOURCE_POSTFIX="\" isTestSource=\"false\" />"
for root in $MODULE_ROOTS; do
if [ "x$CYGPATH" != "x" ]; then
root=`$CYGPATH -am $root`
elif [ "x$WSL_DISTRO_NAME" != "x" ]; then
root=`wslpath -am $root`
fi
SOURCES=$SOURCES" $SOURCE_PREFIX""$root""$SOURCE_POSTFIX"
done
add_replacement "###MODULE_IMLS###" "$MODULE_IMLS"
add_replacement "###TEST_MODULE_DEPENDENCIES###" "$TEST_MODULE_DEPENDENCIES"
add_replacement "###SOURCE_ROOTS###" "$SOURCES"
replace_template_dir "$IDEA_OUTPUT"
### Generate module project files
### Compile the custom Logger
if [ "$VERBOSE" = true ] ; then
echo "Generating project modules:"
fi
(
DEFAULT_IFS="$IFS"
IFS='#'
for value in $MODULES; do
(
eval "$value"
if [ "$VERBOSE" = true ] ; then
echo " $module"
fi
MAIN_SOURCE_DIRS=""
CONTENT_ROOTS=""
IFS=' '
for dir in $moduleSrcDirs; do
case $dir in
"src/"*) MAIN_SOURCE_DIRS="$MAIN_SOURCE_DIRS <sourceFolder url=\"file://$MODULE_DIR/$dir\" isTestSource=\"false\" />" ;;
*"/support/gensrc/$module") ;; # Exclude generated sources to avoid module-info conflicts, see https://youtrack.jetbrains.com/issue/IDEA-185108
*) CONTENT_ROOTS="$CONTENT_ROOTS <content url=\"file://$MODULE_DIR/$dir\">\
<sourceFolder url=\"file://$MODULE_DIR/$dir\" isTestSource=\"false\" generated=\"true\" /></content>" ;;
esac
done
if [ "x$MAIN_SOURCE_DIRS" != "x" ] ; then
CONTENT_ROOTS="<content url=\"file://$MODULE_DIR/src/$module\">$MAIN_SOURCE_DIRS</content>$CONTENT_ROOTS"
fi
add_replacement "###MODULE_CONTENT_ROOTS###" "$CONTENT_ROOTS"
DEPENDENCIES=""
for dep in $moduleDependencies; do
case $MODULE_NAMES in # Exclude skipped modules from dependencies
*"$dep"*) DEPENDENCIES="$DEPENDENCIES<orderEntry type=\"module\" module-name=\"$dep\" /> "
esac
done
add_replacement "###DEPENDENCIES###" "$DEPENDENCIES"
cp "$IDEA_OUTPUT/module.iml" "$IDEA_OUTPUT/$module.iml"
IFS="$DEFAULT_IFS"
replace_template_file "$IDEA_OUTPUT/$module.iml"
)
done
)
rm "$IDEA_OUTPUT/module.iml"
CLASSES=$IDEA_OUTPUT/classes
### Create shell script runner for Windows
if [ "x$PATHTOOL" != "x" ]; then
echo "@echo off" > "$IDEA_OUTPUT/bash.bat"
if [ "x$WSL_DISTRO_NAME" != "x" ] ; then
echo "wsl -d $WSL_DISTRO_NAME --cd \"%cd%\" -e %*" >> "$IDEA_OUTPUT/bash.bat"
if [ "x$ANT_HOME" = "x" ] ; then
# try some common locations
if [ -f "/usr/share/ant/lib/ant.jar" ] ; then
ANT_HOME="/usr/share/ant"
else
echo "$WINENV_ROOT\bin\bash.exe -l -c \"cd %CD:\=/%/ && %*\"" >> "$IDEA_OUTPUT/bash.bat"
try_ant=$(ls /opt/homebrew/Cellar/ant/*/libexec/lib/ant.jar 2> /dev/null | sort -r | head -n 1)
if [ "x$try_ant" != "x" ] ; then
ANT_HOME=$(cd $(dirname $try_ant)/.. && pwd)
else
try_ant=$(ls /usr/local/Cellar/ant/*/libexec/lib/ant.jar 2> /dev/null | sort -r | head -n 1)
if [ "x$try_ant" != "x" ] ; then
ANT_HOME=$(cd $(dirname $try_ant)/.. && pwd)
fi
fi
fi
else
if [ ! -f "$ANT_HOME/lib/ant.jar" ] ; then
echo "FATAL: ANT_HOME is incorrect. Try removing it and use autodetection, or fix the value" >&2; exit 1
fi
fi
if [ "x$ANT_HOME" = "x" ] ; then
echo "FATAL: cannot find ant. Try setting ANT_HOME." >&2; exit 1
fi
CP=$ANT_HOME/lib/ant.jar
rm -rf $CLASSES; mkdir $CLASSES
# If we have a Windows boot JDK, we need a .exe suffix
if [ -e "$BOOT_JDK/bin/java.exe" ] ; then
JAVAC=javac.exe
else
JAVAC=javac
fi
if [ "$VERBOSE" = true ] ; then
IDEA_PROJECT_DIR="`dirname $IDEA_OUTPUT`"
if [ "x$PATHTOOL" != "x" ]; then
IDEA_PROJECT_DIR="`$PATHTOOL -am $IDEA_PROJECT_DIR`"
fi
echo "
Now you can open \"$IDEA_PROJECT_DIR\" as IDEA project
You can also run 'bash \"$IDEA_OUTPUT/jdk-clion/update-project.sh\"' to generate Clion project"
fi
# If we are on WSL, the boot JDK might be either Windows or Linux,
# and we need to use realpath instead of CYGPATH to make javac work on both.
# We need to handle this case first since CYGPATH might be set on WSL.
if [ "x$WSL_DISTRO_NAME" != "x" ]; then
JAVAC_SOURCE_FILE=`realpath --relative-to=./ $IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java`
JAVAC_SOURCE_PATH=`realpath --relative-to=./ $IDEA_OUTPUT/src`
JAVAC_CLASSES=`realpath --relative-to=./ $CLASSES`
ANT_TEMP=`mktemp -d -p ./`
cp $ANT_HOME/lib/ant.jar $ANT_TEMP/ant.jar
JAVAC_CP=$ANT_TEMP/ant.jar
elif [ "x$CYGPATH" != "x" ] ; then ## CYGPATH may be set in env.cfg
JAVAC_SOURCE_FILE=`$CYGPATH -am $IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java`
JAVAC_SOURCE_PATH=`$CYGPATH -am $IDEA_OUTPUT/src`
JAVAC_CLASSES=`$CYGPATH -am $CLASSES`
JAVAC_CP=`$CYGPATH -am $CP`
else
JAVAC_SOURCE_FILE=$IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java
JAVAC_SOURCE_PATH=$IDEA_OUTPUT/src
JAVAC_CLASSES=$CLASSES
JAVAC_CP=$CP
fi
$BOOT_JDK/bin/$JAVAC -d $JAVAC_CLASSES -sourcepath $JAVAC_SOURCE_PATH -cp $JAVAC_CP $JAVAC_SOURCE_FILE
if [ "x$WSL_DISTRO_NAME" != "x" ]; then
rm -rf $ANT_TEMP
fi

12
configure vendored Executable file → Normal file
View File

@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -26,10 +26,14 @@
# make sure that is called using bash.
# Get an absolute path to this script, since that determines the top-level directory.
this_script_dir=`dirname $0`
this_script_dir=`cd $this_script_dir > /dev/null && pwd`
source_path="$(dirname ${0})"
this_script_dir="$(cd -- "${source_path}" > /dev/null && pwd)"
if test -z "${this_script_dir}"; then
echo "Error: Could not determine location of configure script"
exit 1
fi
# Delegate to wrapper, forcing wrapper to believe $0 is this script by using -c.
# This trick is needed to get autoconf to co-operate properly.
# The ${-:+-$-} construction passes on bash options.
bash ${-:+-$-} -c ". $this_script_dir/make/autoconf/configure" $this_script_dir/configure CHECKME $this_script_dir "$@"
bash ${-:+-$-} -c ". \"${this_script_dir}/make/autoconf/configure\"" "${this_script_dir}/configure" CHECKME "${this_script_dir}" "$@"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -207,13 +207,22 @@ changed, and the first N tiers they can afford to run, but at least
tier1.</p>
<p>A brief description of the tiered test groups:</p>
<ul>
<li><p><code>tier1</code>: This is the lowest test tier. Multiple
developers run these tests every day. Because of the widespread use, the
tests in <code>tier1</code> are carefully selected and optimized to run
fast, and to run in the most stable manner. The test failures in
<code>tier1</code> are usually followed up on quickly, either with
fixes, or adding relevant tests to problem list. GitHub Actions
workflows, if enabled, run <code>tier1</code> tests.</p></li>
<li><p><code>tier1</code>: This is the most fundamental test tier.
Roughly speaking, a failure of a test in this tier has the potential to
indicate a problem that would affect many Java programs. Tests in
<code>tier1</code> include tests of HotSpot, core APIs in the
<code>java.base</code> module, and the <code>javac</code> compiler.
Multiple developers run these tests every day. Because of the widespread
use, the tests in <code>tier1</code> are carefully selected and
optimized to run fast, and to run in the most stable manner. As a
guideline, nearly all individual tests in <code>tier1</code> are
expected to run to completion in ten seconds or less when run on common
configurations used for development. Long-running tests, even of core
functionality, should occur in higher tiers or be covered in other kinds
of testing. The test failures in <code>tier1</code> are usually followed
up on quickly, either with fixes, or adding relevant tests to problem
list. GitHub Actions workflows, if enabled, run <code>tier1</code>
tests.</p></li>
<li><p><code>tier2</code>: This test group covers even more ground.
These contain, among other things, tests that either run for too long to
be at <code>tier1</code>, or may require special configuration, or tests
@@ -577,12 +586,15 @@ PKCS11 tests. Improper NSS version may lead to unexpected failures which
are hard to diagnose. For example,
sun/security/pkcs11/Secmod/AddTrustedCert.java may fail on Ubuntu 18.04
with the default NSS version in the system. To run these tests
correctly, the system property <code>test.nss.lib.paths</code> is
required on Ubuntu 18.04 to specify the alternative NSS lib
directories.</p>
correctly, the system property
<code>jdk.test.lib.artifacts.&lt;NAME&gt;</code> is required on Ubuntu
18.04 to specify the alternative NSS lib directory. The
<code>&lt;NAME&gt;</code> component should be replaced with the name
element of the appropriate <code>@Artifact</code> class. (See
<code>test/jdk/sun/security/pkcs11/PKCS11Test.java</code>)</p>
<p>For example:</p>
<pre><code>$ make test TEST=&quot;jtreg:sun/security/pkcs11/Secmod/AddTrustedCert.java&quot; \
JTREG=&quot;JAVA_OPTIONS=-Dtest.nss.lib.paths=/path/to/your/latest/NSS-libs&quot;</code></pre>
JTREG=&quot;JAVA_OPTIONS=-Djdk.test.lib.artifacts.nsslib-linux_aarch64=/path/to/NSS-libs&quot;</code></pre>
<p>For more notes about the PKCS11 tests, please refer to
test/jdk/sun/security/pkcs11/README.</p>
<h3 id="client-ui-tests">Client UI Tests</h3>

View File

@@ -18,8 +18,8 @@ execute:
This will run a default set of tests against the JDK, and present you with the
results. `make test` is part of a family of test-related make targets which
simplify running tests, because they invoke the various test frameworks for
you. The "make test framework" is simple to start with, but more complex
ad-hoc combination of tests is also possible. You can always invoke the test
you. The "make test framework" is simple to start with, but more complex ad-hoc
combination of tests is also possible. You can always invoke the test
frameworks directly if you want even more control.
Some example command-lines:
@@ -33,18 +33,18 @@ Some example command-lines:
$ make test TEST="micro:java.lang.reflect" MICRO="FORK=1;WARMUP_ITER=2"
$ make exploded-test TEST=tier2
"tier1" and "tier2" refer to tiered testing, see further down. "TEST" is a
test selection argument which the make test framework will use to try to
find the tests you want. It iterates over the available test frameworks, and
if the test isn't present in one, it tries the next one. The main target
`test` uses the jdk-image as the tested product. There is also an alternate
target `exploded-test` that uses the exploded image instead. Not all tests
will run successfully on the exploded image, but using this target can
greatly improve rebuild times for certain workflows.
"tier1" and "tier2" refer to tiered testing, see further down. "TEST" is a test
selection argument which the make test framework will use to try to find the
tests you want. It iterates over the available test frameworks, and if the
test isn't present in one, it tries the next one. The main target `test` uses
the jdk-image as the tested product. There is also an alternate target
`exploded-test` that uses the exploded image instead. Not all tests will run
successfully on the exploded image, but using this target can greatly improve
rebuild times for certain workflows.
Previously, `make test` was used to invoke an old system for running tests,
and `make run-test` was used for the new test framework. For backward
compatibility with scripts and muscle memory, `run-test` and variants like
Previously, `make test` was used to invoke an old system for running tests, and
`make run-test` was used for the new test framework. For backward compatibility
with scripts and muscle memory, `run-test` and variants like
`exploded-run-test` or `run-test-tier1` are kept as aliases.
### Configuration
@@ -64,26 +64,27 @@ after which `--with-jmh=build/jmh/jars` should work.
When tests fail or timeout, jtreg runs its failure handler to capture necessary
data from the system where the test was run. This data can then be used to
analyze the test failures. Collecting this data involves running various commands
(which are listed in files residing in `test/failure_handler/src/share/conf`)
and some of these commands use `sudo`. If the system's `sudoers` file isn't
configured to allow running these commands, then it can result in password being
prompted during the failure handler execution. Typically, when running locally,
collecting this additional data isn't always necessary. To disable running the
failure handler, use `--enable-jtreg-failure-handler=no` when running `configure`.
If, however, you want to let the failure handler to run and don't want to be
prompted for sudo password, then you can configure your `sudoers` file
appropriately. Please read the necessary documentation of your operating system
to see how to do that; here we only show one possible way of doing that - edit
the `/etc/sudoers.d/sudoers` file to include the following line:
analyze the test failures. Collecting this data involves running various
commands (which are listed in files residing in
`test/failure_handler/src/share/conf`) and some of these commands use `sudo`.
If the system's `sudoers` file isn't configured to allow running these
commands, then it can result in password being prompted during the failure
handler execution. Typically, when running locally, collecting this additional
data isn't always necessary. To disable running the failure handler, use
`--enable-jtreg-failure-handler=no` when running `configure`. If, however, you
want to let the failure handler to run and don't want to be prompted for sudo
password, then you can configure your `sudoers` file appropriately. Please read
the necessary documentation of your operating system to see how to do that;
here we only show one possible way of doing that - edit the
`/etc/sudoers.d/sudoers` file to include the following line:
```
johndoe ALL=(ALL) NOPASSWD: /sbin/dmesg
```
This line configures `sudo` to _not_ prompt for password for the `/sbin/dmesg`
command (this is one of the commands that is listed in the files
at `test/failure_handler/src/share/conf`), for the user `johndoe`. Here `johndoe`
command (this is one of the commands that is listed in the files at
`test/failure_handler/src/share/conf`), for the user `johndoe`. Here `johndoe`
is the user account under which the jtreg tests are run. Replace the username
with a relevant user account of your system.
@@ -114,31 +115,36 @@ Ideally, all tests are run for every change but this may not be practical due
to the limited testing resources, the scope of the change, etc.
The source tree currently defines a few common test groups in the relevant
`TEST.groups` files. There are test groups that cover a specific component,
for example `hotspot_gc`. It is a good idea to look into `TEST.groups` files
to get a sense what tests are relevant to a particular JDK component.
`TEST.groups` files. There are test groups that cover a specific component, for
example `hotspot_gc`. It is a good idea to look into `TEST.groups` files to get
a sense what tests are relevant to a particular JDK component.
Component-specific tests may miss some unintended consequences of a change, so
other tests should also be run. Again, it might be impractical to run all
tests, and therefore
_tiered_ test groups exist. Tiered test groups are not component-specific, but
rather cover the significant parts of the entire JDK.
tests, and therefore _tiered_ test groups exist. Tiered test groups are not
component-specific, but rather cover the significant parts of the entire JDK.
Multiple tiers allow balancing test coverage and testing costs. Lower test
tiers are supposed to contain the simpler, quicker and more stable tests.
Higher tiers are supposed to contain progressively more thorough, slower, and
sometimes less stable tests, or the tests that require special
configuration.
sometimes less stable tests, or the tests that require special configuration.
Contributors are expected to run the tests for the areas that are changed, and
the first N tiers they can afford to run, but at least tier1.
A brief description of the tiered test groups:
- `tier1`: This is the lowest test tier. Multiple developers run these tests
every day. Because of the widespread use, the tests in `tier1` are
carefully selected and optimized to run fast, and to run in the most stable
manner. The test failures in `tier1` are usually followed up on quickly,
- `tier1`: This is the most fundamental test tier. Roughly speaking, a failure
of a test in this tier has the potential to indicate a problem that would
affect many Java programs. Tests in `tier1` include tests of HotSpot, core
APIs in the `java.base` module, and the `javac` compiler. Multiple developers
run these tests every day. Because of the widespread use, the tests in
`tier1` are carefully selected and optimized to run fast, and to run in the
most stable manner. As a guideline, nearly all individual tests in `tier1`
are expected to run to completion in ten seconds or less when run on common
configurations used for development. Long-running tests, even of core
functionality, should occur in higher tiers or be covered in other kinds of
testing. The test failures in `tier1` are usually followed up on quickly,
either with fixes, or adding relevant tests to problem list. GitHub Actions
workflows, if enabled, run `tier1` tests.
@@ -149,9 +155,8 @@ A brief description of the tiered test groups:
- `tier3`: This test group includes more stressful tests, the tests for corner
cases not covered by previous tiers, plus the tests that require GUIs. As
such, this suite should either be run with low concurrency
(`TEST_JOBS=1`), or without headful tests(`JTREG_KEYWORDS=\!headful`), or
both.
such, this suite should either be run with low concurrency (`TEST_JOBS=1`),
or without headful tests(`JTREG_KEYWORDS=\!headful`), or both.
- `tier4`: This test group includes every other test not covered by previous
tiers. It includes, for example, `vmTestbase` suites for Hotspot, which run
@@ -160,18 +165,17 @@ A brief description of the tiered test groups:
### JTReg
JTReg tests can be selected either by picking a JTReg test group, or a selection
of files or directories containing JTReg tests. Documentation can be found at
[https://openjdk.org/jtreg/](https://openjdk.org/jtreg/), note especially the
extensive [FAQ](https://openjdk.org/jtreg/faq.html).
JTReg tests can be selected either by picking a JTReg test group, or a
selection of files or directories containing JTReg tests. Documentation can be
found at [https://openjdk.org/jtreg/](https://openjdk.org/jtreg/), note
especially the extensive [FAQ](https://openjdk.org/jtreg/faq.html).
JTReg test groups can be specified either without a test root, e.g. `:tier1`
(or `tier1`, the initial colon is optional), or with, e.g. `hotspot:tier1`,
`test/jdk:jdk_util` or `$(TOPDIR)/test/hotspot/jtreg:hotspot_all`. The test
root can be specified either as an absolute path, or a path relative to the
JDK top directory, or the `test` directory. For simplicity, the hotspot
JTReg test root, which really is `hotspot/jtreg` can be abbreviated as
just `hotspot`.
root can be specified either as an absolute path, or a path relative to the JDK
top directory, or the `test` directory. For simplicity, the hotspot JTReg test
root, which really is `hotspot/jtreg` can be abbreviated as just `hotspot`.
When specified without a test root, all matching groups from all test roots
will be added. Otherwise, only the group from the specified test root will be
@@ -192,8 +196,8 @@ use a fully qualified test descriptor, add `jtreg:`, e.g.
### Gtest
**Note:** To be able to run the Gtest suite, you need to configure your build to
be able to find a proper version of the gtest source. For details, see the
**Note:** To be able to run the Gtest suite, you need to configure your build
to be able to find a proper version of the gtest source. For details, see the
section ["Running Tests" in the build
documentation](building.html#running-tests).
@@ -213,10 +217,10 @@ present, then `gtest:all` will be equivalent to `gtest:all/server`.
### Microbenchmarks
Which microbenchmarks to run is selected using a regular expression
following the `micro:` test descriptor, e.g., `micro:java.lang.reflect`. This
delegates the test selection to JMH, meaning package name, class name and even
benchmark method names can be used to select tests.
Which microbenchmarks to run is selected using a regular expression following
the `micro:` test descriptor, e.g., `micro:java.lang.reflect`. This delegates
the test selection to JMH, meaning package name, class name and even benchmark
method names can be used to select tests.
Using special characters like `|` in the regular expression is possible, but
needs to be escaped multiple times: `micro:ArrayCopy\\\\\|reflect`.
@@ -293,11 +297,12 @@ normally eats `;`, the recommended usage is to write the assignment inside
qoutes, e.g. `JTREG="...;..."`. This will also make sure spaces are preserved,
as in `JTREG="JAVA_OPTIONS=-XshowSettings -Xlog:gc+ref=debug"`.
(Other ways are possible, e.g. using backslash: `JTREG=JOBS=1\;TIMEOUT_FACTOR=8`.
Also, as a special technique, the string `%20` will be replaced with space for
certain options, e.g. `JTREG=JAVA_OPTIONS=-XshowSettings%20-Xlog:gc+ref=debug`.
This can be useful if you have layers of scripts and have trouble getting
proper quoting of command line arguments through.)
(Other ways are possible, e.g. using backslash:
`JTREG=JOBS=1\;TIMEOUT_FACTOR=8`. Also, as a special technique, the string
`%20` will be replaced with space for certain options, e.g.
`JTREG=JAVA_OPTIONS=-XshowSettings%20-Xlog:gc+ref=debug`. This can be useful if
you have layers of scripts and have trouble getting proper quoting of command
line arguments through.)
As far as possible, the names of the keywords have been standardized between
test suites.
@@ -310,7 +315,8 @@ control variable to use, then you can use the general TEST_OPTS control
variable.
There are also some keywords that applies globally to the test runner system,
not to any specific test suites. These are also available as TEST_OPTS keywords.
not to any specific test suites. These are also available as TEST_OPTS
keywords.
#### JOBS
@@ -364,8 +370,8 @@ The report is stored in
The test concurrency (`-concurrency`).
Defaults to TEST_JOBS (if set by `--with-test-jobs=`), otherwise it defaults to
JOBS, except for Hotspot, where the default is *number of CPU cores/2*,
but never more than *memory size in GB/2*.
JOBS, except for Hotspot, where the default is *number of CPU cores/2*, but
never more than *memory size in GB/2*.
#### TIMEOUT_FACTOR
@@ -380,12 +386,12 @@ This is only valid if the failure handler is built.
#### JTREG_TEST_THREAD_FACTORY
Sets the `-testThreadFactory` for JTReg. It should be the fully qualified classname
of a class which implements `java.util.concurrent.ThreadFactory`.
One such implementation class, named Virtual, is currently part of the JDK build
in the `test/jtreg_test_thread_factory/` directory. This class gets compiled during
the test image build. The implementation of the Virtual class creates a new virtual
thread for executing each test class.
Sets the `-testThreadFactory` for JTReg. It should be the fully qualified
classname of a class which implements `java.util.concurrent.ThreadFactory`. One
such implementation class, named Virtual, is currently part of the JDK build in
the `test/jtreg_test_thread_factory/` directory. This class gets compiled
during the test image build. The implementation of the Virtual class creates a
new virtual thread for executing each test class.
#### TEST_MODE
@@ -447,9 +453,8 @@ the tests to be run.
Use the problem lists to select tests instead of excluding them.
Set to `true` or `false`.
If `true`, JTReg will use `-match:` option, otherwise `-exclude:` will be used.
Default is `false`.
Set to `true` or `false`. If `true`, JTReg will use `-match:` option, otherwise
`-exclude:` will be used. Default is `false`.
#### OPTIONS
@@ -483,15 +488,13 @@ modules. If multiple modules are specified, they should be separated by space
#### RETRY_COUNT
Retry failed tests up to a set number of times, until they pass.
This allows to pass the tests with intermittent failures.
Defaults to 0.
Retry failed tests up to a set number of times, until they pass. This allows to
pass the tests with intermittent failures. Defaults to 0.
#### REPEAT_COUNT
Repeat the tests up to a set number of times, stopping at first failure.
This helps to reproduce intermittent test failures.
Defaults to 0.
Repeat the tests up to a set number of times, stopping at first failure. This
helps to reproduce intermittent test failures. Defaults to 0.
#### REPORT
@@ -542,7 +545,8 @@ Same as specifying `-wi <num>`.
#### WARMUP_TIME
Amount of time to spend in each warmup iteration. Same as specifying `-w <num>`.
Amount of time to spend in each warmup iteration. Same as specifying `-w
<num>`.
#### RESULTS_FORMAT
@@ -583,9 +587,9 @@ $ make test TEST="jtreg:test/hotspot/jtreg/containers/docker" \
If your locale is non-US, some tests are likely to fail. To work around this
you can set the locale to US. On Unix platforms simply setting `LANG="en_US"`
in the environment before running tests should work. On Windows or MacOS, setting
`JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"` helps for most, but
not all test cases.
in the environment before running tests should work. On Windows or MacOS,
setting `JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"` helps for
most, but not all test cases.
For example:
@@ -600,14 +604,16 @@ It is highly recommended to use the latest NSS version when running PKCS11
tests. Improper NSS version may lead to unexpected failures which are hard to
diagnose. For example, sun/security/pkcs11/Secmod/AddTrustedCert.java may fail
on Ubuntu 18.04 with the default NSS version in the system. To run these tests
correctly, the system property `test.nss.lib.paths` is required on Ubuntu 18.04
to specify the alternative NSS lib directories.
correctly, the system property `jdk.test.lib.artifacts.<NAME>` is required on
Ubuntu 18.04 to specify the alternative NSS lib directory. The `<NAME>`
component should be replaced with the name element of the appropriate
`@Artifact` class. (See `test/jdk/sun/security/pkcs11/PKCS11Test.java`)
For example:
```
$ make test TEST="jtreg:sun/security/pkcs11/Secmod/AddTrustedCert.java" \
JTREG="JAVA_OPTIONS=-Dtest.nss.lib.paths=/path/to/your/latest/NSS-libs"
JTREG="JAVA_OPTIONS=-Djdk.test.lib.artifacts.nsslib-linux_aarch64=/path/to/NSS-libs"
```
For more notes about the PKCS11 tests, please refer to
@@ -651,29 +657,30 @@ Note: restart is required to make the settings take effect.
#### Robot API
Most automated Client UI tests use `Robot` API to control the UI. Usually,
the default operating system settings need to be adjusted for Robot
to work correctly. The detailed steps how to access and update these settings
for different platforms are provided below.
Most automated Client UI tests use `Robot` API to control the UI. Usually, the
default operating system settings need to be adjusted for Robot to work
correctly. The detailed steps how to access and update these settings for
different platforms are provided below.
##### macOS
`Robot` is not permitted to control your Mac by default since
macOS 10.15. To allow it, choose Apple menu -> System Settings, click
Privacy & Security; then click Accessibility and ensure the following apps are
allowed to control your computer: *Java* and *Terminal*. If the tests are run
from an IDE, the IDE should be granted this permission too.
`Robot` is not permitted to control your Mac by default since macOS 10.15. To
allow it, choose Apple menu -> System Settings, click Privacy & Security; then
click Accessibility and ensure the following apps are allowed to control your
computer: *Java* and *Terminal*. If the tests are run from an IDE, the IDE
should be granted this permission too.
##### Windows
On Windows if Cygwin terminal is used to run the tests, there is a delay in
focus transfer. Usually it causes automated UI test failure. To disable the
delay, type `regedit` in the Search and then select Registry Editor; navigate
to the following key: `HKEY_CURRENT_USER\Control Panel\Desktop`; make sure
the `ForegroundLockTimeout` value is set to 0.
to the following key: `HKEY_CURRENT_USER\Control Panel\Desktop`; make sure the
`ForegroundLockTimeout` value is set to 0.
Additional information about Client UI tests configuration for various operating
systems can be obtained at [Automated client GUI testing system set up
Additional information about Client UI tests configuration for various
operating systems can be obtained at [Automated client GUI testing system set
up
requirements](https://wiki.openjdk.org/display/ClientLibs/Automated+client+GUI+testing+system+set+up+requirements)
## Editing this document

View File

@@ -1,274 +0,0 @@
#!/usr/bin/env python3
import argparse
import os.path
import sys
import subprocess
errors_count = 0
def fatal(msg):
sys.stderr.write(f"[fatal] {msg}\n")
sys.exit(1)
def error(msg):
global errors_count
errors_count += 1
sys.stderr.write(f"[error] {msg}\n")
def verbose(options, *msg):
if options.verbose:
sys.stderr.write(f"[verbose] ")
sys.stderr.write(*msg)
sys.stderr.write('\n')
def first_line(str):
return "" if not str else str.splitlines()[0]
class Options:
def __init__(self):
ap = argparse.ArgumentParser(description="Show commit differences between branches of JBR git repos",
epilog="Example: %(prog)s --from origin/jbr17 --to jbr17.b469 --path "
"src/hotspot --limit 200")
ap.add_argument('--jbr', dest='jbrpath', help='path to JBR git root', required=True)
ap.add_argument('--from', dest='frombranch', help='branch to take commits from', required=True)
ap.add_argument('--to', dest='tobranch', help='branch to apply new commits to', required=True)
ap.add_argument('--path', dest='path', help='limit to changes in this path (relative to git root)')
ap.add_argument('--limit', dest='limit', help='limit to this many log entries in --jdk repo', type=int,
default=-1)
ap.add_argument('--html', dest="ishtml", help="print out HTML rather than plain text", action='store_true')
ap.add_argument('-o', dest="output", help="print the list of missing commits to this file"
" to be used as exclude list later")
ap.add_argument('--exclude', dest='exclude', help='exclude commits listed in the given file '
'(can use edited -o output file as input here)')
ap.add_argument('-v', dest='verbose', help="verbose output", default=False, action='store_true')
args = ap.parse_args()
if not os.path.isdir(args.jbrpath):
fatal(f"{args.jbrpath} not a directory")
if not git_is_available():
fatal("can't run git commands; make sure git is in PATH")
self.frombranch = args.frombranch
self.tobranch = args.tobranch
self.jbrpath = args.jbrpath
self.path = args.path
self.limit = args.limit
self.exclude = args.exclude
self.output = args.output
self.ishtml = args.ishtml
self.verbose = args.verbose
class GitRepo:
def __init__(self, rootpath):
self.rootpath = rootpath
def run_git_cmd(self, git_args):
args = ["git", "-C", self.rootpath]
args.extend(git_args)
# print(f"Runnig git cmd '{' '.join(args)}'")
p = subprocess.run(args, capture_output=True, text=True)
if p.returncode != 0:
fatal(f"git returned non-zero code in {self.rootpath} ({first_line(p.stderr)})")
return p.stdout
def save_git_cmd(self, fname, git_args):
args = ["git", "-C", self.rootpath]
args.extend(git_args)
# print(f"Runnig git cmd '{' '.join(args)}'")
with open(fname, "w") as stdout_file:
p = subprocess.run(args, stdout=stdout_file)
if p.returncode != 0:
fatal(f"git returned non-zero code in {self.rootpath} ({first_line(p.stderr)})")
def current_branch(self):
branch_name = self.run_git_cmd(["branch", "--show-current"]).strip()
return branch_name
def log(self, branch, path=None, limit=None):
cmds = ["log", "--no-decorate", branch]
if limit:
cmds.extend(["-n", str(limit)])
if path:
cmds.append(path)
full_log = self.run_git_cmd(cmds)
return full_log
class Commit:
def __init__(self, lines):
self.sha = lines[0].split()[1]
self.message = ""
self.fullmessage = ""
self.bugid = ""
# Commit message starts after one blank line
read_message = False
for l in lines:
if read_message:
self.fullmessage += l.strip() + "\n"
if not read_message and l == "":
read_message = True
if len(self.fullmessage) > 0:
self.message = first_line(self.fullmessage).strip()
t = self.message.split(' ')
if len(t) > 1:
bugid = t[0]
if bugid.startswith("fixup"):
bugid = t[1]
bugid = bugid.strip(":")
if bugid.startswith("JBR-") or bugid.isnumeric():
self.bugid = bugid
class History:
def __init__(self, log):
log_itr = iter(log.splitlines())
self.commits = []
self.unique_fullmessages = set()
self.duplicates = set()
commit_lines = []
for line in log_itr:
if line.startswith("commit ") and len(commit_lines) > 0:
commit = Commit(commit_lines)
self.add_commit(commit)
commit_lines = []
commit_lines.append(line)
if len(commit_lines) > 0:
commit = Commit(commit_lines)
self.add_commit(commit)
def add_commit(self, commit):
self.commits.append(commit)
if commit.fullmessage in self.unique_fullmessages:
self.duplicates.add(commit.fullmessage)
else:
self.unique_fullmessages.add(commit.fullmessage)
def appears_more_than_once(self, commit):
return commit.fullmessage in self.duplicates
def contains(self, commit):
return commit.fullmessage in self.unique_fullmessages
def size(self):
return len(self.commits)
def print_explanation(options, jbr):
verbose(options, f"Reading history from '{jbr.rootpath}'")
if options.path:
verbose(options, f"\t(only under '{options.path}')")
if options.limit > 0:
verbose(options, f"\t(up to '{options.limit}' commits)")
verbose(options, f"Searching for missing fixes in '{options.tobranch}' compared with '{options.frombranch}'")
def git_is_available():
p = None
try:
p = subprocess.run(["git", "--help"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
except:
pass
return p is not None and p.returncode == 0
def main():
check_python_min_requirements()
options = Options()
jbr = GitRepo(options.jbrpath)
print_explanation(options, jbr)
commits_to_save = []
try:
log_from = jbr.log(options.frombranch, options.path, options.limit)
log_to = jbr.log(options.tobranch, options.path, options.limit)
history_from = History(log_from)
history_to = History(log_to)
verbose(options,
f"Read {history_from.size()} commits from '{options.frombranch}', {history_to.size()} from {options.tobranch}")
exclude_list = []
if options.exclude:
with open(options.exclude, "r") as exclude_file:
l = exclude_file.read().split('\n')
exclude_list = list(filter(lambda line: not line.startswith("#"), l))
warned = set()
for c in history_from.commits:
if c.message:
verbose(options, f"Looking for commit '{c.message}'")
if c.message in exclude_list:
verbose(options, "...nope, in exclude list")
continue
if not history_to.contains(c):
commits_to_save.append(c)
else:
if history_from.appears_more_than_once(c) and c.fullmessage not in warned:
# Not sure which of those seemingly identical commits are present in the target branch
error(f"Commit '{c.message}' appears more than once in branch '{options.frombranch}'. ")
warned.add(c.fullmessage)
except KeyboardInterrupt:
fatal("Interrupted")
print_out_commits(options, commits_to_save)
save_commits_to_file(commits_to_save, options)
if errors_count > 0:
error(f"{errors_count} error(s) generated to stderr. MANUAL CHECK OF COMMITS IS REQUIRED.")
def save_commits_to_file(commits_to_save, options):
if len(commits_to_save) > 0 and options.output:
print()
with open(options.output, "w") as out:
for i, c in enumerate(reversed(commits_to_save)):
print(f"# {c.sha}", file=out)
print(c.message, file=out)
def print_out_commits(options, commits_to_save):
if options.ishtml:
print("<html><body>")
print(f"<p><b>Commits on <code>{options.frombranch}</code>"
f" missing from <code>{options.tobranch}</code></b></p></h1>")
if len(commits_to_save) > 0:
for c in sorted(commits_to_save, key=lambda commit: commit.bugid):
if options.ishtml:
msg = c.message
bugurl = ""
if c.bugid:
if c.bugid.isnumeric():
bugurl = f"https://bugs.openjdk.org/browse/JDK-{c.bugid}"
elif c.bugid.startswith("JBR-"):
bugurl = f"https://youtrack.jetbrains.com/issue/{c.bugid}"
if len(bugurl) > 0:
msg = msg.replace(c.bugid, f"<a href='{bugurl}'>{c.bugid}</a>")
sha = f"<a href='https://jetbrains.team/p/jbre/repositories/jbr/commits?commits={c.sha}'>" \
f"{c.sha[0:8]}</a>"
print(f"<li>{msg} ({sha})</li>")
else:
print(f"{c.message} ({c.sha[0:8]})")
if options.ishtml:
print("</body></html>")
def check_python_min_requirements():
if sys.version_info < (3, 6):
fatal("Minimum version 3.6 is required to run this script")
if __name__ == '__main__':
main()

View File

@@ -1,230 +0,0 @@
#!/usr/bin/env python3
import argparse
import math
import os.path
import sys
import subprocess
def fatal(msg):
sys.stderr.write(f"[fatal] {msg}\n")
sys.exit(1)
def verbose(options, *msg):
if options.verbose:
sys.stdout.write(f"[verbose] ")
sys.stdout.write(*msg)
sys.stdout.write('\n')
def first_line(str):
return "" if not str else str.splitlines()[0]
class Options:
def __init__(self):
ap = argparse.ArgumentParser(description="Show bugfixes differences between JBR and OpenJDK git repos",
epilog="Example: %(prog)s --jdk ./jdk11u/ --jbr ./JetBrainsRuntime/ --path src/hotspot --limit 200")
ap.add_argument('--jdk', dest='jdkpath', help='path to OpenJDK git repo', required=True)
ap.add_argument('--jbr', dest='jbrpath', help='path to JBR git repo', required=True)
ap.add_argument('--path', dest='path', help='limit to changes in this path (relative to git root)')
ap.add_argument('--limit', dest='limit', help='limit to this many log entries in --jdk repo', type=int, default=-1)
ap.add_argument('-o', dest="output_dir", help="save patches to this directory (created if necessary)")
ap.add_argument('-v', dest='verbose', help="verbose output", default=False, action='store_true')
args = ap.parse_args()
if not os.path.isdir(args.jdkpath):
fatal(f"{args.jdkpath} not a directory")
if not os.path.isdir(args.jbrpath):
fatal(f"{args.jbrpath} not a directory")
if not git_is_available():
fatal("can't run git commands; make sure git is in PATH")
self.jdkpath = args.jdkpath
self.jbrpath = args.jbrpath
self.path = args.path
self.limit = args.limit
self.output_dir = args.output_dir
self.verbose = args.verbose
class GitRepo:
def __init__(self, rootpath):
self.rootpath = rootpath
def run_git_cmd(self, git_args):
args = ["git", "-C", self.rootpath]
args.extend(git_args)
# print(f"Runnig git cmd '{' '.join(args)}'")
p = subprocess.run(args, capture_output=True, text=True)
if p.returncode != 0:
fatal(f"git returned non-zero code in {self.rootpath} ({first_line(p.stderr)})")
return p.stdout
def save_git_cmd(self, fname, git_args):
args = ["git", "-C", self.rootpath]
args.extend(git_args)
# print(f"Runnig git cmd '{' '.join(args)}'")
with open(fname, "w") as stdout_file:
p = subprocess.run(args, stdout=stdout_file)
if p.returncode != 0:
fatal(f"git returned non-zero code in {self.rootpath} ({first_line(p.stderr)})")
def current_branch(self):
branch_name = self.run_git_cmd(["branch", "--show-current"]).strip()
return branch_name
def log(self, path=None, limit=None):
cmds = ["log", "--no-decorate"]
if limit:
cmds.extend(["-n", str(limit)])
if path:
cmds.append(path)
full_log = self.run_git_cmd(cmds)
return full_log
class Commit:
def __init__(self, lines):
self.sha = lines[0].split()[1]
self.message = ""
self.bugid = None
# Commit message starts after one blank line
read_message = False
for l in lines:
if read_message:
self.message += l + "\n"
if not read_message and l == "":
read_message = True
if self.message and self.message != "" and ":" in self.message:
maybe_bugid = self.message.split(":")[0].strip()
if 10 >= len(maybe_bugid) >= 4:
self.bugid = maybe_bugid
class History:
def __init__(self, log):
log_itr = iter(log.splitlines())
self.commits = []
commit_lines = []
for line in log_itr:
if line.startswith("commit ") and len(commit_lines) > 0:
commit = Commit(commit_lines)
self.commits.append(commit)
commit_lines = []
commit_lines.append(line)
if len(commit_lines) > 0:
commit = Commit(commit_lines)
self.commits.append(commit)
def contains(self, str):
return any(str in commit.message for commit in self.commits)
def size(self):
return len(self.commits)
def print_explanation(options, jdk, jbr):
verbose(options, f"Reading history from '{jdk.rootpath}' on branch '{jdk.current_branch()}'")
if options.path:
verbose(options, f"\t(only under '{options.path}')")
verbose(options, f"Searching for same fixes in '{jbr.rootpath}' on branch '{jbr.current_branch()}'")
def git_is_available():
p = None
try:
p = subprocess.run(["git", "--help"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
except:
pass
return p is not None and p.returncode == 0
def main():
check_python_min_requirements()
options = Options()
jdk = GitRepo(options.jdkpath)
jbr = GitRepo(options.jbrpath)
print_explanation(options, jdk, jbr)
commits_to_save = []
try:
jdk_log = jdk.log(options.path, options.limit)
jdk_history = History(jdk_log)
jbr_log = jbr.log(options.path)
jbr_history = History(jbr_log)
verbose(options, f"Read {jdk_history.size()} commits in JDK, {jbr_history.size()} in JBR")
for c in jdk_history.commits:
if c.bugid:
verbose(options, f"Looking for bugfix for {c.bugid}")
if not jbr_history.contains(c.bugid):
commits_to_save.append(c)
print(f"[note] Fix for {c.bugid} not found in JBR ({jbr.rootpath})")
print(f" commit {c.sha}")
print(f" {first_line(c.message).strip()}")
except KeyboardInterrupt:
fatal("Interrupted")
if len(commits_to_save) > 0 and options.output_dir:
print()
if not os.path.exists(options.output_dir):
verbose(options, f"Creating output directory {options.output_dir}")
os.makedirs(options.output_dir)
nzeroes = len(str(len(commits_to_save)))
for i, c in enumerate(reversed(commits_to_save)):
fname = os.path.join(options.output_dir, f"{str(i).zfill(nzeroes)}-{c.bugid}.patch")
print(f"[note] {c.bugid} saved as {fname}")
fname = os.path.abspath(fname)
jdk.save_git_cmd(fname, ["format-patch", "-1", c.sha, "--stdout"])
script_fname = os.path.join(options.output_dir, "apply.sh")
with open(script_fname, "w") as script_file:
print(apply_script_code.format(os.path.abspath(jbr.rootpath), os.path.abspath(options.output_dir)),
file=script_file)
print(f"[note] Execute 'bash {script_fname}' to apply patches to {jbr.rootpath}")
def check_python_min_requirements():
if sys.version_info < (3, 6):
fatal("Minimum version 3.6 is required to run this script")
apply_script_code = """
#!/bin/bash
GITROOT={0}
PATCHROOT={1}
cd $PATCHROOT || exit 1
PATCHES=$(find $PATCHROOT -name '*.patch' | sort -n)
for P in $PATCHES; do
git -C $GITROOT am $P
if [ $? != 0 ]; then
mv "$P" "$P.failed"
echo "[ERROR] Patch $P did not apply cleanly. Try applying it manually."
echo "[NOTE] Execute this script to apply the remaining patches."
exit 1
else
mv "$P" "$P.done"
fi
done
echo "[NOTE] Done applying patches; check $PATCHROOT for .patch and .patch.failed to see if all have been applied."
"""
if __name__ == '__main__':
main()

View File

@@ -1,46 +0,0 @@
# NOTE: This Dockerfile is meant to be used from the mkdocker_aarch64.sh script.
# Pull a concrete version of Linux that does NOT recieve updates after it's
# been created. This is so that the image is as stable as possible to make
# image creation reproducible.
# NB: this also means there may be no security-related fixes there, need to
# move the version to the next manually.
# jetbrains/runtime:jbr17env_aarch64
FROM arm64v8/centos:7
# Install the necessary build tools
RUN yum -y update; \
yum -y install centos-release-scl; \
yum -y install devtoolset-10-10.1-0.el7; \
yum -y install \
alsa-lib-devel-1.1.8-1.el7.aarch64 \
autoconf-2.69-11.el7.noarch \
automake-1.13.4-3.el7.noarch \
bzip2-1.0.6-13.el7.aarch64 \
cups-devel-1.6.3-51.el7.aarch64 \
file-5.11-37.el7.aarch64 \
fontconfig-devel-2.13.0-4.3.el7.aarch64 \
freetype-devel-2.8-14.el7_9.1.aarch64 \
giflib-devel-4.1.6-9.el7.aarch64 \
git-1.8.3.1-24.el7_9.aarch64 \
libtool-2.4.2-22.el7_3.aarch64 \
libXi-devel-1.7.9-1.el7.aarch64 \
libXrandr-devel-1.5.1-2.el7.aarch64 \
libXrender-devel-0.9.10-1.el7.aarch64 \
libXt-devel-1.1.5-3.el7.aarch64 \
libXtst-devel-1.2.3-1.el7.aarch64 \
make-3.82-24.el7.aarch64 \
rsync-3.1.2-12.el7_9.aarch64 \
tar-1.26-35.el7.aarch64 \
unzip-6.0-24.el7_9.aarch64 \
wayland-devel-1.15.0-1.el7 \
zip-3.0-11.el7.aarch64; \
yum -y clean all
ENV PATH="/opt/rh/devtoolset-10/root/usr/bin:${PATH}"
ENV LD_LIBRARY_PATH="/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib"
ENV PKG_CONFIG_PATH="/opt/rh/devtoolset-10/root/usr/lib64/pkgconfig"
RUN git config --global user.email "teamcity@jetbrains.com" && \
git config --global user.name "builduser"

View File

@@ -1,22 +0,0 @@
# NOTE: This Dockerfile is meant to be used from the mkdocker_musl_aarch64.sh script.
# Pull a concrete version of Linux that does NOT recieve updates after it's
# been created. This is so that the image is as stable as possible to make
# image creation reproducible.
# NB: this also means there may be no security-related fixes there, need to
# move the version to the next manually.
FROM arm64v8/alpine:3.12
# Install the necessary build tools
RUN apk --no-cache add --update bash grep tar zip bzip2 rsync fontconfig build-base \
git libx11-dev libxext-dev libxrandr-dev libxrender-dev libxt-dev \
libxtst-dev autoconf freetype-dev cups-dev alsa-lib-dev file \
fontconfig fontconfig-dev linux-headers
# Set up boot JDK for building
COPY boot_jdk_musl_aarch64.tar.gz /jdk17/
RUN cd /jdk17 && tar --strip-components=1 -xzf boot_jdk_musl_aarch64.tar.gz && rm /jdk17/boot_jdk_musl_aarch64.tar.gz
ENV BOOT_JDK=/jdk17
RUN git config --global user.email "teamcity@jetbrains.com" && \
git config --global user.name "builduser"

View File

@@ -1,22 +0,0 @@
# NOTE: This Dockerfile is meant to be used from the mkdocker_musl_x64.sh script.
# Pull a concrete version of Linux that does NOT recieve updates after it's
# been created. This is so that the image is as stable as possible to make
# image creation reproducible.
# NB: this also means there may be no security-related fixes there, need to
# move the version to the next manually.
FROM alpine:3.14
# Install the necessary build tools
RUN apk --no-cache add --update bash grep tar zip bzip2 rsync fontconfig build-base \
git libx11-dev libxext-dev libxrandr-dev libxrender-dev libxt-dev \
libxtst-dev autoconf freetype-dev cups-dev alsa-lib-dev file \
fontconfig fontconfig-dev linux-headers
# Set up boot JDK for building
COPY boot_jdk_musl_amd64.tar.gz /jdk17/
RUN cd /jdk17 && tar --strip-components=1 -xzf boot_jdk_musl_amd64.tar.gz && rm /jdk17/boot_jdk_musl_amd64.tar.gz
ENV BOOT_JDK=/jdk17
RUN git config --global user.email "teamcity@jetbrains.com" && \
git config --global user.name "builduser"

View File

@@ -1,55 +0,0 @@
# NOTE: This Dockerfile is meant to be used from the mkdocker_x86.sh script.
# Pull a concrete version of Linux that does NOT receive updates after it's
# been created. This is so that the image is as stable as possible to make
# image creation reproducible.
# NB: this also means there may be no security-related fixes there, need to
# move the version to the next manually.
#FROM i386/ubuntu:xenial
#FROM i386/ubuntu:bionic
FROM i386/ubuntu:focal
RUN linux32 \
apt-get update && apt-get install -y --no-install-recommends apt-utils
RUN export DEBIAN_FRONTEND=noninteractive \
export DEBCONF_NONINTERACTIVE_SEEN=true && \
echo 'tzdata tzdata/Areas select Etc' | debconf-set-selections; \
echo 'tzdata tzdata/Zones/Etc select UTC' | debconf-set-selections; \
linux32 \
apt-get -y install \
autoconf \
build-essential \
curl \
file \
git \
libx11-dev \
libxext-dev \
libxrender-dev \
libxrandr-dev \
libxtst-dev \
libxt-dev \
libcups2-dev \
libasound2-data \
# libpng12-0 \
libasound2 \
libfreetype6 \
libfontconfig1-dev \
libasound2-dev \
rsync \
unzip \
zip
RUN linux32 \
apt-get -y install \
g++-10 \
gcc-10 && \
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10 && \
apt-get clean -qy && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
# Set up boot JDK for building
COPY boot_jdk_x86.tar.gz /jdk17/
RUN cd /jdk17 && tar --strip-components=1 -xzf boot_jdk_x86.tar.gz && rm /jdk17/boot_jdk_x86.tar.gz
ENV BOOT_JDK=/jdk17
RUN git config --global user.email "teamcity@jetbrains.com" && \
git config --global user.name "builduser"

View File

@@ -1,36 +0,0 @@
# jetbrains/runtime:jbr17env_x86_64
FROM centos:7
RUN yum -y install centos-release-scl; \
yum -y install devtoolset-10-10.1-0.el7; \
yum -y install \
alsa-lib-devel-1.1.8-1.el7 \
autoconf-2.69-11.el7 \
automake-1.13.4-3.el7 \
bzip2-1.0.6-13.el7 \
cups-devel-1.6.3-51.el7 \
file-5.11-37.el7 \
fontconfig-devel-2.13.0-4.3.el7 \
freetype-devel-2.8-14.el7_9.1 \
giflib-devel-4.1.6-9.el7 \
git-1.8.3.1-24.el7_9 \
libtool-2.4.2-22.el7_3 \
libXi-devel-1.7.9-1.el7 \
libXrandr-devel-1.5.1-2.el7 \
libXrender-devel-0.9.10-1.el7 \
libXt-devel-1.1.5-3.el7 \
libXtst-devel-1.2.3-1.el7 \
make-3.82-24.el7 \
tar-1.26-35.el7 \
unzip-6.0-24.el7_9 \
wayland-devel-1.15.0-1.el7 \
wget-1.14-18.el7_6.1 \
which-2.20-7.el7 \
zip-3.0-11.el7
RUN mkdir .git && \
git config user.email "teamcity@jetbrains.com" && \
git config user.name "builduser"
ENV LD_LIBRARY_PATH="/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib"
ENV PATH="/opt/rh/devtoolset-10/root/usr/bin::${PATH}"
ENV PKG_CONFIG_PATH="/opt/rh/devtoolset-10/root/usr/lib64/pkgconfig"

View File

@@ -1,29 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# This script creates a Docker image suitable for building AArch64 variant
# of the JetBrains Runtime "dev" version.
BOOT_JDK_REMOTE_FILE=zulu17.30.15-ca-jdk17.0.1-linux_aarch64.tar.gz
BOOT_JDK_SHA=4d9c9116eb0cdd2d7fb220d6d27059f4bf1b7e95cc93d5512bd8ce3791af86c7
BOOT_JDK_LOCAL_FILE=boot_jdk.tar.gz
if [ ! -f $BOOT_JDK_LOCAL_FILE ]; then
# Obtain "boot JDK" from outside of the container.
wget -nc https://cdn.azul.com/zulu/bin/${BOOT_JDK_REMOTE_FILE} -O $BOOT_JDK_LOCAL_FILE
else
echo "boot JDK \"$BOOT_JDK_LOCAL_FILE\" present, skipping download"
fi
# Verify that what we've downloaded can be trusted.
sha256sum -c - <<EOF
$BOOT_JDK_SHA *$BOOT_JDK_LOCAL_FILE
EOF
docker build -t jbrdevenv_arm64v8 -f Dockerfile.aarch64 .
# NB: the resulting container can (and should) be used without the network
# connection (--network none) during build in order to reduce the chance
# of build contamination.

View File

@@ -1,29 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# This script creates a Docker image suitable for building musl AArch64 variant
# of the JetBrains Runtime version 17.
BOOT_JDK_REMOTE_FILE=zulu17.32.13-ca-jdk17.0.2-linux_musl_aarch64.tar.gz
BOOT_JDK_SHA=6b920559abafbe9bdef386a20ecf3a2f318bc1f0d8359eb1f95aee26606bbc70
BOOT_JDK_LOCAL_FILE=boot_jdk_musl_aarch64.tar.gz
if [ ! -f $BOOT_JDK_LOCAL_FILE ]; then
# Obtain "boot JDK" from outside of the container.
wget -nc https://cdn.azul.com/zulu/bin/${BOOT_JDK_REMOTE_FILE} -O $BOOT_JDK_LOCAL_FILE
else
echo "boot JDK \"$BOOT_JDK_LOCAL_FILE\" present, skipping download"
fi
# Verify that what we've downloaded can be trusted.
sha256sum -c - <<EOF
$BOOT_JDK_SHA *$BOOT_JDK_LOCAL_FILE
EOF
docker build -t jbr17buildenv -f Dockerfile.musl_aarch64 .
# NB: the resulting container can (and should) be used without the network
# connection (--network none) during build in order to reduce the chance
# of build contamination.

View File

@@ -1,29 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# This script creates a Docker image suitable for building musl-x64 variant
# of the JetBrains Runtime version 17.
BOOT_JDK_REMOTE_FILE=zulu17.32.13-ca-jdk17.0.2-linux_musl_x64.tar.gz
BOOT_JDK_SHA=bcc5342011bd9f3643372aadbdfa68d47463ff0d8621668a0bdf2910614d95c6
BOOT_JDK_LOCAL_FILE=boot_jdk_musl_amd64.tar.gz
if [ ! -f $BOOT_JDK_LOCAL_FILE ]; then
# Obtain "boot JDK" from outside of the container.
wget -nc https://cdn.azul.com/zulu/bin/${BOOT_JDK_REMOTE_FILE} -O $BOOT_JDK_LOCAL_FILE
else
echo "boot JDK \"$BOOT_JDK_LOCAL_FILE\" present, skipping download"
fi
# Verify that what we've downloaded can be trusted.
sha256sum -c - <<EOF
$BOOT_JDK_SHA *$BOOT_JDK_LOCAL_FILE
EOF
docker build -t jbr17buildenv -f Dockerfile.musl_x64 .
# NB: the resulting container can (and should) be used without the network
# connection (--network none) during build in order to reduce the chance
# of build contamination.

View File

@@ -1,26 +0,0 @@
#!/bin/bash -x
# This script creates a Docker image suitable for building x86 variant
# of the JetBrains Runtime version 17.
BOOT_JDK_REMOTE_FILE=zulu17.34.19-ca-jdk17.0.3-linux_i686.tar.gz
BOOT_JDK_SHA=1c35c374ba0001e675d6e80819d5be900c4e141636d5e484992a8c550be14481
BOOT_JDK_LOCAL_FILE=boot_jdk_x86.tar.gz
if [ ! -f $BOOT_JDK_LOCAL_FILE ]; then
# Obtain "boot JDK" from outside of the container.
wget -nc https://cdn.azul.com/zulu/bin/${BOOT_JDK_REMOTE_FILE} -O $BOOT_JDK_LOCAL_FILE
else
echo "boot JDK \"$BOOT_JDK_LOCAL_FILE\" present, skipping download"
fi
# Verify that what we've downloaded can be trusted.
sha256sum -c - <<EOF
$BOOT_JDK_SHA *$BOOT_JDK_LOCAL_FILE
EOF
docker build -t jetbrains/runtime:jbr17env_x86 -f Dockerfile.x86 .
# NB: the resulting container can (and should) be used without the network
# connection (--network none) during build in order to reduce the chance
# of build contamination.

View File

@@ -1 +0,0 @@
JetBrainsRuntime

View File

@@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="IssueNavigationConfiguration">
<option name="links">
<list>
<IssueNavigationLink>
<option name="issueRegexp" value="(?:^|\s|\p{Punct})([A-Z]+\-\d+)(?=$|\s|\p{Punct})" />
<option name="linkRegexp" value="https://youtrack.jetbrains.com/issue/$1" />
</IssueNavigationLink>
<IssueNavigationLink>
<option name="issueRegexp" value="(?:^|\s|\p{Punct})(?:JDK-)?(\d{7})(?=$|\s|\p{Punct})" />
<option name="linkRegexp" value="https://bugs.openjdk.java.net/browse/JDK-$1" />
</IssueNavigationLink>
</list>
</option>
</component>
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
</component>
</project>

View File

@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$/src/jetbrains.api">
<sourceFolder url="file://$MODULE_DIR$/src/jetbrains.api/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/jetbrains.api/templates" isTestSource="false" />
</content>
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="inheritedJdk" />
</component>
</module>

View File

@@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/jdk.iml" filepath="$PROJECT_DIR$/.idea/jdk.iml" />
###MODULE_IMLS###
<module fileurl="file://$PROJECT_DIR$/.idea/jetbrains.api.iml" filepath="$PROJECT_DIR$/.idea/jetbrains.api.iml" />
<module fileurl="file://$PROJECT_DIR$/.idea/test.iml" filepath="$PROJECT_DIR$/.idea/test.iml" />
</modules>
</component>
</project>

View File

@@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="IssueNavigationConfiguration">
<option name="links">
<list>
<IssueNavigationLink>
<option name="issueRegexp" value="(?:^|\s|\p{Punct})([A-Z]+\-\d+)(?=$|\s|\p{Punct})" />
<option name="linkRegexp" value="https://youtrack.jetbrains.com/issue/$1" />
</IssueNavigationLink>
<IssueNavigationLink>
<option name="issueRegexp" value="(?:^|\s|\p{Punct})(?:JDK-)?(\d{7})(?=$|\s|\p{Punct})" />
<option name="linkRegexp" value="https://bugs.openjdk.java.net/browse/JDK-$1" />
</IssueNavigationLink>
</list>
</option>
</component>
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@@ -1,135 +0,0 @@
apply plugin: 'java'
import org.gradle.internal.os.OperatingSystem
repositories {
mavenCentral()
}
def test_jvm = {
if (project.hasProperty('jbsdkhome')) {
file(jbsdkhome + (OperatingSystem.current().isWindows()?"/bin/java.exe" : "/bin/java")).absolutePath
} else {
if (OperatingSystem.current().isMacOsX()) {
file('../../../build/macosx-x86_64-normal-server-release/images/jdk-bundle/jdk-11.0.4.jdk/Contents/Home/bin/java').absolutePath
} else if (OperatingSystem.current().isLinux()) {
file('../../../build/linux-x86_64-normal-server-release/images/jdk/bin/java').absolutePath
} else {
file('../../../build/windows-x86_64-normal-server-release/images/jdk/bin/java.exe').absolutePath
}
}
}
dependencies {
testCompile('junit:junit:4.12'){
exclude group: 'org.hamcrest'
}
testCompile 'org.hamcrest:hamcrest-library:1.3'
testCompile 'net.java.dev.jna:jna:4.4.0'
testCompile 'com.twelvemonkeys.imageio:imageio-tiff:3.3.2'
testCompile 'org.apache.commons:commons-lang3:3.0'
}
def jdk_modules = ["java.base", "java.logging", "java.prefs",
"java.se.ee", "java.sql", "java.datatransfer",
"java.management", "java.rmi", "java.security.jgss",
"java.sql.rowset", "java.desktop", "java.management.rmi",
"java.scripting", "java.security.sasl", "java.transaction",
"java.instrument", "java.naming", "java.se",
"java.smartcardio", "java.xml.crypto"]
def jdk_class_dirs = []
jdk_modules.collect(jdk_class_dirs) {
new File("../../../src/" + it + "/share/classes")
}
if (OperatingSystem.current().isMacOsX())
jdk_modules.collect(jdk_class_dirs) {
"../../../src/" + it + "/macosx/classes"
}
else if (OperatingSystem.current().isLinux()) {
jdk_modules.collect(jdk_class_dirs) {
"../../../src/" + it + "/solaris/classes"
}
jdk_modules.collect(jdk_class_dirs) {
"../../../src/" + it + "/unix/classes"
}
} else
jdk_modules.collect(jdk_class_dirs) {
"../../../src/" + it + "/windows/classes"
}
sourceSets.main.java.srcDirs = jdk_class_dirs
sourceSets {
test {
java {
srcDir "../../../test/jdk/jbu"
}
}
}
test.dependsOn.clear()
test.dependsOn tasks.compileTestJava
test {
systemProperty "jb.java2d.metal", "true"
systemProperty "testdata", file('../../../test/jdk/jbu/testdata').absolutePath
// Generate golden images for DroidFontTest and MixedTextTest
// systemProperty "gentestdata", ""
// Enable Java2D logging (https://confluence.jetbrains.com/display/JRE/Java2D+Rendering+Logging)
// systemProperty "sun.java2d.trace", "log"
// systemProperty "sun.java2d.trace", "log,pimpl"
outputs.upToDateWhen { false }
executable = test_jvm()
// Enable async/dtrace profiler
jvmArgs "-XX:+PreserveFramePointer"
// Enable native J2D logging (only in debug build)
// Can be turned on for J2D by adding "#define DEBUG 1" into jdk/src/share/native/sun/java2d/Trace.h
// environment 'J2D_TRACE_LEVEL', '4'
}
def buildDir = project.buildscript.sourceFile.parentFile.parentFile.parentFile.parentFile
def make_cmd = "make"
if (OperatingSystem.current().isWindows()) {
def cyg_make_cmd = new File("c:/cygwin64/bin/make.exe")
if (cyg_make_cmd.exists()) make_cmd = cyg_make_cmd.absolutePath
}
def test_run = false
task make_images {
doLast {
if (!test_run) {
def pb = new ProcessBuilder().command(make_cmd.toString(), "-C", buildDir.absolutePath, "images")
def proc = pb.redirectErrorStream(true).start()
proc.inputStream.eachLine { println it }
assert proc.waitFor() == 0
}
}
}
task make_clean {
doLast {
def pb = new ProcessBuilder().command(make_cmd.toString(), "-C", buildDir.absolutePath, "clean")
def proc = pb.redirectErrorStream(true).start()
proc.inputStream.eachLine { println it }
assert proc.waitFor() == 0
}
}
task run_test {
doLast {
test_run = true
}
}
tasks.cleanTest.dependsOn tasks.run_test
classes.dependsOn.clear()
classes.dependsOn tasks.make_images
tasks.cleanClasses.dependsOn tasks.make_clean

View File

@@ -1,54 +0,0 @@
java.base,
java.compiler,
java.datatransfer,
java.desktop,
java.instrument,
java.logging,
java.management,
java.management.rmi,
java.naming,
java.net.http,
java.prefs,
java.rmi,
java.scripting,
java.se,
java.security.jgss,
java.security.sasl,
java.smartcardio,
java.sql,
java.sql.rowset,
java.transaction.xa,
java.xml,
java.xml.crypto,
jdk.accessibility,
jdk.attach,
jdk.charsets,
jdk.compiler,
jdk.crypto.cryptoki,
jdk.crypto.ec,
jdk.dynalink,
jdk.httpserver,
jdk.internal.ed,
jdk.internal.le,
jdk.internal.vm.ci,
jdk.javadoc,
jdk.jdi,
jdk.jdwp.agent,
jdk.jfr,
jdk.jsobject,
jdk.localedata,
jdk.management,
jdk.management.agent,
jdk.management.jfr,
jdk.naming.dns,
jdk.naming.rmi,
jdk.net,
jdk.sctp,
jdk.security.auth,
jdk.security.jgss,
jdk.unsupported,
jdk.unsupported.desktop,
jdk.xml.dom,
jdk.zipfs,
jdk.hotspot.agent,
jdk.jcmd

View File

@@ -1,18 +0,0 @@
#!/bin//bash
set -euo pipefail
# $1 - Boot JDK
# $2 - JBR part of API version
cd "`dirname "$0"`/../../../../.."
PWD="`pwd`"
CONF="$PWD/build/jbr-api.conf"
./configure --with-debug-level=release --with-boot-jdk=$1 || exit $?
make jbr-api CONF=release MAKEOVERRIDES= "JBR_API_CONF_FILE=$CONF" JBR_API_JBR_VERSION=$2 || exit $?
. $CONF || exit $?
echo "##teamcity[buildNumber '$VERSION']"
cp "$JAR" ./jbr-api-${VERSION}.jar || exit $?
cp "$SOURCES_JAR" ./jbr-api-${VERSION}-sources.jar || exit $?
echo "##teamcity[publishArtifacts '$PWD/jbr-api-${VERSION}.jar']"
echo "##teamcity[publishArtifacts '$PWD/jbr-api-${VERSION}-sources.jar']"

View File

@@ -1,183 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
function check_bundle_type_maketest() {
# check whether last char is 't', if so remove it
if [ "${bundle_type: -1}" == "t" ] && [ "${bundle_type: -2}" != "ft" ]; then
bundle_type="${bundle_type%?}"
do_maketest=1
else
do_maketest=0
fi
}
function getVersionProp() {
grep "^${1}" make/conf/version-numbers.conf | cut -d'=' -f2
}
while getopts ":i?" o; do
case "${o}" in
i) INC_BUILD=1 ;;
esac
done
shift $((OPTIND-1))
if [[ $# -lt 2 ]]; then
echo "Required at least two arguments: build_number bundle_type"
exit 1
fi
build_number=$1
bundle_type=$2
# shellcheck disable=SC2034
architecture=${3:-x64} # aarch64 or x64
check_bundle_type_maketest
tag_prefix="jdk-"
OPENJDK_TAG=$(git log --simplify-by-decoration --decorate=short --pretty=short | grep "$tag_prefix" | cut -d "(" -f2 | cut -d ")" -f1 | awk '{print $2}' | sort -t "-" -k 2 -g | tail -n 1 | tr -d ",")
VERSION_FEATURE=$(getVersionProp "DEFAULT_VERSION_FEATURE")
VERSION_INTERIM=$(getVersionProp "DEFAULT_VERSION_INTERIM")
VERSION_UPDATE=$(getVersionProp "DEFAULT_VERSION_UPDATE")
VERSION_PATCH=$(getVersionProp "DEFAULT_VERSION_PATCH")
[[ $VERSION_UPDATE = 0 ]] && JBSDK_VERSION="$VERSION_FEATURE" || JBSDK_VERSION="${VERSION_FEATURE}.${VERSION_INTERIM}.${VERSION_UPDATE}"
[[ $VERSION_PATCH = 0 ]] || JBSDK_VERSION="${VERSION_FEATURE}.${VERSION_INTERIM}.${VERSION_UPDATE}.${VERSION_PATCH}"
echo "##teamcity[setParameter name='env.JBSDK_VERSION' value='${JBSDK_VERSION}']"
JDK_BUILD_NUMBER=${JDK_BUILD_NUMBER:=$(echo $OPENJDK_TAG | awk -F "-|[+]" '{print $3}')}
[ -z $JDK_BUILD_NUMBER ] && JDK_BUILD_NUMBER=1
echo "##teamcity[setParameter name='env.JDK_UPDATE_NUMBER' value='${JDK_BUILD_NUMBER}']"
VENDOR_NAME="JetBrains s.r.o."
VENDOR_VERSION_STRING="JBR-${JBSDK_VERSION}+${JDK_BUILD_NUMBER}-${build_number}"
[ -z "$bundle_type" ] || VENDOR_VERSION_STRING="${VENDOR_VERSION_STRING}-${bundle_type}"
do_reset_changes=0
do_reset_dcevm=0
HEAD_REVISION=0
STATIC_CONF_ARGS=""
common_conf_props_file="jb/project/tools/common/static_conf_args.txt"
if [[ -f "$common_conf_props_file" ]]; then
STATIC_CONF_ARGS=$(<$common_conf_props_file)
fi
OS_NAME=$(uname -s)
# Enable reproducible builds
TZ=UTC
export TZ
SOURCE_DATE_EPOCH="$(git log -1 --pretty=%ct)"
export SOURCE_DATE_EPOCH
COPYRIGHT_YEAR=""
BUILD_TIME=""
TOUCH_TIME=""
REPRODUCIBLE_TAR_OPTS=""
case "$OS_NAME" in
Linux)
COPYRIGHT_YEAR="$(date --utc --date=@$SOURCE_DATE_EPOCH +%Y)"
BUILD_TIME="$(date --utc --date=@$SOURCE_DATE_EPOCH +%F)"
REPRODUCIBLE_TAR_OPTS="--mtime=@$SOURCE_DATE_EPOCH --owner=0 --group=0 --numeric-owner --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime"
;;
CYGWIN*)
COPYRIGHT_YEAR="$(date --utc --date=@$SOURCE_DATE_EPOCH +%Y)"
BUILD_TIME="$(date --utc --date=@$SOURCE_DATE_EPOCH +%F)"
REPRODUCIBLE_TAR_OPTS="--mtime=@$SOURCE_DATE_EPOCH --owner=0 --group=0 --numeric-owner --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime"
;;
Darwin)
COPYRIGHT_YEAR="$(date -u -r $SOURCE_DATE_EPOCH +%Y)"
BUILD_TIME="$(date -u -r $SOURCE_DATE_EPOCH +%F)"
TOUCH_TIME="$(date -u -r $SOURCE_DATE_EPOCH +%Y%m%d%H%M.%S)"
REPRODUCIBLE_TAR_OPTS="--uid 0 --gid 0 --numeric-owner"
;;
esac
WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS="--with-native-debug-symbols=zipped"
if [ "$bundle_type" == "nomodft" ]; then
WITH_BUNDLED_FREETYPE="--with-freetype=bundled"
else
WITH_BUNDLED_FREETYPE=""
fi
WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS="--with-native-debug-symbols=zipped"
REPRODUCIBLE_BUILD_OPTS="--with-source-date=$SOURCE_DATE_EPOCH
--with-hotspot-build-time=$BUILD_TIME
--with-copyright-year=$COPYRIGHT_YEAR
--disable-absolute-paths-in-output
--with-build-user=builduser"
function zip_native_debug_symbols() {
image_bundle_path=$(echo $1 | cut -d"/" -f-4)
jdk_name=$(echo $1 | cut -d"/" -f5)
jbr_diz_name=$2
[ -d "dizfiles" ] && rm -rf dizfiles
mkdir dizfiles
rsync_target="../../../../dizfiles"
[ -z "$jdk_name" ] && rsync_target=$rsync_target"/"$jbr_diz_name
(cd $image_bundle_path && find . -name '*.diz' -exec rsync -R {} $rsync_target \;)
[ ! -z "$jdk_name" ] && mv dizfiles/$jdk_name dizfiles/$jbr_diz_name
(cd dizfiles && find $jbr_diz_name -print0 | COPYFILE_DISABLE=1 \
tar --no-recursion --null -T - -czf ../"$jbr_diz_name".tar.gz) || do_exit $?
}
function do_exit() {
exit_code=$1
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
if [ $do_reset_dcevm -eq 1 ]; then
[ ! -z $HEAD_REVISION ] && git reset --hard $HEAD_REVISION
fi
exit "$exit_code"
}
function update_jsdk_mods() {
__jsdk=$1
__jcef_mods=$2
__orig_jsdk_mods=$3
__updated_jsdk_mods=$4
# re-create java.desktop.jmod with updated module-info.class
tmp=.java.desktop.$$.tmp
mkdir "$tmp" || exit $?
"$__jsdk"/bin/jmod extract --dir "$tmp" "$__orig_jsdk_mods"/java.desktop.jmod || exit $?
"$__jsdk"/bin/javac \
--patch-module java.desktop="$__orig_jsdk_mods"/java.desktop.jmod \
--module-path "$__jcef_mods" -d "$tmp"/classes src/java.desktop/share/classes/module-info.java || exit $?
"$__jsdk"/bin/jmod \
create --class-path "$tmp"/classes --config "$tmp"/conf --header-files "$tmp"/include --legal-notice "$tmp"/legal --libs "$tmp"/lib \
java.desktop.jmod || exit $?
mv java.desktop.jmod "$__updated_jsdk_mods" || exit $?
rm -rf "$tmp"
# re-create java.base.jmod with updated hashes
tmp=.java.base.$$.tmp
mkdir "$tmp" || exit $?
hash_modules=$("$__jsdk"/bin/jmod describe "$__orig_jsdk_mods"/java.base.jmod | grep hashes | awk '{print $2}' | tr '\n' '|' | sed s/\|$//) || exit $?
"$__jsdk"/bin/jmod extract --dir "$tmp" "$__orig_jsdk_mods"/java.base.jmod || exit $?
rm "$__updated_jsdk_mods"/java.base.jmod || exit $? # temp exclude from path
"$__jsdk"/bin/jmod \
create --module-path "$__updated_jsdk_mods" --hash-modules "$hash_modules" \
--class-path "$tmp"/classes --cmds "$tmp"/bin --config "$tmp"/conf --header-files "$tmp"/include --legal-notice "$tmp"/legal --libs "$tmp"/lib \
java.base.jmod || exit $?
mv java.base.jmod "$__updated_jsdk_mods" || exit $?
rm -rf "$tmp"
}
function get_mods_list() {
__mods=$1
echo $(ls $__mods) | sed s/\.jmod/,/g | sed s/,$//g | sed s/' '//g
}
function copy_jmods() {
__mods_list=$1
__jmods_from=$2
__jmods_to=$3
mkdir -p $__jmods_to
echo "${__mods_list}," | while read -d, mod; do cp $__jmods_from/$mod.jmod $__jmods_to/; done
}

View File

@@ -1 +0,0 @@
--with-vendor-vm-bug-url=https://youtrack.jetbrains.com/issues/JBR

View File

@@ -1,169 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
# Environment variables:
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
# to configure
# By default JDK_BUILD_NUMBER is set zero
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_linux_aarch64
source jb/project/tools/common/scripts/common.sh
JCEF_PATH=${JCEF_PATH:=./jcef_linux_aarch64}
function do_configure {
sh configure \
$WITH_DEBUG_LEVEL \
--with-vendor-name="$VENDOR_NAME" \
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build="$JDK_BUILD_NUMBER" \
--with-version-opt=b"$build_number" \
--with-boot-jdk="$BOOT_JDK" \
--enable-cds=yes \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
$WITH_BUNDLED_FREETYPE \
|| do_exit $?
}
function is_musl {
libc=$(ldd /bin/ls | grep 'musl' | head -1 | cut -d ' ' -f1)
if [ -z $libc ]; then
# This is not Musl, return 1 == false
return 1
fi
return 0
}
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
libc_type_suffix=''
fastdebug_infix=''
if is_musl; then libc_type_suffix='musl-' ; fi
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}aarch64-${fastdebug_infix}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}aarch64-${fastdebug_infix:-}b${build_number}
echo Running jlink....
[ -d "$IMAGES_DIR"/"$__root_dir" ] && rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
$JSDK/bin/jlink \
--module-path "$__modules_path" --no-man-pages --compress=2 \
--add-modules "$__modules" --output "$IMAGES_DIR"/"$__root_dir"
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$IMAGES_DIR"/"$__root_dir"/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' "$IMAGES_DIR"/"$__root_dir"/release > release
mv release "$IMAGES_DIR"/"$__root_dir"/release
cp $IMAGES_DIR/jdk/lib/src.zip "$IMAGES_DIR"/"$__root_dir"/lib
cp $IMAGES_DIR/jdk/lib/server/*.jsa "$IMAGES_DIR"/"$__root_dir"/lib/server
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__root_dir"/jmods
zip_native_debug_symbols $IMAGES_DIR/jdk "${JBR}_diz"
fi
# jmod does not preserve file permissions (JDK-8173610)
[ -f "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper ] && chmod a+x "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper
echo Creating "$JBR".tar.gz ...
(cd "$IMAGES_DIR" &&
find "$__root_dir" -print0 | LC_ALL=C sort -z | \
tar $REPRODUCIBLE_TAR_OPTS \
--no-recursion --null -T - -cf "$JBR".tar) || do_exit $?
mv "$IMAGES_DIR"/"$JBR".tar ./"$JBR".tar
[ -f "$JBR".tar.gz ] && rm "$JBR.tar.gz"
touch -c -d "@$SOURCE_DATE_EPOCH" "$JBR".tar
gzip "$JBR".tar || do_exit $?
rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=linux-aarch64-server-release
jbr_name_postfix=""
case "$bundle_type" in
"jcef")
do_reset_changes=1
jbr_name_postfix="_${bundle_type}"
do_maketest=1
;;
"nomod" | "")
bundle_type=""
;;
"nomodft" | "")
jbr_name_postfix="_ft"
;;
"fd")
do_reset_changes=1
jbr_name_postfix="_${bundle_type}"
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=linux-aarch64-server-fastdebug
;;
esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
make clean CONF=$RELEASE_NAME || do_exit $?
fi
make images CONF=$RELEASE_NAME || do_exit $?
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
echo Fixing permissions
chmod -R a+r $JSDK
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module_aarch64.patch || do_exit $?
update_jsdk_mods $JSDK $JCEF_PATH/jmods $JSDK/jmods $JSDK_MODS_DIR || do_exit $?
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not changed
cat $JCEF_PATH/jcef.version >> $JSDK/release
fi
# create runtime image bundle
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
modules=$(cat $JSDK/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" $JBRSDK_BUNDLE $JSDK_MODS_DIR "$modules" || do_exit $?
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-${libc_type_suffix}test-aarch64-b${build_number}
echo Creating "$JBRSDK_TEST" ...
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
make test-image jbr-api CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test"
tar -pcf "$JBRSDK_TEST".tar -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"
gzip "$JBRSDK_TEST".tar || do_exit $?
fi
do_exit 0

View File

@@ -1,172 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
# Environment variables:
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
# to configure
# By default JDK_BUILD_NUMBER is set zero
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_linux_x64
source jb/project/tools/common/scripts/common.sh
JCEF_PATH=${JCEF_PATH:=./jcef_linux_x64}
function do_configure {
sh configure \
$WITH_DEBUG_LEVEL \
--with-vendor-name="$VENDOR_NAME" \
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build="$JDK_BUILD_NUMBER" \
--with-version-opt=b"$build_number" \
--with-boot-jdk="$BOOT_JDK" \
--enable-cds=yes \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
$WITH_BUNDLED_FREETYPE \
|| do_exit $?
}
function is_musl {
libc=$(ldd /bin/ls | grep 'musl' | head -1 | cut -d ' ' -f1)
if [ -z $libc ]; then
# This is not Musl, return 1 == false
return 1
fi
return 0
}
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
libc_type_suffix=''
fastdebug_infix=''
if is_musl; then libc_type_suffix='musl-' ; fi
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}x64-${fastdebug_infix}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}x64-${fastdebug_infix:-}b${build_number}
echo Running jlink....
[ -d "$IMAGES_DIR"/"$__root_dir" ] && rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
$JSDK/bin/jlink \
--module-path "$__modules_path" --no-man-pages --compress=2 \
--add-modules "$__modules" --output "$IMAGES_DIR"/"$__root_dir"
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$IMAGES_DIR"/"$__root_dir"/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' "$IMAGES_DIR"/"$__root_dir"/release > release
mv release "$IMAGES_DIR"/"$__root_dir"/release
cp $IMAGES_DIR/jdk/lib/src.zip "$IMAGES_DIR"/"$__root_dir"/lib
cp $IMAGES_DIR/jdk/lib/server/*.jsa "$IMAGES_DIR"/"$__root_dir"/lib/server
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__root_dir"/jmods
zip_native_debug_symbols $IMAGES_DIR/jdk "${JBR}_diz"
fi
# jmod does not preserve file permissions (JDK-8173610)
[ -f "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper ] && chmod a+x "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper
echo Creating "$JBR".tar.gz ...
(cd "$IMAGES_DIR" &&
find "$__root_dir" -print0 | LC_ALL=C sort -z | \
tar $REPRODUCIBLE_TAR_OPTS \
--no-recursion --null -T - -cf "$JBR".tar) || do_exit $?
mv "$IMAGES_DIR"/"$JBR".tar ./"$JBR".tar
[ -f "$JBR".tar.gz ] && rm "$JBR.tar.gz"
touch -c -d "@$SOURCE_DATE_EPOCH" "$JBR".tar
gzip "$JBR".tar || do_exit $?
rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=linux-x86_64-server-release
jbr_name_postfix=""
case "$bundle_type" in
"jcef")
do_reset_changes=1
jbr_name_postfix="_${bundle_type}"
jbrsdk_name_postfix="_${bundle_type}"
do_maketest=1
;;
"nomod" | "")
bundle_type=""
jbrsdk_name_postfix="_${bundle_type}"
;;
"nomodft" | "")
jbr_name_postfix="_ft"
jbrsdk_name_postfix="_ft"
;;
"fd")
do_reset_changes=1
jbr_name_postfix="_${bundle_type}"
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=linux-x86_64-server-fastdebug
;;
esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
make clean CONF=$RELEASE_NAME || do_exit $?
fi
make images CONF=$RELEASE_NAME || do_exit $?
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
echo Fixing permissions
chmod -R a+r $JSDK
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
update_jsdk_mods $JSDK $JCEF_PATH/jmods $JSDK/jmods $JSDK_MODS_DIR || do_exit $?
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not changed
cat $JCEF_PATH/jcef.version >> $JSDK/release
fi
# create runtime image bundle
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
modules=$(cat $JSDK/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" $JBRSDK_BUNDLE $JSDK_MODS_DIR "$modules" || do_exit $?
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-${libc_type_suffix}test-x64-b${build_number}
echo Creating "$JBRSDK_TEST" ...
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
make test-image jbr-api CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test"
tar -pcf "$JBRSDK_TEST".tar -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"
gzip "$JBRSDK_TEST".tar || do_exit $?
fi
do_exit 0

View File

@@ -1,145 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
source jb/project/tools/common/scripts/common.sh
function do_configure {
linux32 bash configure \
$WITH_DEBUG_LEVEL \
--with-vendor-name="$VENDOR_NAME" \
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build="$JDK_BUILD_NUMBER" \
--with-version-opt=b"$build_number" \
--with-boot-jdk="$BOOT_JDK" \
$STATIC_CONF_ARGS \
--enable-cds=yes \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|| do_exit $?
}
function is_musl {
libc=$(ldd /bin/ls | grep 'musl' | head -1 | cut -d ' ' -f1)
if [ -z $libc ]; then
# This is not Musl, return 1 == false
return 1
fi
return 0
}
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
libc_type_suffix=''
fastdebug_infix=''
if is_musl; then libc_type_suffix='musl-' ; fi
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}x86-${fastdebug_infix}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}x86-${fastdebug_infix:-}b${build_number}
echo Running jlink....
[ -d "$IMAGES_DIR"/"$__root_dir" ] && rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
$JSDK/bin/jlink \
--module-path "$__modules_path" --no-man-pages --compress=2 \
--add-modules "$__modules" --output "$IMAGES_DIR"/"$__root_dir"
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$IMAGES_DIR"/"$__root_dir"/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' "$IMAGES_DIR"/"$__root_dir"/release > release
mv release "$IMAGES_DIR"/"$__root_dir"/release
cp $IMAGES_DIR/jdk/lib/src.zip "$IMAGES_DIR"/"$__root_dir"/lib
cp $IMAGES_DIR/jdk/lib/server/*.jsa "$IMAGES_DIR"/"$__root_dir"/lib/server
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__root_dir"/jmods
zip_native_debug_symbols $IMAGES_DIR/jdk "${JBR}_diz"
fi
# jmod does not preserve file permissions (JDK-8173610)
[ -f "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper ] && chmod a+x "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper
echo Creating "$JBR".tar.gz ...
(cd "$IMAGES_DIR" &&
find "$__root_dir" -print0 | LC_ALL=C sort -z | \
tar $REPRODUCIBLE_TAR_OPTS \
--no-recursion --null -T - -cf "$JBR".tar) || do_exit $?
mv "$IMAGES_DIR"/"$JBR".tar ./"$JBR".tar
[ -f "$JBR".tar.gz ] && rm "$JBR.tar.gz"
touch -c -d "@$SOURCE_DATE_EPOCH" "$JBR".tar
gzip "$JBR".tar || do_exit $?
rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=linux-x86-server-release
case "$bundle_type" in
"jcef")
echo "not implemented" && do_exit 1
;;
"nomod" | "")
bundle_type=""
;;
"fd")
do_reset_changes=1
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=linux-x86-server-fastdebug
;;
esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
make clean CONF=$RELEASE_NAME || do_exit $?
fi
make images CONF=$RELEASE_NAME || do_exit $?
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
echo Fixing permissions
chmod -R a+r $JSDK
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
# create runtime image bundle
modules=$(grep -v "jdk.internal.vm" jb/project/tools/common/modules.list | xargs | sed s/" "//g) || do_exit $?
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
modules=$(cat $JSDK/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" $JBRSDK_BUNDLE $JSDK_MODS_DIR "$modules" || do_exit $?
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-${libc_type_suffix}test-x86-b${build_number}
echo Creating "$JBRSDK_TEST" ...
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
make test-image jbr-api CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test"
tar -pcf "$JBRSDK_TEST".tar -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"
gzip "$JBRSDK_TEST".tar || do_exit $?
fi
do_exit 0

View File

@@ -1,47 +0,0 @@
#!/bin/bash
SCRIPT_DIR="$(cd "$(dirname "$0")" >/dev/null && pwd)"
source "$SCRIPT_DIR/jetsign-common.sh" || exit 1
function isMacOsBinary() {
file "$1" | grep -q 'Mach-O'
}
function isSigned() {
codesign --verify "$1" >/dev/null 2>&1 && ! grep -q Signature=adhoc < <(codesign --display --verbose "$1" 2>&1)
}
# last argument is a path to be signed
pathToBeSigned="$(pwd)/${*: -1}"
jetSignArgs=("${@:1:$#-1}")
if [[ ! -f "$pathToBeSigned" ]]; then
echo "$pathToBeSigned is missing or not a file"
exit 1
elif isSigned "$pathToBeSigned" && ! isForced "${jetSignArgs[@]}" ; then
echo "Already signed: $pathToBeSigned"
elif [[ "$JETSIGN_CLIENT" == "null" ]]; then
echo "JetSign client is missing, cannot proceed with signing"
exit 1
elif ! isMacOsBinary "$pathToBeSigned" && [[ "$pathToBeSigned" != *.sit ]] && [[ "$pathToBeSigned" != *.tar.gz ]]; then
echo "$pathToBeSigned won't be signed, assumed not to be a macOS executable"
else
if isMacOsBinary "$pathToBeSigned" && ! isSigned "$pathToBeSigned" ; then
echo "Unsigned macOS binary: $pathToBeSigned"
fi
workDir=$(dirname "$pathToBeSigned")
pathSigned="$workDir/signed/${pathToBeSigned##*/}"
jetSignExtensions=$(jetSignExtensions "${jetSignArgs[@]}")
contentType=$(jetSignContentType "$pathToBeSigned")
(
cd "$workDir" || exit 1
"$JETSIGN_CLIENT" -log-format text -denoted-content-type "$contentType" -extensions "$jetSignExtensions" "$pathToBeSigned"
# SRE-1223 (Codesign removes execute bits in executable files) workaround
chmod "$(stat -f %A "$pathToBeSigned")" "$pathSigned"
if isMacOsBinary "$pathSigned"; then
isSigned "$pathSigned"
fi
rm "$pathToBeSigned"
mv "$pathSigned" "$pathToBeSigned"
rm -rf "$workDir/signed"
)
fi

View File

@@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.cs.disable-executable-page-protection</key>
<true/>
</dict>
</plist>

View File

@@ -1,63 +0,0 @@
#!/bin/bash
set -euo pipefail
function isForced() {
for arg in "$@"; do
if [[ "$arg" == --force ]]; then
return 0
fi
done
return 1
}
function jetSignExtensions() {
args=("$@")
((lastElementIndex=${#args[@]}-1))
for index in "${!args[@]}"; do
arg=${args[$index]}
case "$arg" in
--sign | -s)
echo -n 'mac_codesign_identity='
continue
;;
--entitlements)
echo -n 'mac_codesign_entitlements='
continue
;;
--options=runtime)
echo -n 'mac_codesign_options=runtime'
;;
--force)
echo -n 'mac_codesign_force=true'
;;
--timestamp | --verbose | -v)
continue
;;
*)
echo -n "$arg"
;;
esac
if [[ $index != "$lastElementIndex" ]]; then
echo -n ","
fi
done
}
# See jetbrains.sign.util.FileUtil.contentType
function jetSignContentType() {
case "${1##*/}" in
*.sit)
echo -n 'application/x-mac-app-zip'
;;
*.tar.gz)
echo -n 'application/x-mac-app-targz'
;;
*.pkg)
echo -n 'application/x-mac-pkg'
;;
*)
echo -n 'application/x-mac-app-bin'
;;
esac
}

View File

@@ -1,172 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
# Environment variables:
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
# to configure
# By default JDK_BUILD_NUMBER is set zero
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_mac
source jb/project/tools/common/scripts/common.sh
JCEF_PATH=${JCEF_PATH:=./jcef_mac}
BOOT_JDK=${BOOT_JDK:=$(/usr/libexec/java_home -v 17)}
function do_configure {
if [[ "${architecture}" == *aarch64* ]]; then
ENABLE_CDS="--enable-cds=no"
else
ENABLE_CDS="--enable-cds=yes"
fi
sh configure \
$WITH_DEBUG_LEVEL \
--with-vendor-name="$VENDOR_NAME" \
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
--with-macosx-bundle-name-base=${VENDOR_VERSION_STRING} \
--with-macosx-bundle-id-base="com.jetbrains.jbr" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build="$JDK_BUILD_NUMBER" \
--with-version-opt=b"$build_number" \
--with-boot-jdk="$BOOT_JDK" \
--enable-cds=yes \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|| do_exit $?
}
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
fastdebug_infix=''
tmp=.bundle.$$.tmp
mkdir "$tmp" || do_exit $?
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-osx-${architecture}-${fastdebug_infix:-}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-osx-${architecture}-${fastdebug_infix:-}b${build_number}
JRE_CONTENTS=$tmp/$__root_dir/Contents
mkdir -p "$JRE_CONTENTS" || do_exit $?
echo Running jlink...
"$JSDK"/bin/jlink \
--module-path "$__modules_path" --no-man-pages --compress=2 \
--add-modules "$__modules" --output "$JRE_CONTENTS/Home" || do_exit $?
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$JRE_CONTENTS/Home/release"
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' $JRE_CONTENTS/Home/release > release
mv release $JRE_CONTENTS/Home/release
cp $IMAGES_DIR/jdk-bundle/jdk-$JBSDK_VERSION.jdk/Contents/Home/lib/src.zip $JRE_CONTENTS/Home/lib
cp $IMAGES_DIR/jdk-bundle/jdk-$JBSDK_VERSION.jdk/Contents/Home/lib/server/*.jsa $JRE_CONTENTS/Home/lib/server
copy_jmods "$__modules" "$__modules_path" "$JRE_CONTENTS"/Home/jmods
zip_native_debug_symbols $IMAGES_DIR/jdk-bundle/jdk-$JBSDK_VERSION.jdk "${JBR}_diz"
fi
if [ "$bundle_type" == "jcef" ]; then
cat $JCEF_PATH/jcef.version >> "$JRE_CONTENTS/Home/release"
fi
cp -R "$JSDK"/../MacOS "$JRE_CONTENTS"
cp "$JSDK"/../Info.plist "$JRE_CONTENTS"
[ -n "$bundle_type" ] && (cp -a $JCEF_PATH/Frameworks "$JRE_CONTENTS" || do_exit $?)
echo Creating "$JBR".tar.gz ...
# Normalize timestamp
find "$tmp"/"$__root_dir" -print0 | xargs -0 touch -c -h -t "$TOUCH_TIME"
(cd "$tmp" &&
find "$__root_dir" -print0 | LC_ALL=C sort -z | \
COPYFILE_DISABLE=1 tar $REPRODUCIBLE_TAR_OPTS --no-recursion --null -T - \
-czf "$JBR".tar.gz --exclude='*.dSYM' --exclude='man') || do_exit $?
mv "$tmp"/"$JBR".tar.gz "$JBR".tar.gz
rm -rf "$tmp"
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
CONF_ARCHITECTURE=x86_64
if [[ "${architecture}" == *aarch64* ]]; then
CONF_ARCHITECTURE=aarch64
fi
RELEASE_NAME=macosx-${CONF_ARCHITECTURE}-server-release
case "$bundle_type" in
"jcef")
do_reset_changes=1
do_maketest=1
;;
"nomod" | "")
bundle_type=""
;;
"fd")
do_reset_changes=1
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=macosx-${CONF_ARCHITECTURE}-server-fastdebug
JBSDK=macosx-${architecture}-server-release
;;
esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
make clean CONF=$RELEASE_NAME || do_exit $?
fi
make images CONF=$RELEASE_NAME || do_exit $?
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk-bundle/jdk-$JBSDK_VERSION.jdk/Contents/Home
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
update_jsdk_mods "$JSDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not changed
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
# create runtime image bundle
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
modules=$(cat "$JSDK"/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-osx-test-${architecture}-b${build_number}
echo Creating "$JBRSDK_TEST" ...
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
make test-image jbr-api CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test"
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"
COPYFILE_DISABLE=1 tar -pczf "$JBRSDK_TEST".tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
fi
do_exit 0

View File

@@ -1,40 +0,0 @@
#!/bin/bash
#immediately exit script with an error if a command fails
set -euo pipefail
[[ "${SCRIPT_VERBOSE:-}" == "1" ]] && set -x
APP_PATH=$1
if [[ -z "$APP_PATH" ]]; then
echo "Usage: $0 AppPath"
exit 1
fi
if [[ ! -f "$APP_PATH" ]]; then
echo "AppName '$APP_PATH' does not exist or not a file"
exit 1
fi
function log() {
echo "$(date '+[%H:%M:%S]') $*"
}
# check required parameters
: "${APPLE_ISSUER_ID}"
: "${APPLE_KEY_ID}"
: "${APPLE_PRIVATE_KEY}"
# shellcheck disable=SC2064
trap "rm -f \"$PWD/tmp_key\"" INT EXIT RETURN
echo -n "${APPLE_PRIVATE_KEY}" > tmp_key
log "Notarizing $APP_PATH..."
xcrun notarytool submit --key tmp_key --key-id "${APPLE_KEY_ID}" --issuer "${APPLE_ISSUER_ID}" "$APP_PATH" 2>&1 | tee "notarytool.submit.out"
REQUEST_ID="$(grep -e " id: " "notarytool.submit.out" | grep -oE '([0-9a-f-]{36})'| head -n1)"
xcrun notarytool wait "$REQUEST_ID" --key tmp_key --key-id "${APPLE_KEY_ID}" --issuer "${APPLE_ISSUER_ID}" --timeout 6h ||:
xcrun notarytool log "$REQUEST_ID" --key tmp_key --key-id "${APPLE_KEY_ID}" --issuer "${APPLE_ISSUER_ID}" developer_log.json ||:
xcrun notarytool info "$REQUEST_ID" --key tmp_key --key-id "${APPLE_KEY_ID}" --issuer "${APPLE_ISSUER_ID}"
log "Notarizing finished"

View File

@@ -1,41 +0,0 @@
#!/bin/bash
SCRIPT_DIR="$(cd "$(dirname "$0")" >/dev/null && pwd)"
source "$SCRIPT_DIR/jetsign-common.sh" || exit 1
function isSigned() {
pkgutil --check-signature "$1" >/dev/null 2>&1 && grep -q "signed by a developer certificate" < <(pkgutil --check-signature "$1" 2>&1)
}
# second last argument is a path to be signed
pathToBeSigned="$(pwd)/${*:(-2):1}"
# last argument is a path to signed file
pathOut="$(pwd)/${*:(-1)}"
jetSignArgs=("${@:1:$#-2}")
if [[ ! -f "$pathToBeSigned" ]]; then
echo "$pathToBeSigned is missing or not a file"
exit 1
elif isSigned "$pathToBeSigned" && ! isForced "${jetSignArgs[@]}" ; then
echo "Already signed: $pathToBeSigned"
elif [[ "$JETSIGN_CLIENT" == "null" ]]; then
echo "JetSign client is missing, cannot proceed with signing"
exit 1
elif [[ "$pathToBeSigned" != *.pkg ]]; then
echo "$pathToBeSigned won't be signed, assumed not to be a macOS package"
else
if ! isSigned "$pathToBeSigned" ; then
echo "Unsigned macOS package: $pathToBeSigned"
fi
workDir=$(dirname "$pathToBeSigned")
pathSigned="$workDir/signed/${pathToBeSigned##*/}"
jetSignExtensions=$(jetSignExtensions "${jetSignArgs[@]}")
contentType=$(jetSignContentType "$pathToBeSigned")
(
cd "$workDir" || exit 1
"$JETSIGN_CLIENT" -log-format text -denoted-content-type "$contentType" -extensions "$jetSignExtensions" "$pathToBeSigned"
isSigned "$pathSigned"
rm -f "$pathOut"
mv "$pathSigned" "$pathOut"
rm -rf "$workDir/signed"
)
fi

View File

@@ -1,162 +0,0 @@
#!/bin/bash
#immediately exit script with an error if a command fails
set -euo pipefail
[[ "${SCRIPT_VERBOSE:-}" == "1" ]] && set -x
if [[ $# -lt 5 ]]; then
echo "Usage: $0 AppDirectory AppName BundleId CertificateID InstallerCertificateID"
exit 1
fi
APPLICATION_PATH=$1
PKG_NAME=$2
BUNDLE_ID=$3
JB_DEVELOPER_CERT=$4
JB_INSTALLER_CERT=$5
SCRIPT_DIR="$(cd "$(dirname "$0")" >/dev/null && pwd)"
# Use JetBrains sign utility if it's available
if [[ "${JETSIGN_CLIENT:=}" == "null" ]] || [[ "$JETSIGN_CLIENT" == "" ]]; then
JB_SIGN=false
SIGN_UTILITY="codesign"
PRODUCTSIGN_UTILITY="productsign"
else
JB_SIGN=true
SIGN_UTILITY="$SCRIPT_DIR/codesign.sh"
PRODUCTSIGN_UTILITY="$SCRIPT_DIR/productsign.sh"
fi
if [[ ! -d "$APPLICATION_PATH" ]]; then
echo "AppDirectory '$APPLICATION_PATH' does not exist or not a directory"
exit 1
fi
function log() {
echo "$(date '+[%H:%M:%S]') $*"
}
# Cleanup files left from previous sign attempt (if any)
find "$APPLICATION_PATH" -name '*.cstemp' -exec rm '{}' \;
log "Signing libraries and executables..."
# -perm +111 searches for executables
for f in \
"Contents/Home/lib" "Contents/MacOS" \
"Contents/Home/Frameworks" \
"Contents/Frameworks"; do
if [ -d "$APPLICATION_PATH/$f" ]; then
find "$APPLICATION_PATH/$f" \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "*.tbd" -o -name "*.node" -o -perm +111 \) \
-exec "$SIGN_UTILITY" --timestamp \
-v -s "$JB_DEVELOPER_CERT" --options=runtime --force \
--entitlements "$SCRIPT_DIR/entitlements.xml" {} \;
fi
done
log "Signing libraries in jars in $APPLICATION_PATH"
# todo: add set -euo pipefail; into the inner sh -c
# `-e` prevents `grep -q && printf` loginc
# with `-o pipefail` there's no input for 'while' loop
find "$APPLICATION_PATH" -name '*.jar' \
-exec sh -c "set -u; unzip -l \"\$0\" | grep -q -e '\.dylib\$' -e '\.jnilib\$' -e '\.so\$' -e '\.tbd\$' -e '^jattach\$' && printf \"\$0\0\" " {} \; |
while IFS= read -r -d $'\0' file; do
log "Processing libraries in $file"
rm -rf jarfolder jar.jar
mkdir jarfolder
filename="${file##*/}"
log "Filename: $filename"
cp "$file" jarfolder && (cd jarfolder && jar xf "$filename" && rm "$filename")
find jarfolder \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "*.tbd" -o -name "jattach" \) \
-exec "$SIGN_UTILITY" --timestamp \
--force \
-v -s "$JB_DEVELOPER_CERT" --options=runtime \
--entitlements "$SCRIPT_DIR/entitlements.xml" {} \;
(cd jarfolder; zip -q -r -o -0 ../jar.jar .)
mv jar.jar "$file"
done
rm -rf jarfolder jar.jar
log "Signing other files..."
# shellcheck disable=SC2043
for f in \
"Contents/Home/bin"; do
if [ -d "$APPLICATION_PATH/$f" ]; then
find "$APPLICATION_PATH/$f" \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "*.tbd" -o -perm +111 \) \
-exec "$SIGN_UTILITY" --timestamp \
-v -s "$JB_DEVELOPER_CERT" --options=runtime --force \
--entitlements "$SCRIPT_DIR/entitlements.xml" {} \;
fi
done
log "Signing whole frameworks..."
# shellcheck disable=SC2043
if [ "$JB_SIGN" = true ]; then for f in \
"Contents/Home/Frameworks" "Contents/Frameworks"; do
if [ -d "$APPLICATION_PATH/$f" ]; then
find "$APPLICATION_PATH/$f" \( -name '*.framework' -o -name '*.app' \) -maxdepth 1 | while read -r line
do
log "Signing '$line':"
tar -pczf tmp-to-sign.tar.gz -C "$(dirname "$line")" "$(basename "$line")"
"$SIGN_UTILITY" --timestamp \
-v -s "$JB_DEVELOPER_CERT" --options=runtime \
--force \
--entitlements "$SCRIPT_DIR/entitlements.xml" tmp-to-sign.tar.gz
rm -rf "$line"
tar -xzf tmp-to-sign.tar.gz --directory "$(dirname "$line")"
rm -f tmp-to-sign.tar.gz
done
fi
done; fi
log "Checking framework signatures..."
for f in \
"Contents/Home/Frameworks" "Contents/Frameworks"; do
if [ -d "$APPLICATION_PATH/$f" ]; then
find "$APPLICATION_PATH/$f" -name '*.framework' -maxdepth 1 | while read -r line
do
log "Checking '$line':"
codesign --verify --deep --strict --verbose=4 "$line"
done
fi
done
log "Signing whole app..."
if [ "$JB_SIGN" = true ]; then
tar -pczf tmp-to-sign.tar.gz --exclude='man' -C "$(dirname "$APPLICATION_PATH")" "$(basename "$APPLICATION_PATH")"
"$SIGN_UTILITY" --timestamp \
-v -s "$JB_DEVELOPER_CERT" --options=runtime \
--force \
--entitlements "$SCRIPT_DIR/entitlements.xml" tmp-to-sign.tar.gz
rm -rf "$APPLICATION_PATH"
tar -xzf tmp-to-sign.tar.gz --directory "$(dirname "$APPLICATION_PATH")"
rm -f tmp-to-sign.tar.gz
else
"$SIGN_UTILITY" --timestamp \
-v -s "$JB_DEVELOPER_CERT" --options=runtime \
--force \
--entitlements "$SCRIPT_DIR/entitlements.xml" "$APPLICATION_PATH"
fi
BUILD_NAME="$(basename "$APPLICATION_PATH")"
log "Creating $PKG_NAME..."
rm -rf "$PKG_NAME"
mkdir -p unsigned
pkgbuild --identifier $BUNDLE_ID --root $APPLICATION_PATH \
--install-location /Library/Java/JavaVirtualMachines/${BUILD_NAME} unsigned/${PKG_NAME}
log "Signing $PKG_NAME..."
"$PRODUCTSIGN_UTILITY" --timestamp --sign "$JB_INSTALLER_CERT" unsigned/${PKG_NAME} ${PKG_NAME}
log "Verifying java is not broken"
find "$APPLICATION_PATH" \
-type f -name 'java' -perm +111 -exec {} -version \;

View File

@@ -1,136 +0,0 @@
#!/bin/bash
#immediately exit script with an error if a command fails
set -euo pipefail
[[ "${SCRIPT_VERBOSE:-}" == "1" ]] && set -x
export COPY_EXTENDED_ATTRIBUTES_DISABLE=true
export COPYFILE_DISABLE=true
INPUT_FILE=$1
EXPLODED=$2.exploded
BACKUP_JMODS=$2.backup
USERNAME=$3
PASSWORD=$4
CODESIGN_STRING=$5
JB_INSTALLER_CERT=$6
NOTARIZE=$7
BUNDLE_ID=$8
SCRIPT_DIR="$(cd "$(dirname "$0")" >/dev/null && pwd)"
function log() {
echo "$(date '+[%H:%M:%S]') $*"
}
log "Deleting $EXPLODED ..."
if test -d "$EXPLODED"; then
find "$EXPLODED" -mindepth 1 -maxdepth 1 -exec chmod -R u+wx '{}' \;
fi
rm -rf "$EXPLODED"
mkdir "$EXPLODED"
rm -rf "$BACKUP_JMODS"
mkdir "$BACKUP_JMODS"
log "Unzipping $INPUT_FILE to $EXPLODED ..."
tar -xzvf "$INPUT_FILE" --directory $EXPLODED
BUILD_NAME="$(ls "$EXPLODED")"
#sed -i '' s/BNDL/APPL/ $EXPLODED/$BUILD_NAME/Contents/Info.plist
rm -f $EXPLODED/$BUILD_NAME/Contents/CodeResources
rm "$INPUT_FILE"
if test -d $EXPLODED/$BUILD_NAME/Contents/Home/jmods; then
mv $EXPLODED/$BUILD_NAME/Contents/Home/jmods $BACKUP_JMODS
fi
log "$INPUT_FILE extracted and removed"
APP_NAME=$(basename "$INPUT_FILE" | awk -F".tar" '{ print $1 }')
PKG_NAME="$APP_NAME.pkg"
APPLICATION_PATH=$EXPLODED/$(ls $EXPLODED)
find "$APPLICATION_PATH/Contents/Home/bin" \
-maxdepth 1 -type f -name '*.jnilib' -print0 |
while IFS= read -r -d $'\0' file; do
if [ -f "$file" ]; then
log "Linking $file"
b="$(basename "$file" .jnilib)"
ln -sf "$b.jnilib" "$(dirname "$file")/$b.dylib"
fi
done
find "$APPLICATION_PATH/Contents/" \
-maxdepth 1 -type f -name '*.txt' -print0 |
while IFS= read -r -d $'\0' file; do
if [ -f "$file" ]; then
log "Moving $file"
mv "$file" "$APPLICATION_PATH/Contents/Resources"
fi
done
non_plist=$(find "$APPLICATION_PATH/Contents/" -maxdepth 1 -type f -and -not -name 'Info.plist' | wc -l)
if [[ $non_plist -gt 0 ]]; then
log "Only Info.plist file is allowed in Contents directory but found $non_plist file(s):"
log "$(find "$APPLICATION_PATH/Contents/" -maxdepth 1 -type f -and -not -name 'Info.plist')"
exit 1
fi
if [[ "${JETSIGN_CLIENT:=}" == "null" ]] || [[ "$JETSIGN_CLIENT" == "" ]]; then
log "Unlocking keychain..."
# Make sure *.p12 is imported into local KeyChain
security unlock-keychain -p "$PASSWORD" "/Users/$USERNAME/Library/Keychains/login.keychain"
fi
attempt=1
limit=3
set +e
while [[ $attempt -le $limit ]]; do
log "Signing (attempt $attempt) $APPLICATION_PATH ..."
"$SCRIPT_DIR/sign.sh" "$APPLICATION_PATH" "$PKG_NAME" "$BUNDLE_ID" "$CODESIGN_STRING" "$JB_INSTALLER_CERT"
ec=$?
if [[ $ec -ne 0 ]]; then
((attempt += 1))
if [ $attempt -eq $limit ]; then
set -e
fi
log "Signing failed, wait for 30 sec and try to sign again"
sleep 30
else
log "Signing done"
codesign -v "$APPLICATION_PATH" -vvvvv
log "Check sign done"
spctl -a -v $APPLICATION_PATH
((attempt += limit))
fi
done
set -e
if [ "$NOTARIZE" = "yes" ]; then
log "Notarizing..."
"$SCRIPT_DIR/notarize.sh" "$PKG_NAME"
log "Stapling..."
xcrun stapler staple "$APPLICATION_PATH" ||:
xcrun stapler staple "$PKG_NAME" ||:
else
log "Notarization disabled"
log "Stapling disabled"
fi
log "Zipping $BUILD_NAME to $INPUT_FILE ..."
(
#cd "$EXPLODED"
#ditto -c -k --sequesterRsrc --keepParent "$BUILD_NAME" "../$INPUT_FILE"
if test -d $BACKUP_JMODS/jmods; then
mv $BACKUP_JMODS/jmods $APPLICATION_PATH/Contents/Home
fi
if [[ "$APPLICATION_PATH" != "$EXPLODED/$BUILD_NAME" ]]; then
mv $APPLICATION_PATH $EXPLODED/$BUILD_NAME
else
echo "No move, source == destination: $APPLICATION_PATH"
fi
tar -pczvf $INPUT_FILE --exclude='man' -C $EXPLODED $BUILD_NAME
log "Finished zipping"
)
rm -rf "$EXPLODED"
log "Done"

View File

@@ -1,30 +0,0 @@
diff --git jb/project/tools/common/modules.list jb/project/tools/common/modules.list
index 522acb7cb43..c40e689d5de 100644
--- jb/project/tools/common/modules.list
+++ jb/project/tools/common/modules.list
@@ -51,4 +51,7 @@ jdk.unsupported.desktop,
jdk.xml.dom,
jdk.zipfs,
jdk.hotspot.agent,
-jdk.jcmd
+jdk.jcmd,
+jcef,
+gluegen.rt,
+jogl.all
diff --git src/java.desktop/share/classes/module-info.java src/java.desktop/share/classes/module-info.java
index 897647ee368..781d1809493 100644
--- src/java.desktop/share/classes/module-info.java
+++ src/java.desktop/share/classes/module-info.java
@@ -116,7 +116,11 @@ module java.desktop {
// see make/GensrcModuleInfo.gmk
exports sun.awt to
jdk.accessibility,
- jdk.unsupported.desktop;
+ jdk.unsupported.desktop,
+ jcef,
+ jogl.all;
+
+ exports java.awt.peer to jcef;
exports java.awt.dnd.peer to jdk.unsupported.desktop;
exports sun.awt.dnd to jdk.unsupported.desktop;

View File

@@ -1,30 +0,0 @@
diff --git jb/project/tools/common/modules.list jb/project/tools/common/modules.list
index 522acb7..c40e689 100644
--- jb/project/tools/common/modules.list
+++ jb/project/tools/common/modules.list
@@ -51,4 +51,7 @@ jdk.unsupported.desktop,
jdk.xml.dom,
jdk.zipfs,
jdk.hotspot.agent,
-jdk.jcmd
+jdk.jcmd,
+jcef,
+gluegen.rt,
+jogl.all
diff --git src/java.desktop/share/classes/module-info.java src/java.desktop/share/classes/module-info.java
index 897647e..781d180 100644
--- src/java.desktop/share/classes/module-info.java
+++ src/java.desktop/share/classes/module-info.java
@@ -116,7 +116,11 @@ module java.desktop {
// see make/GensrcModuleInfo.gmk
exports sun.awt to
jdk.accessibility,
- jdk.unsupported.desktop;
+ jdk.unsupported.desktop,
+ jcef,
+ jogl.all;
+
+ exports java.awt.peer to jcef;
exports java.awt.dnd.peer to jdk.unsupported.desktop;
exports sun.awt.dnd to jdk.unsupported.desktop;

View File

@@ -1,162 +0,0 @@
#!/bin/bash
set -euo pipefail
TC_PRINT=0
# Always print TeamCity service messages if running under TeamCity
[[ -n "${TEAMCITY_VERSION:-}" ]] && TC_PRINT=1
while getopts ":t" o; do
case "${o}" in
t) TC_PRINT=1 ;;
*);;
esac
done
shift $((OPTIND-1))
NEWFILEPATH="$1"
CONFIGID="$2"
BUILDID="$3"
TOKEN="$4"
if [ ! -f "$NEWFILEPATH" ]; then
echo "File not found: $NEWFILEPATH"
exit 1
fi
#
# Get the size of new artifact
#
unameOut="$(uname -s)"
case "${unameOut}" in
Linux*)
NEWFILESIZE=$(stat -c%s "$NEWFILEPATH")
;;
Darwin*)
NEWFILESIZE=$(stat -f%z "$NEWFILEPATH")
;;
CYGWIN*)
NEWFILESIZE=$(stat -c%s "$NEWFILEPATH")
;;
MINGW*)
NEWFILESIZE=$(stat -c%s "$NEWFILEPATH")
;;
*)
echo "Unknown machine: ${unameOut}"
exit 1
esac
FILENAME=$(basename "${NEWFILEPATH}")
#
# Get pattern of artifact name
# Base filename pattern: <BUNDLE_TYPE>-<JDK_VERSION>-<OS>-<ARCH>-b<BUILD>.tar.gz: jbr_dcevm-17.0.2-osx-x64-b1234.tar.gz
# BUNDLE_TYPE: jbr, jbrsdk, jbr_dcevm, jbrsdk_jcef etc.
# OS_ARCH_PATTERN - <os_architecture>: osx-x64, linux-aarch64, linux-musl-x64, windows-x64 etc.
BUNDLE_TYPE=jbrsdk
OS_ARCH_PATTERN=""
FILE_EXTENSION=tar.gz
re='(jbr[a-z_]*).*-[0-9_\.]+-(.+)-b[0-9]+(.+)'
if [[ $FILENAME =~ $re ]]; then
BUNDLE_TYPE=${BASH_REMATCH[1]}
OS_ARCH_PATTERN=${BASH_REMATCH[2]}
FILE_EXTENSION=${BASH_REMATCH[3]}
else
echo "File name $FILENAME does not match regex $re"
exit 1
fi
function test_started_msg() {
if [ $TC_PRINT -eq 1 ]; then
echo "##teamcity[testStarted name='$1']"
fi
}
function test_failed_msg() {
if [ $TC_PRINT -eq 1 ]; then
echo "##teamcity[testFailed name='$1' message='$2']"
fi
}
function test_finished_msg() {
if [ $TC_PRINT -eq 1 ]; then
echo "##teamcity[testFinished name='$1']"
fi
}
test_name="${BUNDLE_TYPE}_${OS_ARCH_PATTERN//\-/_}${FILE_EXTENSION//\./_}"
test_started_msg "$test_name"
echo "BUNDLE_TYPE: $BUNDLE_TYPE"
echo "OS_ARCH_PATTERN: $OS_ARCH_PATTERN"
echo "FILE_EXTENSION: $FILE_EXTENSION"
echo "Size of $FILENAME is $NEWFILESIZE bytes"
#
# Get previous successful build ID
# Example:
# CONFIGID=IntellijCustomJdk_Jdk17_Master_LinuxX64jcef
# BUILDID=12345678
#
# expected return value
# id="123".number="567"
#
CURL_RESPONSE=$(curl -sSL --header "Authorization: Bearer $TOKEN" "https://buildserver.labs.intellij.net/app/rest/builds/?locator=buildType:(id:$CONFIGID),status:success,count:1,finishDate:(build:$BUILDID,condition:before)")
re='id=\"([0-9]+)\".+number=\"([0-9\.]+)\"'
# ID: Previous successful build id
ID=0
if [[ $CURL_RESPONSE =~ $re ]]; then
ID=${BASH_REMATCH[1]}
echo "Previous build ID: $ID"
echo "Previous build number: ${BASH_REMATCH[2]}"
else
msg="ERROR: cannot find previous build"
echo "$msg"
echo "$CURL_RESPONSE"
test_failed_msg "$test_name" "$msg"
test_finished_msg "$test_name"
exit 1
fi
#
# Get artifacts from previous successful build
#
# expected return value
# name="jbrsdk_jcef*.tar.gz size="123'
#
CURL_RESPONSE=$(curl -sSL --header "Authorization: Bearer $TOKEN" "https://buildserver.labs.intellij.net/app/rest/builds/$ID?fields=id,number,artifacts(file(name,size))")
echo "Artifacts of the previous build:"
echo "$CURL_RESPONSE"
# Find binary size (in response) with reg exp
re="name=\"(${BUNDLE_TYPE}[^\"]+${OS_ARCH_PATTERN}[^\"]+${FILE_EXTENSION})\" size=\"([0-9]+)\""
if [[ $CURL_RESPONSE =~ $re ]]; then
prevFileName=${BASH_REMATCH[1]}
echo "Previous artifact name: $prevFileName"
prevFileSize=${BASH_REMATCH[2]}
echo "Previous artifact size: $prevFileSize"
((allowedSize=prevFileSize+prevFileSize/20)) # use 5% threshold
echo "Allowed size: $allowedSize"
if [[ "$NEWFILESIZE" -gt "$allowedSize" ]]; then
msg="ERROR: new size is significantly greater than previous size (need to investigate)"
echo "$msg"
test_failed_msg "$test_name" "$msg"
test_finished_msg "$test_name"
exit 1
else
echo "PASSED"
test_finished_msg "$test_name"
fi
else
msg="ERROR: cannot find string with size in xml response:"
echo "Regex: $re"
echo "$msg"
echo "$CURL_RESPONSE"
test_failed_msg "$test_name" "$msg"
test_finished_msg "$test_name"
exit 1
fi

View File

@@ -1,93 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
usage ()
{
echo "Usage: perfcmp.sh [options] <test_results_cur> <test_results_ref> <results> <test_prefix> <noHeaders>"
echo "Options:"
echo -e " -h, --help\tdisplay this help"
echo -e " -tc\tprint teacmity statistic"
echo -e "test_results_cur - the file with metrics values for the current measuring"
echo -e "test_results_ref - the file with metrics values for the reference measuring"
echo -e "results - results of comaprison"
echo -e "test_prefix - specifys measuring type, makes sense for enabled -tc, by default no prefixes"
echo -e "noHeaders - by default 1-st line contains headers"
echo -e ""
echo -e "test_results_* files content should be in csv format with header and tab separator:"
echo -e "The 1-st column is the test name"
echo -e "The 2-st column is the test value"
echo -e ""
echo -e "Example:"
echo -e "Test Value"
echo -e "Testname 51.54"
}
while [ -n "$1" ]
do
case "$1" in
-h | --help) usage
exit 1 ;;
-tc) tc=1
shift
break ;;
*) break;;
esac
done
if [[ "$#" < "3" ]]; then
echo "Error: Invalid arguments"
usage
exit 1
fi
curFile=$1
refFile=$2
resFile=$3
testNamePrefix=$4
noHeaders=$5
echo $curFile
echo $refFile
echo $resFile
curValues=`cat "$curFile" | cut -f 2 | tr -d '\t'`
if [ -z $noHeaders ]; then
curValuesHeader=`echo "$curValues" | head -n +1`_cur
header=`cat "$refFile" | head -n +1 | awk -F'\t' -v x=$curValuesHeader '{print " "$1"\t"$2"_ref\t"x"\tratio"}'`
testContent=`paste -d '\t' $refFile <(echo "$curValues") | tail -n +2`
else
testContent=`paste -d '\t' $refFile <(echo "$curValues") | tail -n +1`
fi
testContent=`echo "$testContent" | tr "," "." | awk -F'\t' '{
if ($3>$2+$2*0.1) {
print "* "$1"\t"$2"\t"$3"\t"(($2>0)?$3/$2:"-")
} else {
print " "$1"\t"$2"\t"$3"\t"(($2>0)?$3/$2:"-")
}
}'`
if [ -z $noHeaders ]; then
echo "$header" > $resFile
fi
echo "$testContent" >> $resFile
cat "$resFile" | tr '\t' ';' | column -t -s ';' | tee $resFile
if [ -z $tc ]; then
exit 0
fi
failed=0
echo "$testContent" 2>&1 | (
while read -r s; do
testname=`echo "$s" | cut -f 1 | tr -d "[:space:]" | tr -d "*"`
duration=`echo "$s" | cut -f 3`
echo "$s" | cut -c1 | grep -c "*" && failed=1
echo \#\#teamcity[testStarted name=\'$testNamePrefix$testname\']
echo "===>$s"
echo \#\#teamcity[buildStatisticValue key=\'$testNamePrefix$testname\' value=\'$duration\']
[ $failed -eq 1 ] && echo \#\#teamcity[testFailed name=\'$testNamePrefix$testname\' message=\'$s\']
echo \#\#teamcity[testFinished name=\'$testNamePrefix$testname\' duration=\'$duration\']
failed=0
done
)

View File

@@ -1,150 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
# Environment variables:
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
# to configure
# By default JDK_BUILD_NUMBER is set zero
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_win_aarch64
if [ -z "$BUILD_JDK" ]; then
echo "BUILD_JDK environment variable must be specified and point to a JDK built from the current sources" \
" and is able to run on the build system. See OpenJDK documentation for --with-build-jdk for more info."
exit 1
fi
source jb/project/tools/common/scripts/common.sh
WORK_DIR=$(pwd)
JCEF_PATH=${JCEF_PATH:=$WORK_DIR/jcef_win_aarch64}
NVDA_PATH=${NVDA_PATH:=$WORK_DIR/nvda_controllerClient}
function do_configure {
sh ./configure \
--openjdk-target=aarch64-unknown-cygwin \
$WITH_DEBUG_LEVEL \
--with-vendor-name="$VENDOR_NAME" \
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build=$JDK_BUILD_NUMBER \
--with-version-opt=b${build_number} \
--with-toolchain-version=$TOOLCHAIN_VERSION \
--with-boot-jdk=$BOOT_JDK \
--with-build-jdk=$BUILD_JDK \
--with-nvdacontrollerclient=$NVDA_PATH \
--disable-ccache \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
--enable-cds=yes || do_exit $?
}
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
fastdebug_infix=''
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
__root_dir=${__bundle_name}-${JBSDK_VERSION}-windows-aarch64-${fastdebug_infix}b${build_number}
echo Running jlink ...
${BUILD_JDK}/bin/jlink \
--module-path $__modules_path --no-man-pages --compress=2 \
--add-modules $__modules --output $__root_dir || do_exit $?
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> $__arch_name/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' $__root_dir/release > release
mv release $__root_dir/release
cp $IMAGES_DIR/jdk/lib/src.zip $__root_dir/lib
cp $IMAGES_DIR/jdk/lib/server/*.jsa $__root_dir/lib/server
for dir in $(ls -d $IMAGES_DIR/jdk/*); do
rsync -amv --include="*/" --include="*.pdb" --exclude="*" $dir $__root_dir
done
copy_jmods "$__modules" "$__modules_path" "$__root_dir"/jmods
fi
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=windows-aarch64-server-release
case "$bundle_type" in
"jcef")
do_reset_changes=0
do_maketest=1
;;
"nomod" | "")
bundle_type=""
;;
"fd")
do_reset_changes=0
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=windows-aarch64-server-fastdebug
;;
esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME clean images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME clean images || do_exit $?
fi
else
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
fi
fi
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
where cygpath
if [ $? -eq 0 ]; then
JCEF_PATH="$(cygpath -w $JCEF_PATH | sed 's/\\/\//g')"
fi
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module_aarch64.patch || do_exit $?
update_jsdk_mods "$BUILD_JDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not unchanged
jbr_name_postfix="_${bundle_type}"
cat $JCEF_PATH/jcef.version >> $JSDK/release
else
jbr_name_postfix=""
fi
# create runtime image bundle
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
modules+=",jdk.crypto.mscapi"
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
modules=$(cat ${JSDK}/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\r//g | sed s/\\n//g) || do_exit $?
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?
do_exit 0

View File

@@ -1,143 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
# Environment variables:
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
# to configure
# By default JDK_BUILD_NUMBER is set zero
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_win_x64
source jb/project/tools/common/scripts/common.sh
WORK_DIR=$(pwd)
JCEF_PATH=${JCEF_PATH:=$WORK_DIR/jcef_win_x64}
NVDA_PATH=${NVDA_PATH:=$WORK_DIR/nvda_controllerClient}
function do_configure {
sh ./configure \
$WITH_DEBUG_LEVEL \
--with-vendor-name="$VENDOR_NAME" \
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build=$JDK_BUILD_NUMBER \
--with-version-opt=b${build_number} \
--with-toolchain-version=$TOOLCHAIN_VERSION \
--with-boot-jdk=$BOOT_JDK \
--with-nvdacontrollerclient=$NVDA_PATH \
--disable-ccache \
--enable-cds=yes \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
|| do_exit $?
}
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
fastdebug_infix=''
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
__root_dir=${__bundle_name}-${JBSDK_VERSION}-windows-x64-${fastdebug_infix}b${build_number}
echo Running jlink ...
${JSDK}/bin/jlink \
--module-path $__modules_path --no-man-pages --compress=2 \
--add-modules $__modules --output $__root_dir || do_exit $?
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> $__root_dir/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' $__root_dir/release > release
mv release $__root_dir/release
cp $IMAGES_DIR/jdk/lib/src.zip $__root_dir/lib
cp $IMAGES_DIR/jdk/lib/server/*.jsa $__root_dir/lib/server
for dir in $(ls -d $IMAGES_DIR/jdk/*); do
rsync -amv --include="*/" --include="*.pdb" --exclude="*" $dir $__root_dir
done
copy_jmods "$__modules" "$__modules_path" "$__root_dir"/jmods
fi
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=windows-x86_64-server-release
case "$bundle_type" in
"jcef")
do_reset_changes=0
do_maketest=1
;;
"nomod" | "")
bundle_type=""
;;
"fd")
do_reset_changes=0
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=windows-x86_64-server-fastdebug
;;
esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME clean images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME clean images || do_exit $?
fi
else
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
fi
fi
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
where cygpath
if [ $? -eq 0 ]; then
JCEF_PATH="$(cygpath -w $JCEF_PATH | sed 's/\\/\//g')"
fi
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
update_jsdk_mods "$JSDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
cp $JCEF_PATH/jmods/* ${JSDK_MODS_DIR} # $JSDK/jmods is not unchanged
jbr_name_postfix="_${bundle_type}"
cat $JCEF_PATH/jcef.version >> $JSDK/release
else
jbr_name_postfix=""
fi
# create runtime image bundle
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
modules+=",jdk.crypto.mscapi"
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
modules=$(cat ${JSDK}/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\r//g | sed s/\\n//g)
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?
do_exit 0

View File

@@ -1,132 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
source jb/project/tools/common/scripts/common.sh
WORK_DIR=$(pwd)
NVDA_PATH=${NVDA_PATH:=$WORK_DIR/nvda_controllerClient}
function do_configure {
sh ./configure \
$WITH_DEBUG_LEVEL \
--with-vendor-name="$VENDOR_NAME" \
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build=$JDK_BUILD_NUMBER \
--with-version-opt=b${build_number} \
--with-toolchain-version=$TOOLCHAIN_VERSION \
--with-boot-jdk=$BOOT_JDK \
--with-nvdacontrollerclient=$NVDA_PATH \
--disable-ccache \
--enable-cds=yes \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
|| do_exit $?
}
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
fastdebug_infix=''
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
__root_dir=${__bundle_name}-${JBSDK_VERSION}-windows-x86-${fastdebug_infix}b${build_number}
echo Running jlink ...
${JSDK}/bin/jlink \
--module-path $__modules_path --no-man-pages --compress=2 \
--add-modules $__modules --output $__root_dir || do_exit $?
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> $__root_dir/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' $__root_dir/release > release
mv release $__root_dir/release
cp $IMAGES_DIR/jdk/lib/src.zip $__root_dir/lib
cp $IMAGES_DIR/jdk/lib/server/*.jsa $__root_dir/lib/server
for dir in $(ls -d $IMAGES_DIR/jdk/*); do
rsync -amv --include="*/" --include="*.pdb" --exclude="*" $dir $__root_dir
done
copy_jmods "$__modules" "$__modules_path" "$__root_dir"/jmods
fi
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=windows-x86_64-server-release
case "$bundle_type" in
"jcef")
echo "not implemented" && do_exit 1
;;
"nomod" | "")
bundle_type=""
;;
"fd")
do_reset_changes=0
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=windows-x86_64-server-fastdebug
;;
esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME clean images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME clean images || do_exit $?
fi
else
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
fi
fi
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
update_jsdk_mods "$JSDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
cp $JCEF_PATH/jmods/* ${JSDK_MODS_DIR} # $JSDK/jmods is not unchanged
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
# create runtime image bundle
modules=$(grep -v "jdk.internal.vm" jb/project/tools/common/modules.list | xargs | sed s/" "//g) || do_exit $?
modules+=",jdk.crypto.mscapi"
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
modules=$(cat ${JSDK}/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\r//g | sed s/\\n//g)
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?
do_exit 0

View File

@@ -1,57 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# This script packs test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
source jb/project/tools/common/scripts/common.sh
[ "$bundle_type" == "jcef" ] && do_maketest=1
function pack_jbr {
__bundle_name=$1
__arch_name=$2
fastdebug_infix=''
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-windows-aarch64-${fastdebug_infix}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-windows-aarch64-${fastdebug_infix}b${build_number}
echo Creating $JBR.tar.gz ...
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR $__root_dir || do_exit $?
}
[ "$bundle_type" == "nomod" ] && bundle_type=""
JBRSDK_BUNDLE=jbrsdk
RELEASE_NAME=windows-aarch64-server-release
IMAGES_DIR=build/$RELEASE_NAME/images
BASE_DIR=.
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "dcevm" ] || [ "$bundle_type" == "fd" ]; then
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
pack_jbr jbr${jbr_name_postfix} jbr
pack_jbr jbrsdk${jbr_name_postfix} jbrsdk
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=$JBRSDK_BUNDLE-$JBSDK_VERSION-windows-test-aarch64-b$build_number
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test" || do_exit $?
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
fi

View File

@@ -1,57 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# This script packs test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
source jb/project/tools/common/scripts/common.sh
[ "$bundle_type" == "jcef" ] && do_maketest=1
function pack_jbr {
__bundle_name=$1
__arch_name=$2
fastdebug_infix=''
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-windows-x64-${fastdebug_infix}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-windows-x64-${fastdebug_infix}b${build_number}
echo Creating $JBR.tar.gz ...
chmod -R ug+rwx,o+rx ${BASE_DIR}/$__root_dir
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR $__root_dir || do_exit $?
}
[ "$bundle_type" == "nomod" ] && bundle_type=""
JBRSDK_BUNDLE=jbrsdk
RELEASE_NAME=windows-x86_64-server-release
IMAGES_DIR=build/$RELEASE_NAME/images
BASE_DIR=.
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "dcevm" ] || [ "$bundle_type" == "fd" ]; then
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
pack_jbr jbr${jbr_name_postfix} jbr
pack_jbr jbrsdk${jbr_name_postfix} jbrsdk
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=$JBRSDK_BUNDLE-$JBSDK_VERSION-windows-test-x64-b$build_number
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test" || do_exit $?
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
fi

View File

@@ -1,53 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# fd - the fastdebug bundles which also include the jcef module
#
source jb/project/tools/common/scripts/common.sh
[ "$bundle_type" == "jcef" ] && echo "not implemented" && do_exit 1
function pack_jbr {
__bundle_name=$1
__arch_name=$2
fastdebug_infix=''
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-windows-x86-${fastdebug_infix}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-windows-x86-${fastdebug_infix}b${build_number}
echo Creating $JBR.tar.gz ...
chmod -R ug+rwx,o+rx ${BASE_DIR}/$__root_dir
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR $__root_dir || do_exit $?
}
[ "$bundle_type" == "nomod" ] && bundle_type=""
JBRSDK_BUNDLE=jbrsdk
RELEASE_NAME=windows-x86_64-server-release
IMAGES_DIR=build/$RELEASE_NAME/images
BASE_DIR=.
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "dcevm" ] || [ "$bundle_type" == "fd" ]; then
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
pack_jbr jbr${jbr_name_postfix} jbr
pack_jbr jbrsdk${jbr_name_postfix} jbrsdk
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=$JBRSDK_BUNDLE-$JBSDK_VERSION-windows-test-x86-b$build_number
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test" || do_exit $?
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $BASE_DIR --exclude='test/jdk/demos' test || do_exit $?
fi

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it

View File

@@ -99,6 +99,9 @@ define SetupInterimModule
EXCLUDE_FILES := $(TOPDIR)/src/$1/share/classes/module-info.java \
$(TOPDIR)/src/$1/share/classes/javax/tools/ToolProvider.java \
$(TOPDIR)/src/$1/share/classes/com/sun/tools/javac/launcher/Main.java \
$(TOPDIR)/src/$1/share/classes/com/sun/tools/javac/launcher/MemoryContext.java \
$(TOPDIR)/src/$1/share/classes/com/sun/tools/javac/launcher/MemoryModuleFinder.java \
$(TOPDIR)/src/$1/share/classes/com/sun/tools/javac/launcher/SourceLauncher.java \
Standard.java, \
EXTRA_FILES := $(BUILDTOOLS_OUTPUTDIR)/gensrc/$1.interim/module-info.java \
$($1.interim_EXTRA_FILES), \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it

View File

@@ -182,9 +182,14 @@ else # not java.base
endif
endif
# Set main class of jdk.httpserver module
ifeq ($(MODULE), jdk.httpserver)
JMOD_FLAGS += --main-class sun.net.httpserver.simpleserver.Main
################################################################################
# Include module specific build settings
-include Jmod.gmk
# Set main class
ifneq ($(JMOD_FLAGS_main_class), )
JMOD_FLAGS += $(JMOD_FLAGS_main_class)
endif
# Changes to the jmod tool itself should also trigger a rebuild of all jmods.

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2012, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -52,7 +52,6 @@ help:
$(info $(_) make docs # Create all docs)
$(info $(_) make docs-jdk-api # Create just JDK javadocs)
$(info $(_) make bootcycle-images # Build images twice, second time with newly built JDK)
$(info $(_) make install # Install the generated images locally)
$(info $(_) make check # Run basic testing (currently tier1))
$(info $(_) make test-<test> # Run test, e.g. test-tier1)
$(info $(_) make test TEST=<t> # Run test(s) given by TEST specification)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2020, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -47,7 +47,7 @@ ifeq ($(HSDIS_BACKEND), capstone)
CAPSTONE_ARCH := CS_ARCH_X86
CAPSTONE_MODE := CS_MODE_$(OPENJDK_TARGET_CPU_BITS)
else ifeq ($(call isTargetCpuArch, aarch64), true)
CAPSTONE_ARCH := CS_ARCH_ARM64
CAPSTONE_ARCH := CS_ARCH_$(CAPSTONE_ARCH_AARCH64_NAME)
CAPSTONE_MODE := CS_MODE_ARM
else
$(error No support for Capstone on this platform)

View File

@@ -1,43 +0,0 @@
#
# Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
default: install
include $(SPEC)
BINARIES := $(notdir $(wildcard $(JDK_IMAGE_DIR)/bin/*))
INSTALLDIR := openjdk-$(VERSION_SHORT)
# Install the jdk image, in a very crude way. Not taking into
# account, how to install properly on macosx or windows etc.
install:
echo Installing jdk image into $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)
echo and creating $(words $(BINARIES)) links from $(INSTALL_PREFIX)/bin into the jdk.
$(MKDIR) -p $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)
$(RM) -r $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)/*
$(CP) -rp $(JDK_IMAGE_DIR)/* $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)
$(MKDIR) -p $(INSTALL_PREFIX)/bin
$(RM) $(addprefix $(INSTALL_PREFIX)/bin/, $(BINARIES))
$(foreach b, $(BINARIES), $(LN) -s $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)/bin/$b $(INSTALL_PREFIX)/bin/$b &&) true

View File

@@ -1,93 +0,0 @@
#
# Copyright 2000-2023 JetBrains s.r.o.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
include $(SPEC)
include MakeBase.gmk
include JavaCompilation.gmk
JBR_API_ROOT_DIR := $(TOPDIR)/src/jetbrains.api
JBR_API_TOOLS_DIR := $(JBR_API_ROOT_DIR)/tools
JBR_API_SRC_DIR := $(JBR_API_ROOT_DIR)/src
JBR_API_OUTPUT_DIR := $(OUTPUTDIR)/jbr-api
JBR_API_GENSRC_DIR := $(JBR_API_OUTPUT_DIR)/gensrc
JBR_API_BIN_DIR := $(JBR_API_OUTPUT_DIR)/bin
JBR_API_VERSION_PROPERTIES := $(JBR_API_ROOT_DIR)/version.properties
JBR_API_VERSION_GENSRC := $(JBR_API_OUTPUT_DIR)/jbr-api.version
JBR_API_GENSRC_BATCH := $(JBR_API_VERSION_GENSRC)
JBR_API_SRC_FILES := $(call FindFiles, $(JBR_API_SRC_DIR))
JBR_API_GENSRC_FILES := $(foreach f, $(call FindFiles, $(JBR_API_SRC_DIR)), \
$(JBR_API_GENSRC_DIR)/$(call RelativePath, $f, $(JBR_API_SRC_DIR)))
ifeq ($(JBR_API_JBR_VERSION),)
JBR_API_JBR_VERSION := DEVELOPMENT
JBR_API_FAIL_ON_HASH_MISMATCH := false
else
.PHONY: $(JBR_API_VERSION_PROPERTIES)
JBR_API_FAIL_ON_HASH_MISMATCH := true
endif
ARCHIVE_BUILD_JBR_API_BIN := $(JBR_API_BIN_DIR)
$(eval $(call SetupJavaCompilation, BUILD_JBR_API, \
SMALL_JAVA := true, \
COMPILER := bootjdk, \
SRC := $(JBR_API_GENSRC_DIR), \
EXTRA_FILES := $(JBR_API_GENSRC_FILES), \
BIN := $(JBR_API_BIN_DIR), \
JAR := $(JBR_API_OUTPUT_DIR)/jbr-api.jar, \
))
$(eval $(call SetupJarArchive, BUILD_JBR_API_SOURCES_JAR, \
DEPENDENCIES := $(JBR_API_GENSRC_FILES), \
SRCS := $(JBR_API_GENSRC_DIR), \
JAR := $(JBR_API_OUTPUT_DIR)/jbr-api-sources.jar, \
SUFFIXES := .java, \
BIN := $(JBR_API_BIN_DIR), \
))
# Grouped targets may not be supported, so hack dependencies: sources -> version file -> generated sources
$(JBR_API_VERSION_GENSRC): $(JBR_API_SRC_FILES) $(JBR_API_VERSION_PROPERTIES) $(JBR_API_TOOLS_DIR)/Gensrc.java
$(ECHO) Generating sources for JBR API
$(JAVA_CMD) $(JAVA_FLAGS_SMALL) "$(JBR_API_TOOLS_DIR)/Gensrc.java" \
"$(TOPDIR)/src" "$(JBR_API_OUTPUT_DIR)" "$(JBR_API_JBR_VERSION)"
$(JBR_API_GENSRC_FILES): $(JBR_API_VERSION_GENSRC)
$(TOUCH) $@
jbr-api-check-version: $(JBR_API_GENSRC_FILES) $(JBR_API_VERSION_PROPERTIES)
$(JAVA_CMD) $(JAVA_FLAGS_SMALL) "$(JBR_API_TOOLS_DIR)/CheckVersion.java" \
"$(JBR_API_ROOT_DIR)" "$(JBR_API_GENSRC_DIR)" "$(JBR_API_FAIL_ON_HASH_MISMATCH)"
jbr-api: $(BUILD_JBR_API) $(BUILD_JBR_API_SOURCES_JAR) jbr-api-check-version
.PHONY: jbr-api jbr-api-check-version
ifneq ($(JBR_API_CONF_FILE),)
$(JBR_API_CONF_FILE): $(JBR_API_GENSRC_FILES)
$(ECHO) "VERSION=`$(CAT) $(JBR_API_VERSION_GENSRC)`" > $(JBR_API_CONF_FILE)
$(ECHO) "JAR=$(JBR_API_OUTPUT_DIR)/jbr-api.jar" >> $(JBR_API_CONF_FILE)
$(ECHO) "SOURCES_JAR=$(JBR_API_OUTPUT_DIR)/jbr-api-sources.jar" >> $(JBR_API_CONF_FILE)
jbr-api: $(JBR_API_CONF_FILE)
.PHONY: $(JBR_API_CONF_FILE)
endif

View File

@@ -405,8 +405,9 @@ JMOD_TARGETS := $(addsuffix -jmod, $(JMOD_MODULES))
define DeclareJmodRecipe
$1-jmod:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CreateJmods.gmk \
MODULE=$1)
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) \
$(patsubst %,-I%/modules/$1,$(PHASE_MAKEDIRS)) \
-f CreateJmods.gmk MODULE=$1)
endef
$(foreach m, $(JMOD_MODULES), $(eval $(call DeclareJmodRecipe,$m)))
@@ -607,11 +608,11 @@ endif
ifeq ($(CREATING_BUILDJDK), true)
# This target is only called by the recursive call below.
create-buildjdk-interim-image-helper: interim-image jdk.jlink-launchers \
java.base-copy jdk.jdeps-launchers
java.base-copy jdk.jdeps-launchers jdk.compiler-launchers
endif
BUILDJDK_MODULES := $(sort $(foreach m, jdk.jlink $(INTERIM_IMAGE_MODULES), \
$(call FindTransitiveDepsForModule, $m) $m))
BUILDJDK_MODULES := $(sort $(foreach m, jdk.jlink jdk.compiler \
$(INTERIM_IMAGE_MODULES), $(call FindTransitiveDepsForModule, $m) $m))
$(eval $(call SetupTarget, create-buildjdk-interim-image, \
MAKEFILE := Main, \
@@ -865,14 +866,6 @@ ifeq ($(JCOV_ENABLED), true)
))
endif
################################################################################
# Install targets
$(eval $(call SetupTarget, install, \
MAKEFILE := Install, \
DEPS := product-images, \
))
################################################################################
#
# Dependency declarations between targets.
@@ -970,7 +963,20 @@ else
jdk.jdeps-gendata: java
# The ct.sym generation uses all the moduleinfos as input
jdk.compiler-gendata: $(GENSRC_MODULEINFO_TARGETS)
jdk.compiler-gendata: $(GENSRC_MODULEINFO_TARGETS) $(JAVA_TARGETS)
# jdk.compiler-gendata needs the BUILD_JDK. If the BUILD_JDK was supplied
# externally, no extra prerequisites are needed.
ifeq ($(CREATE_BUILDJDK), true)
ifneq ($(CREATING_BUILDJDK), true)
# When cross compiling and an external BUILD_JDK wasn't supplied, it's
# produced by the create-buildjdk target.
jdk.compiler-gendata: create-buildjdk
endif
else ifeq ($(EXTERNAL_BUILDJDK), false)
# When not cross compiling, the BUILD_JDK is the interim jdk image, and
# the javac launcher is needed.
jdk.compiler-gendata: jdk.compiler-launchers
endif
# Declare dependencies between jmod targets.
# java.base jmod needs jrt-fs.jar and access to the jmods for all non
@@ -1053,6 +1059,9 @@ else
# All modules include the main license files from java.base.
$(JMOD_TARGETS): java.base-copy
# jdk.javadoc uses an internal copy of the main license files from java.base.
jdk.javadoc-copy: java.base-copy
zip-security: $(filter jdk.crypto%, $(JAVA_TARGETS))
ifeq ($(ENABLE_GENERATE_CLASSLIST), true)
@@ -1444,14 +1453,6 @@ create-main-targets-include:
@$(ECHO) ALL_MAIN_TARGETS := $(sort $(ALL_TARGETS)) > \
$(MAKESUPPORT_OUTPUTDIR)/main-targets.gmk
################################################################################
# JBR API
$(eval $(call SetupTarget, jbr-api, \
MAKEFILE := JBRApi, \
TARGET := jbr-api \
))
################################################################################
# Hook to include the corresponding custom file, if present.
$(eval $(call IncludeCustomExtension, Main-post.gmk))

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2017, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2017, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2017, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it

View File

@@ -24,4 +24,4 @@
# This Makefile was generated by configure @DATE_WHEN_CONFIGURED@
# GENERATED FILE, DO NOT EDIT
SPEC:=@OUTPUTDIR@/spec.gmk
include @TOPDIR@/Makefile
include @WORKSPACE_ROOT@/Makefile

View File

@@ -390,6 +390,17 @@ AC_DEFUN_ONCE([BASIC_SETUP_COMPLEX_TOOLS],
if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
UTIL_REQUIRE_PROGS(DSYMUTIL, dsymutil)
AC_MSG_CHECKING([if dsymutil supports --reproducer option])
if $DSYMUTIL --help | $GREP -q '\--reproducer '; then
AC_MSG_RESULT([yes])
# --reproducer option is supported
# set "--reproducer Off" to prevent unnecessary temporary
# directories creation
DSYMUTIL="$DSYMUTIL --reproducer Off"
else
# --reproducer option isn't supported
AC_MSG_RESULT([no])
fi
UTIL_REQUIRE_PROGS(MIG, mig)
UTIL_REQUIRE_PROGS(XATTR, xattr)
UTIL_LOOKUP_PROGS(CODESIGN, codesign)

View File

@@ -89,8 +89,8 @@ AC_DEFUN([BASIC_SETUP_PATHS_WINDOWS],
WINENV_TEMP_DIR=$($PATHTOOL -u $($CMD /q /c echo %TEMP% 2> /dev/null) | $TR -d '\r\n')
AC_MSG_RESULT([$WINENV_TEMP_DIR])
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl1" || test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl2"; then
# Don't trust the current directory for WSL, but change to an OK temp dir
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl2"; then
# Don't trust the current directory for WSL2, but change to an OK temp dir
cd "$WINENV_TEMP_DIR"
# Bring along confdefs.h or autoconf gets all confused
cp "$CONFIGURE_START_DIR/confdefs.h" "$WINENV_TEMP_DIR"
@@ -228,7 +228,7 @@ AC_DEFUN([BASIC_WINDOWS_FINALIZE_FIXPATH],
# Platform-specific finalization
AC_DEFUN([BASIC_WINDOWS_FINALIZE],
[
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl1" || test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl2"; then
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl2"; then
# Change back from temp dir
cd $CONFIGURE_START_DIR
fi

View File

@@ -520,8 +520,8 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
# Don't presuppose SerialGC is present in the buildjdk. Also, we cannot test
# the buildjdk, but on the other hand we know what it will support.
BUILDJDK_JAVA_FLAGS_SMALL="-Xms32M -Xmx512M -XX:TieredStopAtLevel=1"
AC_SUBST(BUILDJDK_JAVA_FLAGS_SMALL)
BUILD_JAVA_FLAGS_SMALL="-Xms32M -Xmx512M -XX:TieredStopAtLevel=1"
AC_SUBST(BUILD_JAVA_FLAGS_SMALL)
JAVA_TOOL_FLAGS_SMALL=""
for f in $JAVA_FLAGS_SMALL; do

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it

View File

@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright (c) 2012, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -39,6 +39,12 @@ if test "x$BASH" = x; then
echo "Error: This script must be run using bash." 1>&2
exit 1
fi
if [[ "$TOPDIR" =~ .*[[:space:]]+.* ]]; then
echo "Error: Build path containing space character is not supported" 1>&2
exit 1
fi
# Force autoconf to use bash. This also means we must disable autoconf re-exec.
export CONFIG_SHELL=$BASH
export _as_can_reexec=no

View File

@@ -562,7 +562,7 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
# The -utf-8 option sets source and execution character sets to UTF-8 to enable correct
# compilation of all source files regardless of the active code page on Windows.
TOOLCHAIN_CFLAGS_JVM="-nologo -MD -Zc:preprocessor -Zc:strictStrings -Zc:inline -utf-8 -MP"
TOOLCHAIN_CFLAGS_JVM="-nologo -MD -Zc:preprocessor -Zc:strictStrings -Zc:inline -permissive- -utf-8 -MP"
TOOLCHAIN_CFLAGS_JDK="-nologo -MD -Zc:preprocessor -Zc:strictStrings -Zc:inline -utf-8 -Zc:wchar_t-"
fi

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it

View File

@@ -234,31 +234,6 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
fi
AC_SUBST(HOTSPOT_OVERRIDE_LIBPATH)
# Should we build the client for the JAWS screen reader?
if test "x$OPENJDK_TARGET_OS" = xwindows; then
AC_MSG_CHECKING([if JAWS client support is enabled])
A11Y_JAWS_ANNOUNCING_ENABLED=true
AC_ARG_ENABLE(
[jaws-client],
[AS_HELP_STRING([--disable-jaws-client], [Set to disable to exclude the client for the JAWS screen reader from the build])],
[
if test "x$ENABLE_HEADLESS_ONLY" = xtrue; then
AC_MSG_WARN([--[enable|disable]-jaws-client[=*] flags are ignored for headless builds])
elif test "x$enableval" != xyes; then
A11Y_JAWS_ANNOUNCING_ENABLED=false
fi
]
)
if test "x$ENABLE_HEADLESS_ONLY" = xtrue; then
A11Y_JAWS_ANNOUNCING_ENABLED=false
fi
AC_MSG_RESULT([$A11Y_JAWS_ANNOUNCING_ENABLED])
else
A11Y_JAWS_ANNOUNCING_ENABLED=false
fi
AC_SUBST(A11Y_JAWS_ANNOUNCING_ENABLED)
])
###############################################################################

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it

View File

@@ -63,6 +63,19 @@ AC_DEFUN([LIB_SETUP_HSDIS_CAPSTONE],
AC_MSG_ERROR([Cannot continue])
fi
fi
capstone_header="\"$CAPSTONE/include/capstone/capstone.h\""
AC_MSG_CHECKING([capstone aarch64 arch name])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include $capstone_header],[[cs_arch test = CS_ARCH_AARCH64]])],
[
AC_MSG_RESULT([AARCH64])
CAPSTONE_ARCH_AARCH64_NAME="AARCH64"
],
[
AC_MSG_RESULT([ARM64])
CAPSTONE_ARCH_AARCH64_NAME="ARM64"
]
)
])
################################################################################
@@ -278,7 +291,7 @@ AC_DEFUN([LIB_SETUP_HSDIS_BINUTILS],
fi
AC_MSG_CHECKING([Checking binutils API])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include $disasm_header],[[void foo() {init_disassemble_info(0, 0, 0, 0);}]])],
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include $disasm_header],[[init_disassemble_info(0, 0, 0, 0);]])],
[
AC_MSG_RESULT([New API])
HSDIS_CFLAGS="$HSDIS_CFLAGS -DBINUTILS_NEW_API"
@@ -365,6 +378,7 @@ AC_DEFUN_ONCE([LIB_SETUP_HSDIS],
AC_SUBST(HSDIS_CFLAGS)
AC_SUBST(HSDIS_LDFLAGS)
AC_SUBST(HSDIS_LIBS)
AC_SUBST(CAPSTONE_ARCH_AARCH64_NAME)
AC_MSG_CHECKING([if hsdis should be bundled])
if test "x$ENABLE_HSDIS_BUNDLING" = "xtrue"; then

View File

@@ -1,121 +0,0 @@
#
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, JetBrains s.r.o.. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
################################################################################
# Setup nvdacontrollerclient (The library for communication with
# NVDA - a screen reader for Microsoft Windows)
################################################################################
AC_DEFUN_ONCE([LIB_SETUP_NVDACONTROLLERCLIENT], [
# To enable NVDA, user specifies neither --with-nvdacontrollerclient or
# a pair (--with-nvdacontrollerclient-include, --with-nvdacontrollerclient-lib)
AC_ARG_WITH(nvdacontrollerclient, [AS_HELP_STRING([--with-nvdacontrollerclient],
[specify prefix directory for the NVDA Controller Client library package
(expecting headers and libs under PATH/<target-arch>/)])])
AC_ARG_WITH(nvdacontrollerclient-include, [AS_HELP_STRING([--with-nvdacontrollerclient-include],
[specify directory for the NVDA Controller Client include files])])
AC_ARG_WITH(nvdacontrollerclient-lib, [AS_HELP_STRING([--with-nvdacontrollerclient-lib],
[specify directory for the NVDA Controller Client library])])
NVDACONTROLLERCLIENT_FOUND=no
NVDACONTROLLERCLIENT_LIB=
NVDACONTROLLERCLIENT_DLL=
NVDACONTROLLERCLIENT_CFLAGS=
if test "x${NEEDS_LIB_NVDACONTROLLERCLIENT}" = "xtrue" ; then
if (test "x${with_nvdacontrollerclient_include}" = "x" && test "x${with_nvdacontrollerclient_lib}" != "x") || \
(test "x${with_nvdacontrollerclient_include}" != "x" && test "x${with_nvdacontrollerclient_lib}" = "x") ; then
AC_MSG_ERROR([Must specify both or neither of --with-nvdacontrollerclient-include and --with-nvdacontrollerclient-lib])
elif (test "x${with_nvdacontrollerclient}" != "x" && test "x${with_nvdacontrollerclient_include}" != "x") ; then
AC_MSG_ERROR([Must specify either --with-nvdacontrollerclient or a pair (--with-nvdacontrollerclient-include, --with-nvdacontrollerclient-lib)])
fi
if (test "x${with_nvdacontrollerclient}" != "x") || \
(test "x${with_nvdacontrollerclient_include}" != "x" && test "x${with_nvdacontrollerclient_lib}" != "x") ; then
AC_MSG_CHECKING([for nvdacontrollerclient])
if test "x${OPENJDK_TARGET_OS}" != "xwindows" ; then
AC_MSG_ERROR([--with-nvdacontrollerclient[-*] flags are applicable only to Windows builds])
fi
if test "x${OPENJDK_TARGET_CPU_ARCH}" = "xaarch64" ; then
NVDACONTROLLERCLIENT_BIN_BASENAME="nvdaControllerClient32"
NVDACONTROLLERCLIENT_ARCHDIR="arm64"
elif test "x${OPENJDK_TARGET_CPU_ARCH}" = "xx86" && test "x${OPENJDK_TARGET_CPU_BITS}" = "x64" ; then
NVDACONTROLLERCLIENT_BIN_BASENAME="nvdaControllerClient64"
NVDACONTROLLERCLIENT_ARCHDIR="x64"
elif test "x${OPENJDK_TARGET_CPU_ARCH}" = "xx86" && test "x${OPENJDK_TARGET_CPU_BITS}" = "x32" ; then
NVDACONTROLLERCLIENT_BIN_BASENAME="nvdaControllerClient32"
NVDACONTROLLERCLIENT_ARCHDIR="x86"
else
AC_MSG_ERROR([The nvdacontrollerclient library exists only for x86_32, x86_64, AArch64 architectures])
fi
if test "x${with_nvdacontrollerclient}" != "x" ; then
# NVDACONTROLLERCLIENT_ARCHDIR is used only here
NVDACONTROLLERCLIENT_INC_PATH="${with_nvdacontrollerclient}/${NVDACONTROLLERCLIENT_ARCHDIR}"
NVDACONTROLLERCLIENT_BIN_PATH="${with_nvdacontrollerclient}/${NVDACONTROLLERCLIENT_ARCHDIR}"
else
NVDACONTROLLERCLIENT_INC_PATH="${with_nvdacontrollerclient_include}"
NVDACONTROLLERCLIENT_BIN_PATH="${with_nvdacontrollerclient_lib}"
fi
POTENTIAL_NVDACONTROLLERCLIENT_DLL="${NVDACONTROLLERCLIENT_BIN_PATH}/${NVDACONTROLLERCLIENT_BIN_BASENAME}.dll"
POTENTIAL_NVDACONTROLLERCLIENT_LIB="${NVDACONTROLLERCLIENT_BIN_PATH}/${NVDACONTROLLERCLIENT_BIN_BASENAME}.lib"
POTENTIAL_NVDACONTROLLERCLIENT_EXP="${NVDACONTROLLERCLIENT_BIN_PATH}/${NVDACONTROLLERCLIENT_BIN_BASENAME}.exp"
if ! test -s "${POTENTIAL_NVDACONTROLLERCLIENT_DLL}" || \
! test -s "${POTENTIAL_NVDACONTROLLERCLIENT_LIB}" || \
! test -s "${POTENTIAL_NVDACONTROLLERCLIENT_EXP}" ; then
AC_MSG_ERROR([Could not find ${NVDACONTROLLERCLIENT_BIN_BASENAME}.dll and/or ${NVDACONTROLLERCLIENT_BIN_BASENAME}.lib and/or ${NVDACONTROLLERCLIENT_BIN_BASENAME}.exp inside ${NVDACONTROLLERCLIENT_BIN_PATH}])
fi
if ! test -s "${NVDACONTROLLERCLIENT_INC_PATH}/nvdaController.h" ; then
AC_MSG_ERROR([Could not find the header file nvdaController.h inside ${NVDACONTROLLERCLIENT_INC_PATH}])
fi
NVDACONTROLLERCLIENT_CFLAGS="-I${NVDACONTROLLERCLIENT_INC_PATH}"
NVDACONTROLLERCLIENT_DLL="${POTENTIAL_NVDACONTROLLERCLIENT_DLL}"
NVDACONTROLLERCLIENT_LIB="${POTENTIAL_NVDACONTROLLERCLIENT_LIB}"
NVDACONTROLLERCLIENT_FOUND=yes
AC_MSG_RESULT([includes at ${NVDACONTROLLERCLIENT_INC_PATH} ; binaries at ${NVDACONTROLLERCLIENT_BIN_PATH}])
fi
elif test "x${with_nvdacontrollerclient}" != "x" || \
test "x${with_nvdacontrollerclient_include}" != "x" || test "x${with_nvdacontrollerclient_lib}" != "x" ; then
AC_MSG_WARN([[nvdacontrollerclient is not used, so --with-nvdacontrollerclient[-*] is ignored]])
fi
if test "x${NVDACONTROLLERCLIENT_FOUND}" = "xyes" ; then
A11Y_NVDA_ANNOUNCING_ENABLED=true
else
A11Y_NVDA_ANNOUNCING_ENABLED=false
fi
AC_SUBST(A11Y_NVDA_ANNOUNCING_ENABLED)
AC_SUBST(NVDACONTROLLERCLIENT_CFLAGS)
AC_SUBST(NVDACONTROLLERCLIENT_DLL)
AC_SUBST(NVDACONTROLLERCLIENT_LIB)
])

View File

@@ -1,92 +0,0 @@
#
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, JetBrains s.r.o.. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
################################################################################
# Setup speechd
################################################################################
AC_DEFUN_ONCE([LIB_SETUP_SPEECHD],
[
AC_ARG_WITH(speechd, [AS_HELP_STRING([--with-speechd],
[specify prefix directory for the libspeechd package
(expecting the headers under PATH/include); required for AccessibleAnnouncer to work])])
AC_ARG_WITH(speechd-include, [AS_HELP_STRING([--with-speechd-include],
[specify directory for the speechd include files])])
if test "x$NEEDS_LIB_SPEECHD" = xfalse || test "x${with_speechd}" = xno || \
test "x${with_speechd_include}" = xno; then
if (test "x${with_speechd}" != x && test "x${with_speechd}" != xno) || \
(test "x${with_speechd_include}" != x && test "x${with_speechd_include}" != xno); then
AC_MSG_WARN([[speechd not used, so --with-speechd[-*] is ignored]])
fi
A11Y_SPEECHD_ANNOUNCING_ENABLED=false
SPEECHD_CFLAGS=
SPEECHD_LIBS=
else
SPEECHD_FOUND=no
if test "x${with_speechd}" != x && test "x${with_speechd}" != xyes; then
AC_MSG_CHECKING([for speechd header and library])
if test -s "${with_speechd}/include/libspeechd.h"; then
SPEECHD_CFLAGS="-I${with_speechd}/include"
SPEECHD_LIBS="-L${with_speechd}/lib -lspeechd"
SPEECHD_FOUND=yes
AC_MSG_RESULT([$SPEECHD_FOUND])
else
AC_MSG_ERROR([Can't find 'include/libspeechd.h' under ${with_speechd} given with the --with-speechd option.])
fi
fi
if test "x${with_speechd_include}" != x; then
AC_MSG_CHECKING([for speechd headers])
if test -s "${with_speechd_include}/libspeechd.h"; then
SPEECHD_CFLAGS="-I${with_speechd_include}"
SPEECHD_FOUND=yes
AC_MSG_RESULT([$SPEECHD_FOUND])
else
AC_MSG_ERROR([Can't find 'include/libspeechd.h' under ${with_speechd} given with the --with-speechd-include option.])
fi
fi
if test "x$SPEECHD_FOUND" = xno; then
# Are the libspeechd headers installed in the default /usr/include location?
AC_CHECK_HEADERS([libspeechd.h],
[ SPEECHD_FOUND=yes ],
[ SPEECHD_FOUND=no; break ]
)
if test "x$SPEECHD_FOUND" = xyes; then
SPEECHD_CFLAGS=
SPEECHD_LIBS="-lspeechd"
fi
fi
if test "x$SPEECHD_FOUND" = xno; then
A11Y_SPEECHD_ANNOUNCING_ENABLED=false
else
A11Y_SPEECHD_ANNOUNCING_ENABLED=true
fi
fi
AC_SUBST(A11Y_SPEECHD_ANNOUNCING_ENABLED)
AC_SUBST(SPEECHD_CFLAGS)
AC_SUBST(SPEECHD_LIBS)
])

View File

@@ -33,9 +33,7 @@ m4_include([lib-freetype.m4])
m4_include([lib-hsdis.m4])
m4_include([lib-std.m4])
m4_include([lib-x11.m4])
m4_include([lib-fontconfig.m4])
m4_include([lib-speechd.m4])
m4_include([lib-nvdacontrollerclient.m4])
m4_include([lib-tests.m4])
################################################################################
@@ -47,16 +45,10 @@ AC_DEFUN_ONCE([LIB_DETERMINE_DEPENDENCIES],
if test "x$OPENJDK_TARGET_OS" = xwindows || test "x$OPENJDK_TARGET_OS" = xmacosx; then
# No X11 support on windows or macosx
NEEDS_LIB_X11=false
NEEDS_LIB_SPEECHD=false
elif test "x$ENABLE_HEADLESS_ONLY" = xtrue; then
# No X11 support needed when building headless only
NEEDS_LIB_X11=false
NEEDS_LIB_SPEECHD=false
else
# All other instances need X11, even if building headless only, libawt still
# needs X11 headers.
NEEDS_LIB_X11=true
NEEDS_LIB_SPEECHD=true
fi
# Check if fontconfig is needed
@@ -95,13 +87,6 @@ AC_DEFUN_ONCE([LIB_DETERMINE_DEPENDENCIES],
else
NEEDS_LIB_FFI=false
fi
# Check if nvdacontrollerclient is needed
if test "x$OPENJDK_TARGET_OS" = xwindows && test "x$ENABLE_HEADLESS_ONLY" != xtrue; then
NEEDS_LIB_NVDACONTROLLERCLIENT=true
else
NEEDS_LIB_NVDACONTROLLERCLIENT=false
fi
])
################################################################################
@@ -141,8 +126,7 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
LIB_SETUP_LIBFFI
LIB_SETUP_MISC_LIBS
LIB_SETUP_X11
LIB_SETUP_SPEECHD
LIB_SETUP_NVDACONTROLLERCLIENT
LIB_TESTS_SETUP_GTEST
BASIC_JDKLIB_LIBS=""

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it

View File

@@ -1,4 +1,4 @@
# Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2017, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it

View File

@@ -407,6 +407,8 @@ var getJibProfilesCommon = function (input, data) {
* @returns {{}} Profiles part of the configuration
*/
var getJibProfilesProfiles = function (input, common, data) {
var cross_compiling = input.build_platform != input.target_platform;
// Main SE profiles
var profiles = {
@@ -484,14 +486,12 @@ var getJibProfilesProfiles = function (input, common, data) {
"linux-aarch64": {
target_os: "linux",
target_cpu: "aarch64",
build_cpu: "x64",
dependencies: ["devkit", "gtest", "build_devkit", "pandoc"],
configure_args: [
"--openjdk-target=aarch64-linux-gnu",
"--with-zlib=system",
"--disable-dtrace",
"--enable-compatible-cds-alignment",
],
].concat(cross_compiling ? ["--openjdk-target=aarch64-linux-gnu"] : []),
},
"linux-arm32": {
@@ -1085,10 +1085,10 @@ var getJibProfilesProfiles = function (input, common, data) {
var getJibProfilesDependencies = function (input, common) {
var devkit_platform_revisions = {
linux_x64: "gcc11.2.0-OL6.4+1.0",
linux_x64: "gcc13.2.0-OL6.4+1.0",
macosx: "Xcode14.3.1+1.0",
windows_x64: "VS2022-17.1.0+1.1",
linux_aarch64: input.build_cpu == "x64" ? "gcc11.2.0-OL7.6+1.1" : "gcc11.2.0-OL7.6+1.0",
windows_x64: "VS2022-17.6.5+1.0",
linux_aarch64: "gcc13.2.0-OL7.6+1.0",
linux_arm: "gcc8.2.0-Fedora27+1.0",
linux_ppc64le: "gcc8.2.0-Fedora27+1.0",
linux_s390x: "gcc8.2.0-Fedora27+1.0",

View File

@@ -1,46 +1,39 @@
UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
See Terms of Use for definitions of Unicode Inc.'s
Data Files and Software.
NOTICE TO USER: Carefully read the following legal agreement.
BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S
DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"),
YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
TERMS AND CONDITIONS OF THIS AGREEMENT.
IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE
THE DATA FILES OR SOFTWARE.
UNICODE LICENSE V3
COPYRIGHT AND PERMISSION NOTICE
Copyright © 1991-2022 Unicode, Inc. All rights reserved.
Distributed under the Terms of Use in https://www.unicode.org/copyright.html.
Copyright © 2019-2023 Unicode, Inc.
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Unicode data files and any associated documentation
(the "Data Files") or Unicode software and any associated documentation
(the "Software") to deal in the Data Files or Software
without restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, and/or sell copies of
the Data Files or Software, and to permit persons to whom the Data Files
or Software are furnished to do so, provided that either
(a) this copyright and permission notice appear with all copies
of the Data Files or Software, or
(b) this copyright and permission notice appear in associated
Documentation.
NOTICE TO USER: Carefully read the following legal agreement. BY
DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR
SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT
DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.
THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT OF THIRD PARTY RIGHTS.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THE DATA FILES OR SOFTWARE.
Permission is hereby granted, free of charge, to any person obtaining a
copy of data files and any associated documentation (the "Data Files") or
software and any associated documentation (the "Software") to deal in the
Data Files or Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, and/or sell
copies of the Data Files or Software, and to permit persons to whom the
Data Files or Software are furnished to do so, provided that either (a)
this copyright and permission notice appear with all copies of the Data
Files or Software, or (b) this copyright and permission notice appear in
associated Documentation.
Except as contained in this notice, the name of a copyright holder
shall not be used in advertising or otherwise to promote the sale,
use or other dealings in these Data Files or Software without prior
written authorization of the copyright holder.
THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
THIRD PARTY RIGHTS.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA
FILES OR SOFTWARE.
Except as contained in this notice, the name of a copyright holder shall
not be used in advertising or otherwise to promote the sale, use or other
dealings in these Data Files or Software without prior written
authorization of the copyright holder.

View File

@@ -1,4 +1,4 @@
CLDR - Unicode Common Locale Data Repository
http://cldr.unicode.org
CLDR version installed: 43
CLDR version installed: 44

View File

@@ -19,11 +19,11 @@ For terms of use, see http://www.unicode.org/copyright.html
<type name="gregory" description="Gregorian calendar" alias="gregorian"/>
<type name="hebrew" description="Traditional Hebrew calendar"/>
<type name="indian" description="Indian calendar"/>
<type name="islamic" description="Islamic calendar"/>
<type name="islamic-umalqura" description="Islamic calendar, Umm al-Qura" since="24"/>
<type name="islamic-tbla" description="Islamic calendar, tabular (intercalary years [2,5,7,10,13,16,18,21,24,26,29] - astronomical epoch)" since="24"/>
<type name="islamic-civil" description="Islamic calendar, tabular (intercalary years [2,5,7,10,13,16,18,21,24,26,29] - civil epoch)" since="24"/>
<type name="islamic-rgsa" description="Islamic calendar, Saudi Arabia sighting" since="24"/>
<type name="islamic" description="Hijri calendar"/>
<type name="islamic-umalqura" description="Hijri calendar, Umm al-Qura" since="24"/>
<type name="islamic-tbla" description="Hijri calendar, tabular (intercalary years [2,5,7,10,13,16,18,21,24,26,29] - astronomical epoch)" since="24"/>
<type name="islamic-civil" description="Hijri calendar, tabular (intercalary years [2,5,7,10,13,16,18,21,24,26,29] - civil epoch)" since="24"/>
<type name="islamic-rgsa" description="Hijri calendar, Saudi Arabia sighting" since="24"/>
<type name="iso8601" description="ISO calendar (Gregorian calendar using the ISO 8601 calendar week rules)" since="2.0"/>
<type name="japanese" description="Japanese Imperial calendar"/>
<type name="persian" description="Persian calendar"/>

View File

@@ -30,13 +30,13 @@ For terms of use, see http://www.unicode.org/copyright.html
<type name="aqsyw" description="Syowa Station, East Ongul Island" alias="Antarctica/Syowa"/>
<type name="aqtrl" description="Troll Station, Queen Maud Land" alias="Antarctica/Troll" since="26"/>
<type name="aqvos" description="Vostok Station, Lake Vostok" alias="Antarctica/Vostok"/>
<type name="arbue" description="Buenos Aires, Argentina" alias="America/Buenos_Aires America/Argentina/Buenos_Aires"/>
<type name="arcor" description="Córdoba, Argentina" alias="America/Cordoba America/Argentina/Cordoba America/Rosario"/>
<type name="arctc" description="Catamarca, Argentina" alias="America/Catamarca America/Argentina/Catamarca America/Argentina/ComodRivadavia"/>
<type name="arbue" description="Buenos Aires, Argentina" alias="America/Buenos_Aires America/Argentina/Buenos_Aires" iana="America/Argentina/Buenos_Aires"/>
<type name="arcor" description="Córdoba, Argentina" alias="America/Cordoba America/Argentina/Cordoba America/Rosario" iana="America/Argentina/Cordoba"/>
<type name="arctc" description="Catamarca, Argentina" alias="America/Catamarca America/Argentina/Catamarca America/Argentina/ComodRivadavia" iana="America/Argentina/Catamarca"/>
<type name="arirj" description="La Rioja, Argentina" alias="America/Argentina/La_Rioja"/>
<type name="arjuj" description="Jujuy, Argentina" alias="America/Jujuy America/Argentina/Jujuy"/>
<type name="arjuj" description="Jujuy, Argentina" alias="America/Jujuy America/Argentina/Jujuy" iana="America/Argentina/Jujuy"/>
<type name="arluq" description="San Luis, Argentina" alias="America/Argentina/San_Luis"/>
<type name="armdz" description="Mendoza, Argentina" alias="America/Mendoza America/Argentina/Mendoza"/>
<type name="armdz" description="Mendoza, Argentina" alias="America/Mendoza America/Argentina/Mendoza" iana="America/Argentina/Mendoza"/>
<type name="arrgl" description="Río Gallegos, Argentina" alias="America/Argentina/Rio_Gallegos"/>
<type name="arsla" description="Salta, Argentina" alias="America/Argentina/Salta"/>
<type name="artuc" description="Tucumán, Argentina" alias="America/Argentina/Tucuman"/>
@@ -49,8 +49,8 @@ For terms of use, see http://www.unicode.org/copyright.html
<type name="aubne" description="Brisbane, Australia" alias="Australia/Brisbane Australia/Queensland"/>
<type name="audrw" description="Darwin, Australia" alias="Australia/Darwin Australia/North"/>
<type name="aueuc" description="Eucla, Australia" alias="Australia/Eucla"/>
<type name="auhba" description="Hobart, Australia" alias="Australia/Hobart Australia/Tasmania"/>
<type name="aukns" description="Currie, Australia" alias="Australia/Currie"/>
<type name="auhba" description="Hobart, Australia" alias="Australia/Hobart Australia/Tasmania Australia/Currie"/>
<type name="aukns" description="Currie, Australia" deprecated="true" preferred="auhba"/>
<type name="auldc" description="Lindeman Island, Australia" alias="Australia/Lindeman"/>
<type name="auldh" description="Lord Howe Island, Australia" alias="Australia/Lord_Howe Australia/LHI"/>
<type name="aumel" description="Melbourne, Australia" alias="Australia/Melbourne Australia/Victoria"/>
@@ -94,24 +94,24 @@ For terms of use, see http://www.unicode.org/copyright.html
<type name="bymsq" description="Minsk, Belarus" alias="Europe/Minsk"/>
<type name="bzbze" description="Belize" alias="America/Belize"/>
<type name="cacfq" description="Creston, Canada" alias="America/Creston" since="21.0.1"/>
<type name="caedm" description="Edmonton, Canada" alias="America/Edmonton Canada/Mountain"/>
<type name="caffs" description="Rainy River, Canada" alias="America/Rainy_River"/>
<type name="caedm" description="Edmonton, Canada" alias="America/Edmonton Canada/Mountain America/Yellowknife"/>
<type name="caffs" description="Rainy River, Canada" deprecated="true" preferred="cawnp"/>
<type name="cafne" description="Fort Nelson, Canada" alias="America/Fort_Nelson" since="29"/>
<type name="caglb" description="Glace Bay, Canada" alias="America/Glace_Bay"/>
<type name="cagoo" description="Goose Bay, Canada" alias="America/Goose_Bay"/>
<type name="cahal" description="Halifax, Canada" alias="America/Halifax Canada/Atlantic"/>
<type name="caiql" description="Iqaluit, Canada" alias="America/Iqaluit"/>
<type name="caiql" description="Iqaluit, Canada" alias="America/Iqaluit America/Pangnirtung"/>
<type name="camon" description="Moncton, Canada" alias="America/Moncton"/>
<type name="camtr" description="Montreal, Canada" deprecated="true" preferred="cator"/>
<type name="capnt" description="Pangnirtung, Canada" alias="America/Pangnirtung"/>
<type name="capnt" description="Pangnirtung, Canada" deprecated="true" preferred="caiql"/>
<type name="careb" description="Resolute, Canada" alias="America/Resolute"/>
<type name="careg" description="Regina, Canada" alias="America/Regina Canada/East-Saskatchewan Canada/Saskatchewan"/>
<type name="casjf" description="St. John's, Canada" alias="America/St_Johns Canada/Newfoundland"/>
<type name="canpg" description="Nipigon, Canada" alias="America/Nipigon"/>
<type name="cathu" description="Thunder Bay, Canada" alias="America/Thunder_Bay"/>
<type name="cator" description="Toronto, Canada" alias="America/Toronto America/Montreal Canada/Eastern"/>
<type name="canpg" description="Nipigon, Canada" deprecated="true" preferred="cator"/>
<type name="cathu" description="Thunder Bay, Canada" deprecated="true" preferred="cator"/>
<type name="cator" description="Toronto, Canada" alias="America/Toronto America/Montreal Canada/Eastern America/Nipigon America/Thunder_Bay"/>
<type name="cavan" description="Vancouver, Canada" alias="America/Vancouver Canada/Pacific"/>
<type name="cawnp" description="Winnipeg, Canada" alias="America/Winnipeg Canada/Central"/>
<type name="cawnp" description="Winnipeg, Canada" alias="America/Winnipeg Canada/Central America/Rainy_River"/>
<type name="caybx" description="Blanc-Sablon, Canada" alias="America/Blanc-Sablon"/>
<type name="caycb" description="Cambridge Bay, Canada" alias="America/Cambridge_Bay"/>
<type name="cayda" description="Dawson, Canada" alias="America/Dawson"/>
@@ -120,8 +120,8 @@ For terms of use, see http://www.unicode.org/copyright.html
<type name="cayev" description="Inuvik, Canada" alias="America/Inuvik"/>
<type name="cayxy" description="Whitehorse, Canada" alias="America/Whitehorse Canada/Yukon"/>
<type name="cayyn" description="Swift Current, Canada" alias="America/Swift_Current"/>
<type name="cayzf" description="Yellowknife, Canada" alias="America/Yellowknife"/>
<type name="cayzs" description="Atikokan, Canada" alias="America/Coral_Harbour America/Atikokan"/>
<type name="cayzf" description="Yellowknife, Canada" deprecated="true" preferred="caedm"/>
<type name="cayzs" description="Atikokan, Canada" alias="America/Coral_Harbour America/Atikokan" iana="America/Atikokan"/>
<type name="cccck" description="Cocos (Keeling) Islands" alias="Indian/Cocos"/>
<type name="cdfbm" description="Lubumbashi, Democratic Republic of the Congo" alias="Africa/Lubumbashi"/>
<type name="cdfih" description="Kinshasa, Democratic Republic of the Congo" alias="Africa/Kinshasa"/>
@@ -160,7 +160,7 @@ For terms of use, see http://www.unicode.org/copyright.html
<type name="eetll" description="Tallinn, Estonia" alias="Europe/Tallinn"/>
<type name="egcai" description="Cairo, Egypt" alias="Africa/Cairo Egypt"/>
<type name="eheai" description="El Aaiún, Western Sahara" alias="Africa/El_Aaiun"/>
<type name="erasm" description="Asmara, Eritrea" alias="Africa/Asmera Africa/Asmara"/>
<type name="erasm" description="Asmara, Eritrea" alias="Africa/Asmera Africa/Asmara" iana="Africa/Asmara"/>
<type name="esceu" description="Ceuta, Spain" alias="Africa/Ceuta"/>
<type name="eslpa" description="Canary Islands, Spain" alias="Atlantic/Canary"/>
<type name="esmad" description="Madrid, Spain" alias="Europe/Madrid"/>
@@ -171,9 +171,9 @@ For terms of use, see http://www.unicode.org/copyright.html
<type name="fjsuv" description="Fiji" alias="Pacific/Fiji"/>
<type name="fkpsy" description="Stanley, Falkland Islands" alias="Atlantic/Stanley"/>
<type name="fmksa" description="Kosrae, Micronesia" alias="Pacific/Kosrae"/>
<type name="fmpni" description="Pohnpei, Micronesia" alias="Pacific/Ponape Pacific/Pohnpei"/>
<type name="fmtkk" description="Chuuk, Micronesia" alias="Pacific/Truk Pacific/Chuuk Pacific/Yap"/>
<type name="fotho" description="Faroe Islands" alias="Atlantic/Faeroe Atlantic/Faroe"/>
<type name="fmpni" description="Pohnpei, Micronesia" alias="Pacific/Ponape Pacific/Pohnpei" iana="Pacific/Pohnpei"/>
<type name="fmtkk" description="Chuuk, Micronesia" alias="Pacific/Truk Pacific/Chuuk Pacific/Yap" iana="Pacific/Chuuk"/>
<type name="fotho" description="Faroe Islands" alias="Atlantic/Faeroe Atlantic/Faroe" iana="Atlantic/Faroe"/>
<type name="frpar" description="Paris, France" alias="Europe/Paris"/>
<type name="galbv" description="Libreville, Gabon" alias="Africa/Libreville"/>
<type name="gaza" description="Gaza Strip, Palestinian Territories" deprecated="true" preferred="gazastrp"/>
@@ -186,7 +186,7 @@ For terms of use, see http://www.unicode.org/copyright.html
<type name="ghacc" description="Accra, Ghana" alias="Africa/Accra"/>
<type name="gigib" description="Gibraltar" alias="Europe/Gibraltar"/>
<type name="gldkshvn" description="Danmarkshavn, Greenland" alias="America/Danmarkshavn"/>
<type name="glgoh" description="Nuuk (Godthåb), Greenland" alias="America/Godthab America/Nuuk"/>
<type name="glgoh" description="Nuuk (Godthåb), Greenland" alias="America/Godthab America/Nuuk" iana="America/Nuuk"/>
<type name="globy" description="Ittoqqortoormiit (Scoresbysund), Greenland" alias="America/Scoresbysund"/>
<type name="glthu" description="Qaanaaq (Thule), Greenland" alias="America/Thule"/>
<type name="gmbjl" description="Banjul, Gambia" alias="Africa/Banjul"/>
@@ -214,7 +214,7 @@ For terms of use, see http://www.unicode.org/copyright.html
<type name="idpnk" description="Pontianak, Indonesia" alias="Asia/Pontianak"/>
<type name="iedub" description="Dublin, Ireland" alias="Europe/Dublin Eire"/>
<type name="imdgs" description="Isle of Man" alias="Europe/Isle_of_Man"/>
<type name="inccu" description="Kolkata, India" alias="Asia/Calcutta Asia/Kolkata"/>
<type name="inccu" description="Kolkata, India" alias="Asia/Calcutta Asia/Kolkata" iana="Asia/Kolkata"/>
<type name="iodga" description="Chagos Archipelago" alias="Indian/Chagos"/>
<type name="iqbgw" description="Baghdad, Iraq" alias="Asia/Baghdad"/>
<type name="irthr" description="Tehran, Iran" alias="Asia/Tehran Iran"/>
@@ -229,7 +229,7 @@ For terms of use, see http://www.unicode.org/copyright.html
<type name="kgfru" description="Bishkek, Kyrgyzstan" alias="Asia/Bishkek"/>
<type name="khpnh" description="Phnom Penh, Cambodia" alias="Asia/Phnom_Penh"/>
<type name="kicxi" description="Kiritimati, Kiribati" alias="Pacific/Kiritimati"/>
<type name="kipho" description="Enderbury Island, Kiribati" alias="Pacific/Enderbury Pacific/Kanton"/>
<type name="kipho" description="Enderbury Island, Kiribati" alias="Pacific/Enderbury Pacific/Kanton" iana="Pacific/Kanton"/>
<type name="kitrw" description="Tarawa, Kiribati" alias="Pacific/Tarawa"/>
<type name="kmyva" description="Comoros" alias="Indian/Comoro"/>
<type name="knbas" description="Saint Kitts" alias="America/St_Kitts"/>
@@ -264,7 +264,7 @@ For terms of use, see http://www.unicode.org/copyright.html
<type name="mhmaj" description="Majuro, Marshall Islands" alias="Pacific/Majuro"/>
<type name="mkskp" description="Skopje, Macedonia" alias="Europe/Skopje"/>
<type name="mlbko" description="Bamako, Mali" alias="Africa/Bamako Africa/Timbuktu"/>
<type name="mmrgn" description="Yangon (Rangoon), Burma" alias="Asia/Rangoon Asia/Yangon"/>
<type name="mmrgn" description="Yangon (Rangoon), Burma" alias="Asia/Rangoon Asia/Yangon" iana="Asia/Yangon"/>
<type name="mncoq" description="Choibalsan, Mongolia" alias="Asia/Choibalsan"/>
<type name="mnhvd" description="Khovd (Hovd), Mongolia" alias="Asia/Hovd"/>
<type name="mnuln" description="Ulaanbaatar (Ulan Bator), Mongolia" alias="Asia/Ulaanbaatar Asia/Ulan_Bator"/>
@@ -289,8 +289,8 @@ For terms of use, see http://www.unicode.org/copyright.html
<type name="mxmzt" description="Mazatlán, Mexico" alias="America/Mazatlan Mexico/BajaSur"/>
<type name="mxoji" description="Ojinaga, Mexico" alias="America/Ojinaga"/>
<type name="mxpvr" description="Bahía de Banderas, Mexico" alias="America/Bahia_Banderas" since="1.9"/>
<type name="mxstis" description="Santa Isabel (Baja California), Mexico" alias="America/Santa_Isabel"/>
<type name="mxtij" description="Tijuana, Mexico" alias="America/Tijuana America/Ensenada Mexico/BajaNorte"/>
<type name="mxstis" description="Santa Isabel (Baja California), Mexico" deprecated="true" preferred="mxtij"/>
<type name="mxtij" description="Tijuana, Mexico" alias="America/Tijuana America/Ensenada Mexico/BajaNorte America/Santa_Isabel"/>
<type name="mykch" description="Kuching, Malaysia" alias="Asia/Kuching"/>
<type name="mykul" description="Kuala Lumpur, Malaysia" alias="Asia/Kuala_Lumpur"/>
<type name="mzmpm" description="Maputo, Mozambique" alias="Africa/Maputo"/>
@@ -302,7 +302,7 @@ For terms of use, see http://www.unicode.org/copyright.html
<type name="nimga" description="Managua, Nicaragua" alias="America/Managua"/>
<type name="nlams" description="Amsterdam, Netherlands" alias="Europe/Amsterdam"/>
<type name="noosl" description="Oslo, Norway" alias="Europe/Oslo"/>
<type name="npktm" description="Kathmandu, Nepal" alias="Asia/Katmandu Asia/Kathmandu"/>
<type name="npktm" description="Kathmandu, Nepal" alias="Asia/Katmandu Asia/Kathmandu" iana="Asia/Kathmandu"/>
<type name="nrinu" description="Nauru" alias="Pacific/Nauru"/>
<type name="nuiue" description="Niue" alias="Pacific/Niue"/>
<type name="nzakl" description="Auckland, New Zealand" alias="Pacific/Auckland Antarctica/South_Pole NZ"/>
@@ -395,13 +395,13 @@ For terms of use, see http://www.unicode.org/copyright.html
<type name="tvfun" description="Funafuti, Tuvalu" alias="Pacific/Funafuti"/>
<type name="twtpe" description="Taipei, Taiwan" alias="Asia/Taipei ROC"/>
<type name="tzdar" description="Dar es Salaam, Tanzania" alias="Africa/Dar_es_Salaam"/>
<type name="uaiev" description="Kyiv, Ukraine" alias="Europe/Kiev Europe/Kyiv"/>
<type name="uaozh" description="Zaporizhia (Zaporozhye), Ukraine" alias="Europe/Zaporozhye"/>
<type name="uaiev" description="Kyiv, Ukraine" alias="Europe/Kiev Europe/Kyiv Europe/Zaporozhye Europe/Uzhgorod" iana="Europe/Kyiv"/>
<type name="uaozh" description="Zaporizhia (Zaporozhye), Ukraine" deprecated="true" preferred="uaiev"/>
<type name="uasip" description="Simferopol, Ukraine" alias="Europe/Simferopol"/>
<type name="uauzh" description="Uzhhorod (Uzhgorod), Ukraine" alias="Europe/Uzhgorod"/>
<type name="uauzh" description="Uzhhorod (Uzhgorod), Ukraine" deprecated="true" preferred="uaiev"/>
<type name="ugkla" description="Kampala, Uganda" alias="Africa/Kampala"/>
<type name="umawk" description="Wake Island, U.S. Minor Outlying Islands" alias="Pacific/Wake"/>
<type name="umjon" description="Johnston Atoll, U.S. Minor Outlying Islands" alias="Pacific/Johnston"/>
<type name="umjon" description="Johnston Atoll, U.S. Minor Outlying Islands" deprecated="true" preferred="ushnl"/>
<type name="ummdy" description="Midway Islands, U.S. Minor Outlying Islands" alias="Pacific/Midway"/>
<type name="unk" description="Unknown time zone" alias="Etc/Unknown"/>
<type name="usadk" description="Adak (Alaska), United States" alias="America/Adak America/Atka US/Aleutian"/>
@@ -411,13 +411,13 @@ For terms of use, see http://www.unicode.org/copyright.html
<type name="uschi" description="Chicago, United States" alias="America/Chicago US/Central"/>
<type name="usden" description="Denver, United States" alias="America/Denver America/Shiprock Navajo US/Mountain"/>
<type name="usdet" description="Detroit, United States" alias="America/Detroit US/Michigan"/>
<type name="ushnl" description="Honolulu, United States" alias="Pacific/Honolulu US/Hawaii"/>
<type name="usind" description="Indianapolis, United States" alias="America/Indianapolis America/Fort_Wayne America/Indiana/Indianapolis US/East-Indiana"/>
<type name="ushnl" description="Honolulu, United States" alias="Pacific/Honolulu US/Hawaii Pacific/Johnston"/>
<type name="usind" description="Indianapolis, United States" alias="America/Indianapolis America/Fort_Wayne America/Indiana/Indianapolis US/East-Indiana" iana="America/Indiana/Indianapolis"/>
<type name="usinvev" description="Vevay (Indiana), United States" alias="America/Indiana/Vevay"/>
<type name="usjnu" description="Juneau (Alaska), United States" alias="America/Juneau"/>
<type name="usknx" description="Knox (Indiana), United States" alias="America/Indiana/Knox America/Knox_IN US/Indiana-Starke"/>
<type name="uslax" description="Los Angeles, United States" alias="America/Los_Angeles US/Pacific US/Pacific-New"/>
<type name="uslui" description="Louisville (Kentucky), United States" alias="America/Louisville America/Kentucky/Louisville"/>
<type name="uslui" description="Louisville (Kentucky), United States" alias="America/Louisville America/Kentucky/Louisville" iana="America/Kentucky/Louisville"/>
<type name="usmnm" description="Menominee (Michigan), United States" alias="America/Menominee"/>
<type name="usmtm" description="Metlakatla (Alaska), United States" alias="America/Metlakatla" since="1.9.1"/>
<type name="usmoc" description="Monticello (Kentucky), United States" alias="America/Kentucky/Monticello"/>
@@ -469,7 +469,7 @@ For terms of use, see http://www.unicode.org/copyright.html
<type name="veccs" description="Caracas, Venezuela" alias="America/Caracas"/>
<type name="vgtov" description="Tortola, British Virgin Islands" alias="America/Tortola"/>
<type name="vistt" description="Saint Thomas, U.S. Virgin Islands" alias="America/St_Thomas America/Virgin"/>
<type name="vnsgn" description="Ho Chi Minh City, Vietnam" alias="Asia/Saigon Asia/Ho_Chi_Minh"/>
<type name="vnsgn" description="Ho Chi Minh City, Vietnam" alias="Asia/Saigon Asia/Ho_Chi_Minh" iana="Asia/Ho_Chi_Minh"/>
<type name="vuvli" description="Efate, Vanuatu" alias="Pacific/Efate"/>
<type name="wfmau" description="Wallis Islands, Wallis and Futuna" alias="Pacific/Wallis"/>
<type name="wsapw" description="Apia, Samoa" alias="Pacific/Apia"/>

View File

@@ -42,7 +42,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
<!ATTLIST version number CDATA #REQUIRED >
<!--@MATCH:regex/\$Revision.*\$-->
<!--@METADATA-->
<!ATTLIST version cldrVersion CDATA #FIXED "43" >
<!ATTLIST version cldrVersion CDATA #FIXED "44" >
<!--@MATCH:any-->
<!--@VALUE-->
<!ATTLIST version draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
@@ -86,7 +86,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
<!ATTLIST territory type NMTOKEN #REQUIRED >
<!--@MATCH:validity/region-->
<!ATTLIST territory alt NMTOKENS #IMPLIED >
<!--@MATCH:literal/short, variant-->
<!--@MATCH:literal/short, variant, biot, chagos-->
<!ATTLIST territory draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
<!--@METADATA-->
<!--@DEPRECATED:true, false-->
@@ -427,7 +427,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
<!ELEMENT contextTransformUsage ( alias | ( contextTransform*, special* ) ) >
<!ATTLIST contextTransformUsage type CDATA #REQUIRED >
<!--@MATCH:literal/calendar-field, currencyName, day-format-except-narrow, day-standalone-except-narrow, era-abbr, era-name, keyValue, languages, month-format-except-narrow, month-standalone-except-narrow, number-spellout, relative, script, typographicNames-->
<!--@MATCH:literal/all, calendar-field, currencyName, currencyName-count, day-format-except-narrow, day-standalone-except-narrow, era-abbr, era-name, key, keyValue, languages, metazone-long, metazone-short, month-format-except-narrow, month-standalone-except-narrow, number-spellout, relative, script, territory, typographicNames, zone-exemplarCity, zone-long, zone-short-->
<!ATTLIST contextTransformUsage alt NMTOKENS #IMPLIED >
<!--@MATCH:literal/variant-->
<!ATTLIST contextTransformUsage draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
@@ -1425,13 +1425,13 @@ CLDR data files are interpreted according to the LDML specification (http://unic
<!ATTLIST pattern type NMTOKEN "standard" >
<!--@MATCH:literal/1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000, 10000000000, 100000000000, 1000000000000, 10000000000000, 100000000000000, 1000000000000000, 10000000000000000, 100000000000000000, 1000000000000000000, 10000000000000000000, approximately, atLeast, atMost, range, standard-->
<!ATTLIST pattern numbers CDATA #IMPLIED >
<!-- TODO: generalize this to be any (M=|d=)?<numberSystem> -->
<!--@MATCH:literal/M=romanlow, d=hanidays, hanidec, hebr, y=jpanyear-->
<!-- TODO: generalize this to be any (M=|d=|y=)?<numberSystem> -->
<!--@MATCH:literal/M=romanlow, d=hanidays, d=jpan, hanidec, hebr, tibt, y=jpanyear-->
<!--@VALUE-->
<!ATTLIST pattern count (0 | 1 | zero | one | two | few | many | other) #IMPLIED >
<!-- Only used for decimalFormats type="1000..." -->
<!ATTLIST pattern alt NMTOKENS #IMPLIED >
<!--@MATCH:literal/alphaNextToNumber, noCurrency, variant-->
<!--@MATCH:literal/alphaNextToNumber, ascii, noCurrency, variant-->
<!ATTLIST pattern draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
<!--@METADATA-->
<!--@DEPRECATED:true, false-->
@@ -1557,11 +1557,10 @@ CLDR data files are interpreted according to the LDML specification (http://unic
<!ELEMENT dateFormatItem ( #PCDATA ) >
<!ATTLIST dateFormatItem id CDATA #REQUIRED >
<!-- TODO rationalize this list -->
<!--@MATCH:literal/Bh, Bhm, Bhms, E, EBhm, EBhms, EEEEd, EHm, EHms, Ed, Ehm, Ehms, Gy, GyM, GyMEEEEd, GyMMM, GyMMMEEEEd, GyMMMEd, GyMMMM, GyMMMMEd, GyMMMMd, GyMMMd, GyMd, H, HHmm, HHmmZ, HHmmss, Hm, HmZ, Hmm, Hms, Hmsv, Hmsvvvv, Hmv, Hmvvvv, M, MEEEEd, MEd, MMM, MMMEEEEd, MMMEd, MMMM, MMMMEEEEd, MMMMEd, MMMMW, MMMMd, MMMMdd, MMMd, MMMdd, MMd, MMdd, Md, Mdd, UM, UMMM, UMMMd, UMd, d, h, hhmm, hhmmss, hm, hms, hmsv, hmsvvvv, hmv, hmvvvv, mmss, ms, y, yM, yMEEEEd, yMEd, yMM, yMMM, yMMMEEEEd, yMMMEd, yMMMM, yMMMMEEEEd, yMMMMEd, yMMMMccccd, yMMMMd, yMMMd, yMMdd, yMd, yQ, yQQQ, yQQQQ, yw, yyyy, yyyyM, yyyyMEEEEd, yyyyMEd, yyyyMM, yyyyMMM, yyyyMMMEEEEd, yyyyMMMEd, yyyyMMMM, yyyyMMMMEd, yyyyMMMMccccd, yyyyMMMMd, yyyyMMMd, yyyyMMdd, yyyyMd, yyyyQQQ, yyyyQQQQ-->
<!--@MATCH:regex/((E|EEEE)?(H|HH|h|hh|Bh)(m|ms|mm|mmss)?(Z|z|zzzz|v|vvvv)?)|(ms|mmss)|((G|GGGGG)?(y|yy|yyyy)((M{1,4}((E|EEEE|cccc)?(d|dd))?)|(w|Q|QQQ|QQQQ))?)|(U(M|MMM)d?)|(M{1,4}(((E|EEEE|cccc)?(d|dd))|W)?)|((E|EEEE)?d)|(E|EEEE)-->
<!ATTLIST dateFormatItem count (zero | one | two | few | many | other) #IMPLIED >
<!ATTLIST dateFormatItem alt NMTOKENS #IMPLIED >
<!--@MATCH:literal/variant-->
<!--@MATCH:literal/ascii, variant-->
<!ATTLIST dateFormatItem draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
<!--@METADATA-->
<!--@DEPRECATED:true, false-->
@@ -1616,8 +1615,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
<!ELEMENT intervalFormatItem ( alias | ( greatestDifference*, special* ) ) >
<!ATTLIST intervalFormatItem id NMTOKEN #REQUIRED >
<!-- TODO: check to see if this should be minimized -->
<!--@MATCH:literal/Bh, Bhm, Gy, GyM, GyMEd, GyMMM, GyMMMEd, GyMMMd, GyMd, H, Hm, Hmv, Hmvvvv, Hv, Hvvvv, M, MEd, MMM, MMMEEEEd, MMMEd, MMMM, MMMMEd, MMMMd, MMMd, Md, d, h, hm, hmv, hmvvvv, hv, hvvvv, y, yM, yMEd, yMMM, yMMMEEEEd, yMMMEd, yMMMM, yMMMMEEEEd, yMMMMEd, yMMMMd, yMMMd, yMd, GGGGGyM, GGGGGyMEd, GGGGGyMd, GyMMMM, GyMMMMEd, GyMMMMd-->
<!--@MATCH:regex/((H|h|Bh)m?(v|vvvv)?)|((G|GGGGG)?(y|yyyy)((M|MMM|MMMM)((E|EEEE)?d)?)?)|((M|MMM|MMMM)((E|EEEE)?d)?)|d-->
<!ATTLIST intervalFormatItem alt NMTOKENS #IMPLIED >
<!--@MATCH:literal/variant-->
<!ATTLIST intervalFormatItem draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
@@ -3006,7 +3004,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
<!ELEMENT characterLabelPattern ( #PCDATA ) >
<!ATTLIST characterLabelPattern type NMTOKEN #REQUIRED >
<!--@MATCH:literal/all, category-list, compatibility, enclosed, extended, historic, miscellaneous, other, scripts, strokes, subscript, superscript-->
<!--@MATCH:literal/all, category-list, compatibility, enclosed, extended, facing-left, facing-right, historic, miscellaneous, other, scripts, strokes, subscript, superscript-->
<!ATTLIST characterLabelPattern count (0 | 1 | zero | one | two | few | many | other) #IMPLIED >
<!-- count only used for certain patterns" -->
<!ATTLIST characterLabelPattern alt NMTOKENS #IMPLIED >
@@ -3161,7 +3159,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
<!ATTLIST featureName draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
<!--@METADATA-->
<!ELEMENT personNames ( alias | ( nameOrderLocales*, foreignSpaceReplacement*, initialPattern*, personName*, sampleName*, special* ) ) >
<!ELEMENT personNames ( alias | ( nameOrderLocales*, parameterDefault*, nativeSpaceReplacement*, foreignSpaceReplacement*, initialPattern*, personName*, sampleName*, special* ) ) >
<!ELEMENT nameOrderLocales ( #PCDATA ) >
<!ATTLIST nameOrderLocales order (givenFirst | surnameFirst) #REQUIRED >
@@ -3172,6 +3170,25 @@ CLDR data files are interpreted according to the LDML specification (http://unic
<!ATTLIST nameOrderLocales references CDATA #IMPLIED >
<!--@METADATA-->
<!ELEMENT parameterDefault ( #PCDATA ) >
<!ATTLIST parameterDefault parameter (length | formality) #REQUIRED >
<!ATTLIST parameterDefault alt NMTOKENS #IMPLIED >
<!--@MATCH:literal/variant-->
<!ATTLIST parameterDefault draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
<!--@METADATA-->
<!ATTLIST parameterDefault references CDATA #IMPLIED >
<!--@METADATA-->
<!ELEMENT nativeSpaceReplacement ( #PCDATA ) >
<!ATTLIST nativeSpaceReplacement xml:space (default | preserve) "preserve" >
<!--@METADATA-->
<!ATTLIST nativeSpaceReplacement alt NMTOKENS #IMPLIED >
<!--@MATCH:literal/variant-->
<!ATTLIST nativeSpaceReplacement draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
<!--@METADATA-->
<!ATTLIST nativeSpaceReplacement references CDATA #IMPLIED >
<!--@METADATA-->
<!ELEMENT foreignSpaceReplacement ( #PCDATA ) >
<!ATTLIST foreignSpaceReplacement xml:space (default | preserve) "preserve" >
<!--@METADATA-->

File diff suppressed because it is too large Load Diff

View File

@@ -12,7 +12,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
<!ATTLIST version number CDATA #REQUIRED >
<!--@MATCH:regex/\$Revision.*\$-->
<!--@METADATA-->
<!ATTLIST version cldrVersion CDATA #FIXED "43" >
<!ATTLIST version cldrVersion CDATA #FIXED "44" >
<!--@MATCH:version-->
<!--@VALUE-->
@@ -69,6 +69,9 @@ CLDR data files are interpreted according to the LDML specification (http://unic
<!ATTLIST type since CDATA #IMPLIED >
<!--@MATCH:version-->
<!--@METADATA-->
<!ATTLIST type iana CDATA #IMPLIED >
<!--@MATCH:regex/^[A-Za-z]+(/[A-Za-z_\-]+)+$-->
<!--@VALUE-->
<!ELEMENT attribute EMPTY >
<!ATTLIST attribute name NMTOKEN #REQUIRED >

View File

@@ -0,0 +1,153 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Note: The .xsd files are a Technology Preview. They are subject to change or removal in future CLDR versions.
Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file validation, use the DTD and CLDR tools.
-->
<!--
Copyright © 1991-2023 Unicode, Inc.
For terms of use, see http://www.unicode.org/copyright.html
SPDX-License-Identifier: Unicode-DFS-2016
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
--><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="ldmlBCP47">
<xs:complexType>
<xs:sequence>
<xs:element ref="version"/>
<xs:element minOccurs="0" ref="generation"/>
<xs:element minOccurs="0" ref="cldrVersion"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="keyword"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="attribute"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="version">
<xs:complexType>
<xs:attribute name="number" use="required"/>
<xs:attribute default="44" name="cldrVersion">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="44"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="generation">
<xs:complexType>
<xs:attribute name="date" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="cldrVersion">
<xs:complexType>
<xs:attribute name="version" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="keyword">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="key"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="key">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="type"/>
</xs:sequence>
<xs:attribute name="extension" type="xs:NMTOKEN"/>
<xs:attribute name="name" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="description"/>
<xs:attribute default="false" name="deprecated">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="preferred" type="xs:NMTOKEN"/>
<xs:attribute name="alias" type="xs:NMTOKEN"/>
<xs:attribute name="valueType">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="single"/>
<xs:enumeration value="multiple"/>
<xs:enumeration value="incremental"/>
<xs:enumeration value="any"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="since"/>
</xs:complexType>
</xs:element>
<xs:element name="type">
<xs:complexType>
<xs:attribute name="name" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="description" use="required"/>
<xs:attribute default="false" name="deprecated">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="preferred" type="xs:NMTOKEN"/>
<xs:attribute name="alias"/>
<xs:attribute name="since"/>
<xs:attribute name="iana"/>
</xs:complexType>
</xs:element>
<xs:element name="attribute">
<xs:complexType>
<xs:attribute name="name" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="description" use="required"/>
<xs:attribute default="false" name="deprecated">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="preferred" type="xs:NMTOKEN"/>
<xs:attribute name="since"/>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@@ -12,7 +12,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
<!ATTLIST version number CDATA #REQUIRED >
<!--@MATCH:any-->
<!--@METADATA-->
<!ATTLIST version cldrVersion CDATA #FIXED "43" >
<!ATTLIST version cldrVersion CDATA #FIXED "44" >
<!--@MATCH:version-->
<!--@VALUE-->
<!ATTLIST version unicodeVersion CDATA #FIXED "15.0.0" >
@@ -415,6 +415,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
<!--@MATCH:regex/simple-->
<!--@VALUE-->
<!ATTLIST unitQuantity description CDATA #IMPLIED >
<!--@MATCH:any-->
<!--@METADATA-->
<!ELEMENT convertUnits ( convertUnit* ) >
@@ -432,9 +433,10 @@ CLDR data files are interpreted according to the LDML specification (http://unic
<!--@MATCH:regex/[-+*/\._ 0-9a-zA-Z]+-->
<!--@VALUE-->
<!ATTLIST convertUnit systems NMTOKENS #IMPLIED >
<!--@MATCH:set/literal/ussystem, uksystem, metric, si, other-->
<!--@MATCH:set/literal/si, si_acceptable, metric, metric_adjacent, ussystem, uksystem, jpsystem, astronomical, person_age, other, prefixable-->
<!--@VALUE-->
<!ATTLIST convertUnit description CDATA #IMPLIED >
<!--@MATCH:any-->
<!--@METADATA-->
<!ELEMENT unitPreferenceData ( unitPreferences* ) >
@@ -1251,7 +1253,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
<!ATTLIST coverageLevel inTerritory CDATA #IMPLIED >
<!--@MATCH:any-->
<!ATTLIST coverageLevel value CDATA #REQUIRED >
<!--@MATCH:literal/basic, core, minimal, moderate, modern, posix-->
<!--@MATCH:literal/basic, comprehensive, core, minimal, moderate, modern, posix-->
<!--@VALUE-->
<!ATTLIST coverageLevel match CDATA #REQUIRED >
<!--@MATCH:any-->

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.w3.org/XML/1998/namespace">
<xs:import schemaLocation="ldml.xsd"/>
<xs:attribute name="space">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="default"/>
<xs:enumeration value="preserve"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:schema>

View File

@@ -143,10 +143,6 @@ CLDR data files are interpreted according to the LDML specification (http://unic
<dayPeriod type="am" draft="unconfirmed">saaku</dayPeriod>
<dayPeriod type="pm" draft="unconfirmed">carra</dayPeriod>
</dayPeriodWidth>
<dayPeriodWidth type="wide">
<dayPeriod type="am" draft="unconfirmed">saaku</dayPeriod>
<dayPeriod type="pm" draft="unconfirmed">carra</dayPeriod>
</dayPeriodWidth>
</dayPeriodContext>
</dayPeriods>
<eras>

Some files were not shown because too many files have changed in this diff Show More