WW WW NN NN GGGG WW WW NNN NN GG GG WW W WW NN N NN GG WW WWW WW NN NNN GG GG WW WW NN NN GGGGGG The W package manager Copyleft (ɔ) 2020-2021 Wafelack ABOUT ===== WNG is a C package and projects manager written in Rust. It permits projects build, run, creation and dependencies management. It is highly customizable by a plugin system and it based on a highly modulable library. It is available on Windows and Unix like systems. It only requires a few prerequisties: a C compiler and git. DISCLAIMER ========== ############################################################## # # # WNG is provided under the MPL-2.0 license on an "as is" # # basis, without warranty of any kind, either expressed, # # implied, orstatutory, including, without limitation, # # warranties that WNG is free of defects, merchantable, # # fit for aparticular purpose or non-infringing, # # as specified in the LICENSE file. # # # ############################################################## INSTALLATION ============ - Installing directly WNG is available on: - cargo `cargo install wng` - the releases page - Building from source: Prerequisties: The latest stable rust toolchain * First method (all systems) 1. Clone the project `git clone git@github.com:wngland/wng` 2. Build it `cargo build --release` * Second method (*Nix only) 1. Download the wng-userbuild.tar.gz archive from the releases 2. Extract it 3. cd in the produced folder 3. Run `bash install` DOCUMENTATION ============= SETUP ----- Use `wng setup` to enter wng basic configuration. CONFIG ------ * Use `wng config reinit` to wipe out all the config file content * Use `wng config edit <key> <value>` to edit/add a configuration key. NEW --- * Use `wng new <path>` to create a new project. This will create `src/main.c`, `project.toml` and the build folders. BUILD ----- * Use `wng build [--release]` to build the current project. The `--release` flags specifies to build with the `-O3` flag activated. RUN --- * Use `wng run [--release]` to build the current project and to run the produced binary. The `--release` flags specifies to build with the `-O3` flag activated. CLEAN ----- * Use `wng clean` to remove all the binaries and object files from the `build/` folder. DEPENDENCIES ------------ * Use `wng dependencies add <dependency>` to add a dependency to `project.toml`. * Use `wng dependencies remove <dependency>` to remove a dependency from `project.toml`. INSTALL ------- * Use `wng install` to install the project dependencies in the `src/` folder. PLUGINS ------- * WNG plugins have to be placed in `$HOME/.wng/` with a name starting by `wng-`. * A WNG plugin can be called with: `wng -p <plugin_name_without_the_wng->`. FUTURE ====== - MSVC support. - Ability to run tests. - C++ support. ACKNOWLEDGEMENTS ================ - Wafelack <wafelack@protonmail.com>: Idea and initial work. - Sleepy Monax: Contribution.