From 5d6d466c3994b03f3e5b7e21257d34552a26319e751d3ea80b04efbb8215be9a Mon Sep 17 00:00:00 2001
From: Fridrich Strba <fstrba@suse.com>
Date: Mon, 15 Apr 2024 07:32:42 +0000
Subject: [PATCH 1/4] OBS-URL:
 https://build.opensuse.org/package/show/Java:packages/modello?expand=0&rev=40

---
 modello-build.tar.xz      | 4 ++--
 modello-maven-plugin.spec | 3 +++
 modello.spec              | 9 ++++-----
 3 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/modello-build.tar.xz b/modello-build.tar.xz
index 8dde078..7260eb5 100644
--- a/modello-build.tar.xz
+++ b/modello-build.tar.xz
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:73aaa91e5257affba64b5ce72eae0a8f40e999bd48bd2c1caf5ec792bb781c14
-size 4472
+oid sha256:b8d4a4762a66a6f86ad5569afb60e38b0de736799f2f3a97d72f5eac207c50fb
+size 4736
diff --git a/modello-maven-plugin.spec b/modello-maven-plugin.spec
index 361b5e6..3ed9e27 100644
--- a/modello-maven-plugin.spec
+++ b/modello-maven-plugin.spec
@@ -111,12 +111,15 @@ rm -f modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloVeloc
 
 %build
 pushd %{name}
+%{mvn_file} :{*} %{parent}/@1
 %{mvn_build} -f -- -Dsource=8
 popd
 
 %install
 pushd %{name}
+
 %mvn_install
+
 popd
 %fdupes -s %{buildroot}%{_javadocdir}
 
diff --git a/modello.spec b/modello.spec
index a645328..63ef079 100644
--- a/modello.spec
+++ b/modello.spec
@@ -35,6 +35,7 @@ BuildRequires:  atinject
 BuildRequires:  fdupes
 BuildRequires:  google-guice
 BuildRequires:  guava
+BuildRequires:  jackson-core
 BuildRequires:  javadoc-parser
 BuildRequires:  javapackages-local >= 6
 BuildRequires:  jsoup
@@ -52,6 +53,7 @@ Requires:       aopalliance
 Requires:       atinject
 Requires:       google-guice
 Requires:       guava
+Requires:       jackson-core
 Requires:       javadoc-parser
 Requires:       javapackages-tools
 Requires:       plexus-build-api
@@ -95,12 +97,8 @@ cp -p %{SOURCE1} LICENSE
 
 %pom_remove_dep :jackson-bom
 
-%pom_disable_module modello-plugin-jackson modello-plugins
-%pom_disable_module modello-plugin-jsonschema modello-plugins
 %pom_disable_module modello-plugin-snakeyaml modello-plugins
 %pom_disable_module modello-plugin-velocity modello-plugins
-%pom_remove_dep :modello-plugin-jackson modello-maven-plugin
-%pom_remove_dep :modello-plugin-jsonschema modello-maven-plugin
 %pom_remove_dep :modello-plugin-snakeyaml modello-maven-plugin
 %pom_remove_dep :modello-plugin-velocity modello-maven-plugin
 
@@ -115,6 +113,7 @@ build-jar-repository -s lib \
     atinject \
     guava/guava \
     guice/google-guice \
+    jackson-core \
     javadoc-parser \
     jsoup \
     org.eclipse.sisu.inject \
@@ -172,7 +171,7 @@ done
 %fdupes -s %{buildroot}%{_javadocdir}
 
 # script
-%jpackage_script org.codehaus.modello.ModelloCli "" "" modello:objectweb-asm:org.eclipse.sisu.plexus:org.eclipse.sisu.inject:javadoc-parser:google-guice:aopalliance:atinject:plexus-containers/plexus-component-annotations:plexus/classworlds:plexus/utils:plexus/xml:plexus/plexus-build-api:guava:slf4j/api:slf4j/simple %{name} true
+%jpackage_script org.codehaus.modello.ModelloCli "" "" modello:objectweb-asm:org.eclipse.sisu.plexus:org.eclipse.sisu.inject:jackson-core:javadoc-parser:google-guice:aopalliance:atinject:plexus-containers/plexus-component-annotations:plexus/classworlds:plexus/utils:plexus/xml:plexus/plexus-build-api:guava:slf4j/api:slf4j/simple %{name} true
 
 %files -f .mfiles
 %license LICENSE

From 35a5c1918ba34186d826bc0ea2da15ecf8f4f2b8ec3dce386859d7a27cbf1a1b Mon Sep 17 00:00:00 2001
From: Fridrich Strba <fstrba@suse.com>
Date: Mon, 15 Apr 2024 07:50:10 +0000
Subject: [PATCH 2/4] OBS-URL:
 https://build.opensuse.org/package/show/Java:packages/modello?expand=0&rev=41

---
 modello-maven-plugin.spec |  6 ++----
 modello.spec              | 28 +++++++---------------------
 2 files changed, 9 insertions(+), 25 deletions(-)

diff --git a/modello-maven-plugin.spec b/modello-maven-plugin.spec
index 3ed9e27..78b8a20 100644
--- a/modello-maven-plugin.spec
+++ b/modello-maven-plugin.spec
@@ -41,8 +41,10 @@ BuildRequires:  mvn(org.apache.maven:maven-plugin-api)
 BuildRequires:  mvn(org.codehaus.modello:modello-core) = %{version}
 BuildRequires:  mvn(org.codehaus.modello:modello-plugin-converters) = %{version}
 BuildRequires:  mvn(org.codehaus.modello:modello-plugin-dom4j) = %{version}
+BuildRequires:  mvn(org.codehaus.modello:modello-plugin-jackson) = %{version}
 BuildRequires:  mvn(org.codehaus.modello:modello-plugin-java) = %{version}
 BuildRequires:  mvn(org.codehaus.modello:modello-plugin-jdom) = %{version}
+BuildRequires:  mvn(org.codehaus.modello:modello-plugin-jsonschema) = %{version}
 BuildRequires:  mvn(org.codehaus.modello:modello-plugin-sax) = %{version}
 BuildRequires:  mvn(org.codehaus.modello:modello-plugin-stax) = %{version}
 BuildRequires:  mvn(org.codehaus.modello:modello-plugin-xdoc) = %{version}
@@ -96,12 +98,8 @@ cp -p %{SOURCE1} LICENSE
 
 %pom_remove_dep :jackson-bom
 
-%pom_disable_module modello-plugin-jackson modello-plugins
-%pom_disable_module modello-plugin-jsonschema modello-plugins
 %pom_disable_module modello-plugin-snakeyaml modello-plugins
 %pom_disable_module modello-plugin-velocity modello-plugins
-%pom_remove_dep :modello-plugin-jackson modello-maven-plugin
-%pom_remove_dep :modello-plugin-jsonschema modello-maven-plugin
 %pom_remove_dep :modello-plugin-snakeyaml modello-maven-plugin
 %pom_remove_dep :modello-plugin-velocity modello-maven-plugin
 
diff --git a/modello.spec b/modello.spec
index 63ef079..50456b5 100644
--- a/modello.spec
+++ b/modello.spec
@@ -133,37 +133,23 @@ build-jar-repository -s lib \
 %install
 # jars
 install -dm 0755 %{buildroot}%{_javadir}/%{name}
-
-for i in core; do
-  install -pm 0644 %{name}-${i}/target/%{name}-${i}-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}-${i}.jar
-done
-
-for i in converters dom4j java jdom sax stax xdoc xml xpp3 xsd; do
-  install -pm 0644 %{name}-plugins/%{name}-plugin-${i}/target/%{name}-plugin-${i}-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}-plugin-${i}.jar
-done
-
 # poms
 install -dm 0755 %{buildroot}%{_mavenpomdir}/%{name}
-
-for i in core; do
-  %{mvn_install_pom} %{name}-${i}/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/%{name}-${i}.pom
-  %add_maven_depmap %{name}/%{name}-${i}.pom %{name}/%{name}-${i}.jar
-done
-
-for i in converters dom4j java jdom sax stax xdoc xml xpp3 xsd; do
-  %{mvn_install_pom} %{name}-plugins/%{name}-plugin-${i}/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/%{name}-plugin-${i}.pom
-  %add_maven_depmap %{name}/%{name}-plugin-${i}.pom %{name}/%{name}-plugin-${i}.jar
-done
-
 # javadoc
 install -dm 0755 %{buildroot}%{_javadocdir}/%{name}
 
 for i in core; do
+  install -pm 0644 %{name}-${i}/target/%{name}-${i}-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}-${i}.jar
+  %{mvn_install_pom} %{name}-${i}/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/%{name}-${i}.pom
+  %add_maven_depmap %{name}/%{name}-${i}.pom %{name}/%{name}-${i}.jar
   install -dm 0755 %{buildroot}%{_javadocdir}/%{name}/%{name}-${i}
   cp -pr %{name}-${i}/target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}/%{name}-${i}/
 done
 
-for i in converters dom4j java jdom sax stax xdoc xml xpp3 xsd; do
+for i in converters dom4j java jdom sax stax xdoc xml xpp3 xsd jackson jsonschema; do
+  install -pm 0644 %{name}-plugins/%{name}-plugin-${i}/target/%{name}-plugin-${i}-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}-plugin-${i}.jar
+  %{mvn_install_pom} %{name}-plugins/%{name}-plugin-${i}/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/%{name}-plugin-${i}.pom
+  %add_maven_depmap %{name}/%{name}-plugin-${i}.pom %{name}/%{name}-plugin-${i}.jar
   install -dm 0755 %{buildroot}%{_javadocdir}/%{name}/%{name}-plugin-${i}
   cp -pr %{name}-plugins/%{name}-plugin-${i}/target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}/%{name}-plugin-${i}/
 done

From 2869277080977a22801a86e8aee465ea33c3c8fbfed5de89f4b21314de9e48b8 Mon Sep 17 00:00:00 2001
From: Fridrich Strba <fstrba@suse.com>
Date: Tue, 16 Apr 2024 13:06:04 +0000
Subject: [PATCH 3/4] OBS-URL:
 https://build.opensuse.org/package/show/Java:packages/modello?expand=0&rev=43

---
 modello-build.tar.xz         |  4 ++--
 modello-maven-plugin.changes |  5 +++++
 modello-maven-plugin.spec    | 14 +++-----------
 modello.changes              |  5 +++++
 modello.spec                 | 27 ++++++++++++---------------
 5 files changed, 27 insertions(+), 28 deletions(-)

diff --git a/modello-build.tar.xz b/modello-build.tar.xz
index 7260eb5..b30cc03 100644
--- a/modello-build.tar.xz
+++ b/modello-build.tar.xz
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:b8d4a4762a66a6f86ad5569afb60e38b0de736799f2f3a97d72f5eac207c50fb
-size 4736
+oid sha256:501f2c19edb24f6e21bc00e19d800f94fcc0e047d281b43da14d186c10c7584d
+size 5000
diff --git a/modello-maven-plugin.changes b/modello-maven-plugin.changes
index 7122d79..f0ebba9 100644
--- a/modello-maven-plugin.changes
+++ b/modello-maven-plugin.changes
@@ -1,3 +1,8 @@
+-------------------------------------------------------------------
+Tue Apr 16 13:04:04 UTC 2024 - Fridrich Strba <fstrba@suse.com>
+
+- Build all modello plugins
+
 -------------------------------------------------------------------
 Sun Apr 14 06:13:08 UTC 2024 - Fridrich Strba <fstrba@suse.com>
 
diff --git a/modello-maven-plugin.spec b/modello-maven-plugin.spec
index 78b8a20..78d8078 100644
--- a/modello-maven-plugin.spec
+++ b/modello-maven-plugin.spec
@@ -46,7 +46,9 @@ BuildRequires:  mvn(org.codehaus.modello:modello-plugin-java) = %{version}
 BuildRequires:  mvn(org.codehaus.modello:modello-plugin-jdom) = %{version}
 BuildRequires:  mvn(org.codehaus.modello:modello-plugin-jsonschema) = %{version}
 BuildRequires:  mvn(org.codehaus.modello:modello-plugin-sax) = %{version}
+BuildRequires:  mvn(org.codehaus.modello:modello-plugin-snakeyaml) = %{version}
 BuildRequires:  mvn(org.codehaus.modello:modello-plugin-stax) = %{version}
+BuildRequires:  mvn(org.codehaus.modello:modello-plugin-velocity) = %{version}
 BuildRequires:  mvn(org.codehaus.modello:modello-plugin-xdoc) = %{version}
 BuildRequires:  mvn(org.codehaus.modello:modello-plugin-xpp3) = %{version}
 BuildRequires:  mvn(org.codehaus.modello:modello-plugin-xsd) = %{version}
@@ -90,23 +92,13 @@ cp -p %{SOURCE1} LICENSE
 %pom_remove_plugin :maven-enforcer-plugin
 %pom_remove_plugin :sisu-maven-plugin
 
-%pom_remove_dep :plexus-xml modello-core
 %pom_remove_dep :sisu-guice modello-core
 %pom_add_dep com.google.inject:guice modello-core
 
-%pom_add_dep org.codehaus.plexus:plexus-xml:3.0.0 modello-core
+%pom_change_dep -r :velocity-engine-core :velocity
 
 %pom_remove_dep :jackson-bom
 
-%pom_disable_module modello-plugin-snakeyaml modello-plugins
-%pom_disable_module modello-plugin-velocity modello-plugins
-%pom_remove_dep :modello-plugin-snakeyaml modello-maven-plugin
-%pom_remove_dep :modello-plugin-velocity modello-maven-plugin
-
-rm -f modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloVelocityMojo.java
-
-%pom_disable_module modello-test
-
 %build
 pushd %{name}
 %{mvn_file} :{*} %{parent}/@1
diff --git a/modello.changes b/modello.changes
index b4a0ae2..5a27975 100644
--- a/modello.changes
+++ b/modello.changes
@@ -1,3 +1,8 @@
+-------------------------------------------------------------------
+Tue Apr 16 13:04:04 UTC 2024 - Fridrich Strba <fstrba@suse.com>
+
+- Build all modello plugins
+
 -------------------------------------------------------------------
 Sun Apr 14 06:13:08 UTC 2024 - Fridrich Strba <fstrba@suse.com>
 
diff --git a/modello.spec b/modello.spec
index 50456b5..3d14a6c 100644
--- a/modello.spec
+++ b/modello.spec
@@ -42,13 +42,14 @@ BuildRequires:  jsoup
 BuildRequires:  objectweb-asm
 BuildRequires:  plexus-build-api
 BuildRequires:  plexus-classworlds
-BuildRequires:  plexus-containers-component-annotations
 BuildRequires:  plexus-utils
 BuildRequires:  plexus-xml
 BuildRequires:  sisu-inject
 BuildRequires:  sisu-plexus
 BuildRequires:  slf4j
+BuildRequires:  snakeyaml
 BuildRequires:  unzip
+BuildRequires:  velocity
 Requires:       aopalliance
 Requires:       atinject
 Requires:       google-guice
@@ -58,12 +59,13 @@ Requires:       javadoc-parser
 Requires:       javapackages-tools
 Requires:       plexus-build-api
 Requires:       plexus-classworlds
-Requires:       plexus-containers-component-annotations
 Requires:       plexus-utils
 Requires:       plexus-xml
 Requires:       sisu-inject
 Requires:       sisu-plexus
 Requires:       slf4j
+Requires:       snakeyaml
+Requires:       velocity
 BuildArch:      noarch
 
 %description
@@ -95,17 +97,11 @@ cp -p %{SOURCE1} LICENSE
 %pom_remove_dep :sisu-guice modello-core
 %pom_add_dep com.google.inject:guice modello-core
 
+# This builds correctly with the older velocity 1.x and avoids build cycles
+%pom_change_dep -r :velocity-engine-core :velocity
+
 %pom_remove_dep :jackson-bom
 
-%pom_disable_module modello-plugin-snakeyaml modello-plugins
-%pom_disable_module modello-plugin-velocity modello-plugins
-%pom_remove_dep :modello-plugin-snakeyaml modello-maven-plugin
-%pom_remove_dep :modello-plugin-velocity modello-maven-plugin
-
-rm -f modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloVelocityMojo.java
-
-%pom_disable_module modello-test
-
 %build
 mkdir -p lib
 build-jar-repository -s lib \
@@ -123,8 +119,9 @@ build-jar-repository -s lib \
     plexus/plexus-build-api \
     plexus/utils \
     plexus/xml \
-    plexus-containers/plexus-component-annotations \
-    slf4j/api
+    slf4j/api \
+    snakeyaml \
+    velocity
 
 %{ant} \
   -Dtest.skip=true \
@@ -146,7 +143,7 @@ for i in core; do
   cp -pr %{name}-${i}/target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}/%{name}-${i}/
 done
 
-for i in converters dom4j java jdom sax stax xdoc xml xpp3 xsd jackson jsonschema; do
+for i in converters dom4j java jdom sax stax xdoc xml xpp3 xsd jackson jsonschema snakeyaml velocity; do
   install -pm 0644 %{name}-plugins/%{name}-plugin-${i}/target/%{name}-plugin-${i}-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}-plugin-${i}.jar
   %{mvn_install_pom} %{name}-plugins/%{name}-plugin-${i}/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/%{name}-plugin-${i}.pom
   %add_maven_depmap %{name}/%{name}-plugin-${i}.pom %{name}/%{name}-plugin-${i}.jar
@@ -157,7 +154,7 @@ done
 %fdupes -s %{buildroot}%{_javadocdir}
 
 # script
-%jpackage_script org.codehaus.modello.ModelloCli "" "" modello:objectweb-asm:org.eclipse.sisu.plexus:org.eclipse.sisu.inject:jackson-core:javadoc-parser:google-guice:aopalliance:atinject:plexus-containers/plexus-component-annotations:plexus/classworlds:plexus/utils:plexus/xml:plexus/plexus-build-api:guava:slf4j/api:slf4j/simple %{name} true
+%jpackage_script org.codehaus.modello.ModelloCli "" "" modello:objectweb-asm:org.eclipse.sisu.plexus:org.eclipse.sisu.inject:jackson-core:javadoc-parser:google-guice:aopalliance:atinject:plexus-containers/plexus-component-annotations:plexus/classworlds:plexus/utils:plexus/xml:plexus/plexus-build-api:guava:slf4j/api:slf4j/simple:snakeyaml:velocity %{name} true
 
 %files -f .mfiles
 %license LICENSE

From 4a1e7dd494fa4728b2305ae5987258655cdc23ab455db6c34b2bcd7f293995fe Mon Sep 17 00:00:00 2001
From: Fridrich Strba <fstrba@suse.com>
Date: Tue, 16 Apr 2024 17:17:17 +0000
Subject: [PATCH 4/4] OBS-URL:
 https://build.opensuse.org/package/show/Java:packages/modello?expand=0&rev=44

---
 modello-build.tar.xz |  4 ++--
 modello.spec         | 23 ++++++++++++++++++++---
 2 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/modello-build.tar.xz b/modello-build.tar.xz
index b30cc03..d4794ce 100644
--- a/modello-build.tar.xz
+++ b/modello-build.tar.xz
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:501f2c19edb24f6e21bc00e19d800f94fcc0e047d281b43da14d186c10c7584d
-size 5000
+oid sha256:d2464c5ae4ed8d9e6cf481175c8f16d957e750721a4ccc51652ff890d24962ed
+size 5032
diff --git a/modello.spec b/modello.spec
index 3d14a6c..930f323 100644
--- a/modello.spec
+++ b/modello.spec
@@ -39,9 +39,11 @@ BuildRequires:  jackson-core
 BuildRequires:  javadoc-parser
 BuildRequires:  javapackages-local >= 6
 BuildRequires:  jsoup
+BuildRequires:  junit
 BuildRequires:  objectweb-asm
 BuildRequires:  plexus-build-api
 BuildRequires:  plexus-classworlds
+BuildRequires:  plexus-compiler
 BuildRequires:  plexus-utils
 BuildRequires:  plexus-xml
 BuildRequires:  sisu-inject
@@ -77,6 +79,16 @@ architecture, various types of code and descriptors can be generated
 from the single model, including Java POJOs, XML
 marshallers/unmarshallers, XSD and documentation.
 
+%package test
+Summary:        Modello Test Package
+Group:          Development/Libraries/Java
+Requires:       %{name} = %{version}
+
+%description test
+Modello Test Package contains the basis to create Modello generator
+unit-tests, including sample models and xml files to test every
+feature for every plugin.
+
 %package javadoc
 Summary:        Javadoc for %{name}
 Group:          Development/Libraries/Java
@@ -112,10 +124,12 @@ build-jar-repository -s lib \
     jackson-core \
     javadoc-parser \
     jsoup \
+    junit \
     org.eclipse.sisu.inject \
     org.eclipse.sisu.plexus \
     plexus/classworlds \
     plexus/cli \
+    plexus-compiler \
     plexus/plexus-build-api \
     plexus/utils \
     plexus/xml \
@@ -135,10 +149,10 @@ install -dm 0755 %{buildroot}%{_mavenpomdir}/%{name}
 # javadoc
 install -dm 0755 %{buildroot}%{_javadocdir}/%{name}
 
-for i in core; do
+for i in core test; do
   install -pm 0644 %{name}-${i}/target/%{name}-${i}-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}-${i}.jar
   %{mvn_install_pom} %{name}-${i}/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/%{name}-${i}.pom
-  %add_maven_depmap %{name}/%{name}-${i}.pom %{name}/%{name}-${i}.jar
+  %add_maven_depmap %{name}/%{name}-${i}.pom %{name}/%{name}-${i}.jar -f ${i}
   install -dm 0755 %{buildroot}%{_javadocdir}/%{name}/%{name}-${i}
   cp -pr %{name}-${i}/target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}/%{name}-${i}/
 done
@@ -156,10 +170,13 @@ done
 # script
 %jpackage_script org.codehaus.modello.ModelloCli "" "" modello:objectweb-asm:org.eclipse.sisu.plexus:org.eclipse.sisu.inject:jackson-core:javadoc-parser:google-guice:aopalliance:atinject:plexus-containers/plexus-component-annotations:plexus/classworlds:plexus/utils:plexus/xml:plexus/plexus-build-api:guava:slf4j/api:slf4j/simple:snakeyaml:velocity %{name} true
 
-%files -f .mfiles
+%files -f .mfiles -f .mfiles-core
 %license LICENSE
 %{_bindir}/*
 
+%files test -f .mfiles-test
+%license LICENSE
+
 %files javadoc
 %license LICENSE
 %{_javadocdir}/%{name}