Giter VIP home page Giter VIP logo

nmk's Introduction

nmk - next-gen make-like build system

License: MPL Checks Issues Supported python versions PyPI Code style: black Flake8 analysis result Code coverage

nmk is an alternative build system, designed following these simple requirements:

  • both multi-platform and easy install - available as a python module
  • shareable/reusable/factorized build logic between projects

Documentation

For the full nmk documentation, see https://github.com/dynod/nmk/wiki

nmk's People

Contributors

zedaav avatar

Watchers

 avatar Antoine Darfeuil avatar

nmk's Issues

Direct URLs refs don't work

Something like

refs:
    - https://github.com/dynod/nmk-base/archive/refs/heads/main.zip!nmk-base-main/plugin.yml

venv setup task

Should be part of base plugin, since loadme task needs Jinja templates, while nmk doesn't, so it shouldn't be an nmk dependecy.
And base plugin shall not depend from python plugin.

Handle refs to python installed modules

Refs using the pip://xxx syntax shall be supported, to handle project files bundled in installed python modules.
If module is not installed, pip install shall be triggered (this supposes to refactor some of the pip logic from nmk-base in the core nmk project)

Task model

Define task model + handle task build

Support skipable tasks

Tasks may have "unless" and/or "onlyIf" attributes, to skip the task if conditions are not met

Contribute to Python path

When project hooks code in the build definition (e.g. config resolver), it shall be able to extend the Python path to directories out of the installed venv Python modules

Better emoji handling

Tasks emoji shall be a rich-interpreted string, allowing to combine several of them, and/or handle narrow ones

Handle silent tasks

Some tasks (typically always executed ones) may want to not display the log line

No venv install support ?

Check if this would be doable to support nmk install without venv
i.e. "root dir" (and more specifically ".nmk" cache dir) would have to be located in user directory ("~/.nmk")

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.