Move gf-pool to OmniFish arquillian-glassfish-server-pool + glassfish-pool-maven-plugin#2165
Draft
BalusC wants to merge 3 commits into
Draft
Move gf-pool to OmniFish arquillian-glassfish-server-pool + glassfish-pool-maven-plugin#2165BalusC wants to merge 3 commits into
BalusC wants to merge 3 commits into
Conversation
…pool-maven-plugin Replaces the in-tree gf-pool module (custom Java agent leasing slots from failsafe-forked JVMs, antrun-based provisioning, ShutdownHookInstaller, start-pool.sh/stop-pool.sh) with the upstream OmniFish containers in arquillian-container-glassfish: - glassfish-pool-maven-plugin: provisioning, dist staging, Mojarra overlay, and lifecycle goals (up, down, status, provision, nuke), bound to initialize per test module via the parent profile. - arquillian-glassfish-server-pool: Arquillian LoadableExtension whose DeployableContainer leases a slot via FileLock and reads the slot's ports.properties at container start. util/arquillian.xml swaps the glassfish-remote-tck container for the new glassfish-pool qualifier (only poolDir is required; ports come from the slot at start time). Pool dir moves from gf-pool/target/pool/ to target/pool/ at the reactor root. Side moves bundled in: - Reorder faces20/api modules so application (a 5-child sub-aggregator) is last, so its subtree doesn't push the api-component-* WARs to the tail of the -TN ready queue. - Update README to document the new lifecycle goals (including the live top-style glassfish-pool:status table) and drop the old shell helpers. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Plumbs the new arquillian-glassfish-server-pool restartOnRelease flag through: defaults to false at the parent level, exposed as a sysprop on the glassfish-ci-managed profile's failsafe so individual modules can flip it via a one-line <properties> override when their tests leak GF JVM-scoped state. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moved the in-house gf-pool module (custom Java agent leasing slots from failsafe-forked JVMs, antrun-based provisioning, ShutdownHookInstaller, start-pool.sh/stop-pool.sh, first introduced in #2156 as proof of concept) into a reusable module and maven plugin in OmniFish arquillian-container-glassfish so other projects/TCKs can also use it.
util/arquillian.xml swaps the glassfish-remote-tck container for the new glassfish-pool qualifier (only poolDir is required; ports come from the slot at start time). Pool dir moves from gf-pool/target/pool/ to target/pool/ at the reactor root.
Side moves bundled in:
NOTE: this is a Draft PR because arquillian-container-glassfish 2.2.0 is not yet released and
2.2.0-SNAPSHOTin current code needs to be swapped out for2.2.0once it's released.Related PR: OmniFish-EE/arquillian-container-glassfish#38
Checkout both branches, build the arquillian-container-glassfish then run
mvn clean install -Tnontckfolder of current branch.Fastest result so far at my machine using
mvn clean install -T8:It was ~3 hours when old-tck was still JavaTest. It was ~1 hour when old-tck was migrated to Selenium. Clearly a lot of time was previously wasted on setting up and starting GlassFish instances. The new glassfish-pool solves this problem entirely.