Coder Social home page Coder Social logo

jpm's Introduction

jpm

JPM is the Janet Project Manager tool. It is for automating builds and downloading dependencies of Janet projects. This project is a port of the original jpm tool (which started as a single file script) to add more functionality, clean up code, make more portable and configurable, and refactor jpm into independent, reusable pieces that can be imported as normal Janet modules.

This also introduces parallel builds, possible MSYS support, a jpm configuration file, and more CLI options. Other improvements are planned such as parallel dependency downloading, more out of the box support for non-C toolchains and pkg-config, installation from sources besides git such as remote tarballs, zipfiles, or local directories, and more.

Self Installation (Bootstrapping)

clone this repo, and from its directory, run

$ [sudo] janet bootstrap.janet

There are also several example config files in the configs directory, and you can use the environment variable JANET_JPM_CONFIG to use a configuration file. The config files can be either janet or jdn files. To override/set the default configuration, replace the contents of default-config.janet with a customized config file before installing. To select a configuration file to use to override the default when installing, pass in a config file argument to the bootstrap.janet script, for example:

$ [sudo] janet bootstrap.janet configs/msvc_config.janet

The bootstrapping process can also be configured by setting PREFIX to install to a different system directory. Generally, you will want to install to the same directory that Janet was installed to so jpm can find the required headers and libraries for compiling C libraries.

$ [sudo] PREFIX=/usr janet bootstrap.janet

Updating

If you aleady have an installation of jpm configured, you can update jpm with

$ [sudo] jpm install jpm

which should automatically update to the latest jpm.

jpm's People

Contributors

bakpakin avatar governorgoat avatar greenfork avatar ishehadeh avatar jakski avatar pepe avatar uvtc avatar

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.