1.) When there are multiple configuration or jpackage options errors, which one should be shown ?
For example with a non-modular app, if there is no --main-class option, we attempt fetch the Main-Class manifest attribute from the main jar.
If we then cannot find the --main-jar we get the error saying that --main-class attribute is missing.
If --main-class attribute is added, we would then get the error that we cannot find the main-jar. This order should be reversed. we should verify that we can find the main-jar before verifying that we can find the main-class.
2.) when the --main-jar specified is not within the --input directory, the error message says it doesn't exist, for example if you say: "--input input1 --main-jar --input2/foo.jar" the error message will say "The configured main jar does not exist input2/foo.jar" when it should say "The configured main jar does not exist input1/input2/hello.jar"
3.) An absolute path, or path relative to the working dir, can be given for the main jar, only if it happens to resolve to be within the input dir. I think we should drop this, and require (as specified) that the path be relative to the input dir.
4.) if there is not read permission on the input directory, we act as if it is empty dir - we should have specific error saying it cannot be read.
5.) when there is no --name option:
when creating an app-image we use the name of the main class as the app name
when creating an app installer with --app-image option, we look in the app-image for the cfg file to determine the name if the installer.
when creating a jre installer we throw NPE - we should fix this to use as fallback the final name of the --runtime-image path.
For example with a non-modular app, if there is no --main-class option, we attempt fetch the Main-Class manifest attribute from the main jar.
If we then cannot find the --main-jar we get the error saying that --main-class attribute is missing.
If --main-class attribute is added, we would then get the error that we cannot find the main-jar. This order should be reversed. we should verify that we can find the main-jar before verifying that we can find the main-class.
2.) when the --main-jar specified is not within the --input directory, the error message says it doesn't exist, for example if you say: "--input input1 --main-jar --input2/foo.jar" the error message will say "The configured main jar does not exist input2/foo.jar" when it should say "The configured main jar does not exist input1/input2/hello.jar"
3.) An absolute path, or path relative to the working dir, can be given for the main jar, only if it happens to resolve to be within the input dir. I think we should drop this, and require (as specified) that the path be relative to the input dir.
4.) if there is not read permission on the input directory, we act as if it is empty dir - we should have specific error saying it cannot be read.
5.) when there is no --name option:
when creating an app-image we use the name of the main class as the app name
when creating an app installer with --app-image option, we look in the app-image for the cfg file to determine the name if the installer.
when creating a jre installer we throw NPE - we should fix this to use as fallback the final name of the --runtime-image path.
- duplicates
-
JDK-8213558 Create more unit and regression tests
- Closed