Kreyren / wng

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

                     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.

About

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

License:Mozilla Public License 2.0


Languages

Language:Rust 91.9%Language:Shell 8.1%