Closed hohwille closed 1 year ago
This action could help to create native-images for different OS's https://github.com/marketplace/actions/github-action-for-graalvm
Just found the same thing in discussion with Jan and wanted to add here, but @alfeilex was faster. Great š So it seems really easy: https://github.com/marketplace/actions/github-action-for-graalvm#building-a-helloworld-with-graalvm-native-image-on-different-platforms
I tried to run the workflow for each OS but there are errors for macOS and windows. Ubuntu works.
macOS: Error: DARWIN does not support building static executable images.
--static
flag
https://github.com/oracle/graal/issues/478
workflow: https://github.com/alfeilex/ide/actions/runs/5784762695/job/15676095099Windows: workflow: https://github.com/alfeilex/ide/actions/runs/5784762695/job/15676095232
Windows also works... it was only because the job for macOS failed and all processing jobs are canceled... I did not know about this behaviour
So we have to fix macOS with this --static
problem
It seems that removing --static
solves the build issue
https://github.com/devonfw/ide/blob/013ced0bbf48fce1fa2a580289ad6edda9e74de2/ide/pom.xml#L160-L162
Do we need --static
at all?
It seems that removing
--static
solves the build issuehttps://github.com/devonfw/ide/blob/013ced0bbf48fce1fa2a580289ad6edda9e74de2/ide/pom.xml#L160-L162
Do we need
--static
at all?
It seems that --static
is used to import statically all dependencies for the application.
We have identified a new problem in this story:
mvn ... deploy
) that should build the product and upload it to nexus.We discussed several solutions for this problem. The most simple solution is as following:
ide
folder but are not included and referenced from a parent POM in the modules
section. So we have ide/Ā«osĀ»/pom.xml
at least for the 3 OS/Architecture combinations we want to support. They have the artifactId
as ide-Ā«osĀ»
so e.g. ide-windows
and directly trigger the logic needed to build our final product without using profiles (like native-image).system
content, the documentation, the LICENSE file, etc.).mvn deploy
on the according OS module.-SNAPSHOT
) and compilation, building documentation, etc. so these things do not have to be done again. However, if not (easily) possible, we could also repeat that.mvn install
) and then do the final product build afterwards.Is transferred to https://github.com/devonfw/IDEasy/issues/4
When #1191 is implemented, the next step is to create the build logic to build the native image:
ide/pom.xml
to build the native image