Skip to content

binhonglee/wings

Repository files navigation

wings

A customizable cross language struct and enum file generator.

GitHub Action Status CircleCI codecov CodeFactor mergify

Gitter Website

GitHub all releases Visual Studio Marketplace Downloads npm

Requirements

*Note: There are also other packages needed for deployment due to cross compilation (like gcc-multilib, gcc-arm-linux-gnueabihf, mingw-w64, libevent-dev etc...).

Development Tools (scripts)

  • Run mkdocs development server for realtime feedback on changes made docs folder (requires mkdocs)
    • nim src/main/scripts/docs.nims
  • Build release binaries for distribution
    • nim src/main/scripts/release.nims (This will only build the version compatible to your environment by default. You can do nim src/main/scripts/release.nims --all to try cross-compiling for other environments.)
  • Generate / Update the lang folder (src/main/wingspkg/lang) based on the files in the examples/input/templates folder
    • nim c -r -d:ssl src/main/staticlang/main.nim
  • Run tests
    • ./scripts/test.sh (This isn't a proper test for everything. Recommend reading the script, < 20 lines, before running it.)

For some more comprehensive set up / testing procedure, .github/workflows/main.yml file might be a good place to start looking into.

Supported languages

Further Documentations