mirror of
https://github.com/ModOrganizer2/mob.git
synced 2026-07-27 14:07:05 -07:00
removed super flag for parallel_tasks, uses the first child
This commit is contained in:
+9
-12
@@ -23,14 +23,11 @@ void add_tasks()
|
||||
//
|
||||
// mob doesn't have a concept of task dependencies, just task ordering, so
|
||||
// if a task depends on another, it has to be earlier in the order
|
||||
//
|
||||
// true/false arguments to parallel_tasks is whether the sub tasks are super
|
||||
// tasks
|
||||
|
||||
|
||||
// third-party tasks
|
||||
|
||||
add_task<parallel_tasks>(false)
|
||||
add_task<parallel_tasks>()
|
||||
.add_task<sevenz>()
|
||||
.add_task<zlib>()
|
||||
.add_task<fmt>()
|
||||
@@ -42,18 +39,18 @@ void add_tasks()
|
||||
.add_task<bzip2>()
|
||||
.add_task<nmm>();
|
||||
|
||||
add_task<parallel_tasks>(false)
|
||||
add_task<parallel_tasks>()
|
||||
.add_task<tasks::python>()
|
||||
.add_task<boost>()
|
||||
.add_task<boost_di>()
|
||||
.add_task<lz4>()
|
||||
.add_task<spdlog>();
|
||||
|
||||
add_task<parallel_tasks>(false)
|
||||
add_task<parallel_tasks>()
|
||||
.add_task<sip>()
|
||||
.add_task<ncc>();
|
||||
|
||||
add_task<parallel_tasks>(false)
|
||||
add_task<parallel_tasks>()
|
||||
.add_task<pyqt>()
|
||||
.add_task<usvfs>()
|
||||
.add_task<stylesheets>()
|
||||
@@ -68,11 +65,11 @@ void add_tasks()
|
||||
// most of the alternate names below are from the transifex slugs, which
|
||||
// are sometimes different from the project names, for whatever reason
|
||||
|
||||
add_task<parallel_tasks>(true)
|
||||
add_task<parallel_tasks>()
|
||||
.add_task<mo>("cmake_common")
|
||||
.add_task<mo>("modorganizer-uibase");
|
||||
|
||||
add_task<parallel_tasks>(true)
|
||||
add_task<parallel_tasks>()
|
||||
.add_task<mo>("modorganizer-game_features")
|
||||
.add_task<mo>("modorganizer-archive")
|
||||
.add_task<mo>("modorganizer-lootcli")
|
||||
@@ -88,7 +85,7 @@ void add_tasks()
|
||||
// the gamebryo flag must be set for all game plugins that inherit from
|
||||
// the gamebryo classes; this will merge the .ts file from gamebryo with
|
||||
// the one from the specific plugin
|
||||
add_task<parallel_tasks>(true)
|
||||
add_task<parallel_tasks>()
|
||||
.add_task<mo>("modorganizer-game_oblivion", mo::gamebryo)
|
||||
.add_task<mo>("modorganizer-game_fallout3", mo::gamebryo)
|
||||
.add_task<mo>("modorganizer-game_fallout4", mo::gamebryo)
|
||||
@@ -101,7 +98,7 @@ void add_tasks()
|
||||
.add_task<mo>("modorganizer-game_ttw", mo::gamebryo)
|
||||
.add_task<mo>("modorganizer-game_enderal", mo::gamebryo);
|
||||
|
||||
add_task<parallel_tasks>(true)
|
||||
add_task<parallel_tasks>()
|
||||
.add_task<mo>({"modorganizer-tool_inieditor", "inieditor"})
|
||||
.add_task<mo>("modorganizer-tool_inibakery")
|
||||
.add_task<mo>("modorganizer-preview_base")
|
||||
@@ -120,7 +117,7 @@ void add_tasks()
|
||||
.add_task<mo>("modorganizer-plugin_python")
|
||||
.add_task<translations>();
|
||||
|
||||
add_task<parallel_tasks>(true)
|
||||
add_task<parallel_tasks>()
|
||||
.add_task<mo>({"modorganizer-tool_configurator", "pycfg"})
|
||||
.add_task<mo>("modorganizer-fnistool")
|
||||
.add_task<mo>("modorganizer-basic_games")
|
||||
|
||||
+17
-3
@@ -689,11 +689,22 @@ void task::run_tool_impl(tool* t)
|
||||
}
|
||||
|
||||
|
||||
parallel_tasks::parallel_tasks(bool super)
|
||||
: container_task("parallel"), super_(super)
|
||||
parallel_tasks::parallel_tasks()
|
||||
: container_task("parallel")
|
||||
{
|
||||
}
|
||||
|
||||
void parallel_tasks::add_task(std::unique_ptr<task> t)
|
||||
{
|
||||
if (!children_.empty() && children_[0]->is_super() != t->is_super())
|
||||
{
|
||||
gcx().bail_out(context::generic,
|
||||
"parallel task can't mix super and non-super tasks");
|
||||
}
|
||||
|
||||
children_.push_back(std::move(t));
|
||||
}
|
||||
|
||||
std::vector<task*> parallel_tasks::children() const
|
||||
{
|
||||
std::vector<task*> v;
|
||||
@@ -706,7 +717,10 @@ std::vector<task*> parallel_tasks::children() const
|
||||
|
||||
bool parallel_tasks::is_super() const
|
||||
{
|
||||
return super_;
|
||||
if (children_.empty())
|
||||
return false;
|
||||
|
||||
return children_[0]->is_super();
|
||||
}
|
||||
|
||||
void parallel_tasks::run()
|
||||
|
||||
+6
-7
@@ -191,7 +191,7 @@ public:
|
||||
class parallel_tasks : public container_task
|
||||
{
|
||||
public:
|
||||
parallel_tasks(bool super);
|
||||
parallel_tasks();
|
||||
|
||||
bool enabled() const override
|
||||
{
|
||||
@@ -201,21 +201,21 @@ public:
|
||||
template <class Task, class... Args>
|
||||
parallel_tasks& add_task(Args&&... args)
|
||||
{
|
||||
children_.push_back(
|
||||
std::make_unique<Task>(std::forward<Args>(args)...));
|
||||
|
||||
add_task(std::make_unique<Task>(std::forward<Args>(args)...));
|
||||
return *this;
|
||||
}
|
||||
|
||||
template <class Task, class T, class... Args>
|
||||
parallel_tasks& add_task(std::initializer_list<T> il, Args&&... args)
|
||||
{
|
||||
children_.push_back(
|
||||
std::make_unique<Task>(std::move(il), std::forward<Args>(args)...));
|
||||
add_task(std::make_unique<Task>(
|
||||
std::move(il), std::forward<Args>(args)...));
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
void add_task(std::unique_ptr<task> t);
|
||||
|
||||
fs::path get_source_path() const override
|
||||
{
|
||||
return {};
|
||||
@@ -248,7 +248,6 @@ protected:
|
||||
void do_clean(clean c) override;
|
||||
|
||||
private:
|
||||
bool super_;
|
||||
std::vector<std::unique_ptr<task>> children_;
|
||||
std::vector<std::thread> threads_;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user