@@ -66,8 +66,9 @@ def _jpackage_impl(ctx):
6666 else :
6767 out = ctx .actions .declare_file (ctx .attr .package_name + "_" + ctx .attr .app_version + "." + extension )
6868 launchers = _launcher_properties (ctx )
69- merge_extra_jars = "\n " .join ([
70- ' (cd workdir/native && "{jar_tool}" xf "{jar}")' .format (
69+ stage_extra_jars = "\n " .join ([
70+ (' cp -L "{jar}" workdir/input/\n '
71+ ' (cd workdir/input && "{jar_tool}" xf "{jar}")' ).format (
7172 jar_tool = java_runtime .java_home + "/bin/jar" ,
7273 jar = extra_jar .path ,
7374 )
@@ -104,12 +105,9 @@ def _jpackage_impl(ctx):
104105 use_default_shell_env = True ,
105106 command = """
106107 rm -rf workdir
107- mkdir -p workdir/input workdir/native workdir/ tmp workdir/dest workdir/home workdir/rpmbuild workdir/resources
108+ mkdir -p workdir/input workdir/tmp workdir/dest workdir/home workdir/rpmbuild workdir/resources
108109 cp -L "{jar}" workdir/input/
109- {merge_extra_jars}
110- if [ -n "$(find workdir/native -type f -print -quit)" ]; then
111- "{jar_tool}" uf "workdir/input/{main_jar}" -C workdir/native .
112- fi
110+ {stage_extra_jars}
113111 chmod u+w workdir/input/*
114112 printf '[Desktop Entry]\\ nName=FluxEngine\\ nComment=FluxEngine\\ nExec=APPLICATION_LAUNCHER\\ nIcon=APPLICATION_ICON\\ nTerminal=false\\ nType=Application\\ nCategories=DEPLOY_BUNDLE_CATEGORY\\ n' > workdir/resources/fluxengine-gui.desktop
115113 if [ "{package_type}" = "rpm" ]; then
@@ -157,7 +155,7 @@ def _jpackage_impl(ctx):
157155 jar = jar .path ,
158156 main_jar = jar .basename ,
159157 jar_tool = java_runtime .java_home + "/bin/jar" ,
160- merge_extra_jars = merge_extra_jars ,
158+ stage_extra_jars = stage_extra_jars ,
161159 main_class = ctx .attr .main_class ,
162160 add_launcher_args = _add_launcher_args (launchers ),
163161 out = out .path ,
@@ -180,8 +178,9 @@ def _jpackage_app_image_impl(ctx):
180178 else :
181179 out = ctx .actions .declare_file (ctx .attr .package_name + "_" + ctx .attr .app_version + ".tar.xz" )
182180 launchers = _launcher_properties (ctx )
183- merge_extra_jars = "\n " .join ([
184- ' (cd workdir/native && "{jar_tool}" xf "{jar}")' .format (
181+ stage_extra_jars = "\n " .join ([
182+ (' cp -L "{jar}" workdir/input/\n '
183+ ' (cd workdir/input && "{jar_tool}" xf "{jar}")' ).format (
185184 jar_tool = java_runtime .java_home + "/bin/jar" ,
186185 jar = extra_jar .path ,
187186 )
@@ -206,12 +205,9 @@ def _jpackage_app_image_impl(ctx):
206205 use_default_shell_env = True ,
207206 command = """
208207 rm -rf workdir
209- mkdir -p workdir/input workdir/native workdir/ tmp workdir/dest workdir/home workdir/resources
208+ mkdir -p workdir/input workdir/tmp workdir/dest workdir/home workdir/resources
210209 cp -L "{jar}" workdir/input/
211- {merge_extra_jars}
212- if [ -n "$(find workdir/native -type f -print -quit)" ]; then
213- "{jar_tool}" uf "workdir/input/{main_jar}" -C workdir/native .
214- fi
210+ {stage_extra_jars}
215211 chmod u+w workdir/input/*
216212 printf '[Desktop Entry]\n Name=FluxEngine\n Comment=FluxEngine\n Exec=APPLICATION_LAUNCHER\n Icon=APPLICATION_ICON\n Terminal=false\n Type=Application\n Categories=DEPLOY_BUNDLE_CATEGORY\n ' > workdir/resources/fluxengine-gui.desktop
217213 TMPDIR="$(pwd)/workdir/tmp"
@@ -249,7 +245,7 @@ def _jpackage_app_image_impl(ctx):
249245 jar = jar .path ,
250246 main_jar = jar .basename ,
251247 jar_tool = java_runtime .java_home + "/bin/jar" ,
252- merge_extra_jars = merge_extra_jars ,
248+ stage_extra_jars = stage_extra_jars ,
253249 main_class = ctx .attr .main_class ,
254250 add_launcher_args = _add_launcher_args (launchers ),
255251 out = out .path ,
0 commit comments