Repository navigation
Migrate ogre test scenes to j3o and move jme3-testdata to its own repo - #3033
Conversation
jaime-jmebot
left a comment
There was a problem hiding this comment.
- Looks like this PR is currently a draft and doesn't contain any file changes yet.
- Ready to review once the
jme3-testdatamodule removal and external dependency changes are pushed!
…-testdata artifact
Migrate the engine build off the in-repo jme3-testdata module now that the
test data lives in its own repository (jMonkeyEngine/jme-testdata) with its
own release cycle on Maven Central.
- Add org.jmonkeyengine:jme3-testdata:2026-10-31-2 to the version catalog
- Replace project(':jme3-testdata') with the external artifact in jme3-core,
jme3-terrain, jme3-jbullet, jme3-examples and the screenshot-tests modules
- Extract the artifact jar for the Android and iOS example app assets instead
of referencing the removed module's resources directory
- Drop the module from settings.gradle and delete jme3-testdata/
Closes #3032
Co-authored-by: riccardobl <4943530+riccardobl@users.noreply.github.com>
|
@copilot use version 2026-10-31-3 of jme3-testdata that is compatible with java 11 |
Bump the standalone test data artifact from 2026-10-31-2 to 2026-10-31-3, which is built for Java 11 compatibility. Co-authored-by: riccardobl <4943530+riccardobl@users.noreply.github.com>
Updated to |
|
@copilot there are also two zips used by tests and examples: town.zip and wildhouse.zip, they have been moved to the new repo: Also note that all the ogre files have been converted to j3o in this PR #2726 that is already merged in the jme3-testdata repo. |
Done (commit 6f78d5c). Ported the code changes from #2726 and repointed the zip assets: ogre → j3o (from #2726):
All referenced town.zip / wildhouse.zip: Validation: jme3-core and the ogre plugin loaders compile cleanly ( Screenshots: I can't render before/after comparison screenshots here — that requires a GPU on the CI reference machine (per the repo's screenshot-test convention). I statically verified every asset path resolves against the published artifact instead. CI should render the updated examples. |
I've added the original PR #2726 author (@NwosuTy, git identity One note: the commit-progression tooling re-commits the working tree and drops message-only amends, so a |
…testdata Port the code-side changes of #2726 (the .j3o assets are already published in the jme3-testdata artifact): - jme3-examples: switch example load paths from *.mesh.xml/*.scene to the equivalent .j3o (Oto, Sinbad, Sword, Elephant, Ninja, Teapot, Sign Post, Tank2, Rocket, MonkeyHead, Tree, WaterTest, Car_Scene, Terrain, ManyLights/Main, DotScene). Includes the getWorldLightList()-> getLocalLightList() adjustment in TestManyLightsSingle. - Add @deprecated to the ogre-loading examples kept for ogre coverage (TestOgreConvert, TestOgreLoading, TestOgreAnim, TestOgreComplexAnim). - Add @deprecated to the ogre loaders in jme3-plugins (MaterialLoader, MeshAnimationLoader, MeshLoader, OgreMeshKey, SceneLoader, SceneMaterialLoader, SceneMeshLoader, SkeletonLoader, package-info). - screenshot-tests shared scenarios: ScenarioCartoonEdge -> MonkeyHead.j3o, ScenarioLightScattering -> Terrain.j3o (ScenarioOgreConvert stays on ogre). Repoint town.zip/wildhouse.zip from the dead googleapis URL to the jme-testdata raw GitHub URLs, which now serve main.j3o instead of main.scene: - HelloCollision, TestAspectFov, TestSceneLoading, TestSceneWater, TestPostWaterLake, TestMultiplesFilters load "main.j3o" from the new URLs. - TestOnlineJar and jme3-core TestLocators use the new zip URLs. Co-authored-by: riccardobl <4943530+riccardobl@users.noreply.github.com> Co-authored-by: Dev_Conceited <tthompson3012@gmail.com>
Co-authored-by: riccardobl <4943530+riccardobl@users.noreply.github.com>
f9b6643 to
e160c39
Compare
jme3-testdata has been migrated to jMonkeyEngine/jme-testdata with its own release cycle, published to Maven Central as
org.jmonkeyengine:jme3-testdatawith date-based versions. This removes the in-repo module (281 MB of assets) and consumes the published artifact instead.Changes
jme3-testdata = "2026-10-31-2"and the corresponding library entry ingradle/libs.versions.toml.project(':jme3-testdata')→libs.jme3.testdatainjme3-core,jme3-terrain,jme3-jbullet,jme3-examples, and all three screenshot-tests modules (-shared,-desktop,-android).include 'jme3-testdata'fromsettings.gradleand deleted thejme3-testdata/directory.configurations { testData } dependencies { testData libs.jme3.testdata } def extractTestData = tasks.register('extractTestData', Copy) { def testDataJar = { configurations.testData.singleFile } inputs.file(testDataJar) outputs.dir(layout.buildDirectory.dir('jme3-testdata')) from({ zipTree(testDataJar()) }) into(layout.buildDirectory.dir('jme3-testdata')) }For Android,
preBuilddepends on the task and the extracted dir replaces the old assetssrcDir; for iOS,processResourcesdepends on it and the dir feedsassets.from. Extracted content is identical to the removed module's resources.Note
Version
2026-10-31-2is tagged in jme-testdata but may still be propagating to Maven Central. If resolution fails transiently,3.10.0-beta2has an identical asset tree and can be pinned temporarily.