Skip to content

Commit 6299ef0

Browse files
committed
Move release description to RELEASE.md for direct editing
Release description is now maintained in RELEASE.md in the repo root. Don and other contributors can edit it directly. The publish workflow reads from this file instead of generating its own.
1 parent 00db008 commit 6299ef0

2 files changed

Lines changed: 74 additions & 50 deletions

File tree

.github/workflows/publish.yml

Lines changed: 2 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -40,56 +40,8 @@ jobs:
4040
cp dist/license.html release/
4141
cd release && zip -r ../opendis7-release.zip .
4242
43-
- name: Generate release description
44-
run: |
45-
cat > /tmp/release-body.md <<'RELEASE_EOF'
46-
![Open-DIS Surfer Dude](https://raw.githubusercontent.com/open-dis/opendis7-java/master/images/OpenDisSurferDude.png)
47-
48-
# opendis7-java Distribution Products
49-
50-
Complete type-safe open-source Java implementation of the IEEE Distributed Interactive Simulation (DIS) Protocol, including all Protocol Data Units (PDUs), entity enumerations, and supporting utilities.
51-
52-
## Downloads
53-
54-
| Asset | Description |
55-
|-------|-------------|
56-
| `opendis7-full.jar` | Complete library — PDUs, enumerations, utilities, and javadoc in one jar |
57-
| `opendis7-pdus-classes.jar` | PDU compiled classes only |
58-
| `opendis7-pdus-source.jar` | PDU Java source files |
59-
| `opendis7-enumerations-classes.jar` | Enumeration compiled classes (from opendis7-source-generator) |
60-
| `opendis7-enumerations-source.jar` | Enumeration Java source files |
61-
| `opendis7-enumerations-javadoc.jar` | Enumeration javadoc archive |
62-
| `opendis7-javadoc.zip` | Browseable javadoc (unzip and open `index.html`) |
63-
| `opendis7-release.zip` | Complete bundle with all JARs and license files |
64-
65-
## Documentation
66-
67-
- [Javadoc (online)](https://savage.nps.edu/opendis7-java/javadoc)
68-
- [IEEE DIS7 PDU Color Figure](https://www.nps.edu/web/moves/dis)
69-
- [DIS 101 Tutorial (IITSEC 2021)](https://www.nps.edu/web/moves/networked-virtual-environments)
70-
- [Wikipedia: Distributed Interactive Simulation](https://en.wikipedia.org/wiki/Distributed_Interactive_Simulation)
71-
72-
## Source Code
73-
74-
- [opendis7-java](https://github.com/open-dis/opendis7-java) — Java library, PDUs, utilities, and tests
75-
- [opendis7-source-generator](https://github.com/open-dis/opendis7-source-generator) — Code generator for enumerations and entity types from SISO-REF-010
76-
77-
## Specifications
78-
79-
- IEEE Standard 1278.1-2012, IEEE Standard for Distributed Interactive Simulation (DIS) — Application Protocols
80-
- SISO-REF-010 — Reference for Enumerations for Simulation Interoperability
81-
82-
## Course Materials
83-
84-
- [MV3500 Distributed Simulation Fundamentals](https://www.nps.edu/web/moves/mv3500) — NPS course using this library
85-
86-
## Contact
87-
88-
- [Don Brutzman](https://faculty.nps.edu/brutzman) — Naval Postgraduate School (NPS)
89-
- [open-dis GitHub Organization](https://github.com/open-dis)
90-
RELEASE_EOF
91-
# Strip leading whitespace from heredoc (caused by YAML indentation)
92-
sed -i 's/^ //' /tmp/release-body.md
43+
- name: Prepare release description
44+
run: cp RELEASE.md /tmp/release-body.md
9345

9446
- name: Upload release assets
9547
if: github.event_name == 'release'

RELEASE.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
![Open-DIS Surfer Dude](https://raw.githubusercontent.com/open-dis/opendis7-java/master/images/OpenDisSurferDude.png)
2+
3+
# Distribution Products for opendis7-java Library
4+
5+
**Distributed Interactive Simulation (DIS)** is a set of IEEE standards for conducting real-time platform-level wargaming across multiple host computers and is used worldwide, especially by military organizations but also by other agencies such as those involved in space exploration and medicine.
6+
7+
This software library provides a complete, type-safe open-source Java implementation of the **IEEE Distributed Interactive Simulation (DIS) Protocol** version 7. This Java codebase includes all Protocol Data Units (PDUs), entity enumerations, and supporting utilities.
8+
9+
**Release version v7.0.35** refers to IEEE DIS version 7.0 integrated together with SISO-REF-010 version 35.
10+
11+
## Downloads
12+
13+
| Assets (linked at bottom of page) | Description |
14+
|:-------|:-------------|
15+
| `opendis7-full.jar` | Complete library — PDUs, enumerations, utilities, and javadoc in one "fat jar" |
16+
| `opendis7-pdus-classes.jar` | PDU compiled classes only |
17+
| `opendis7-pdus-source.jar` | PDU Java source files |
18+
| `opendis7-enumerations-classes.jar` | Enumeration compiled classes (from opendis7-source-generator) |
19+
| `opendis7-enumerations-source.jar` | Enumeration Java source files |
20+
| `opendis7-enumerations-javadoc.jar` | Enumeration javadoc archive |
21+
| `opendis7-javadoc.zip` | Browseable javadoc (unzip, then open `index.html`) |
22+
| `opendis7-release.zip` | Complete bundle of all JARs and license files in this release |
23+
24+
## Documentation and References
25+
26+
- [Javadoc (online)](https://savage.nps.edu/opendis7-java/javadoc) offers complete documentation for all library classes, methods, and values
27+
- [IEEE DIS7 PDU Color Figures](https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/-/blob/master/specifications/IeeeDisPduColorFigures.pdf) illustrates primary DIS Protocol Data Unit (PDU) data structures
28+
- [DIS 101 Tutorial (IITSEC 2021)](https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/-/blob/master/conferences/IITSEC2021/README.md) was given at Interservice Industry Training, Simulation Education Conference (IITSEC) in December 2021
29+
- Prior release is found at [opendis7-java Library Distribution Products](https://savage.nps.edu/opendis7-java) at NPS (built with enumerations version 34)
30+
- [Wikipedia: Distributed Interactive Simulation](https://en.wikipedia.org/wiki/Distributed_Interactive_Simulation) provides a good overview of DIS capabilities
31+
32+
## Source Code
33+
34+
- [opendis7-java](https://github.com/open-dis/opendis7-java) — Java library, PDUs, utilities, and tests
35+
- [opendis7-source-generator](https://github.com/open-dis/opendis7-source-generator) — Source code generator for all PDU entity types, adding over 22,000 enumerations from SISO-REF-010 version 35 (27 April 2025)
36+
- BSD-style non-viral [open-source license](https://github.com/open-dis/opendis7-java/blob/master/license.txt)
37+
38+
Codebase design and production:
39+
40+
- [Generating Distributed Interactive Simulation (DIS) Codebases using opendis7-source-generator](https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/-/blob/master/conferences/SIW2022/README.md), Simulation Interoperability Workshop (SIW) February 2022
41+
- Log files [build.all.out.txt](https://github.com/open-dis/opendis7-java/blob/master/build.all.out.txt) and [build.test.log.txt](https://github.com/open-dis/opendis7-java/blob/master/build.test.log.txt) show successful build results and comprehensive unit tests that include multicast streaming and file recording of DIS PDUs. These logs are included in codebase version control, in order to facilitate efforts by other contributors and also detect changes as these software archives evolve
42+
43+
## Specifications
44+
45+
- [IEEE Standard 1278.1-2012, IEEE Standard for Distributed Interactive Simulation (DIS) — Application Protocols](https://ieeexplore.ieee.org/document/6387564) is the authoritative reference for all DIS version 7 efforts
46+
- [SISO-REF-010 - Reference for Enumerations for Simulation Interoperability](https://www.sisostandards.org/page/ReferenceDocuments) (see bottom of that page) receives quarterly updates that are prepared and published by [Simulation Interoperability Standards Organization (SISO)](https://www.sisostandards.org)
47+
48+
## Course Materials and Implementation Application
49+
50+
- [MV3500 Distributed Simulation Fundamentals](https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500) — NPS course using this library
51+
- This NPS course is an introduction to distributed communications in simulation applications. Topics include introduction to the TCP/IP protocol stack, socket communications including TCP/UDP unicast/multicast and essential protocol design issues. Follow-on emphasis is Distributed Interactive Simulation (DIS) Protocol application programming, with side looks at High Level Architecture (HLA). Course activity focuses on creation and testing of network programming network code and web-browser applications.
52+
- [X3D-Edit 4.0 Authoring Tool for Extensible 3D (X3D) Graphics](https://www.web3d.org/x3d/tools/X3D-Edit)
53+
- X3D-Edit is a free, open-source Extensible 3D (X3D) Graphics authoring tool for simple high-quality authoring, editing, import/export, validation and viewing of X3D scenes. A [flyer](https://www.web3d.org/x3d/tools/X3D-Edit/Open-DIS-flyer.pdf) describes support for the [Distributed Interactive Simulation (DIS) component](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/components/dis.html) of the X3D Graphics International Standard.
54+
55+
## Current and Future Work
56+
57+
The IEEE DIS Protocol is a carefully defined set of binary messages. Many further uses are possible.
58+
59+
- Work has resumed on completing the autogeneration of a corresponding opendis7-python library written in [Python](https://www.python.org)
60+
- "A stream is a stream is a stream" means that a sequence of bits is usable in multiple ways. DIS PDU streams over the network (data in motion) can be captured as files (data at rest) and then edited, filtered, replayed, merged, etc.
61+
- Preliminary support is provided for native binary PDUs as well as plain-text and DIS-XML encodings, with further development expected.
62+
63+
We have partially implemented an experimental XML encoding for DIS Protocol version 7, enabling opportunities for further [big data](https://en.wikipedia.org/wiki/Big_data) validation and conversion. Current work is testing and building upon these potential capabilities.
64+
65+
- DIS XML Schema [DIS_7_2012.autogenerated.xsd](https://github.com/open-dis/opendis7-source-generator/blob/master/xml/DIS_7_2012.autogenerated.xsd) and [DIS7 PDU XML Schema Documentation](https://savage.nps.edu/opendis7-java/xml/SchemaDocumentation/DIS_7_2012.autogenerated.html)
66+
- These XML data structures are generated from original [XML for PDUs design templates](https://github.com/open-dis/opendis7-source-generator/tree/master/xml/dis_7_2012) by Don McGregor
67+
- Also minimalist DIS: Rich Semantic Track (RST) XML Schema [DIS_7_2012.RichSemanticTrackSubset.xsd](https://github.com/open-dis/opendis7-source-generator/blob/master/xml/DIS_7_2012.RichSemanticTrackSubset.xsd) ([image](https://github.com/open-dis/opendis7-source-generator/blob/master/xml/DisSchemaSubsetRichSemanticTrack.png)) and [RST XML Schema Documentation](https://savage.nps.edu/opendis7-java/xml/SchemaDocumentationRST/DIS_7_2012.RichSemanticTrackSubset.html)
68+
69+
## Contact and Participation
70+
71+
- [Don Brutzman](https://relativemotion.info/) — Relative Motion Consulting (RMC)
72+
- [open-dis GitHub Organization](https://github.com/open-dis) offers numerous additional implementations

0 commit comments

Comments
 (0)