diff --git a/.github/workflows/native-build.yml b/.github/workflows/native-build.yml
index f2290a39..2a7fbc0e 100644
--- a/.github/workflows/native-build.yml
+++ b/.github/workflows/native-build.yml
@@ -1,4 +1,4 @@
-name: Native build test
+name: Native build
on:
workflow_dispatch:
@@ -43,18 +43,16 @@ jobs:
- name: 'Build Native Image'
run: |
- pushd server
- mvn -ntp -B --file pom.xml -Pnative package -DskipTests
- popd
+ mvn -ntp -B --file pom.xml -Pnative package -DskipTests -pl server,cli
- name: 'Create distribution'
run: |
- pushd server
- mvn -ntp -B --file pom.xml -Pdist package -DskipTests
- popd
+ mvn -ntp -B --file pom.xml -Pdist package -DskipTests -pl server,cli
- name: 'Upload build artifact'
uses: actions/upload-artifact@v5
with:
name: power-server-${{ runner.os }}-${{ runner.arch }}
- path: server/target/distributions/*.tar.gz
+ path: |
+ server/target/distributions/*.tar.gz
+ cli/target/distributions/*.tar.gz
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index f7b29da9..26c0ff77 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -109,7 +109,7 @@ jobs:
- name: 'Set up Java'
uses: actions/setup-java@v5
with:
- java-version: 17
+ java-version: 21
distribution: 'temurin'
cache: maven
@@ -117,7 +117,7 @@ jobs:
env:
JRELEASER_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
- mvn -ntp -B --file server/pom.xml -Prelease -DartifactsDir=artifacts jreleaser:full-release
+ mvn -ntp -B --file pom.xml -Prelease -DartifactsDir=artifacts jreleaser:full-release -pl server,cli
- name: 'JReleaser output'
if: always()
diff --git a/cli/pom.xml b/cli/pom.xml
index e339d881..b5e5f87e 100644
--- a/cli/pom.xml
+++ b/cli/pom.xml
@@ -10,6 +10,10 @@
power-server-cli
power-server : cli
A CLI command to measure power consumption of the specified process
+
+ ${project.build.directory}/distributions
+
+
net.laprun.sustainability
@@ -33,6 +37,13 @@
+
+
+ kr.motd.maven
+ os-maven-plugin
+ ${os-maven-plugin.version}
+
+
net.revelc.code.formatter
@@ -43,5 +54,47 @@
-
+
+
+ dist
+
+
+
+ maven-assembly-plugin
+ ${maven-assembly-plugin.version}
+
+
+ make-distribution
+ package
+
+ single
+
+
+
+
+ false
+ false
+ ${project.artifactId}-${project.version}-${os.detected.classifier}
+ ${distribution.directory}
+ ${project.build.directory}/assembly/work
+
+ src/main/assembly/assembly.xml
+
+
+
+
+
+
+
+ dist-windows
+
+
+ windows
+
+
+
+ .exe
+
+
+
diff --git a/cli/src/main/assembly/assembly.xml b/cli/src/main/assembly/assembly.xml
new file mode 100644
index 00000000..e02aad18
--- /dev/null
+++ b/cli/src/main/assembly/assembly.xml
@@ -0,0 +1,17 @@
+
+ dist
+
+ tar.gz
+
+
+
+ ${project.build.directory}/${project.artifactId}-${project.version}-runner${executable-suffix}
+
+ ./bin
+ ${project.artifactId}${executable-suffix}
+
+
+
\ No newline at end of file
diff --git a/cli/src/main/java/net/laprun/sustainability/cli/Power.java b/cli/src/main/java/net/laprun/sustainability/cli/Power.java
index 37024eba..3f0e7777 100644
--- a/cli/src/main/java/net/laprun/sustainability/cli/Power.java
+++ b/cli/src/main/java/net/laprun/sustainability/cli/Power.java
@@ -1,6 +1,5 @@
package net.laprun.sustainability.cli;
-import java.io.IOException;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
diff --git a/pom.xml b/pom.xml
index 52b66adc..a2cf8b4d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -340,6 +340,48 @@
+
+ power-server-cli
+ CLI
+
+ power
+
+ BINARY
+
+ RELEASE
+ true
+
+
+ RELEASE
+
+
+
+ {{artifactsDir}}/{{distributionName}}-{{projectVersion}}-linux-x86_64.tar.gz
+ artifacts/{{distributionName}}-{{projectEffectiveVersion}}-linux-x86_64.tar.gz
+ linux-x86_64
+
+
+
+ {{artifactsDir}}/{{distributionName}}-{{projectVersion}}-osx-x86_64.tar.gz
+ artifacts/{{distributionName}}-{{projectEffectiveVersion}}-osx-x86_64.tar.gz
+ osx-x86_64
+
+
+ {{artifactsDir}}/{{distributionName}}-{{projectVersion}}-osx-aarch_64.tar.gz
+
+ {{artifactsDir}}/{{distributionName}}-{{projectEffectiveVersion}}-osx-aarch_64.tar.gz
+ osx-aarch_64
+
+
+