Git Product home page Git Product logo

wng's Introduction

                     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 [email protected]: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 <[email protected]>: Idea and initial work.
- Sleepy Monax: Contribution.

wng's People

Contributors

wafelack avatar sleepy-monax avatar

Stargazers

Jorge Gomez avatar

Watchers

James Cloos avatar  avatar

Forkers

isgasho

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.