brick_and_mortar 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +6 -6
- data/lib/brick_and_mortar/project.rb +10 -1
- data/lib/brick_and_mortar/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5a41abd8e89cdf6492f322222a500251e83ceba1
|
4
|
+
data.tar.gz: 8075c07583a84d068bc29f0a0bb72859223eb72f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0c86c4ef885f2f5f4d967d4623644fc86ed0a10fc4e20a31a8dd1bd4ab9d3fc141a32496540c16e653e01a1bebe4e1c635e0873c47a93186935755fea3100794
|
7
|
+
data.tar.gz: ff8e252416bea7ec06f14867f3a0c3693c5eb1c2e32efb2569a9959bf1bf0a6118140dd5c1ad630361f442d288e5b4d078ae8a9fecc02100996361da2ca27fd9
|
data/README.md
CHANGED
@@ -10,9 +10,7 @@ Many programming environments have dependency managers for their own libraries,
|
|
10
10
|
|
11
11
|
It is not nearly as fancy a tool as *Bundler* or the like that does dependency conflict checking and automated updates. Instead, it seeks to do one much less ambitious, but nonetheless extremely useful job:
|
12
12
|
|
13
|
-
**Ensure that all specified dependencies, from here on called *bricks*, are linked or copied into the project's `vendor` directory, recursively.**
|
14
|
-
|
15
|
-
Its possible that there are tools in existence that do exactly this, but I have been unable to find them as of yet. Feel free to point me to them.
|
13
|
+
**Ensure that all specified dependencies, from here on called *bricks*, are linked or copied (not yet implemented) into the project's `vendor` directory, recursively.**
|
16
14
|
|
17
15
|
|
18
16
|
Supported Systems
|
@@ -24,14 +22,14 @@ Currently only targeted for Linux, and only tested on Ubuntu.
|
|
24
22
|
Requirements
|
25
23
|
------------
|
26
24
|
|
27
|
-
- Ruby (>= 1
|
25
|
+
- Ruby (>= 2.1)
|
28
26
|
|
29
27
|
|
30
28
|
Usage
|
31
29
|
-----
|
32
30
|
|
33
31
|
1. Install `brick_and_mortar` gem with `gem install brick_and_mortar`
|
34
|
-
2. Write a `Brickfile
|
32
|
+
2. Write a `Brickfile` in your project's root directory that has the following fields:
|
35
33
|
|
36
34
|
`name`
|
37
35
|
~ The name of the dependency. The directory or link that will be present in the `vendor` directory will have this name.
|
@@ -42,12 +40,14 @@ Usage
|
|
42
40
|
`location`
|
43
41
|
~ Location of the brick. Either local system path, version control repository (*Git*, *Mercurial*, and *Subversion* currently supported), or URL.
|
44
42
|
|
45
|
-
3. Run `
|
43
|
+
3. Run `mortar` to install bricks to `vendor`, downloading them if necessary to `$BRICK_STORE_PREFIX/.brick_store`.
|
46
44
|
|
47
45
|
|
48
46
|
Settings
|
49
47
|
--------
|
50
48
|
|
49
|
+
(None of this is implemented yet).
|
50
|
+
|
51
51
|
Write a `$HOME/.brick_and_mortarrc` file to specify:
|
52
52
|
|
53
53
|
`BRICK_STORE_PREFIX`
|
@@ -27,7 +27,16 @@ module BrickAndMortar
|
|
27
27
|
|
28
28
|
def lay!
|
29
29
|
FileUtils.mkpath vendor
|
30
|
-
@bricks.each
|
30
|
+
@bricks.each do |b|
|
31
|
+
b.lay! vendor
|
32
|
+
sub_brickfile = File.join(b.destination, 'Brickfile')
|
33
|
+
if File.file?(sub_brickfile)
|
34
|
+
Dir.chdir(b.destination) do |dir|
|
35
|
+
subproject = Project.new(sub_brickfile, @config.store)
|
36
|
+
subproject.lay!
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
31
40
|
end
|
32
41
|
end
|
33
42
|
end
|