Skip to content

Commit ec8da6f

Browse files
authored
feat: add cli execution plugin and workflow (#105)
PR: #105
1 parent 31e2a9c commit ec8da6f

File tree

3 files changed

+105
-3
lines changed

3 files changed

+105
-3
lines changed
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
name: Run Examples
2+
on:
3+
workflow_call:
4+
inputs:
5+
sdk_version:
6+
description: 'SDK version to run examples for'
7+
required: false
8+
type: string
9+
default: 'LATEST'
10+
jdk:
11+
description: 'JDK version to use'
12+
required: true
13+
type: string
14+
default: '21'
15+
distribution:
16+
description: 'JDK distribution to use'
17+
required: false
18+
type: string
19+
default: 'corretto'
20+
sdk_generation_workflow_run_id:
21+
description: 'ID of the SDK generation workflow run'
22+
required: false
23+
type: string
24+
default: ''
25+
secrets:
26+
KEY:
27+
description: 'API Key'
28+
required: true
29+
SECRET:
30+
description: 'API Key'
31+
required: true
32+
33+
jobs:
34+
run-examples:
35+
runs-on: ubuntu-latest
36+
steps:
37+
- uses: actions/checkout@v4
38+
if: ${{ inputs.sdk_generation_workflow_run_id != '' }}
39+
with:
40+
repository: 'ExpediaGroup/rapid-java-sdk'
41+
- uses: dawidd6/action-download-artifact@v6
42+
if: ${{ inputs.sdk_generation_workflow_run_id != '' }}
43+
with:
44+
run_id: ${{ inputs.sdk_generation_workflow_run_id }}
45+
name: jar
46+
path: examples/jar
47+
- uses: dawidd6/action-download-artifact@v6
48+
if: ${{ inputs.sdk_generation_workflow_run_id != '' }}
49+
with:
50+
run_id: ${{ inputs.sdk_generation_workflow_run_id }}
51+
name: sdk
52+
path: examples/sdk
53+
- name: Set up JDK
54+
uses: actions/setup-java@v4
55+
with:
56+
java-version: ${{ inputs.jdk }}
57+
distribution: ${{ inputs.distribution }}
58+
- name: Extract POM from JAR
59+
if: ${{ inputs.sdk_generation_workflow_run_id != '' }}
60+
working-directory: examples
61+
run: unzip -o jar/original-rapid-sdk-${{ inputs.sdk_version }}.jar -d jar/extracted
62+
- name: Overwrite SDK POM file
63+
if: ${{ inputs.sdk_generation_workflow_run_id != '' }}
64+
working-directory: examples
65+
run: mv jar/extracted/META-INF/maven/com.expediagroup/rapid-sdk/pom.xml sdk/pom.xml
66+
- name: Install SDK into local repository
67+
if: ${{ inputs.sdk_generation_workflow_run_id != '' }}
68+
working-directory: examples/sdk
69+
run: mvn install
70+
- name: Install SDK Jar
71+
if: ${{ inputs.sdk_generation_workflow_run_id != '' }}
72+
working-directory: examples
73+
run: mvn install && mvn install:install-file -Dfile=jar/rapid-sdk-${{ inputs.sdk_version }}.jar -DartifactId=rapid-sdk -DgroupId=com.expediagroup -Dversion=${{ inputs.sdk_version }} -Dpackaging=jar
74+
- name: Run Examples
75+
working-directory: examples
76+
run: mvn install exec:java -Drapid-java-sdk.sdk.version="${{ inputs.sdk_version }}" -Dcom.expediagroup.rapidsdkjava.apikey="${{ secrets.KEY }}" -Dcom.expediagroup.rapidsdkjava.apisecret="${{ secrets.SECRET }}"

examples/pom.xml

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,27 @@
1111
<java.version>1.8</java.version>
1212
<maven.compiler.source>1.8</maven.compiler.source>
1313
<maven.compiler.target>1.8</maven.compiler.target>
14+
<rapid-java-sdk.sdk.version>LATEST</rapid-java-sdk.sdk.version>
1415
</properties>
1516

17+
<repositories>
18+
<repository>
19+
<id>oss.sonatype.org-snapshot</id>
20+
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
21+
<releases>
22+
<enabled>false</enabled>
23+
</releases>
24+
<snapshots>
25+
<enabled>true</enabled>
26+
</snapshots>
27+
</repository>
28+
</repositories>
29+
1630
<dependencies>
1731
<dependency>
1832
<groupId>com.expediagroup</groupId>
1933
<artifactId>rapid-sdk</artifactId>
20-
<version>4.3.0</version>
34+
<version>${rapid-java-sdk.sdk.version}</version>
2135
</dependency>
2236

2337
<dependency>
@@ -31,6 +45,18 @@
3145
<artifactId>log4j-slf4j2-impl</artifactId>
3246
<version>2.23.1</version>
3347
</dependency>
34-
3548
</dependencies>
49+
50+
<build>
51+
<plugins>
52+
<plugin>
53+
<groupId>org.codehaus.mojo</groupId>
54+
<artifactId>exec-maven-plugin</artifactId>
55+
<version>3.3.0</version>
56+
<configuration>
57+
<mainClass>com.expediagroup.sdk.rapid.examples.RapidSdkDemoApplication</mainClass>
58+
</configuration>
59+
</plugin>
60+
</plugins>
61+
</build>
3662
</project>

examples/src/main/java/com/expediagroup/sdk/rapid/examples/RapidSdkDemoApplication.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,6 @@ public static void main(String[] args) {
190190
logger.info("== ==");
191191
logger.info("=======================================================================================");
192192
logger.info("=======================================================================================");
193-
193+
System.exit(0);
194194
}
195195
}

0 commit comments

Comments
 (0)