From b31dad4040847bce6cd46d3551d413ed7a8914f6 Mon Sep 17 00:00:00 2001 From: khalidbelk Date: Mon, 17 Feb 2025 13:35:42 +0100 Subject: [PATCH 1/3] feat: sort features by type, attributes first and operations second This keeps the same order as PlantUml-generated XMI's --- src/xml_gen.ml | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) 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) From 01dbb54ff9da0efe2c13d2c4c6a189f92ab29ebb Mon Sep 17 00:00:00 2001 From: khalidbelk Date: Mon, 17 Feb 2025 13:36:11 +0100 Subject: [PATCH 2/3] feat(ci): trigger CI builds on PR's to main branch as well --- .github/workflows/build-macos.yml | 2 ++ .github/workflows/build-ubuntu.yml | 2 ++ .github/workflows/docker-build.yml | 2 ++ 3 files changed, 6 insertions(+) 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: From 13bb984adf06a4e79604ca682485418535661609 Mon Sep 17 00:00:00 2001 From: khalidbelk Date: Mon, 17 Feb 2025 13:40:35 +0100 Subject: [PATCH 3/3] feat: add puml2xml versioning to XMI header --- src/xml_chunks.ml | 1 + 1 file changed, 1 insertion(+) 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