mirror of
https://github.com/ohwgiles/laminar.git
synced 2024-10-27 20:34:20 +00:00
boost compatibility
This commit is contained in:
parent
56a8301e85
commit
d44d5ba0e6
@ -104,15 +104,14 @@ bool Laminar::setParam(std::string job, int buildNum, std::string param, std::st
|
||||
void Laminar::populateArtifacts(Json &j, std::string job, int num) const {
|
||||
fs::path dir(fs::path(homeDir)/"archive"/job/std::to_string(num));
|
||||
if(fs::is_directory(dir)) {
|
||||
fs::recursive_directory_iterator rdt(dir);
|
||||
int prefixLen = (fs::path(homeDir)/"archive").string().length();
|
||||
int scopeLen = dir.string().length();
|
||||
for(fs::directory_entry e : rdt) {
|
||||
if(!fs::is_regular_file(e))
|
||||
for(fs::recursive_directory_iterator it(dir); it != fs::recursive_directory_iterator(); ++it) {
|
||||
if(!fs::is_regular_file(*it))
|
||||
continue;
|
||||
j.StartObject();
|
||||
j.set("url", archiveUrl + e.path().string().substr(prefixLen));
|
||||
j.set("filename", e.path().string().substr(scopeLen+1));
|
||||
j.set("url", archiveUrl + it->path().string().substr(prefixLen));
|
||||
j.set("filename", it->path().string().substr(scopeLen+1));
|
||||
j.EndObject();
|
||||
}
|
||||
}
|
||||
@ -330,19 +329,18 @@ bool Laminar::loadConfiguration() {
|
||||
fs::path nodeCfg = fs::path(homeDir)/"cfg"/"nodes";
|
||||
|
||||
if(fs::is_directory(nodeCfg)) {
|
||||
fs::directory_iterator dit(nodeCfg);
|
||||
for(fs::directory_entry& it : dit) {
|
||||
if(!fs::is_directory(it.status()))
|
||||
for(fs::directory_iterator it(nodeCfg); it != fs::directory_iterator(); ++it) {
|
||||
if(!fs::is_directory(it->status()))
|
||||
continue;
|
||||
|
||||
fs::directory_entry config(it.path()/"config");
|
||||
fs::directory_entry config(it->path()/"config");
|
||||
if(!fs::is_regular_file(config.status()))
|
||||
continue;
|
||||
|
||||
StringMap conf = parseConfFile(config.path().string().c_str());
|
||||
|
||||
Node node;
|
||||
node.name = it.path().filename().string();
|
||||
node.name = it->path().filename().string();
|
||||
node.numExecutors = conf.get<int>("EXECUTORS", 6);
|
||||
|
||||
std::string tags = conf.get<std::string>("TAGS");
|
||||
@ -371,12 +369,11 @@ bool Laminar::loadConfiguration() {
|
||||
|
||||
fs::path jobsDir = fs::path(homeDir)/"cfg"/"jobs";
|
||||
if(fs::is_directory(jobsDir)) {
|
||||
fs::directory_iterator dit(jobsDir);
|
||||
for(fs::directory_entry& it : dit) {
|
||||
if(!fs::is_directory(it.status()))
|
||||
for(fs::directory_iterator it(jobsDir); it != fs::directory_iterator(); ++it) {
|
||||
if(!fs::is_directory(it->status()))
|
||||
continue;
|
||||
|
||||
fs::directory_entry config(it.path()/"config");
|
||||
fs::directory_entry config(it->path()/"config");
|
||||
if(!fs::is_regular_file(config.status()))
|
||||
continue;
|
||||
|
||||
@ -389,7 +386,7 @@ bool Laminar::loadConfiguration() {
|
||||
std::copy(std::istream_iterator<std::string>(iss),
|
||||
std::istream_iterator<std::string>(),
|
||||
std::inserter(tagList, tagList.begin()));
|
||||
jobTags[it.path().filename().string()] = tagList;
|
||||
jobTags[it->path().filename().string()] = tagList;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -67,7 +67,7 @@ private:
|
||||
void populateArtifacts(Json& out, std::string job, int num) const;
|
||||
|
||||
Run* activeRun(std::string name, int num) {
|
||||
auto it = activeJobs.get<1>().find(std::make_tuple(name, num));
|
||||
auto it = activeJobs.get<1>().find(boost::make_tuple(name, num));
|
||||
return it == activeJobs.get<1>().end() ? nullptr : it->get();
|
||||
}
|
||||
|
||||
|
15
src/run.h
15
src/run.h
@ -107,17 +107,15 @@ private:
|
||||
|
||||
namespace bmi = boost::multi_index;
|
||||
|
||||
struct _same {
|
||||
struct _run_same {
|
||||
typedef const Run* result_type;
|
||||
const Run* operator()(const std::shared_ptr<Run>& run) const {
|
||||
return run.get();
|
||||
}
|
||||
};
|
||||
|
||||
struct RunSet: public boost::multi_index_container<
|
||||
std::shared_ptr<Run>,
|
||||
// A single Run can be fetched by...
|
||||
bmi::indexed_by<
|
||||
// A single Run can be fetched by...
|
||||
struct _run_index : bmi::indexed_by<
|
||||
// their current running pid
|
||||
bmi::hashed_unique<bmi::member<Run, pid_t, &Run::pid>>,
|
||||
bmi::hashed_unique<bmi::composite_key<
|
||||
@ -127,12 +125,17 @@ struct RunSet: public boost::multi_index_container<
|
||||
bmi::member<Run, int, &Run::build>
|
||||
>>,
|
||||
// or a pointer to a Run object.
|
||||
bmi::hashed_unique<_same>,
|
||||
bmi::hashed_unique<_run_same>,
|
||||
// A group of Runs can be fetched by the time they started
|
||||
bmi::ordered_non_unique<bmi::member<Run, time_t, &Run::startedAt>>,
|
||||
// or by their job name
|
||||
bmi::ordered_non_unique<bmi::member<Run, std::string, &Run::name>>
|
||||
>
|
||||
{};
|
||||
|
||||
struct RunSet: public boost::multi_index_container<
|
||||
std::shared_ptr<Run>,
|
||||
_run_index
|
||||
> {
|
||||
// TODO: getters for each index
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user