summaryrefslogtreecommitdiffhomepage
path: root/cli
diff options
context:
space:
mode:
authorAmlal <amlal.elmahrouss@icloud.com>2024-10-26 14:14:05 +0200
committerAmlal <amlal.elmahrouss@icloud.com>2024-10-26 14:14:05 +0200
commit7b8238b204dd89f11e710148293f8cc2e2baac3b (patch)
treeafabc5c7d9ba04cbfe94835be0d96830ee59a90a /cli
parentd7dcb2695ca2c69b45314cfc261c395e935d355b (diff)
IMP: Improved ManifestBuilder, do not hang when dry running.
Signed-off-by: Amlal <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'cli')
-rw-r--r--cli/ManifestBuilder.cc13
1 files changed, 11 insertions, 2 deletions
diff --git a/cli/ManifestBuilder.cc b/cli/ManifestBuilder.cc
index 2c9c4ad..ca88826 100644
--- a/cli/ManifestBuilder.cc
+++ b/cli/ManifestBuilder.cc
@@ -8,6 +8,7 @@
static int kJobCount = 0;
static bool kFailed = false;
+static bool kDryRun = false;
int main(int argc, char** argv)
{
@@ -31,6 +32,11 @@ int main(int argc, char** argv)
return 0;
}
+ else if (index_path == "--dry-run")
+ {
+ kDryRun = true;
+ continue;
+ }
else if (index_path == "-h" ||
index_path == "--help")
{
@@ -51,12 +57,14 @@ int main(int argc, char** argv)
else
{
kFailed = true;
+
+ --kJobCount;
return;
}
std::cout << "btb: building: " << index_path << std::endl;
- if (builder && !builder->buildTarget(index_path.size(), index_path.c_str()))
+ if (builder && !builder->buildTarget(index_path.size(), index_path.c_str(), kDryRun))
{
kFailed = true;
}
@@ -66,6 +74,7 @@ int main(int argc, char** argv)
}
delete builder;
+ builder = nullptr;
--kJobCount;
}, index_path);
@@ -74,7 +83,7 @@ int main(int argc, char** argv)
}
// wait for completion of all jobs.
- while (kJobCount)
+ while (kJobCount > 1)
{
if (kFailed)
{