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 + + +