#wng

app wng

The W package manager | WNG is a C package and projects manager written in Rust

13 stable releases

4.0.2 Feb 17, 2021
4.0.1 Feb 9, 2021
3.5.2 Jan 2, 2021
3.4.1 Dec 22, 2020
3.3.4 Nov 19, 2020

MPL-2.0 license

34KB
857 lines

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.

Dependencies

~13MB
~280K SLoC