summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhillip Smyth <phillipsmyth@Nexus-x240.dyn.ducie.codethink.co.uk>2018-05-29 13:47:30 +0100
committerknownexus <phillip.smyth@codethink.co.uk>2018-07-23 14:26:47 +0100
commite70237a54e4a0d4b5aa0497de6ea6544abc5c2a8 (patch)
tree15830bd3120201083e83901987722f0541937198
parent364706f3282b840d2ff3268ce83904277c8a63e8 (diff)
downloadbuildstream-e70237a54e4a0d4b5aa0497de6ea6544abc5c2a8.tar.gz
Adding caching build trees
buildstream/element.py: Adding build tree to cache buildstream/_versions.py: Bumping BST_CORE_ARTIFACT_VERSION
-rw-r--r--buildstream/_versions.py2
-rw-r--r--buildstream/element.py7
-rw-r--r--tests/cachekey/project/elements/build1.expected2
-rw-r--r--tests/cachekey/project/elements/build2.expected2
-rw-r--r--tests/cachekey/project/elements/compose1.expected2
-rw-r--r--tests/cachekey/project/elements/compose2.expected2
-rw-r--r--tests/cachekey/project/elements/compose3.expected2
-rw-r--r--tests/cachekey/project/elements/compose4.expected2
-rw-r--r--tests/cachekey/project/elements/compose5.expected2
-rw-r--r--tests/cachekey/project/elements/import1.expected2
-rw-r--r--tests/cachekey/project/elements/import2.expected2
-rw-r--r--tests/cachekey/project/elements/import3.expected2
-rw-r--r--tests/cachekey/project/elements/script1.expected2
-rw-r--r--tests/cachekey/project/sources/bzr1.expected2
-rw-r--r--tests/cachekey/project/sources/git1.expected2
-rw-r--r--tests/cachekey/project/sources/git2.expected2
-rw-r--r--tests/cachekey/project/sources/local1.expected2
-rw-r--r--tests/cachekey/project/sources/local2.expected2
-rw-r--r--tests/cachekey/project/sources/ostree1.expected2
-rw-r--r--tests/cachekey/project/sources/patch1.expected2
-rw-r--r--tests/cachekey/project/sources/patch2.expected2
-rw-r--r--tests/cachekey/project/sources/patch3.expected2
-rw-r--r--tests/cachekey/project/sources/tar1.expected2
-rw-r--r--tests/cachekey/project/sources/tar2.expected2
-rw-r--r--tests/cachekey/project/sources/zip1.expected2
-rw-r--r--tests/cachekey/project/sources/zip2.expected2
-rw-r--r--tests/cachekey/project/target.expected2
27 files changed, 33 insertions, 26 deletions
diff --git a/buildstream/_versions.py b/buildstream/_versions.py
index 4b1bc7ec2..28f00f8ca 100644
--- a/buildstream/_versions.py
+++ b/buildstream/_versions.py
@@ -33,4 +33,4 @@ BST_FORMAT_VERSION = 9
# or if buildstream was changed in a way which can cause
# the same cache key to produce something that is no longer
# the same.
-BST_CORE_ARTIFACT_VERSION = 2
+BST_CORE_ARTIFACT_VERSION = 3
diff --git a/buildstream/element.py b/buildstream/element.py
index 4b23e0ece..e9cbdb63e 100644
--- a/buildstream/element.py
+++ b/buildstream/element.py
@@ -1505,14 +1505,21 @@ class Element(Plugin):
filesdir = os.path.join(assembledir, 'files')
logsdir = os.path.join(assembledir, 'logs')
metadir = os.path.join(assembledir, 'meta')
+ buildtreedir = os.path.join(assembledir, 'buildtree')
os.mkdir(assembledir)
os.mkdir(filesdir)
os.mkdir(logsdir)
os.mkdir(metadir)
+ os.mkdir(buildtreedir)
# Hard link files from collect dir to files directory
utils.link_files(collectdir, filesdir)
+ sandbox_build_dir = os.path.join(sandbox_root, self.get_variable('build-root').lstrip(os.sep))
+ # Hard link files from build-root dir to buildtreedir directory
+ if os.path.isdir(sandbox_build_dir):
+ utils.link_files(sandbox_build_dir, buildtreedir)
+
# Copy build log
log_filename = context.get_log_filename()
if log_filename:
diff --git a/tests/cachekey/project/elements/build1.expected b/tests/cachekey/project/elements/build1.expected
index 7c5af6054..a1db77232 100644
--- a/tests/cachekey/project/elements/build1.expected
+++ b/tests/cachekey/project/elements/build1.expected
@@ -1 +1 @@
-3db51572837956b28ffbc4aabdce659b4a1d91dcbb8b75954210346959ed5fa9 \ No newline at end of file
+ba707203aa7dfcaea014e65482058a538910da9934c9f91e3ff0d807613c3586 \ No newline at end of file
diff --git a/tests/cachekey/project/elements/build2.expected b/tests/cachekey/project/elements/build2.expected
index e1bd91218..a61d5e7bb 100644
--- a/tests/cachekey/project/elements/build2.expected
+++ b/tests/cachekey/project/elements/build2.expected
@@ -1 +1 @@
-bcde6fc389b7d8bb7788989b68f68653ab8ed658117012c0611f218f4a585d38 \ No newline at end of file
+7df53245c07746b2d63be01e631a7fcd5befed165fd50175c40a169f07cc35d4 \ No newline at end of file
diff --git a/tests/cachekey/project/elements/compose1.expected b/tests/cachekey/project/elements/compose1.expected
index 86a2a2f2a..820ee93dc 100644
--- a/tests/cachekey/project/elements/compose1.expected
+++ b/tests/cachekey/project/elements/compose1.expected
@@ -1 +1 @@
-6736bbcc055e1801a19288d3a64b622e0b9223164f8ad2ce842b18a4eaa0cfb9 \ No newline at end of file
+ecc49680860cba13bacde567b7cad6c77887518adb7b4cfcce8652baec9a23c9 \ No newline at end of file
diff --git a/tests/cachekey/project/elements/compose2.expected b/tests/cachekey/project/elements/compose2.expected
index a811cc421..20ebc8d4d 100644
--- a/tests/cachekey/project/elements/compose2.expected
+++ b/tests/cachekey/project/elements/compose2.expected
@@ -1 +1 @@
-9294428a0b5c0d44fdb3ab0f883ee87f9e62d51f96c7de1e5e81ed5e3934d403 \ No newline at end of file
+8a845f648d40c69c50528960bcda1ef03477e80f7a5f8cc36853801651de4b27 \ No newline at end of file
diff --git a/tests/cachekey/project/elements/compose3.expected b/tests/cachekey/project/elements/compose3.expected
index ce28c853a..5782e2adb 100644
--- a/tests/cachekey/project/elements/compose3.expected
+++ b/tests/cachekey/project/elements/compose3.expected
@@ -1 +1 @@
-4f1569b9a6317280e6299f9f7f706a6adcc89603030cde51d529dd6dfe2851be \ No newline at end of file
+638f0b81a2062a0e9bd4f4b14fdb20fe62891826debefa80a22866d3dcb92862 \ No newline at end of file
diff --git a/tests/cachekey/project/elements/compose4.expected b/tests/cachekey/project/elements/compose4.expected
index 8d95a3d87..b57d00dc9 100644
--- a/tests/cachekey/project/elements/compose4.expected
+++ b/tests/cachekey/project/elements/compose4.expected
@@ -1 +1 @@
-4c83744bec21c8c38bce2d48396b8df1eb4df7b2f155424016bd012743efd808 \ No newline at end of file
+ce19faef9a28bd14739876785c125ed288d74b01e3861ddbea1c7f7a5fb428b2 \ No newline at end of file
diff --git a/tests/cachekey/project/elements/compose5.expected b/tests/cachekey/project/elements/compose5.expected
index 183534aa4..bc1b0b05e 100644
--- a/tests/cachekey/project/elements/compose5.expected
+++ b/tests/cachekey/project/elements/compose5.expected
@@ -1 +1 @@
-97385aa2192ef0295dd2601e78491d8bdf6b74e98938d0f8011747c2caf3a5c6 \ No newline at end of file
+c29d00bd91a9f1ef61c4b3279759371c9097e1ebfcd9ddf035c8e4997291e35e \ No newline at end of file
diff --git a/tests/cachekey/project/elements/import1.expected b/tests/cachekey/project/elements/import1.expected
index 387da88b7..93dcccae0 100644
--- a/tests/cachekey/project/elements/import1.expected
+++ b/tests/cachekey/project/elements/import1.expected
@@ -1 +1 @@
-99c8f61d415de3a6c96e48299fda5554bf4bbaf56bb4b5acd85861ab37ede0c3 \ No newline at end of file
+e12330e4a0bd5456f460f47d05d52f434634a14549f01786b9b975ec6bf622cc \ No newline at end of file
diff --git a/tests/cachekey/project/elements/import2.expected b/tests/cachekey/project/elements/import2.expected
index 0893dde2a..e9669f003 100644
--- a/tests/cachekey/project/elements/import2.expected
+++ b/tests/cachekey/project/elements/import2.expected
@@ -1 +1 @@
-5f5884c5e4bb7066eede3a135e49753ec06b757a30983513a7a4e0cdd2a8f402 \ No newline at end of file
+55625e5ee18294703fa7005e7688dac4e28cc485b306d534a92c0cf77e434b12 \ No newline at end of file
diff --git a/tests/cachekey/project/elements/import3.expected b/tests/cachekey/project/elements/import3.expected
index 6d0fe864a..d9a12b818 100644
--- a/tests/cachekey/project/elements/import3.expected
+++ b/tests/cachekey/project/elements/import3.expected
@@ -1 +1 @@
-e11f93ec629bc3556e15bd374e67a0b5e34350e1e9b1d1f98f8de984a27bbead \ No newline at end of file
+714e19b870e61af8f4cba9c5a948f2d0d16d63d796d568b9ed4d6329546cce53 \ No newline at end of file
diff --git a/tests/cachekey/project/elements/script1.expected b/tests/cachekey/project/elements/script1.expected
index e8d5b24c4..94a8c92d6 100644
--- a/tests/cachekey/project/elements/script1.expected
+++ b/tests/cachekey/project/elements/script1.expected
@@ -1 +1 @@
-d8388b756de5c8441375ba32cedd9560a65a8f9a85e41038837d342c8fb10004 \ No newline at end of file
+958b4d93aed53a150c6e15246596e122140a64bd338232619abf4a8cb1b8a3ba \ No newline at end of file
diff --git a/tests/cachekey/project/sources/bzr1.expected b/tests/cachekey/project/sources/bzr1.expected
index ca11c959a..e09478788 100644
--- a/tests/cachekey/project/sources/bzr1.expected
+++ b/tests/cachekey/project/sources/bzr1.expected
@@ -1 +1 @@
-519ee88fcca7fea091245713ec68baa048e3d876ea22559d4b2035d3d2ab2494 \ No newline at end of file
+e688b31f8b79f30d11e5fc1121798776d3f9ee68d2d97bb3029bf809fb95892b \ No newline at end of file
diff --git a/tests/cachekey/project/sources/git1.expected b/tests/cachekey/project/sources/git1.expected
index 85dc88500..d7ed0f584 100644
--- a/tests/cachekey/project/sources/git1.expected
+++ b/tests/cachekey/project/sources/git1.expected
@@ -1 +1 @@
-a5424aa7cc25f0ada9ac1245b33d55d078559ae6c50b10bea3db9acb964b058c \ No newline at end of file
+40eb6b2bd3783189b72ac8465fcae7c7424f5804fbf229cc8984c86b9c07fd56 \ No newline at end of file
diff --git a/tests/cachekey/project/sources/git2.expected b/tests/cachekey/project/sources/git2.expected
index 9a643c000..5c88dae88 100644
--- a/tests/cachekey/project/sources/git2.expected
+++ b/tests/cachekey/project/sources/git2.expected
@@ -1 +1 @@
-93bf7344c118664f0d7f2b8e5a6731b2a95de6df83ba7fa2a2ab28227b0b3e8b \ No newline at end of file
+3a85acc6dee15a828bfabc4daa9bc1ea72bafa2293a1d2479a99938afa8ee1ff \ No newline at end of file
diff --git a/tests/cachekey/project/sources/local1.expected b/tests/cachekey/project/sources/local1.expected
index 387da88b7..93dcccae0 100644
--- a/tests/cachekey/project/sources/local1.expected
+++ b/tests/cachekey/project/sources/local1.expected
@@ -1 +1 @@
-99c8f61d415de3a6c96e48299fda5554bf4bbaf56bb4b5acd85861ab37ede0c3 \ No newline at end of file
+e12330e4a0bd5456f460f47d05d52f434634a14549f01786b9b975ec6bf622cc \ No newline at end of file
diff --git a/tests/cachekey/project/sources/local2.expected b/tests/cachekey/project/sources/local2.expected
index 598fe73ba..e72b827b4 100644
--- a/tests/cachekey/project/sources/local2.expected
+++ b/tests/cachekey/project/sources/local2.expected
@@ -1 +1 @@
-780a7e62bbe5bc0f975ec6cd749de6a85f9080d3628f16f881605801597916a7 \ No newline at end of file
+e080c2b9f00416050cb5bfc64b7f8d79d8ee5b6b4e34e9375dfe75c4207593e6 \ No newline at end of file
diff --git a/tests/cachekey/project/sources/ostree1.expected b/tests/cachekey/project/sources/ostree1.expected
index 0e8e83014..7d9694771 100644
--- a/tests/cachekey/project/sources/ostree1.expected
+++ b/tests/cachekey/project/sources/ostree1.expected
@@ -1 +1 @@
-9b06b6e0c213a5475d2b0fcfee537c41dbec579e6109e95f7e7aeb0488f079f6 \ No newline at end of file
+4782d65dc4492ddec81163478d10973afff6b69e65e4a74fed43afff06cd854b \ No newline at end of file
diff --git a/tests/cachekey/project/sources/patch1.expected b/tests/cachekey/project/sources/patch1.expected
index d7cf73c34..edef8c833 100644
--- a/tests/cachekey/project/sources/patch1.expected
+++ b/tests/cachekey/project/sources/patch1.expected
@@ -1 +1 @@
-d5b0f1fa5b4e3e7aa617de303125268c7a7461e415ecf1eccc8aee2cda56897e \ No newline at end of file
+7bf30dfdcb7bc546c9065c992f75122ab8033413eb52777a69a32be61eade124 \ No newline at end of file
diff --git a/tests/cachekey/project/sources/patch2.expected b/tests/cachekey/project/sources/patch2.expected
index 56a92dc8e..e19dfdd59 100644
--- a/tests/cachekey/project/sources/patch2.expected
+++ b/tests/cachekey/project/sources/patch2.expected
@@ -1 +1 @@
-6decb6b49e48a5869b2a438254c911423275662aff73348cd95e64148011c097 \ No newline at end of file
+d7459c7255caca1915aecc9cbd9ee7a3360c7e88d2ed76e050ab7f90653ecfea \ No newline at end of file
diff --git a/tests/cachekey/project/sources/patch3.expected b/tests/cachekey/project/sources/patch3.expected
index f1257bb31..d5c8ac788 100644
--- a/tests/cachekey/project/sources/patch3.expected
+++ b/tests/cachekey/project/sources/patch3.expected
@@ -1 +1 @@
-ab91e0ab9e167c4e9d31480c96a6a91a47ff27246f4eeff4ce6b671cbd865901 \ No newline at end of file
+7d968e2f0675fd998ca880edadd51074d27390ce81f86df3d1435f333bf5712e \ No newline at end of file
diff --git a/tests/cachekey/project/sources/tar1.expected b/tests/cachekey/project/sources/tar1.expected
index ab0bd56ea..7a31d64c9 100644
--- a/tests/cachekey/project/sources/tar1.expected
+++ b/tests/cachekey/project/sources/tar1.expected
@@ -1 +1 @@
-ccb35d04789b0d83fd93a6c2f8688c4abfe20f5bc77420f63054893450b2a832 \ No newline at end of file
+9866109275d09a1c7c2ca882c6a3ed5c93345481f2295fd0afc5cf893f7cb432 \ No newline at end of file
diff --git a/tests/cachekey/project/sources/tar2.expected b/tests/cachekey/project/sources/tar2.expected
index 03241f460..f8fcc601e 100644
--- a/tests/cachekey/project/sources/tar2.expected
+++ b/tests/cachekey/project/sources/tar2.expected
@@ -1 +1 @@
-441c80ed92c77df8247344337f470ac7ab7fe91d2fe3900b498708b0faeac4b5 \ No newline at end of file
+ac35ce227347a0f0d17a4ecacf959f24290c3fd2488284bbe2c879ed9bb3eaea \ No newline at end of file
diff --git a/tests/cachekey/project/sources/zip1.expected b/tests/cachekey/project/sources/zip1.expected
index a3ac93ecf..518e63635 100644
--- a/tests/cachekey/project/sources/zip1.expected
+++ b/tests/cachekey/project/sources/zip1.expected
@@ -1 +1 @@
-be47de64162c9cce0322d0af327092c7afc3a890ba9d6ef92eef016dcced5bae \ No newline at end of file
+38a1d0a72ca251d445d655eb8b5536b10f29ee33924591577ac7e5f9262cc51f \ No newline at end of file
diff --git a/tests/cachekey/project/sources/zip2.expected b/tests/cachekey/project/sources/zip2.expected
index 49bd45fd0..d22be4dbe 100644
--- a/tests/cachekey/project/sources/zip2.expected
+++ b/tests/cachekey/project/sources/zip2.expected
@@ -1 +1 @@
-bedd330938f9405e2febcf1de8428b7180eb62ab73f8e31e49871874ae351735 \ No newline at end of file
+98bbec0b0cc9229f5f11f0a829eb192f041b6ac6e5bdb5fc91c849ce91f1e5cf \ No newline at end of file
diff --git a/tests/cachekey/project/target.expected b/tests/cachekey/project/target.expected
index 4f4c7c1f8..252a85376 100644
--- a/tests/cachekey/project/target.expected
+++ b/tests/cachekey/project/target.expected
@@ -1 +1 @@
-a408b3e4b6ba4d6a6338bd3153728be89a18b74b13bde554411a4371fda487bc \ No newline at end of file
+29c25f47cf186515a7adbec8a613a8ada9fc125b044299cddf1a372b8b4971b3 \ No newline at end of file