open-dis / dis-enumerations

Auto-generated DIS enumeration constants (SISO-REF-010) to ease the human reading and writing of DIS code.
BSD 2-Clause "Simplified" License
4 stars 6 forks source link

Update to use newer SISO STD XML #5

Open leif81 opened 1 year ago

leif81 commented 1 year ago

Recording this old comment from Don McGreggor:

Note that the XML that describes the enumerations is badly out of date; it changed substantially after I wrote most of the project. What should really happen is that this application should be re-written to accomodate the actual XML used for enumerations.

brutzman commented 1 year ago

Thanks for bringing this up Leif. I have fixed all of the old McGregor-style XML to be correct.

Last weekend I updated unit tests for Detonation, EntityState, Fire, and various Signal* PDUs.

Upcoming work will look more closely at DIS-XML outputs and validation as a regular part of our course projects.

leif81 commented 1 year ago

Is there a dis enumerations library for dis 6 and 7 that could be used by open-dis-java users?

We would need something published to Maven Central that could be swapped in for this as a dependency.

leif81 commented 1 year ago

@brutzman Here's an option I propose we consider. We package the siso enumerations classes into a new standalone jar that can be used by both the open-dis-java and opendis7-java projects.

To do this, here's how I would propose it be done. We create a new github project (e.g. open-dis/siso-ref-010-enumerations), copy the Java enumeration classes generated by opendis7-source-generator into this new project. Then using Maven the classes are compile and packaged into a siso-ref-010-enumerations.jar and deployed to Maven Central.

The open-dis-java project users would fetch this by adding this new dependency to their project with a Maven by adding the following to their pom.xml:

e.g.

    <dependency>
        <groupId>edu.nps.moves.opendis</groupId>
        <artifactId>siso-ref-010-enumerations</artifactId>
        <version>31.0</version>
    </dependency>

And opendis7-java users would download the siso-ref-010-enumerations-31.jar from the GitHub project releases page and add it to their class path.

And finally once all this is setup we archive this open-dis/dis-enumerations project because it becomes superceded by this new project.

brutzman commented 1 year ago

Sounds good. Note that opendis7-full.jar already bundles the enumerations jar (into a "fat" jar) so complete flexibility exists already.

Suggest someone tries using the existing siso-ref-010-enumerations-31.jar with prior open-dis-java codebase. I believe it is compiled to JDK 11 LTS bytecode but we can likely make adjustments if needed.

Also please advise, how can we add @terry-norbraten to this issue?

leif81 commented 1 year ago

@'ing terry in like you've done should do it. @terry-norbraten should start getting email notifications of new comments.