Thank you for considering contributing to SpaceDataStandards.org! Here are some guidelines to help you get started.
This project depends on a custom version of the FlatBuffers binary. You can find it on the following branch:
DigitalArsenal/flatbuffers - da_version
To set up the development environment for this project, you'll need to install the following dependencies:
-
Node.js 20: Install the latest stable version of Node.js 20 from Node.js Downloads.
- Verify installation by running:
node -v
- Ensure the version is 20.x.x.
- Verify installation by running:
-
Python 3 or greater: Install Python 3 from Python.org.
- Verify installation by running:
python3 --version
- Ensure the version is 3.x.x or higher.
- Verify installation by running:
-
Install Node.JS dependencies
npm install
-
Install Python dependencies
pip install flatbuffers
-
Clone the repository:
git clone https://github.com/DigitalArsenal/flatbuffers.git cd flatbuffers git checkout da_version
-
Build the binary:
cmake -G "Unix Makefiles" make
-
Once built, assign the
flatc
binary to your system path.
- Find the path to the
flatc.exe
binary. - Open the Start Search, type in "env", and select "Edit the system environment variables".
- In the System Properties window, click on the "Environment Variables" button.
- In the Environment Variables window, select the
Path
variable in the "System variables" section and click on the "Edit" button. - Click "New" and add the path to the
flatc.exe
binary. - Click "OK" to apply the changes.
- Find the path to the
flatc
binary. - Open a terminal and run the following command:
To make this change permanent, add the above line to your
export PATH=$PATH:/path/to/flatc
~/.bashrc
,~/.zshrc
, or~/.profile
file, depending on your shell.
For every package management system, scripts need to be written and placed in the ./scripts
folder. These scripts should handle the staging and publishing processes.
Files need to be added to the publish
folder using the staging script. Any additional files to be included in the package should be placed in the src
folder in a subfolder named according to the conventions found in the lib
folder for each language abbreviation.
If package to be deployed needs files in addition to those generated by the flatc
compiler, place them in the src
directory under the appropriate language directory using the conventions found in the lib
folder, creating one if it does not currenly exist. The build script can use the files from the src
folder to augment the package to be published.
- Fork the repository and create your branch from
main
. - If you've added code that should be tested, add tests.
- Ensure the test suite passes.
- If you've changed APIs, update the documentation.
- Add your contact information as a contributor to the 'package.json', if not already there.
- Submit a pull request.
This library is licensed under the Apache 2.0 license. All contributions must be licensed the same way. By submitting a pull request, you acknowledge and agree that all your code is licensed under Apache 2.0, and you guarantee that you have the legal permission to submit the code.