summaryrefslogtreecommitdiff
path: root/yarns/implementations.yarn
diff options
context:
space:
mode:
authorTiago Gomes <tiago.gomes@codethink.co.uk>2015-11-20 13:57:31 +0000
committerPedro Alvarez <pedro.alvarez@codethink.co.uk>2016-03-25 02:02:26 +0000
commit110d04440c5d6ec75bf252802badfe5b992bb38e (patch)
tree42aca1865b2610c3210ac888991fc3b509cff032 /yarns/implementations.yarn
parent2f22021e81f65819b3a6f88ac68d20496bd56b15 (diff)
downloadmorph-baserock/pedroalvarez/defv8.tar.gz
WIP Add support for multiple sources per chunkbaserock/pedroalvarez/defv8
TODO: - Add API to the cache server to retrieve a submodule commit from a given path. - Fix cross-bootstrap command. Change-Id: I3475c2bcb648a272fee33bc878a521f79d4e6581
Diffstat (limited to 'yarns/implementations.yarn')
-rw-r--r--yarns/implementations.yarn75
1 files changed, 75 insertions, 0 deletions
diff --git a/yarns/implementations.yarn b/yarns/implementations.yarn
index 9e84b1d1..d7b49c7f 100644
--- a/yarns/implementations.yarn
+++ b/yarns/implementations.yarn
@@ -45,6 +45,81 @@ locally, which we'll tell Morph to access using `file:` URLs. Specifically,
we'll create a repository to hold system and stratum morphologies, and
another to hold a chunk.
+ IMPLEMENTS GIVEN a chunk with recursive sources with non-empty paths
+ cd "$DATADIR/gits/morphs"
+ echo "version: 8" > VERSION
+ cat << EOF >> strata/core.morph
+ - name: invalid-chunk
+ repo: test:chunk-with-submodules
+ ref: master
+ extra-sources:
+ - repo: file://$DATADIR/gits/test-chunk
+ path: somepath
+ ref: master
+ - repo: file://$DATADIR/gits/child-chunk
+ path: somepath
+ EOF
+ git add .
+ git commit -m "More stuff"
+
+
+ IMPLEMENTS GIVEN a chunk with dependencies
+ mkdir "$DATADIR/gits/grandchild-chunk"
+ cd "$DATADIR/gits/grandchild-chunk"
+ git init .
+ touch grandchild-file
+ git add .
+ git commit -m "Initial commit"
+
+ mkdir "$DATADIR/gits/child-chunk"
+ cd "$DATADIR/gits/child-chunk"
+ git init .
+ touch child-file
+ git add .
+ git commit -m "Initial commit"
+ git submodule add -b master file://$DATADIR/gits/grandchild-chunk
+ git commit -m "Initial submodule"
+ git checkout -b new-work
+ git mv child-file child-file-renamed
+ git commit -m "Moar work"
+
+ mkdir "$DATADIR/gits/chunk-with-submodules"
+ cd "$DATADIR/gits/chunk-with-submodules"
+ git init .
+ git add .
+ git commit --allow-empty -m "Initial commit"
+ git submodule add -b master file://$DATADIR/gits/child-chunk
+ #( cd child-chunk && git checkout master)
+ git add .
+ git commit -m "Add submodule"
+
+ cd "$DATADIR/gits/morphs"
+ echo "version: 8" > VERSION
+ cat << EOF >> strata/core.morph
+ - name: chunk-with-submodules
+ morph: chunk-with-submodules.morph
+ repo: test:chunk-with-submodules
+ ref: master
+ extra-sources:
+ - repo: file://$DATADIR/gits/child-chunk
+ path: child-chunk
+ ref: new-work
+ extra-sources:
+ - repo: file://$DATADIR/gits/grandchild-chunk
+ path: grandchild-chunk
+ EOF
+
+ cat << EOF >> chunk-with-submodules.morph
+ name: chunk-with-submodules
+ kind: chunk
+ build-system: manual
+ build-commands:
+ - file exists child-chunk/child-file-renamed
+ - file exists child-chunk/grandchild-chunk/grandchild-file
+ EOF
+ git add .
+ git commit -m "Add moar stuff"
+
IMPLEMENTS GIVEN a git server
# Create a directory for all the git repositories.