On Thu, 2 Jun 2022 05:17:25 GMT, Alexander Matveev <almat...@openjdk.org> wrote:

> - Added support for signing predefined application image.
>  - Following command can be used to sign predefined application images: 
> jpackage --type app-image --app-image Test.app --mac-sign [additional signing 
> options]
>  - Main class and if --mac-app-store was specified will be saved in 
> .jpackage.xml. Both values are required for signing. Main class is to 
> generate default identity and --mac-app-store to do correct signing for App 
> Store.
>  - Signing is done exactly same as when generating app bundle. Unsigned, 
> signed or partially signed app images are supported. App image will be 
> completely unsigned before signing.

Changes requested by asemenyuk (Reviewer).

test/jdk/tools/jpackage/helpers/jdk/jpackage/test/JPackageCommand.java line 672:

> 670:         return this;
> 671:     }
> 672: 

I guess the idea of this method is to prevent deletion of "." directory in 
`execute()` method when `--dest` argument of jpackage command is not set. We 
don't want "." directory deleted in any case. So instead of adding 
`noCleanupBeforeExec()` that makes sense only if `--dest` argument of jpackage 
command is not set, I'd rework the logic of `execute()` method and delete the 
output directory only when `--dest` argument is set.

test/jdk/tools/jpackage/macosx/SigningAppImageTwoStepsTest.java line 102:

> 100:                 .removeArgumentWithValue("--name")
> 101:                 .removeArgumentWithValue("--main-jar")
> 102:                 .removeArgumentWithValue("--main-class")

There is no point in calling `JPackageCommand.helloAppImage()` if later all 
arguments added by this call get deleted. Simply call JPackageCommand ctor 
instead.

test/jdk/tools/jpackage/share/jdk/jpackage/tests/PredefinedAppImageErrorTest.java
 line 59:

> 57:  *  --jpt-run=jdk.jpackage.tests.PredefinedAppImageErrorTest
> 58:  *  
> --jpt-before-run=jdk.jpackage.test.JPackageCommand.useToolProviderByDefault
> 59:  */

There is no  need to duplicate the whole jtreg test declaration, it supports 
multiple @run comments:

/*
 * @test
 * @summary Test jpackage output for erroneous input with --type "app-image" 
and --app-image
 * @library ../../../../helpers
 * @build jdk.jpackage.test.*
 * @modules jdk.jpackage/jdk.jpackage.internal
 * @compile PredefinedAppImageErrorTest.java
 * 
 * @run main/othervm/timeout=360 -Xmx512m jdk.jpackage.test.Main
 *  --jpt-run=jdk.jpackage.tests.PredefinedAppImageErrorTest
 *  --jpt-before-run=jdk.jpackage.test.JPackageCommand.useToolProviderByDefault
 * 
 * @run main/othervm/timeout=360 -Xmx512m jdk.jpackage.test.Main
 *  --jpt-run=jdk.jpackage.tests.PredefinedAppImageErrorTest
 *  --jpt-before-run=jdk.jpackage.test.JPackageCommand.useExecutableByDefault
 */

test/jdk/tools/jpackage/share/jdk/jpackage/tests/PredefinedAppImageErrorTest.java
 line 116:

> 114:         Path dummyAppFolder
> 115:             = TKit.workDir().resolve("DummyAppImage").toAbsolutePath();
> 116:         Files.createDirectory(dummyAppFolder);

Please use `TKit.createTempDirectory()` instead of `Files.createDirectory()` 
for the same reason as in `SigningAppImageTwoStepsTest.test()`

-------------

PR: https://git.openjdk.java.net/jdk/pull/8987

Reply via email to