Skip to content

Commit

Permalink
#2633 Build Linux aarch64 product
Browse files Browse the repository at this point in the history
This product can be needed in Linux docker containers running on Apple
Silicon computer.

Change-Id: I07cf3903e2cfaa24c31b68e573df2216edc8bc21
Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
  • Loading branch information
mPorhel authored and pdulth committed Mar 29, 2023
1 parent e7cb56f commit 753d3d4
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 3 deletions.
6 changes: 5 additions & 1 deletion Jenkinsfile
Expand Up @@ -48,10 +48,14 @@ pipeline {
os = 'mac'
def jdkMacFolder = os + jre
downloader.downloadTemurinJDK17(jdkMacFolder, os)


os = 'mac-aarch64'
def jdkMacSiliconFolder = os + jre
downloader.downloadTemurinJDK17(jdkMacSiliconFolder, os)

os = 'linux-aarch64'
def jdkLinuxSiliconFolder = os + jre
downloader.downloadTemurinJDK17(jdkLinuxSiliconFolder, os)
}
}
}
Expand Down
5 changes: 5 additions & 0 deletions pom.xml
Expand Up @@ -90,6 +90,11 @@
<ws>gtk</ws>
<arch>x86_64</arch>
</environment>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>aarch64</arch>
</environment>
<environment>
<os>macosx</os>
<ws>cocoa</ws>
Expand Down
37 changes: 35 additions & 2 deletions releng/plugins/org.polarsys.capella.rcp.product/pom.xml
Expand Up @@ -69,6 +69,7 @@
<target>
<!-- Create the dropins folder -->
<mkdir dir="${project.build.directory}/products/org.polarsys.capella.rcp.product/linux/gtk/x86_64/dropins"/>
<mkdir dir="${project.build.directory}/products/org.polarsys.capella.rcp.product/linux/gtk/aarch64/dropins"/>
<mkdir dir="${project.build.directory}/products/org.polarsys.capella.rcp.product/macosx/cocoa/x86_64/Capella.app/Contents/Eclipse/dropins"/>
<mkdir dir="${project.build.directory}/products/org.polarsys.capella.rcp.product/macosx/cocoa/aarch64/Capella.app/Contents/Eclipse/dropins"/>
<mkdir dir="${project.build.directory}/products/org.polarsys.capella.rcp.product/win32/win32/x86_64/dropins"/>
Expand All @@ -90,6 +91,10 @@
<include name="config.ini"/>
<replacefilter token="eclipse.application=org.polarsys.capella.core.platform.sirius.ui.perspective.id" value="eclipse.application=org.polarsys.capella.core.platform.sirius.ui.perspective.id${line.separator}org.eclipse.update.reconcile=false"/>
</replace>
<replace dir="${project.build.directory}/products/org.polarsys.capella.rcp.product/linux/gtk/aarch64/configuration">
<include name="config.ini"/>
<replacefilter token="eclipse.application=org.polarsys.capella.core.platform.sirius.ui.perspective.id" value="eclipse.application=org.polarsys.capella.core.platform.sirius.ui.perspective.id${line.separator}org.eclipse.update.reconcile=false"/>
</replace>
<replace dir="${project.build.directory}/products/org.polarsys.capella.rcp.product/macosx/cocoa/x86_64/Capella.app/Contents/Eclipse/configuration">
<include name="config.ini"/>
<replacefilter token="eclipse.application=org.polarsys.capella.core.platform.sirius.ui.perspective.id" value="eclipse.application=org.polarsys.capella.core.platform.sirius.ui.perspective.id${line.separator}org.eclipse.update.reconcile=false"/>
Expand Down Expand Up @@ -129,6 +134,32 @@
</tarfileset>
</tar>

<!-- Move the Linux aarch64 JRE into the product -->
<move todir="${project.build.directory}/products/org.polarsys.capella.rcp.product/linux/gtk/aarch64/jre" includeEmptyDirs="yes">
<fileset dir="../../../linux-aarch64JRE/jre">
<include name="**/*" />
</fileset>
</move>

<!-- Tar.gz the Linux product -->
<tar destfile="${project.build.directory}/products/capella-${unqualifiedVersion}.${buildQualifier}-linux-gtk-aarch64.tar.gz" compression="gzip" longfile="gnu">
<tarfileset dir="${project.build.directory}/products/org.polarsys.capella.rcp.product/linux/gtk/aarch64" prefix="capella">
<include name="**/*" />
<exclude name="capella"/>
<exclude name="jre/bin/*"/>
<exclude name="jre/lib/jspawnhelper"/>
</tarfileset>
<tarfileset dir="${project.build.directory}/products/org.polarsys.capella.rcp.product/linux/gtk/aarch64" prefix="capella" filemode="755">
<include name="capella"/>
<include name="jre/bin/*"/>
<include name="jre/lib/jspawnhelper"/>
</tarfileset>
<tarfileset dir="../../../samples" prefix="samples">
<exclude name="target/**"/>
<exclude name="pom.xml"/>
</tarfileset>
</tar>

<!-- Move the Mac x86_64 JRE into the product -->
<move todir="${project.build.directory}/products/org.polarsys.capella.rcp.product/macosx/cocoa/x86_64/Capella.app/Contents/jre" includeEmptyDirs="yes">
<fileset dir="../../../macJRE/jre">
Expand All @@ -148,7 +179,8 @@
<include name="Capella.app/Contents/MacOS/capella"/>
<include name="Capella.app/Contents/jre/Contents/Home/bin/*"/>
<include name="Capella.app/Contents/jre/Contents/Home/lib/jspawnhelper"/>
</tarfileset><tarfileset dir="../../../samples" prefix="Capella.app/Contents/samples">
</tarfileset>
<tarfileset dir="../../../samples" prefix="Capella.app/Contents/samples">
<exclude name="target/**"/>
<exclude name="pom.xml"/>
</tarfileset>
Expand All @@ -173,7 +205,8 @@
<include name="Capella.app/Contents/MacOS/capella"/>
<include name="Capella.app/Contents/jre/Contents/Home/bin/*"/>
<include name="Capella.app/Contents/jre/Contents/Home/lib/jspawnhelper"/>
</tarfileset><tarfileset dir="../../../samples" prefix="Capella.app/Contents/samples">
</tarfileset>
<tarfileset dir="../../../samples" prefix="Capella.app/Contents/samples">
<exclude name="target/**"/>
<exclude name="pom.xml"/>
</tarfileset>
Expand Down

0 comments on commit 753d3d4

Please sign in to comment.