Skip to content

Allows the use of composer from within a script, even if it is not installed.

License

Notifications You must be signed in to change notification settings

eviweb/composer-wrapper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Composer Wrapper

This project aims to provide a way to use composer from within a script, even if it is not installed.

Build Status

How to install :

You can choose between :

  1. clone this repo git clone https://github.com/eviweb/composer-wrapper.git
  2. use composer by adding "eviweb/composer-wrapper" : "1.*" to the require section of your composer.json
  3. directly download the Wrapper.php
  4. dynamic install see below

How to use :

Include the wrapper

First, you need to include the wrapper into your code, according to the previous installation choice :

  1. add require_once 'PATH_TO_COMPOSER_WRAPPER_DIRECTORY/src/evidev/composer/Wrapper.php'; where PATH_TO_COMPOSER_WRAPPER_DIRECTORY is the path to the cloned repository
  2. add require 'vendor/autoload.php'; please refer to the Composer Documentation
  3. add require_once 'PATH_TO_COMPOSER_WRAPPER_FILE'; where PATH_TO_COMPOSER_WRAPPER_FILE is the path to the Wrapper.php file
  4. add
$wrapper_file = sys_get_temp_dir() . '/Wrapper.php';
if (!file_exists($wrapper_file)) {
    file_put_contents(
        $wrapper_file,
        file_get_contents('https://raw.github.com/eviweb/composer-wrapper/master/src/evidev/composer/Wrapper.php')
    );
}
require_once $wrapper_file;    

Use the wrapper

  1. for a command line use, simply add exit(\evidev\composer\Wrapper::create()->run()); to your executable script
  2. if you want to use it in the body of your script, and pass specific arguments to the Wrapper::run() method you need to do as the following :
$wc = \evidev\composer\Wrapper::create();
$exit_code = $wc->run("COMPOSER_OPTION_OR_COMMAND_AS_STRING");
// add more code here for example
exit($exit_code);

where COMPOSER_OPTION_OR_COMMAND_AS_STRING is a composer option or command

How it works

The Wrapper downloads the composer.phar file when created.
By default the composer.phar is downloaded in sys_get_temp_dir(), but you can specify a target directory by passing its path as a parameter of Wrapper::create().
If this parameter is an empty string or if the directory does not exist, sys_get_temp_dir() is used as fallback
In case of use of many instances of the Wrapper, created with different directories (which should never happened), the first downloaded composer.phar is used.

About

Allows the use of composer from within a script, even if it is not installed.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages