Enabling dependabot on https://github.com/wildfly/wildfly-archetypes and other changes
by Jeff Mesnil
Hi,
I’ve been looking at our archetypes at https://github.com/wildfly/wildfly-archetypes as we could leverage them to improve the user experience of getting started with WildFly (see my previous mail).
The project could benefit from enabling dependabot updates:
* The archetypes would be automatically updated with new WildFly releases. Brian is always making sure that he creates a PR whenever a new version of WildFly is released but this can be automated by dependabot and we would only need to merge a PR instead of having to create the commit manually.
* More importantly, we can also automatically update the generated projects so they use the latest version of any plugins that we configure in their pom.xml
I’ll also take the opportunity to move its default branch to `main` instead of `master` before applying these changes and create a GitHub action to get minimal CI for this project.
Best regards,
jeff
--
Jeff Mesnil
Engineer @ Red Hat JBoss EAP
http://jmesnil.net/
1 year, 3 months
Create a "get started" page on WildFly.org
by Jeff Mesnil
Hi,
We are evaluating how we could improve the user experience for using WildFly and one of the idea is to create a « Get Started » page on wildfly.org <http://wildfly.org/> that would be an entry point for users that wants to try WildFly.
This would be useful not only for new users (that have no previous knowledge of WildFly) but also existing users to let them understand the more recent ways to use WildFly.
The expectation for this page would be simple:
* no knowledge of WildFly required
* Few prerequisites:
* Java & Maven installed
* Few steps:
* Step 1: create a Maven project (using WildFly archetypes, more on that below)
* Step 2: run mvn package
* Step 3: run ./targer/server/bin/standalone.sh
* Step 4: verify the application is up and running
* Next steps
* the page should link to next logical steps after getting started with WildFly (eg deploy on Kubernetes, secure WildFly, etc.)
This page would provide a good user experience and rely on the WildFly archetype to bootstrap all the « plumbing » that needs to be done to setup WildFly so that the users can focus on "their » code.
We already have WildFly archetypes[1] but there are opportunities for a simpler one which focus on that user experience.
Darran is already working on such one[2] that takes advantage of the wildfly-maven-plugin to provision WildFly so that everything is controlled from the project pom.xml
Having a good archetype would also make sure that this "getting started" page is always up to date with the latest release of WildFly (as we update the archetype for every new release of WildFly).
For a quick review of Darran’s PR[3], we are not far from being able to release it and build on top of it for this « get started » page.
We can already start working on this page and create its shell while polishing up the archetype.
What do you think?
Best regards,
jeff
[1] https://mvnrepository.com/artifact/org.wildfly.archetype
[2] https://issues.redhat.com/browse/WFLY-17651
[3] https://github.com/wildfly/wildfly-archetypes/pull/26 <https://github.com/wildfly/wildfly-archetypes/pull/26/commits/16a596b6d26...>
--
Jeff Mesnil
Engineer @ Red Hat JBoss EAP
http://jmesnil.net/
1 year, 3 months
WildFly GitHub Bot
by Martin Stefanko
Hi,
we created a custom wildfly-github-bot that is ready to be deployed to
wildfly/wildfly repository when we get the green light -
https://github.com/xstefank/wildfly-github-bot.
It is a Java application that listens for GitHub events and interacts with
GitHub's public API.
For now, it contains two main features:
1/ PR format verification
Verifies the PR is in the expected format (WFLY-XYZ Test). A simple video
showing this in action https://www.youtube.com/watch?v=RgD7RhEegdc.
2/ Automatic /cc comment based on the changed files in the PR:
For instance, in https://github.com/xstefank/wildfly/pull/65 or
https://github.com/xstefank/wildfly/pull/64 you can see that I'm mentioned
because the commit changed a file under microprofile/lra subdirectory.
The configuration lives in the project that is utilizing the bot -
https://github.com/xstefank/wildfly/blob/main/.github/wildfly-bot.yml. As
you can see, mostly everything is configurable.
The bot is currently deployed in the custom OSD (OpenShift Dedicated)
cluster that we got provisioned just for this purpose. I would be the main
maintainer plus a few guys from SET backing me.
The deployed bot is configured for the https://github.com/xstefank/wildfly
repository. Feel free to open as many PRs as you'd like to experiment with
the bot. Check the configuration file to see what you can do -
https://github.com/xstefank/wildfly/blob/main/.github/wildfly-bot.yml.
Of course, this is just a start. We can add automatic labels, CI triggers,
review requests (if wanted), or milestones, etc. We are only limited by
what can be done on GitHub.
Thanks,
Martin Stefanko
Principal Software Engineer
Middleware Runtimes Sustaining Engineering Team
Red Hat
1 year, 3 months
JDK 21 Release Candidates & JVM Language Summit
by David Delabassee
Greetings!
JDK 21 is now in the Release Candidate Phase so everything is on track for the Java 21 GA release on September 19th! If you haven't done so, please start testing your project(s) using JDK 22 Early-Access builds and let us know the results.
In other news, the JVM Language Summit took place a few days ago in Santa Clara (California). During this unique gathering of Java architects and OpenJDK developers, key updates were shared and discussed, ex. where Valhalla stands today, the new Class-File API, an update on Leyden and Valhalla, Project Panama, the challenges of Virtual Threads, continuation internals, etc. We have started to publish the JVMLS 2023 videos so make sure to keep an eye on this evolving JVMLS playlist [1] to understand where the Java platform is heading to.
## JDK 21 Early-Access Builds
Per the JDK 21 schedule [2], we are now in the Release-Candidate Phase. The overall feature set [3] is frozen, no further JEPs will be targeted to this release.
### JEPs integrated to JDK 21:
- 430: String Templates (Preview)
- 431: Sequenced Collections
- 439: Generational ZGC
- 440: Record Patterns
- 441: Pattern Matching for switch
- 442: Foreign Function & Memory API (3rd Preview)
- 443: Unnamed Patterns and Variables (Preview)
- 444: Virtual Threads
- 445: Unnamed Classes and Instance Main Methods (Preview)
- 446: Scoped Values (Preview)
- 448: Vector API (6th Incubator)
- 449: Deprecate the Windows 32-bit x86 Port for Removal
- 451: Prepare to Disallow the Dynamic Loading of Agents
- 452: Key Encapsulation Mechanism API
- 453: Structured Concurrency (Preview)
The first JDK 21 Release Candidate builds (builds 35) are available [4]. Those builds are provided under the GNU General Public License v2, with the Classpath Exception. The Release Notes [5] and the Javadocs [6] are also available.
[1] https://www.youtube.com/playlist?list=PLX8CzqL3ArzW90jKUCf4H6xCKpStxsOzp
[2] https://openjdk.org/projects/jdk/21/#Schedule
[3] https://openjdk.org/projects/jdk/21/#Features
[4] https://jdk.java.net/21/
[5] https://jdk.java.net/21/release-notes
[6] https://download.java.net/java/early_access/jdk21/docs/api/
## JDK 22 Early-Access Builds
The latest Early-Access builds 11 are available [7], and are provided under the GNU General Public License v2, with the Classpath Exception. The Release Notes are available here [8].
### Changes in recent JDK 22 builds (b8-b11) that may be of interest:
Note that this is only a curated list of changes, make sure to check [9] for additional changes.
- JDK-8314209: Wrong @since tag for RandomGenerator::equiDoubles [Reported by JaCoCo]
- JDK-8312489: Increase Default Value of the System Property jdk.jar.maxSignatureFileSize
- JDK-8312433: HttpClient request fails due to connection being considered …
- JDK-8313307: java/util/Formatter/Padding.java fails on some Locales
- JDK-8312821: Javac accepts char literal as template
- JDK-8313251: Add NativeLibraryLoad event
- JDK-8313809: String template fails with java.lang.StringIndexOutOfBoundsE…
- JDK-8312984: javac may crash on a record pattern with too few components
- JDK-8310033: Clarify return value of Java Time compareTo methods
- JDK-8302017: Allocate BadPaddingException only if it will be thrown
- JDK-8310913: Move ReferencedKeyMap to jdk.internal so it may be shared
- JDK-8313251: Add NativeLibraryLoad event to provide more detail about shared lib/dll loads
- JDK-8311653: Modify -XshowSettings launcher behavior
- JDK-8306441: Two phase segmented heap dump
- JDK-8311981: JVM May Hang When Using Generational ZGC if a VM Handshake Stalls on Memory
- JDK-8308850: Change JVM options with small ranges that get -Wconversion warnings to 32 bits
[7] https://jdk.java.net/22/
[8] https://jdk.java.net/22/release-notes
[9] https://github.com/openjdk/jdk/compare/jdk-22%2B8...jdk-22%2B11
## JavaFX 21 & 22 Early-Access Builds
These are early-access builds of the JavaFX Runtime, built from openjdk/jfx [10]. They allow JavaFX application developers to build and test their applications with JavaFX 21 or 22 on the latest JDK.
The latest builds 29 (2023/8/7) of JavaFX 21 are now available [11]. The early-access builds 5 (2023/8/18) of the JavaFX 22 Runtime which is designed to work with JDK 22 are also available [12]. These early-access builds are provided under the GNU General Public License, version 2, with the Classpath Exception. Please send the feedback on the openjfx-dev mailing list [13].
[10] https://github.com/openjdk/jfx
[11] https://jdk.java.net/javafx21/
[12] https://jdk.java.net/javafx22/
[13] http://mail.openjdk.org/mailman/listinfo/openjfx-dev
## Topics of Interest:
JDK 21: G1/Parallel/Serial GC improvements
https://tschatzl.github.io/2023/08/04/jdk21-g1-parallel-gc-changes.html
To Java 21 and Beyond!
https://inside.java/2023/08/08/to-java21-and-beyond/
Strengthen your Java App's Defenses with Key Encapsulation Mechanism API
https://inside.java/2023/08/03/newscast-54/
JVMLS - Foreign Function & Memory API
https://inside.java/2023/08/21/jvmls-ffm-api/
JVMLS - Java and GPU … are we nearly there yet?
https://inside.java/2023/08/22/java-and-gpu/
Draft JEP: Computed Constants
https://minborgsjavapot.blogspot.com/2023/08/java-new-draft-jep-computed-...
Using Computed Constants to Manage Static State in Leyden
https://cr.openjdk.org/~jrose/leyden/after-computed-constants.html
Project Leyden: Toward Condensers
https://openjdk.org/projects/leyden/notes/03-toward-condensers
New OpenJDK Container mailing list
https://mail.openjdk.org/pipermail/container-discuss/2023-August/000000.html
Introduction: Q-descriptors and v-bytecodes
https://cr.openjdk.org/~jrose/values/larval-values.html
~
Until next time!
--David
1 year, 4 months