All Projects â†’ ponylang â†’ Corral

ponylang / Corral

Licence: bsd-2-clause
🐴 Pony dependency manager tool

Projects that are alternatives of or similar to Corral

Peru
a generic package manager, for including other people's code in your projects
Stars: ✭ 913 (+500.66%)
Mutual labels:  dependency-manager
Greenkeeper
🤖 🌴 Real-time automated dependency updates for npm and GitHub
Stars: ✭ 1,564 (+928.95%)
Mutual labels:  dependency-manager
Node Dependency Injection
The NodeDependencyInjection component allows you to standarize and centralize the way objects are constructed in your application.
Stars: ✭ 140 (-7.89%)
Mutual labels:  dependency-manager
Cmake Get
Get dependencies with cmake
Stars: ✭ 59 (-61.18%)
Mutual labels:  dependency-manager
Deps Report
Generate reports about dependencies and dependents of your JavaScript/TypeScript files through an AST. It supports import and require statements.
Stars: ✭ 76 (-50%)
Mutual labels:  dependency-manager
Pnpm
Fast, disk space efficient package manager -- åŋĢ速įš„īŧŒčŠ‚įœįŖį›˜įŠē间įš„包įŽĄį†åˇĨå…ˇ
Stars: ✭ 14,219 (+9254.61%)
Mutual labels:  dependency-manager
Awesome Composer
😎 A curated awesome list for Composer, Packagist, Satis, Plugins, Scripts, Composer related resources, tutorials.
Stars: ✭ 738 (+385.53%)
Mutual labels:  dependency-manager
Sampctl
The Swiss Army Knife of SA:MP - vital tools for any server owner or library maintainer.
Stars: ✭ 149 (-1.97%)
Mutual labels:  dependency-manager
Container Ioc
Inversion of Control container & Dependency Injection for Javascript and Node.js apps powered by Typescript.
Stars: ✭ 89 (-41.45%)
Mutual labels:  dependency-manager
Gitman
Language-agnostic dependency manager using Git.
Stars: ✭ 139 (-8.55%)
Mutual labels:  dependency-manager
Dep
[DEPRECATED] Use https://github.com/z0al/dependent-issues instead
Stars: ✭ 69 (-54.61%)
Mutual labels:  dependency-manager
Greenbeanpods
A plugin that replaces external module dependencies with project dependencies.
Stars: ✭ 75 (-50.66%)
Mutual labels:  dependency-manager
Pony Stable
🐴 A simple dependency manager for the Pony language.
Stars: ✭ 135 (-11.18%)
Mutual labels:  dependency-manager
Cement
C# dependency management tool
Stars: ✭ 45 (-70.39%)
Mutual labels:  dependency-manager
Johnnydepp
A tiny dependency manager for modern browsers (992 bytes)
Stars: ✭ 143 (-5.92%)
Mutual labels:  dependency-manager
Kodein Mvvm
Example app using Kodein for dependency injection with MVVM and Architecture Components
Stars: ✭ 26 (-82.89%)
Mutual labels:  dependency-manager
Mint
A package manager that installs and runs executable Swift packages
Stars: ✭ 1,750 (+1051.32%)
Mutual labels:  dependency-manager
Ansible Role Composer
Ansible Role - Composer PHP Dependency Manager
Stars: ✭ 149 (-1.97%)
Mutual labels:  dependency-manager
Moderncppstarter
🚀 Kick-start your C++! A template for modern C++ projects using CMake, CI, code coverage, clang-format, reproducible dependency management and much more.
Stars: ✭ 2,381 (+1466.45%)
Mutual labels:  dependency-manager
Foxy
A fast, reliable, and secure NPM/Yarn bridge for Composer
Stars: ✭ 137 (-9.87%)
Mutual labels:  dependency-manager

Corral

Pony dependency manager

Status

Corral is beta level software.

About Corral

Corral is a dependency management tool for Pony. Corral:

  • Provides extensibility for VCS and Commands.
  • Supports semver version constraints on dependencies.
  • Supports transitive dependencies.
  • Supports revision locking on dependencies using a lock.json file.
  • Uses a distinct shared VCS repo pool from per-project dependency workspace tree.
  • Uses the Pony process package for running external tools like Git and ponyc.

Design

See Corral Design for more details about the design of Corral. Ongoing questions and notes for future work can be found in Questions / Notes

Background

Check out Pony Package Dependency Management for a discussion of the research and requirements work behind Corral.

Installation

Use ponyup to install corral.

The following command is assuming that ponyup, our toolchain multiplexer, is already installed on your machine and is available in your $PATH environment variable. If you don't have ponyup installed, please follow the ponyup installation instructions.

ponyup update corral release

Building From Source

See BUILD.md

Getting started using Corral

After installation, add Corral's current path to $PATH environment variable if you haven't already and follow these steps to create your first project using Corral.

Create a project

Make an empty folder and switch to this directory. This will be our example project to use Corral

mkdir myproject
cd myproject

Initialize Corral

It will create corral.json and lock.json files. At this moment they won't have much information since you haven't added any dependencies yet.

corral init

Add a dependency

This is the way to tell Corral that your project depends on this and you want to include it when building your project.

corral add github.com/ponylang/valbytes.git

Use a dependency

Create a file main.pony with following code.

use "valbytes"

actor Main
  new create(env: Env) =>
    var buf: ByteArrays = ByteArrays
    buf = buf + "!!" + "Hello," + " " + "World!"
    let greetings = buf.drop(2).string()
    env.out.print(greetings)

Fetch dependencies

The example Pony code is using ByteArrays type which is defined in the dependency which you have just added. Pony needs to have the source code of ByteArrays type to compile successfully. By fetching, Corral retrieves the source and makes it available when compiling the source code

corral fetch

Build the project

Corral will now use this information to build the project. The command below act as a wrapper for ponyc

corral run -- ponyc

If there are no errors generated then an executable myproject will be created in the same folder.

You will also notice that there are two new folders _corral and _repos in your project folder now. They were generated by the corral fetch command. Please make sure to include them in your .gitignore file as there is no need to keep them in a versioning system since they are maintained by Corral itself.

Documentation

See DOCS.md

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].