Skip to content

Commit d0bb5c5

Browse files
committed
Merge remote-tracking branch 'upstream/master' into eventloopjam
2 parents 12267ce + d538c31 commit d0bb5c5

File tree

7,732 files changed

+305513
-190265
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

7,732 files changed

+305513
-190265
lines changed

.github/workflows/submit.yml

+91-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2020, 2023, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2020, 2024, Oracle and/or its affiliates. All rights reserved.
33
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
#
55
# This code is free software; you can redistribute it and/or modify it
@@ -25,14 +25,16 @@
2525

2626
#
2727
# This GitHub actions YAML file runs a build and test on each of the three primary platforms:
28-
# Linux, macOS, Windows. The jobs are run using the default (latest) OS platform for each OS.
28+
# Linux, macOS (both x64 and aarch64), Windows. The jobs are run using the default (latest) OS platform for each OS.
2929
# We download a specific version the boot JDK and gradle. We use the default versions
3030
# of all other build tools (e.g., compilers and ant) that are available on each platform.
3131
#
3232
# The build step is run in the default mode without building the native media or webkit libraries.
3333
# The test is run with web tests excluded. As a follow-up enhancement, we might consider optionally
3434
# building the media and webkit libraries.
3535
#
36+
# NOTE: much of the build logic is duplicated for each platform. Keep this in mind when making changes.
37+
#
3638

3739
name: JavaFX pre-submit tests
3840

@@ -63,7 +65,7 @@ jobs:
6365
linux_x64_build:
6466
name: Linux x64
6567
needs: validation
66-
runs-on: "ubuntu-22.04"
68+
runs-on: "ubuntu-24.04"
6769

6870
env:
6971
# FIXME: read this information from a property file
@@ -228,6 +230,92 @@ jobs:
228230
bash gradlew --info --continue -PTEST_ONLY=true test -x :web:test
229231
230232
233+
macos_aarch64_build:
234+
name: macOS aarch64
235+
needs: validation
236+
runs-on: "macos-14"
237+
238+
env:
239+
# FIXME: read this information from a property file
240+
# BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
241+
# BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_FILENAME }}"
242+
# BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_URL }}"
243+
# BOOT_JDK_SHA256: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_SHA256 }}"
244+
BOOT_JDK_VERSION: "21.0.2"
245+
BOOT_JDK_FILENAME: "jdk-21.0.2_macos-aarch64_bin.tar.gz"
246+
BOOT_JDK_URL: "https://download.oracle.com/java/21/archive/jdk-21.0.2_macos-aarch64_bin.tar.gz"
247+
# Disabled due to timeout downloading ant; use ant installed on system
248+
#ANT_DIR: "apache-ant-1.10.5"
249+
#ANT_FILENAME: "apache-ant-1.10.5.tar.gz"
250+
#ANT_URL: "https://archive.apache.org/dist/ant/binaries/apache-ant-1.10.5-bin.tar.gz"
251+
252+
steps:
253+
- name: Checkout the source
254+
uses: actions/checkout@v2
255+
with:
256+
path: jfx
257+
258+
- name: Install dependencies
259+
run: |
260+
set -x
261+
echo "NOT NEEDED: brew install make"
262+
echo "NOT NEEDED: wget ... ant"
263+
#mkdir -p "${HOME}/build-tools"
264+
#wget -O "${HOME}/build-tools/${ANT_FILENAME}" "${ANT_URL}"
265+
#tar -zxf "${HOME}/build-tools/${ANT_FILENAME}" -C "${HOME}/build-tools"
266+
267+
# FIXME: enable cache for boot JDK
268+
# - name: Restore boot JDK from cache
269+
# id: bootjdk
270+
# uses: actions/cache@v2
271+
# with:
272+
# path: ~/bootjdk/${{ env.BOOT_JDK_VERSION }}
273+
# key: bootjdk-${{ runner.os }}-${{ env.BOOT_JDK_VERSION }}-${{ env.BOOT_JDK_SHA256 }}-v1
274+
275+
- name: Download boot JDK
276+
run: |
277+
set -x
278+
mkdir -p "${HOME}/bootjdk"
279+
wget -O "${HOME}/bootjdk/${BOOT_JDK_FILENAME}" "${BOOT_JDK_URL}"
280+
# FIXME: sha256sum
281+
tar -xf "${HOME}/bootjdk/${BOOT_JDK_FILENAME}" -C "${HOME}/bootjdk"
282+
# FIXME: enable cache for boot JDK
283+
284+
- name: Setup environment
285+
run: |
286+
set -x
287+
export JAVA_HOME="${HOME}/bootjdk/jdk-${BOOT_JDK_VERSION}.jdk/Contents/Home"
288+
echo "JAVA_HOME=${JAVA_HOME}" >> "${GITHUB_ENV}"
289+
#export ANT_HOME="${HOME}/build-tools/${ANT_DIR}"
290+
#echo "ANT_HOME=${ANT_HOME}" >> "${GITHUB_ENV}"
291+
#export PATH="$JAVA_HOME/bin:$ANT_HOME/bin:$PATH"
292+
export PATH="$JAVA_HOME/bin:$PATH"
293+
env | sort
294+
which java
295+
java -version
296+
which ant
297+
ant -version
298+
sudo xcode-select --switch /Applications/Xcode_14.3.1.app/Contents/Developer
299+
xcodebuild -version
300+
301+
- name: Build JavaFX artifacts
302+
working-directory: jfx
303+
run: |
304+
set -x
305+
#export PATH="$JAVA_HOME/bin:$ANT_HOME/bin:$PATH"
306+
export PATH="$JAVA_HOME/bin:$PATH"
307+
bash gradlew -version
308+
bash gradlew --info all
309+
310+
- name: Run JavaFX headless tests
311+
working-directory: jfx
312+
run: |
313+
set -x
314+
#export PATH="$JAVA_HOME/bin:$ANT_HOME/bin:$PATH"
315+
export PATH="$JAVA_HOME/bin:$PATH"
316+
bash gradlew --info --continue -PTEST_ONLY=true test -x :web:test
317+
318+
231319
windows_x64_build:
232320
name: Windows x64
233321
needs: validation

.jcheck/conf

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
;
2-
; Copyright (c) 2019, 2023, Oracle and/or its affiliates. All rights reserved.
2+
; Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.
33
; DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
;
55
; This code is free software; you can redistribute it and/or modify it
@@ -24,13 +24,14 @@
2424
[general]
2525
project=openjfx
2626
jbs=jdk
27-
version=jfx23
27+
version=jfx24
2828

2929
[repository]
3030
tags=(jdk-){0,1}([1-9]([0-9]*)(\.(0|[1-9][0-9]*)){0,3})(\+(([0-9]+))|(-ga))|[1-9]((\.\d{1,3}){0,2})-((b\d{2,3})|(ga))|[1-9]u(\d{1,3})-((b\d{2,3})|(ga))
3131

3232
[checks]
3333
error=author,reviewers,merge,message,issues,whitespace,executable
34+
warning=issuestitle,binary
3435

3536
[census]
3637
version=0

.project

-8
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,5 @@
44
<projects>
55
</projects>
66
<buildSpec>
7-
<buildCommand>
8-
<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
9-
<arguments>
10-
</arguments>
11-
</buildCommand>
127
</buildSpec>
13-
<natures>
14-
<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
15-
</natures>
168
</projectDescription>

CONTRIBUTING.md

+12-9
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ If you are a first time contributor to OpenJFX, welcome! Please do the following
4646

4747
* Read the code review policies
4848

49-
Please read the entire section below on how to submit a pull request, as well as the [OpenJFX Code Review Policies](https://wiki.openjdk.org/display/OpenJFX/Code+Reviews). If this is a feature request, please note the additional requirements and expectations in the [New features / API additions](#new-features--api-additions) section at the end of this guide.
49+
Please read the entire section below on how to submit a pull request, as well as the [Code Review Policies](README-code-reviews.md) page. If this is a feature request, please note the additional requirements and expectations in the [New features / API additions](#new-features--api-additions) section at the end of this guide.
5050

5151
* File a bug in JBS for every pull request
5252

@@ -115,7 +115,7 @@ Once your changes and tests are ready to submit for review:
115115
4. Code review
116116
117117
All pull requests _must_ be reviewed according to the
118-
[OpenJFX Code Review Policies](https://wiki.openjdk.org/display/OpenJFX/Code+Reviews).
118+
[Code Review Policies](README-code-reviews.md) page.
119119
It is the responsibility of the Reviewer(s) and the Committer who
120120
will integrate or sponsor the change to ensure that the code review policies
121121
are followed, and that all concerns have been addressed.
@@ -153,11 +153,12 @@ Once your changes and tests are ready to submit for review:
153153
Once the review has completed as described above, you can integrate
154154
the PR.
155155
156-
A. Verify the commit message. The Skara tooling adds a comment with
157-
the commit message that will be used. You can add a summary to the
158-
commit message with the `/summary` command. You can add additional
159-
contributors with the `/contributor` command. Commands are issued
160-
by adding a comment to the PR that starts with a slash `/` character.
156+
A. Verify the following: all substantive feedback has been addressed; all Reviewers
157+
who have requested the chance to review have done so; the PR has been "rfr"
158+
for at least 1 business day (excluding weekends and holidays);
159+
the commit message is correct.
160+
See the [Code Review Gudelines](README-code-reviews.md#before-you-integrate-or-sponsor-a-pr)
161+
for more details.
161162
162163
B. Issue the `/integrate` command. If you have the "Committer" role
163164
(or higher) in the Project, then the Skara bot will merge the change
@@ -199,8 +200,8 @@ this is a good time to discuss it. Once this step is far enough along that there
199200
then it's time to focus on the implementation.
200201
201202
3. Submit a review of your proposed implementation. As noted in the
202-
[New features / API additions](https://wiki.openjdk.org/display/OpenJFX/Code+Reviews#CodeReviews-NewFeaturesC.Newfeatures/APIadditions.)
203-
section of the Code Review Policies doc, we also need a [CSR](https://wiki.openjdk.org/display/csr/Main), which documents the API change and its approval.
203+
[New features / API additions](README-code-reviews.md#c-new-features--api-additions)
204+
section of the Code Review Policies page, we also need a [CSR](https://wiki.openjdk.org/display/csr/Main), which documents the API change and its approval.
204205
The CSR can be reviewed in parallel. Changes in the API that arise during the review need to be reflected in the CSR, meaning
205206
that the final review / approval of the CSR usually happens late in the review cycle.
206207
You can avoid extra work by waiting to submit the CSR until the API is agreed upon and the code review for the documentation is reasonably far along.
@@ -229,6 +230,8 @@ Please also follow these formatting guidelines:
229230
* Wildcard imports &ndash; for example, `import java.util.*;` &ndash; are forbidden and may cause the build to fail. Please attempt to configure your IDE so it doesn't generate wildcard imports. An exception to this rule is that wildcard static imports in test classes are allowed, for example, `import static org.junit.Assert.*;`.
230231
* Don't worry too much about import order. Try not to change it but don't worry about fighting your IDE to stop it from doing so.
231232
233+
New code should be formatted consistently in accordance with the above guidelines. However, please do not reformat existing code as part of a bug fix. This makes more changes for code reviewers to track and review, and can lead to merge conflicts.
234+
232235
### Building and testing
233236
234237
JDK 21 (at a minimum) is required to build OpenJFX. You must have the JDK

0 commit comments

Comments
 (0)