mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-30 03:27:33 +08:00
[build] fix module parsing
some extra modules where included when several firmware of the same times are defined in an airframe test is now done on the complete xml, instead of only the name
This commit is contained in:
@@ -198,7 +198,7 @@ let expand_includes = fun ac_id xml ->
|
||||
else x @ [c]
|
||||
) [] children)
|
||||
|
||||
exception Firmware_Found of string
|
||||
exception Firmware_Found of Xml.xml
|
||||
(** [get_modules_of_airframe xml]
|
||||
* Returns a list of module configuration from airframe file *)
|
||||
let rec get_modules_of_airframe = fun ?target xml ->
|
||||
@@ -210,10 +210,9 @@ let rec get_modules_of_airframe = fun ?target xml ->
|
||||
| Some t -> begin try
|
||||
Xml.iter (fun x ->
|
||||
if Xml.tag x = "firmware" then begin
|
||||
let name = ExtXml.attrib x "name" in
|
||||
Xml.iter (fun x ->
|
||||
if Xml.tag x = "target" then begin
|
||||
if Xml.attrib x "name" = t then raise (Firmware_Found name)
|
||||
Xml.iter (fun xt ->
|
||||
if Xml.tag xt = "target" then begin
|
||||
if Xml.attrib xt "name" = t then raise (Firmware_Found x)
|
||||
end) x
|
||||
end) xml;
|
||||
None
|
||||
@@ -236,9 +235,8 @@ let rec get_modules_of_airframe = fun ?target xml ->
|
||||
else failwith ("Unkown module " ^ file)
|
||||
end
|
||||
| Xml.Element (tag, _attrs, children) when tag = "firmware" ->
|
||||
let name = Xml.attrib xml "name" in
|
||||
begin match firmware with
|
||||
| Some f when f = name ->
|
||||
| Some f when String.compare (Xml.to_string f) (Xml.to_string xml) = 0 ->
|
||||
List.fold_left (fun acc xml ->
|
||||
iter_modules targets acc xml) modules children
|
||||
| None ->
|
||||
|
||||
Reference in New Issue
Block a user