forked from lix-project/lix
Export outputPaths function
This is useful for the new hydra-queue-runner.
This commit is contained in:
parent
f90e9b65d6
commit
b65875f859
|
@ -1187,15 +1187,6 @@ void DerivationGoal::inputsRealised()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
PathSet outputPaths(const DerivationOutputs & outputs)
|
|
||||||
{
|
|
||||||
PathSet paths;
|
|
||||||
foreach (DerivationOutputs::const_iterator, i, outputs)
|
|
||||||
paths.insert(i->second.path);
|
|
||||||
return paths;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static bool canBuildLocally(const string & platform)
|
static bool canBuildLocally(const string & platform)
|
||||||
{
|
{
|
||||||
return platform == settings.thisSystem
|
return platform == settings.thisSystem
|
||||||
|
@ -1247,7 +1238,7 @@ void DerivationGoal::tryToBuild()
|
||||||
can't acquire the lock, then continue; hopefully some other
|
can't acquire the lock, then continue; hopefully some other
|
||||||
goal can start a build, and if not, the main loop will sleep a
|
goal can start a build, and if not, the main loop will sleep a
|
||||||
few seconds and then retry this goal. */
|
few seconds and then retry this goal. */
|
||||||
if (!outputLocks.lockPaths(outputPaths(drv.outputs), "", false)) {
|
if (!outputLocks.lockPaths(outputPaths(drv), "", false)) {
|
||||||
worker.waitForAWhile(shared_from_this());
|
worker.waitForAWhile(shared_from_this());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1268,7 +1259,7 @@ void DerivationGoal::tryToBuild()
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
missingPaths = outputPaths(drv.outputs);
|
missingPaths = outputPaths(drv);
|
||||||
if (buildMode != bmCheck)
|
if (buildMode != bmCheck)
|
||||||
foreach (PathSet::iterator, i, validPaths) missingPaths.erase(*i);
|
foreach (PathSet::iterator, i, validPaths) missingPaths.erase(*i);
|
||||||
|
|
||||||
|
|
|
@ -285,4 +285,13 @@ bool wantOutput(const string & output, const std::set<string> & wanted)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
PathSet outputPaths(const Derivation & drv)
|
||||||
|
{
|
||||||
|
PathSet paths;
|
||||||
|
for (auto & i : drv.outputs)
|
||||||
|
paths.insert(i.second.path);
|
||||||
|
return paths;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -89,5 +89,6 @@ Path makeDrvPathWithOutputs(const Path & drvPath, const std::set<string> & outpu
|
||||||
|
|
||||||
bool wantOutput(const string & output, const std::set<string> & wanted);
|
bool wantOutput(const string & output, const std::set<string> & wanted);
|
||||||
|
|
||||||
|
PathSet outputPaths(const Derivation & drv);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue