From 1a06a07237df82073d78cd6dacf41ea48e0dc380 Mon Sep 17 00:00:00 2001
From: Knut-Erik Johnsen <abstract@knut-erik.org>
Date: Fri, 11 Oct 2024 13:11:02 +0200
Subject: [PATCH] Fetch the desired version from github. Release the correct
 version with version name

Signed-off-by: Knut-Erik Johnsen <abstract@knut-erik.org>
---
 .../maven-release-provider-model.yaml         | 42 ++++++++-------
 .../crossplane-provider-upjet-azure/pom.xml   | 54 +++++++++++++++++++
 .../src/main/resources/kubernetes/fetch.sh    |  7 +++
 .../crossplane-provider-upjet-azuread/pom.xml | 53 ++++++++++++++++++
 .../src/main/resources/kubernetes/fetch.sh    |  7 +++
 5 files changed, 143 insertions(+), 20 deletions(-)
 create mode 100644 provider-models/crossplane-provider-upjet-azure/pom.xml
 create mode 100644 provider-models/crossplane-provider-upjet-azuread/pom.xml

diff --git a/.github/workflows/maven-release-provider-model.yaml b/.github/workflows/maven-release-provider-model.yaml
index 4caa450..ed1292d 100644
--- a/.github/workflows/maven-release-provider-model.yaml
+++ b/.github/workflows/maven-release-provider-model.yaml
@@ -36,26 +36,28 @@ jobs:
         env:
           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
         working-directory: "./provider-models/crossplane-${{ github.event.inputs.provider }}/src/main/resources/kubernetes"
-        run : ./fetch.sh
+        run : ./fetch.sh "${{ github.event.inputs.releaseversion }}"
       - name: List crds
         working-directory: "./provider-models/crossplane-${{ github.event.inputs.provider }}/src/main/resources/kubernetes"
         run : ls
-      #- name: Set the revision property
-      #  run: mvn versions:set-property -Dproperty=revision "-DnewVersion=${{ github.event.inputs.releaseversion }}" -DgenerateBackupPoms=false
-      #- name: Build with Maven
-      #  run: mvn -B deploy --file pom.xml -Pdeploy
-      #  env:
-      #    MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
-      #    MAVEN_CENTRAL_TOKEN: ${{ secrets.MAVEN_CENTRAL_TOKEN }}
-      #    MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
-      #    MAVEN_OPTS: "-Xmx2048m"
-      #- name: Create release
-      #  env:
-      #    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-      #    tag: "${{ github.event.inputs.releaseversion }}"
-      #  run: |
-      #    gh release create "$tag" \
-      #        --repo="$GITHUB_REPOSITORY" \
-      #        --title="v${tag#v}" \
-      #        --generate-notes \
-      #        --target "$GITHUB_SHA"
\ No newline at end of file
+      - name: Set the revision property
+        working-directory: "./provider-models/crossplane-${{ github.event.inputs.provider }}"
+        run: mvn versions:set-property -Dproperty=modelrevision "-DnewVersion=${{ github.event.inputs.releaseversion }}" -DgenerateBackupPoms=false
+      - name: Build with Maven
+        working-directory: "./provider-models/crossplane-${{ github.event.inputs.provider }}"
+        run: mvn -B deploy --file pom.xml -Pdeploy
+        env:
+          MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
+          MAVEN_CENTRAL_TOKEN: ${{ secrets.MAVEN_CENTRAL_TOKEN }}
+          MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
+          MAVEN_OPTS: "-Xmx2048m"
+      - name: Create release
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+          tag: "${{ github.event.inputs.releaseversion }}"
+          provider: "${{ github.event.inputs.provider }}"
+        run: |
+          gh release create "$provider-$tag" \
+              --repo="$GITHUB_REPOSITORY" \
+              --title="$provider--v${tag#v}" \
+              --target "$GITHUB_SHA"
\ No newline at end of file
diff --git a/provider-models/crossplane-provider-upjet-azure/pom.xml b/provider-models/crossplane-provider-upjet-azure/pom.xml
new file mode 100644
index 0000000..42c630f
--- /dev/null
+++ b/provider-models/crossplane-provider-upjet-azure/pom.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <!-- PROJECT -->
+    <parent>
+        <groupId>io.crossplane.providers</groupId>
+        <artifactId>crossplane-providers-parent</artifactId>
+        <version>1.17.0-alpha</version>
+    </parent>
+
+    <artifactId>crossplane-provider-upjet-azure-model</artifactId>
+    <description>Crossplane models for the Azure upjet based provider</description>
+
+
+    <version>${modelrevision}</version>
+    <properties>
+        <modelrevision>1.0.0-SNAPSHOT</modelrevision>
+    </properties>
+
+    <!-- DEPENDENCIES -->
+    <dependencies>
+        <dependency>
+            <groupId>io.fabric8</groupId>
+            <artifactId>kubernetes-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.fabric8</groupId>
+            <artifactId>generator-annotations</artifactId>
+        </dependency>
+    </dependencies>
+    <!-- BUILD -->
+    <build>
+        <!-- PLUGINS -->
+        <plugins>
+            <plugin>
+                <groupId>io.fabric8</groupId>
+                <artifactId>java-generator-maven-plugin</artifactId>
+                <version>${kubernetes-client.version}</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>generate</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <source>src/main/resources/kubernetes</source>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
\ No newline at end of file
diff --git a/provider-models/crossplane-provider-upjet-azure/src/main/resources/kubernetes/fetch.sh b/provider-models/crossplane-provider-upjet-azure/src/main/resources/kubernetes/fetch.sh
index 69010ec..c59cd26 100755
--- a/provider-models/crossplane-provider-upjet-azure/src/main/resources/kubernetes/fetch.sh
+++ b/provider-models/crossplane-provider-upjet-azure/src/main/resources/kubernetes/fetch.sh
@@ -2,6 +2,13 @@
 
 release="v1.7.0"
 
+if [ $# -eq 1 ]
+  then
+    release="v$1"
+fi
+
+echo "Fetching release: ${release}"
+
 crds=$(gh api --jq '.[].name' "/repos/crossplane-contrib/provider-upjet-azure/contents/package/crds/?ref=${release}")
 
 
diff --git a/provider-models/crossplane-provider-upjet-azuread/pom.xml b/provider-models/crossplane-provider-upjet-azuread/pom.xml
new file mode 100644
index 0000000..2a840dd
--- /dev/null
+++ b/provider-models/crossplane-provider-upjet-azuread/pom.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <!-- PROJECT -->
+    <parent>
+        <groupId>io.crossplane.providers</groupId>
+        <artifactId>crossplane-providers-parent</artifactId>
+        <version>1.17.0-alpha</version>
+    </parent>
+
+    <artifactId>crossplane-provider-upjet-azuread-model</artifactId>
+    <description>Crossplane models for the Azure AD upjet based provider</description>
+
+    <version>${modelrevision}</version>
+    <properties>
+        <modelrevision>1.0.0-SNAPSHOT</modelrevision>
+    </properties>
+
+    <!-- DEPENDENCIES -->
+    <dependencies>
+        <dependency>
+            <groupId>io.fabric8</groupId>
+            <artifactId>kubernetes-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.fabric8</groupId>
+            <artifactId>generator-annotations</artifactId>
+        </dependency>
+    </dependencies>
+    <!-- BUILD -->
+    <build>
+        <!-- PLUGINS -->
+        <plugins>
+            <plugin>
+                <groupId>io.fabric8</groupId>
+                <artifactId>java-generator-maven-plugin</artifactId>
+                <version>${kubernetes-client.version}</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>generate</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <source>src/main/resources/kubernetes</source>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
\ No newline at end of file
diff --git a/provider-models/crossplane-provider-upjet-azuread/src/main/resources/kubernetes/fetch.sh b/provider-models/crossplane-provider-upjet-azuread/src/main/resources/kubernetes/fetch.sh
index f6721bc..be108f4 100755
--- a/provider-models/crossplane-provider-upjet-azuread/src/main/resources/kubernetes/fetch.sh
+++ b/provider-models/crossplane-provider-upjet-azuread/src/main/resources/kubernetes/fetch.sh
@@ -2,6 +2,13 @@
 
 release="v1.5.0"
 
+if [ $# -eq 1 ]
+  then
+    release="v$1"
+fi
+
+echo "Fetching release: ${release}"
+
 crds=$(gh api --jq '.[].name' "/repos/crossplane-contrib/provider-upjet-azuread/contents/package/crds/?ref=${release}")