diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index dbfbe0a..3415f30 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -3,6 +3,8 @@ name: Build (macOS) on: push: branches: [main, dev] + pull_request: + branches: [main] jobs: build: diff --git a/.github/workflows/build-ubuntu.yml b/.github/workflows/build-ubuntu.yml index 6ddb872..90209c5 100644 --- a/.github/workflows/build-ubuntu.yml +++ b/.github/workflows/build-ubuntu.yml @@ -3,6 +3,8 @@ name: Build (Ubuntu) on: push: branches: [main, dev] + pull_request: + branches: [main] jobs: build: diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index d391819..31cf63d 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -3,6 +3,8 @@ name: 🐳 Docker Build on: push: branches: [main, dev, testCI] + pull_request: + branches: [main] jobs: diff --git a/src/xml_chunks.ml b/src/xml_chunks.ml index 9f024dd..3ca20e9 100644 --- a/src/xml_chunks.ml +++ b/src/xml_chunks.ml @@ -12,6 +12,7 @@ let xml_header = "PlantUML 1.2024.7 puml2xml + 1.2.0 diff --git a/src/xml_gen.ml b/src/xml_gen.ml index 58dc098..1c45861 100644 --- a/src/xml_gen.ml +++ b/src/xml_gen.ml @@ -20,14 +20,22 @@ let feature_to_xml feature = feature.visibility feature.id +let get_formatted_features features = + features + |> List.sort (fun f1 f2 -> + match f1.feature_type, f2.feature_type with + | Attribute, Method -> -1 + | Method, Attribute -> 1 + | _ -> 0) + |> List.fold_left (fun acc f -> acc ^ "\n" ^ indent 4 ^ feature_to_xml f) "" + let class_to_xml uml_class = - let features_xml = List.fold_left (fun acc f -> - acc ^ "\n" ^ indent 4 ^ feature_to_xml f) "" uml_class.features in - Printf.sprintf "%s\n%s%s\n%s\n%s" - (indent 4) - uml_class.name - uml_class.id - (indent 5) - features_xml - (indent 5) - (indent 4) + let features_xml = get_formatted_features uml_class.features in + Printf.sprintf "%s\n%s%s\n%s\n%s" + (indent 4) + uml_class.name + uml_class.id + (indent 5) + features_xml + (indent 5) + (indent 4)