@@ -51,16 +51,16 @@ CustomGenerator::Get(const std::string &file_identifier) const {
5151return command_.GetDefaultValueByKey (file_identifier);
5252}
5353
54- void CustomGenerator::AddGenInfo (
54+ void CustomGenerator::AddIdInfo (
5555const std::string &id,const std::unordered_set<std::string> &inputs,
5656const std::unordered_set<std::string> &outputs,
5757const GenerateCb &generate_cb,
5858 std::shared_ptr<CustomBlobHandler> blob_handler) {
59- env::assert_fatal (user_.gen_info_map .find (id) == user_.gen_info_map .end (),
59+ env::assert_fatal (user_.ids .find (id) == user_.ids .end (),
6060fmt::format (" Duplicate id {} detected" , id));
6161ASSERT_FATAL (generate_cb," Invalid callback provided" );
6262
63- UserGenInfo schema;
63+ UserIdInfo schema;
6464for (const auto &i : inputs) {
6565 fs::path input =string_as_path (command_.Construct (i));
6666 schema.inputs .emplace (std::move (input));
@@ -71,17 +71,17 @@ void CustomGenerator::AddGenInfo(
7171 }
7272 schema.generate_cb = generate_cb;
7373 schema.blob_handler =std::move (blob_handler);
74- user_.gen_info_map .try_emplace (id,std::move (schema));
74+ user_.ids .try_emplace (id,std::move (schema));
7575 ungrouped_ids_.emplace (id);
7676}
7777
78- void CustomGenerator::AddGroup (const std::string &group_id,
79- std::initializer_list<std::string> ids,
80- const DependencyCb &dependency_cb) {
78+ void CustomGenerator::AddGroupInfo (const std::string &group_id,
79+ std::initializer_list<std::string> ids,
80+ const DependencyCb &dependency_cb) {
8181// Verify that the ids exist
8282// Remove those ids from ungrouped_ids
8383for (const auto &id : ids) {
84- env::assert_fatal (user_.gen_info_map .find (id) != user_.gen_info_map .end (),
84+ env::assert_fatal (user_.ids .find (id) != user_.ids .end (),
8585fmt::format (" Id '{}' is not found" , id));
8686 ungrouped_ids_.erase (id);
8787 }
@@ -131,34 +131,34 @@ void CustomGenerator::BuildGenerate(
131131 std::unordered_set<std::string> &gen_selected_ids,
132132 std::unordered_set<std::string> &dummy_gen_selected_ids) {
133133if (!serialization_.IsLoaded ()) {
134- std::for_each (
135- user_. gen_info_map . begin (), user_. gen_info_map . end (),
136- [&]( const auto &iter) { gen_selected_ids. insert (iter. first ); });
134+ std::for_each (user_. ids . begin (), user_. ids . end (), [&]( const auto &iter) {
135+ gen_selected_ids. insert (iter. first );
136+ });
137137 dirty_ =true ;
138138 }else {
139139// DONE, Conditionally select internal_ids depending on what has
140140// changed
141- const auto &prev_gen_info_map = serialization_.GetLoad ().internal_ids ;
142- const auto &curr_gen_info_map = user_.gen_info_map ;
141+ const auto &prev_ids = serialization_.GetLoad ().internal_ids ;
142+ const auto &curr_ids = user_.ids ;
143143
144- // DONE, MAP REMOVED condition Check ifprev_gen_info_map exists in
145- // curr_gen_info_map Ifprev_gen_info_map does not exist in
146- // curr_gen_info_map , has been removed from existing build We need this
144+ // DONE, MAP REMOVED condition Check ifprev_ids exists in
145+ // curr_ids Ifprev_ids does not exist in
146+ // curr_ids , has been removed from existing build We need this
147147// condition to only set the dirty_ flag
148- for (const auto &[id, _] :prev_gen_info_map ) {
149- if (curr_gen_info_map .find (id) ==curr_gen_info_map .end ()) {
148+ for (const auto &[id, _] :prev_ids ) {
149+ if (curr_ids .find (id) ==curr_ids .end ()) {
150150// MAP REMOVED condition
151151IdRemoved ();
152152 dirty_ =true ;
153153break ;
154154 }
155155 }
156156
157- // DONE, MAP ADDED condition Check ifcurr_gen_info_map exists in
158- // prev_gen_info_map Ifcurr_gen_info_map does not exist in
159- // prev_gen_info_map , has been added to existing build
160- for (const auto &[id, _] :curr_gen_info_map ) {
161- if (prev_gen_info_map .find (id) ==prev_gen_info_map .end ()) {
157+ // DONE, MAP ADDED condition Check ifcurr_ids exists in
158+ // prev_ids Ifcurr_ids does not exist in
159+ // prev_ids , has been added to existing build
160+ for (const auto &[id, _] :curr_ids ) {
161+ if (prev_ids .find (id) ==prev_ids .end ()) {
162162// MAP ADDED condition
163163IdAdded ();
164164 gen_selected_ids.insert (id);
@@ -232,8 +232,8 @@ void CustomGenerator::GenerateTask() {
232232// Store dummy_selected and successfully run schema
233233if (dirty_) {
234234 UserCustomGeneratorSchema user_final_schema;
235- user_final_schema.gen_info_map .insert (success_schema_.begin (),
236- success_schema_.end ());
235+ user_final_schema.ids .insert (success_schema_.begin (),
236+ success_schema_.end ());
237237
238238 user_final_schema.ConvertToInternal ();
239239 serialization_.UpdateStore (user_final_schema);
@@ -278,42 +278,44 @@ tf::Task CustomGenerator::CreateTaskRunner(tf::Subflow &subflow, bool build,
278278
279279void CustomGenerator::TaskRunner (bool run,const std::string &id) {
280280// Convert
281- auto ¤t_gen_info = user_.gen_info_map .at (id);
282- current_gen_info.internal_inputs =internal::path_schema_convert (
283- current_gen_info.inputs , internal::Path::CreateExistingPath);
284- current_gen_info.userblob =
285- current_gen_info.blob_handler !=nullptr
286- ? current_gen_info.blob_handler ->GetSerializedData ()
287- : std::vector<uint8_t >();
281+ {
282+ auto &curr_id_info = user_.ids .at (id);
283+ curr_id_info.internal_inputs =internal::path_schema_convert (
284+ curr_id_info.inputs , internal::Path::CreateExistingPath);
285+ curr_id_info.userblob = curr_id_info.blob_handler !=nullptr
286+ ? curr_id_info.blob_handler ->GetSerializedData ()
287+ : std::vector<uint8_t >();
288+ }
288289
289290// Run
290- const auto ¤t_info = user_.gen_info_map .at (id);
291+ const auto ¤t_id_info = user_.ids .at (id);
291292bool rerun =false ;
292293if (run) {
293294 rerun =true ;
294295 }else {
295296const auto &previous_info = serialization_.GetLoad ().internal_ids .at (id);
296- rerun =internal::CheckPaths (previous_info.internal_inputs ,
297- current_info.internal_inputs ) !=
298- internal::PathState::kNoChange ||
299- internal::CheckChanged (previous_info.outputs , current_info.outputs );
300- if (!rerun && current_info.blob_handler !=nullptr ) {
301- rerun = current_info.blob_handler ->CheckChanged (previous_info.userblob ,
302- current_info.userblob );
297+ rerun =
298+ internal::CheckPaths (previous_info.internal_inputs ,
299+ current_id_info.internal_inputs ) !=
300+ internal::PathState::kNoChange ||
301+ internal::CheckChanged (previous_info.outputs , current_id_info.outputs );
302+ if (!rerun && current_id_info.blob_handler !=nullptr ) {
303+ rerun = current_id_info.blob_handler ->CheckChanged (
304+ previous_info.userblob , current_id_info.userblob );
303305 }
304306 }
305307
306308if (rerun) {
307309 dirty_ =true ;
308- buildcc::CustomGeneratorContextctx (command_,current_info .inputs ,
309- current_info .outputs ,
310- current_info .userblob );
311- bool success =current_info .generate_cb (ctx);
310+ buildcc::CustomGeneratorContextctx (command_,current_id_info .inputs ,
311+ current_id_info .outputs ,
312+ current_id_info .userblob );
313+ bool success =current_id_info .generate_cb (ctx);
312314env::assert_fatal (success,fmt::format (" Generate Cb failed for id {}" , id));
313315 }
314316
315317 std::scoped_lock<std::mutex>guard (success_schema_mutex_);
316- success_schema_.try_emplace (id,current_info );
318+ success_schema_.try_emplace (id,current_id_info );
317319}
318320
319321}// namespace buildcc