Giter VIP home page Giter VIP logo

modman-php's Introduction

modman-php

PHP implementation for modman, to use it on every operating system with PHP support (also Windows).

Currently implemented:

  • init (creates .modman directory)
  • link (creates symlinks)
  • deploy (update symlinks)
  • deploy-all (updates all modules)
  • repair (repairs all symlinks)
  • clean (removes all dead symlinks)
  • create (creates a modman file for an existing module)
  • clone (clones a git repository)

--force is available for link, deploy, deploy-all and clone, if not set script aborts when conflicts are found --copy is available for deploy and deploy-all, will copy the files and folders instead of symlinking them

Usage examples:

php modman.php init
php modman.php link ..\B2BProfessional
php modman.php deploy B2BProfessional

Or directly clone which does also init and deploy:

php modman.php clone https://github.com/sitewards/B2BProfessional

Currently supported in modman files:

  • symlinks (incl. wildcards)
  • @import
  • @shell

For Windows users there's also a batch file available, so instead of typing php and directory to modman.php you could just use modman.bat everywhere if you add it to your %PATH%-variable:

modman link c:\B2BProfessional

Started at Magento Hackathon in Zürich 2013-03-09

Influenced by the original modman at https://github.com/colinmollenhour/modman/

init

Creates the .modman directory, which is used for all other operations.

cd $PROJECT
modman init

or

cd $PROJECT
modman init <basedir>

If you don't specify a basedir (aka magento directory) the current working directory will be used. The basedir functionality is supposed to be used to move the .modman directory outside of the magento main directory.

  • That first of all helps to structure your projects better
  • But is also a security feature as modman might link sensitive data like docs into your magento magento main directory.

link

Creates symlink from a modman file

cd $PROJOECT
modman link /path/to/myMageModule

Optional parameter --force to automatically remove conflicted files

deploy

Updates the symlinks of a linked module

cd $PROJECT
modman deploy myMageModule

Optional parameter --force to automatically remove conflicted files

Optional parameter --copy to copy files instead of creating symlinks

deploy-all

Updates all symlinks of linked modules

cd $PROJECT
modman deploy-all

Optional parameter --force to automatically remove conflicted files

Optional parameter --copy to copy files instead of creating symlinks

repair

Repairs all symlinks of all linked modules

cd $PROJECT
modman repair

clean

Scans directory for dead symlinks and deletes them. Useful if a module was deleted and not removed in the project

cd $PROJECT
modman clean

remove

Removes links of a project

cd $PROJECT
modman remove myMageModule

create

Scans through the current directory and creates a modman file containing all files and folders

cd $MODULE
modman create

Optional parameter --force to automatically overwrite existing modman-file. Optional parameter --include-hidden to list hidden files and directories in modman-file. Optional parameter --include <include_file> to include a template file at the end of the new modman-file. If the current directory is recognized as a magento module, only the path to the module's code directory is added to the modman file.

clone

Clones a git repository

cd $PROJECT
modman clone https://git.url

Optional parameter --force to overwrite existing folder. Optional parameter --create-modman to create a new modman file in the cloned folder if there is no modman file yet.

Feature ideas

  • Check if "allow symlinks" is activated in Magento when linking template files

modman-php's People

Contributors

mryvlin avatar homecoded avatar dmanners avatar schmengler avatar vinai avatar vovayatsyuk avatar

Watchers

 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.