All Projects â†’ mulle-nat-stash â†’ mulle-bootstrap

mulle-nat-stash / mulle-bootstrap

Licence: other
đŸ‘ĸ Cross platform dependency manager for developers

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to mulle-bootstrap

Mint
A package manager that installs and runs executable Swift packages
Stars: ✭ 1,750 (+4387.18%)
Mutual labels:  dependency-manager
Sampctl
The Swiss Army Knife of SA:MP - vital tools for any server owner or library maintainer.
Stars: ✭ 149 (+282.05%)
Mutual labels:  dependency-manager
Boss
Dependency Manager for Delphi
Stars: ✭ 188 (+382.05%)
Mutual labels:  dependency-manager
Pony Stable
🐴 A simple dependency manager for the Pony language.
Stars: ✭ 135 (+246.15%)
Mutual labels:  dependency-manager
Johnnydepp
A tiny dependency manager for modern browsers (992 bytes)
Stars: ✭ 143 (+266.67%)
Mutual labels:  dependency-manager
Corral
🐴 Pony dependency manager tool
Stars: ✭ 152 (+289.74%)
Mutual labels:  dependency-manager
Container Ioc
Inversion of Control container & Dependency Injection for Javascript and Node.js apps powered by Typescript.
Stars: ✭ 89 (+128.21%)
Mutual labels:  dependency-manager
Psdepend
PowerShell Dependency Handler
Stars: ✭ 212 (+443.59%)
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 (+6005.13%)
Mutual labels:  dependency-manager
Mbt
The most flexible build tool for monorepo
Stars: ✭ 184 (+371.79%)
Mutual labels:  dependency-manager
Foxy
A fast, reliable, and secure NPM/Yarn bridge for Composer
Stars: ✭ 137 (+251.28%)
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 (+258.97%)
Mutual labels:  dependency-manager
Protodep
Collect necessary .proto files (Protocol Buffers IDL) and manage dependencies
Stars: ✭ 167 (+328.21%)
Mutual labels:  dependency-manager
Pnpm
Fast, disk space efficient package manager -- åŋĢ速įš„īŧŒčŠ‚įœįŖį›˜įŠē间įš„包įŽĄį†åˇĨå…ˇ
Stars: ✭ 14,219 (+36358.97%)
Mutual labels:  dependency-manager
Cocoapods
The Cocoa Dependency Manager.
Stars: ✭ 13,503 (+34523.08%)
Mutual labels:  dependency-manager
Greenkeeper
🤖 🌴 Real-time automated dependency updates for npm and GitHub
Stars: ✭ 1,564 (+3910.26%)
Mutual labels:  dependency-manager
Ansible Role Composer
Ansible Role - Composer PHP Dependency Manager
Stars: ✭ 149 (+282.05%)
Mutual labels:  dependency-manager
Poetry
Python dependency management and packaging made easy.
Stars: ✭ 17,543 (+44882.05%)
Mutual labels:  dependency-manager
Dep
Go dependency management tool experiment (deprecated)
Stars: ✭ 13,106 (+33505.13%)
Mutual labels:  dependency-manager
Docker
Composer in Docker
Stars: ✭ 180 (+361.54%)
Mutual labels:  dependency-manager

THIS PROJECT HAS BEEN SUPERSEDED BY MULLE-SDE-DEVELOPER

-> mulle-sde-developer

mulle-bootstrap, cross platform dependency manager using bash

Last version

... for Linux, OS X, FreeBSD, Windows

... for C, C++, Objective-C

... certainly not a "minimal" or "lightweight" project with ca. 10000 lines of shell script code

Why you may want it

  • You program in C, C++ or in Objective-C, mulle-bootstrap is written for you
  • If you need to link against a library, that clashes with an installed library, mulle-bootstrap could break this quandary
  • If you feel that apt-get install pollutes your system with too many libraries, mulle-bootstrap may be the solution
  • If you don't like developing in virtual machines, mulle-bootstrap may tickle your fancy
  • If you like to decompose huge projects into reusable libraries, mulle-bootstrap may enable you to do so
  • If you do cross-platform development, mulle-bootstrap may be your best bet for a dependency manager

Core principles

  • Nothing gets installed outside of the project folder
  • mulle-bootstrap manages your dependencies, it does not manage your project
  • It should be adaptable to a wide ranges of project styles. Almost anything can be done with configuration settings or additional shell scripts.
  • It should be scrutable. If things go wrong, it should be easy to figure out what the problem is. It has extensive logging and tracing support built in.
  • It should run everywhere. mulle-bootstrap is a collection of shell scripts. If your system can run the bash, it can run mulle-bootstrap.

What it does technically

  • downloads zip and tar archives
  • fetches git repositories and it can also checkout svn.
  • builds cmake, xcodebuild and configure projects and installs their output into a "dependencies" folder.
  • installs brew binaries and libraries into an "addictions" folder (on participating platforms)
  • alerts to the presence of shell scripts in fetched dependencies

A first use

So you need a bunch of third party projects to build your own project ? No problem. Use mulle-bootstrap init to do the initial setup of a .bootstrap folder in your project directory. Then add the git repository URLs:

mulle-bootstrap init
mulle-bootstrap setting -g -r -a "repositories" "https://github.com/madler/zlib.git"
mulle-bootstrap setting -g -r -a "repositories" "https://github.com/coapp-packages/expat.git"
mulle-bootstrap

mulle-bootstrap will check them out into a common directory stashes.

After cloning mulle-bootstrap looks for a .bootstrap folder in the freshly checked out repositories. They might have dependencies too, if they do, those dependencies are added and also fetched.

Everything should now be in place so mulle-bootstrap that can now build the dependencies. It will place the headers and the produced libraries into the dependencies/lib and dependencies/include folders.

Tell me more

If you want to hack on mulle-bootstrap, I'd recommend to get Sublime Text and install the linter plugin to use Shellcheck. It simplifies shell scripting by an order of magnitude.

GitHub and Mulle kybernetiK

The development is done on Mulle kybernetiK. Releases and bug-tracking are on GitHub.

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].