Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Script for managing version of used in project external libraries (Zend, Symfony, Doctrine etc.)
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
config
doc
src
tests
.gitignore
.gitmodules
README.md

README.md

Introduction

Script for managing versions of external libraries used in project (Zend, Symfony, Doctrine etc). Main idea for library processing: to install or update some library, script will create special directories structure (for Zf library, for ex.):

/usr/local/lib/Zf/
|- stable/
    | - 1.11.2/
    | - 1.11.3/
    | - 1.11.4/
|- revision/
|- latest -> ../stable/1.11.4/library/Zend

In future, for using latest version of Zend Framework you can just create symlink to "latest" directory. This will give you opportunity to update used version for all project by changing only one symlink. Script will automate all procedures for creating libraries, making symlinks, downloading and extracting library sources, even finding information about latest available library version.

Installation

Debian-like OS:

Clone this repository

cd /path/to/lib-get/
git clone git://github.com/kachayev/lib-get.git .
git submodule update --recursive --init

Add symbolic link to file from directory with binaries

ln -s /path/to/lib-get/src/lib-get.py /usr/bin/lib-get
chmod +x /usr/bin/lib-get

Copy configuration file to /etc/lib-get directory

mkdir /etc/lib-get
cp /path/to/lib-get/src/lib-get.py /etc/lib-get/lib-get.conf

(remember, that user should have enough permissions)

Use cases

Zend Framework library as used as example

Intall latest available version of Zend Framework:

lib-get install zf

Intall Zend Framework of version 1.11.3:

lib-get install zf 1.11.3

Collect information and find out latest version of library:

lib-get update zf

Install latest version of Zend Framework and change provider symlink:

lib-get upgrade zf

Create symlink from Zend Framework latest version directory to project relative directory:

mkdir ~/myproject
cd ~/myproject
lib-get use zf libraries/Zend

This command will:

  • check if zf library already installed (latest version is saved in /usr/local/lib/zf/latest)
  • install library, if necessary
  • make directory "libraries", if necessary
  • create symlink by given directory name to
  • show information about library version which is actually used for symlink

You also can set necessary version of library directly:

lib-get use zf libraries/Zend -v 1.11.2

List of supported libraries

  • Zend Framework 1.* (zf)
  • Symfony 1.* (sf)

In plans:

  • Symfony 2 (sf2)
  • Doctrine 1.* (dct)
  • Doctrine 2 (dct2)

Todo

  • [Done] Autodetecting of last library version
  • [Done] Symfony 1.x libraries processing
  • [Done] Full refactoring of code with more flexible architecture
  • [Done] Using external file with configuration for Repository (directories, pathes)
  • [Done] Simple way for installing libraries from Git/SVN repositories
  • Facilities for installing libraries from Git/SVN repositories by information given in configurations
  • Help system with facilities: read about each command, get list of supported libraries
  • Doctrine 1 and 2 libraries processing
  • Symfony 2 library processing
  • Color display for errors and installation log in console output
  • Good documentation with several use cases on GitHub wiki pages
  • Batch processing of libraries, for ex. update all
  • Cross-platform security processing (not only debian-like)
Something went wrong with that request. Please try again.