Skip to content

Commit 28264fc

Browse files
[projmgr] Skip processing candidate layers during detection phase
1 parent 5effd60 commit 28264fc

File tree

3 files changed

+10
-46
lines changed

3 files changed

+10
-46
lines changed

tools/projmgr/include/ProjMgrWorker.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -826,7 +826,6 @@ class ProjMgrWorker {
826826
bool CollectLayersFromSearchPath(const std::string& clayerSearchPath, StrVecMap& clayers);
827827
void GetRequiredLayerTypes(ContextItem& context, LayersDiscovering& discover);
828828
bool GetCandidateLayers(LayersDiscovering& discover);
829-
bool ProcessCandidateLayers(ContextItem& context, LayersDiscovering& discover);
830829
bool ProcessLayerCombinations(ContextItem& context, LayersDiscovering& discover);
831830
bool DiscoverMatchingLayers(ContextItem& context, std::string clayerSearchPath);
832831
void CollectConnections(ContextItem& context, ConnectionsCollectionVec& connections);

tools/projmgr/src/ProjMgrWorker.cpp

Lines changed: 8 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -730,47 +730,6 @@ void ProjMgrWorker::GetRequiredLayerTypes(ContextItem& context, LayersDiscoverin
730730
}
731731
}
732732

733-
bool ProjMgrWorker::ProcessCandidateLayers(ContextItem& context, LayersDiscovering& discover) {
734-
// get all candidate layers
735-
if (!GetCandidateLayers(discover)) {
736-
return false;
737-
}
738-
// load device/board specific packs specified in candidate layers
739-
vector<PackItem> packRequirements;
740-
for (const auto& [type, clayers] : discover.candidateClayers) {
741-
for (const auto& clayer : clayers) {
742-
const ClayerItem& clayerItem = m_parser->GetGenericClayers()[clayer];
743-
if (!clayerItem.forBoard.empty() || !clayerItem.forDevice.empty()) {
744-
InsertPackRequirements(clayerItem.packs, packRequirements, clayerItem.directory);
745-
}
746-
}
747-
}
748-
if (packRequirements.size() > 0) {
749-
AddPackRequirements(context, packRequirements);
750-
if (!LoadAllRelevantPacks() || !LoadPacks(context)) {
751-
PrintContextErrors(context.name);
752-
return false;
753-
}
754-
}
755-
// process board/device filtering
756-
if (!ProcessDevice(context)) {
757-
return false;
758-
}
759-
if (!SetTargetAttributes(context, context.targetAttributes)) {
760-
return false;
761-
}
762-
// recollect layers from packs after filtering
763-
discover.genericClayersFromPacks.clear();
764-
if (!CollectLayersFromPacks(context, discover.genericClayersFromPacks)) {
765-
return false;
766-
}
767-
discover.candidateClayers.clear();
768-
if (!GetCandidateLayers(discover)) {
769-
return false;
770-
}
771-
return true;
772-
}
773-
774733
bool ProjMgrWorker::GetCandidateLayers(LayersDiscovering& discover) {
775734
// clayers matching required types
776735
StrVecMap genericClayers = CollectionUtils::MergeStrVecMap(discover.genericClayersFromSearchPath, discover.genericClayersFromPacks);
@@ -805,8 +764,8 @@ bool ProjMgrWorker::DiscoverMatchingLayers(ContextItem& context, string clayerSe
805764
}
806765
// get required layer types
807766
GetRequiredLayerTypes(context, discover);
808-
// process candidate layers
809-
if (!ProcessCandidateLayers(context, discover)) {
767+
// get candidate layers
768+
if (!GetCandidateLayers(discover)) {
810769
return false;
811770
}
812771
// process layer combinations
@@ -4110,12 +4069,16 @@ bool ProjMgrWorker::ListLayers(vector<string>& layers, const string& clayerSearc
41104069
}
41114070
}
41124071
} else {
4113-
// process precedences
4114-
if (!ProcessPrecedences(context)) {
4072+
// process precedences and device/board
4073+
if (!ProcessPrecedences(context, true)) {
41154074
failedContexts.insert(selectedContext);
41164075
error |= true;
41174076
continue;
41184077
}
4078+
if (!SetTargetAttributes(context, context.targetAttributes)) {
4079+
error |= true;
4080+
continue;
4081+
}
41194082
// get matching layers for selected context
41204083
if (!DiscoverMatchingLayers(context, clayerSearchPath)) {
41214084
failedContexts.insert(selectedContext);

tools/projmgr/test/data/TestLayers/genericlayers.csolution.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,5 @@ solution:
2222
packs:
2323
- pack: ARM::RteTest
2424
- pack: ARM::RteTest_DFP
25+
- pack: ARM::[email protected]
26+
for-context: +BoardSpecific

0 commit comments

Comments
 (0)