MCPcopy Create free account
hub / github.com/KDE/kdevelop / addCustomJob

Method addCustomJob

kdevplatform/project/builderjob.cpp:163–186  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

161}
162
163void BuilderJob::addCustomJob( BuilderJob::BuildType type, KJob* job, ProjectBaseItem* item )
164{
165 Q_D(BuilderJob);
166
167 if (auto* builderJob = qobject_cast<BuilderJob*>(job)) {
168 // If a subjob is a builder job itself, re-own its job list to avoid having recursive composite jobs.
169 const QVector<SubJobData> subjobs = builderJob->d_func()->takeJobList();
170 builderJob->deleteLater();
171 for (const SubJobData& subjob : subjobs) {
172 subjob.job->setParent(this);
173 addSubjob( subjob.job );
174 }
175 d->m_metadata << subjobs;
176 } else {
177 job->setParent(this);
178 addSubjob( job );
179
180 SubJobData data;
181 data.type = type;
182 data.job = job;
183 data.item = item;
184 d->m_metadata << data;
185 }
186}
187
188QVector< SubJobData > BuilderJobPrivate::takeJobList()
189{

Callers 7

addJobMethod · 0.80
installMethod · 0.80
installMethod · 0.80
buildMethod · 0.80
cleanMethod · 0.80
installMethod · 0.80

Calls 3

takeJobListMethod · 0.80
d_funcMethod · 0.80
setParentMethod · 0.45

Tested by

no test coverage detected