Referring to the task documented here:
Since this is a pretty big reorganization… I felt it’d be worth running the plan by everyone before starting anything, to ensure our understanding of the goals are in agreement, and answer a few questions I’ve come up with.
- Attempt to determine whether each “Test/Example” in jme3-examples was truly intended to be a test, or an example to be referenced by “end-developers”.
Most of the tests seem to have the word “test” in them somewhere (shocking, I know) so that’ll be a good starting point. If any “tests” seem to have been intended more as an example (or as a test and an example), I’ll bring those to everyone’s attention and we can decide what to do with those.
- Reorganize project:
- Demos, tutorial code, etc. remain in jme3-examples under a new package named jme3example
- Tests move to new project jme3-tests under the (existing) package jme3test
- Dependencies which aren’t tests (but are used by tests) get moved into sub-packages (for example, RayTrace.java in the collision package, PhysicsTestHelper, or MovingAverage.java inside network)
- Cleanup/remove any junk (empty “Main.java” class in there, so that’s weird)
- Since examples is being split into two different projects, something would need to be done with the TestChooser class.
Do we modify it to support both tests and examples somehow? (They’re in different sub-projects…) My feeling is that since there seems to be far more “tests” than examples, it should continue to only focus on tests. Examples would be standalone applications with main() methods which can run independently (ex. from IDE).
So basically if we go that route, TestChooser would be moved to jme3-tests, executing tests in the jme3test package. Since it relies on reflection and the package name remains the same for “tests”, I’m hoping it won’t require any real code updates. I could also do some cleanup of TestChooser’s code and bring the formatting more to the informal(?) standard, with a NetBeans auto-format.
Not sure if I’ll get to test automation or not, but whoever works on it, that can come after.
How does this sound? Awaiting concerns, feedback, modifications, requests, hate mail, etc.