https://github.com/xp-framework/glue
Glues together XP dependencies from various sources
https://github.com/xp-framework/glue
Last synced: 2 months ago
JSON representation
Glues together XP dependencies from various sources
- Host: GitHub
- URL: https://github.com/xp-framework/glue
- Owner: xp-framework
- Created: 2014-05-16T07:06:09.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2014-12-31T17:51:31.000Z (over 10 years ago)
- Last Synced: 2025-01-20T19:22:24.310Z (4 months ago)
- Language: PHP
- Size: 695 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Glue
====
This tool glues together XP Framework projects. It depends on a `glue.json` file which contains project and dependency information:```json
{
"name" : "thekid/dialog",
"version" : "4.0.0",
"require" : {
"xp-forge/mustache" : ">=1.2",
"xp-framework/core" : "~6.0"
}
}
```To fetch the dependencies, simply run Glue's *install* command:
```sh
$ glue install
===> Running xp.glue.install.Installation@[
xp-forge/mustache => xp.glue.Dependency=1.2.0>
xp-framework/core => xp.glue.Dependency=6.0,<7.0.0>
]
xp-forge/mustache @ >=1.2.0: Checkout[local] 1.3.0
[302 ##########] ->C:\cygwin\home\Timm\devel\xp\mustache\src\main\php\
[302 ##########] ->C:\cygwin\home\Timm\devel\xp\mustache\src\test\php\
xp-framework/core @ >=6.0,<7.0.0: Checkout[local] 6.0.0
[302 ##########] ->C:\cygwin\home\Timm\devel\xp\core\src\main\jay\
[302 ##########] ->C:\cygwin\home\Timm\devel\xp\core\src\main\php\
[302 ##########] ->C:\cygwin\home\Timm\devel\xp\core\src\main\resources\
[302 ##########] ->C:\cygwin\home\Timm\devel\xp\core\src\test\config\
[302 ##########] ->C:\cygwin\home\Timm\devel\xp\core\src\test\php\
[302 ##########] ->C:\cygwin\home\Timm\devel\xp\core\src\test\resources\
xp-forge/json @ >=0.8,<1.0.0: Checkout[local] 0.8.3
[302 ##########] ->C:\cygwin\home\Timm\devel\xp\json\src\main\php\
[302 ##########] ->C:\cygwin\home\Timm\devel\xp\json\src\test\php\OK, 2 dependencies processed, 3 modules installed, 10 paths registered, 0 error(s) occured
Memory used: 2013.09 kB (2087.81 kB peak)
Time taken: 0.025 seconds
```This will fetch the libraries according to the dependency information, place them inside the current directory and adjust the class path accordingly.
***After this step, you're ready to run the checked out software.***
Initial setup
-------------
To set up glue, symlink the `glue` script into a directory in your PATH and place a `glue.ini` file next to it.```sh
$ cd ~/bin
$ ln -s /path/to/glue/glue
$ cp /path/to/glue/glue.ini .
```Open the configuration file and add something along the lines of the following:
```ini
[sources]
checkout@local="xp-framework@/path/to/devel/xp|xp-forge@/path/to/devel/xp"
github-release="https://api.github.com/"
artifactory@idev="https://friebe:******@artifactory.example.com/artifactory/"
```Version specifiers
------------------
You can use the following to select the version you'd like to have installed:| Specifier | Meaning |
| ----------------- | --------|
| `1.0.0`, `1.0` | Exact version match required. |
| `!=1.0.0` | Any version not equal to `1.0.0` will match this. |
| `>1.2`, `>=1.2.3` | A greater than / great than or equal to constraint. |
| `<1.2`, `<=1.2.3` | A less than / less than or equal to constraint. |
| `>=1.2,<1.3` | Use commas to separate multiple conditions applied with a logical **and**. |
| `~1.2` | The next significant release, meaning `>=1.2,<2.0`, so any 1.x version is OK. |
| `1.2.*` | Any version starting with `1.2` matches this wildcard. |Comparisons are performed accordint to [semantic versioning](http://semver.org/).