{
continue;
}
- customInstances.append( InstanceDescription::fromSettings( instancesVListItem.toMap() ) );
+ auto description = InstanceDescription::fromSettings( instancesVListItem.toMap() );
+ if ( !description.isValid() )
+ {
+ cWarning() << "Invalid entry in *instances*" << instancesVListItem;
+ }
+ // Append it **anyway**, since this will bail out after Settings is constructed
+ customInstances.append( description );
}
}
}
}
else
{
+ cDebug() << "Unknown action in *sequence*" << thisActionS;
continue;
}
QStringList thisActionRoster = sequenceVListItem.toMap().value( thisActionS ).toStringList();
Calamares::ModuleSystem::InstanceKeyList roster;
roster.reserve( thisActionRoster.count() );
- std::transform( thisActionRoster.constBegin(),
- thisActionRoster.constEnd(),
- std::back_inserter( roster ),
- []( const QString& s ) { return Calamares::ModuleSystem::InstanceKey::fromString( s ); } );
+ for ( const auto& s : thisActionRoster )
+ {
+ auto instanceKey = Calamares::ModuleSystem::InstanceKey::fromString( s );
+ if ( !instanceKey.isValid() )
+ {
+ cWarning() << "Invalid instance in *sequence*" << s;
+ }
+ roster.append( instanceKey );
+ }
moduleSequence.append( qMakePair( thisAction, roster ) );
}
}
}
void
-Settings::validateSequence()
+Settings::reconcileInstancesAndSequence()
{
// Since moduleFinder captures targetKey by reference, we can
// update targetKey to change what the finder lambda looks for.
m_disableCancelDuringExec = requireBool( config, "disable-cancel-during-exec", false );
m_quitAtEnd = requireBool( config, "quit-at-end", false );
- validateSequence();
+ reconcileInstancesAndSequence();
}
catch ( YAML::Exception& e )
{