Optimize Javadoc
Gitea/Java-Installer/pipeline/head There was a failure building this commit Details

snapshot
Jonas Letzbor 2023-11-24 18:17:33 +01:00
parent b24dbd1dfb
commit 83d5f8c000
Signed by: RPJosh
GPG Key ID: 46D72F589702E55A
3 changed files with 75 additions and 83 deletions

2
Jenkinsfile vendored
View File

@ -15,7 +15,7 @@ pipeline {
script { script {
if (env.GIT_BRANCH != "main" && env.GIT_BRANCH != "master") { if (env.GIT_BRANCH != "main" && env.GIT_BRANCH != "master") {
// When not on master only test to build the installer // Only test to build the installer when we are not on the master branch
sh 'gradle --no-build-cache build' sh 'gradle --no-build-cache build'
} else { } else {
withCredentials([ withCredentials([

View File

@ -24,7 +24,7 @@ tasks.withType(Javadoc) {
sourceCompatibility = 11 sourceCompatibility = 11
targetCompatibility = 11 targetCompatibility = 11
// create a single .jar with all dependencies // // Create a single .jar with all dependencies
task fatJar(type: Jar) { task fatJar(type: Jar) {
archiveClassifier = '' archiveClassifier = ''
@ -72,19 +72,19 @@ artifacts {
} }
// the created jar file will be copied automatically into the release directory // The created jar file will be copied automatically into the release directory
task copyJar(type: Copy) { task copyJar(type: Copy) {
from file("$buildDir/dist/installer-" + version + ".jar"), file("$buildDir/libs/installer-" + version + "-javadoc.jar"), file("$buildDir/libs/installer-" + version + "-sources.jar") from file("$buildDir/dist/installer-" + version + ".jar"), file("$buildDir/libs/installer-" + version + "-javadoc.jar"), file("$buildDir/libs/installer-" + version + "-sources.jar")
into file("$buildDir/../release") into file("$buildDir/../release")
} }
// build the maven repo file structure -> Javadoc can be used easily in eclipse // Build the maven repo file structure -> Javadoc can be used easily in eclipse
task copyJarToMaven (type: Copy) { task copyJarToMaven (type: Copy) {
from file("$buildDir/dist/installer-" + version + ".jar"), file("$buildDir/libs/installer-" + version + "-javadoc.jar"), file("$buildDir/libs/installer-" + version + "-sources.jar") from file("$buildDir/dist/installer-" + version + ".jar"), file("$buildDir/libs/installer-" + version + "-javadoc.jar"), file("$buildDir/libs/installer-" + version + "-sources.jar")
into file("$buildDir/../release/mavenRepo/de/rpjosh/installer/" + version) into file("$buildDir/../release/mavenRepo/de/rpjosh/installer/" + version)
} }
// publish to local maven repo // Publish to local maven repo
java { java {
withJavadocJar() withJavadocJar()
@ -143,7 +143,7 @@ signing {
def signingPassword = project.property("maven.sonatype.signing.password") def signingPassword = project.property("maven.sonatype.signing.password")
useInMemoryPgpKeys(signingKey, signingPassword) useInMemoryPgpKeys(signingKey, signingPassword)
// Only sign the publication // Only sign the publications
sign publishing.publications.javaPubl sign publishing.publications.javaPubl
} }

View File

@ -117,12 +117,12 @@ public class InstallConfig {
// ----- // // ----- //
/** /**
* Creates a configuration object for the installation with all the necessary informations * Creates a configuration object for the installation with all the required informations
* *
* @param company the name of your company under which the application should be installed * @param company Name of your company under which the application should be installed
* @param version the version * @param version Version of the application
* @param applicationNameShort the short name of your application * @param applicationNameShort Short name of your application
* @param applicationNameLong the long name of your application * @param applicationNameLong Long name of your application
*/ */
public InstallConfig(String company, String version, String applicationNameShort, String applicationNameLong) { public InstallConfig(String company, String version, String applicationNameShort, String applicationNameLong) {
@ -154,7 +154,7 @@ public class InstallConfig {
/** /**
* When the debug mode is enabled, all error messages will be printed out exactly * When the debug mode is enabled, all error messages will be printed out exactly
* *
* @param debug if the debug mode should been enabled * @param debug if the debug mode should be enabled
*/ */
public void setDebug(boolean debug) { this.debug = debug; } public void setDebug(boolean debug) { this.debug = debug; }
protected boolean getDebug() { return debug; } protected boolean getDebug() { return debug; }
@ -189,9 +189,9 @@ public class InstallConfig {
/** /**
* The given fonts will be installed (the fonts has to be in the format .ttf) * Setup fonts that should be installed (the fonts has to be in the .ttf format)
* *
* @param fonts a map with all the fonts: the name without .ttf | location of the fonts within the jar file (with .ttf) * @param fonts Map with all the fonts: the name without .ttf | location of the fonts within the jar file (with .ttf)
*/ */
public void setFontsToInstall(Map<String, String> fonts) { public void setFontsToInstall(Map<String, String> fonts) {
this.fontsToInstall = fonts; this.fontsToInstall = fonts;
@ -200,15 +200,13 @@ public class InstallConfig {
protected Map<String, String> getFontsToInstall() { return this.fontsToInstall; } protected Map<String, String> getFontsToInstall() { return this.fontsToInstall; }
// Executable to install //
/** /**
* Sets the URL of the file to be installed. The executable will be downloaded from the specified URL * Sets the URL of the file to be installed. The executable will be downloaded from the specified URL
* *
* @param url the URL * @param url URL
* @param basicAuthUser [ the user for the basic auth ] * @param basicAuthUser Optional: user for the basic auth
* @param basicAuthPassword [ the password for the basic auth ] * @param basicAuthPassword Optional: password for the basic auth
* @param askForBasicAuth when no basic auth credentials are given and the request gets a 401 response ask the user for credentials at the command line * @param askForBasicAuth When no basic auth credentials are provided and the request returns a 401 response, ask the user for credentials at the command line
*/ */
public void setDownloadURLForProgramm(String url, char[] basicAuthUser, char[] basicAuthPassword, boolean askForBasicAuth) { public void setDownloadURLForProgramm(String url, char[] basicAuthUser, char[] basicAuthPassword, boolean askForBasicAuth) {
this.downloadURL = url; this.downloadURL = url;
@ -221,11 +219,11 @@ public class InstallConfig {
* Sets the URL of the file to be installed. The executable will be downloaded from the specified URL * Sets the URL of the file to be installed. The executable will be downloaded from the specified URL
* In addition the operation system and the architecture will be added automatically to the URL (_windows_x64, _linux_arm32) * In addition the operation system and the architecture will be added automatically to the URL (_windows_x64, _linux_arm32)
* *
* @param url die URL (without file extension) * @param url URL (without file extension)
* @param basicAuthUser [ the user for the basic auth ] * @param basicAuthUser Optional: user for the basic auth
* @param basicAuthPassword [ the password for the basic auth ] * @param basicAuthPassword Optional: password for the basic auth
* @param askForBasicAuth when no basic auth credentials are given and the request gets a 401 response ask the user for credentials at the command line * @param askForBasicAuth When no basic auth credentials are provided and the request returns a 401 response, ask the user for credentials at the command line
* @param end die file ending of the file (.jar) * @param end File ending of the file (.jar)
*/ */
public void setDownloadURLForProgramm(String url, char[] basicAuthUser, char[] basicAuthPassword, boolean askForBasicAuth, String end) { public void setDownloadURLForProgramm(String url, char[] basicAuthUser, char[] basicAuthPassword, boolean askForBasicAuth, String end) {
this.downloadURL = url; this.downloadURL = url;
@ -239,7 +237,7 @@ public class InstallConfig {
/** /**
* Installs the executable from the local file systems instead of downloading the file * Installs the executable from the local file systems instead of downloading the file
* *
* @param path the path of the jar file in the file system * @param path Path of the jar file in the file system
*/ */
public void setDownloadOfflinePath(String path) { public void setDownloadOfflinePath(String path) {
this.downloadURL = path; this.downloadURL = path;
@ -255,7 +253,7 @@ public class InstallConfig {
/** /**
* Creates a desktop entry during the installation. * Creates a desktop entry during the installation.
* *
* - Windows: a entry will be created in the public desktop or in the user desktop directory (for a user installation). * - Windows: an entry will be created in the public desktop or in the user desktop directory (for a user installation).
* also an entry in the start menu will be created. * also an entry in the start menu will be created.
* - Linux: the desktop file will be registered into the start menu. * - Linux: the desktop file will be registered into the start menu.
* *
@ -286,18 +284,18 @@ public class InstallConfig {
public void setDesktopCategories(String categories) { this.desktopCategories = categories; } public void setDesktopCategories(String categories) { this.desktopCategories = categories; }
/** /**
* [Linux] Sets the keywords for the application (desktop entry) * [Linux] Sets the keywords for the application (desktop entry)
* @param keywords the keywords separated by a ';' *
* @param keywords Keywords separated by a ';'
*/ */
public void setDesktopKeywords (String keywords) { this.desktopKeywords = keywords; } public void setDesktopKeywords (String keywords) { this.desktopKeywords = keywords; }
// Options for the launch of the application //
/** /**
* When the application is launched from the command line, the program will be launched in the foreground normally. * When the application is launched from the command line, the program will automatically be launched in the foreground by default.
* With the parameter --b can the program be launched in the foreground * The default behavior in the start script can be configured with this method.
* *
* @param runInBackground whether the program should be launched in background by default -{@literal >} for launching it in the foreground the parameter --f is required * @param runInBackground Whether to launch the program in background by default -{@literal >} for launching it in the foreground the parameter --f is required.
* Otherwise '--b' must be provided
*/ */
public void setRunInBackgroundByDefault(boolean runInBackground) { public void setRunInBackgroundByDefault(boolean runInBackground) {
this.launchInBackground = runInBackground; this.launchInBackground = runInBackground;
@ -308,26 +306,26 @@ public class InstallConfig {
* [Linux] Creates a unit file for systemd. All the given parameters are optional (except startAtBoot). * [Linux] Creates a unit file for systemd. All the given parameters are optional (except startAtBoot).
* For the ..Exec.. parameters and the working directory you can use #~LaunchScript~#, #~AppPath~#, #~ConfigPath~# with a leading slash -{@literal >} /home/myPath/ * For the ..Exec.. parameters and the working directory you can use #~LaunchScript~#, #~AppPath~#, #~ConfigPath~# with a leading slash -{@literal >} /home/myPath/
* *
* @param startAtBoot whether the service should start at boot time * @param startAtBoot Whether the service should start at boot time
* @param unitDescription the description of the service * @param unitDescription Description of the service
* @param unitAfter after which target the service should been started * @param unitAfter After which target the service should been started
* @param unitStartLimitBurst the maximum number of start retries * @param unitStartLimitBurst Maximum number of start retries
* @param unitStartLimitInterval the interval in seconds in which the maximum number of start retries should been summarized * @param unitStartLimitInterval Interval in seconds, in which the maximum number of start retries should been summarized
* @param installWantedBy to which time of the boot process the service should been started -{@literal >} multi-user.target (normal) or graphical.target (when GUI is needed) * @param installWantedBy To which time of the boot process the service should been started -{@literal >} multi-user.target (normal) or graphical.target (when GUI is needed)
* @param installAliasName an alias for the service name * @param installAliasName Alias for the service name
* @param serviceWorkingDir the working directory of the service * @param serviceWorkingDir Working directory of the service
* @param serviceUser the user for the service * @param serviceUser User for the service
* @param serviceGroup the group for the service * @param serviceGroup Group for the service
* @param serviceEnvironment the environment variables to set * @param serviceEnvironment Environment variables to set
* @param serviceExecStartPre the commands to execute before the service starts. Use {@literal <}LaunchScript{@literal >} to replace it with the real location of the launch script * @param serviceExecStartPre Commands to execute before the service starts. Use {@literal <}LaunchScript{@literal >} to replace it with the real location of the launch script
* @param serviceExecStartPost the commands to execute after the service has started. Use {@literal <}LaunchScript{@literal >} to replace the location of the launch script * @param serviceExecStartPost Commands to execute after the service has started. Use {@literal <}LaunchScript{@literal >} to replace the location of the launch script
* @param serviceTimeout the number of seconds which should been allowed to start / stop the service * @param serviceTimeout Number of seconds to give the program for start / stop
* @param serviceType the type of the service {@literal >} oneshot, simple, exec and forking * @param serviceType Type of the service {@literal >} oneshot, simple, exec and forking
* @param serviceExecStart the start command. Please take in mind that only with the type "oneshot" multiple commands can be specified. * @param serviceExecStart Start command. Please take in mind that only with the type "oneshot" multiple commands can be specified.
* Use {@literal <}LaunchScript{@literal >} to replace it with the real location of the launch script * Use #~LaunchScript~# to replace it with the real location of the launch script
* @param serviceExecStop the stop command. Use #LaunchScript# to replace the location of the launch script * @param serviceExecStop Stop command. Use #~LaunchScript~# to replace this string with the location of the launch script
* @param serviceRestart whether the service should been restarted when the execution failed -{@literal >} on-failure or always * @param serviceRestart Whether the service should be restarted when the execution failed -{@literal >} 'on-failure' or 'always'
* @param serviceRestartSec the number of seconds to wait between a restart * @param serviceRestartSec Number of seconds to wait between restarts
*/ */
public void createServiceUnitFile( public void createServiceUnitFile(
boolean startAtBoot, boolean startAtBoot,
@ -373,18 +371,16 @@ public class InstallConfig {
} }
// Removal options //
/** /**
* [Windows] The estimated size of the whole application which should been displayed to the user * [Windows] Sets the estimated size of the whole application which should been displayed to the user
* *
* @param estimatedSize the estimated size in megabyte * @param estimatedSize Estimated size in megabyte
*/ */
public void setEstimatedSize(double estimatedSize) { public void setEstimatedSize(double estimatedSize) {
this.estimatedSize = (int) (estimatedSize * 1024); this.estimatedSize = (int) (estimatedSize * 1024);
} }
/** /**
* [Windows] Returns the setted estimates size of the program * [Windows] Returns the estimates size of the program that was set previously
* @return the estimated size in bytes * @return the estimated size in bytes
*/ */
protected int getEstimatedSize() { return estimatedSize; } protected int getEstimatedSize() { return estimatedSize; }
@ -393,20 +389,17 @@ public class InstallConfig {
* [Windows] Icon for the removal of the application. * [Windows] Icon for the removal of the application.
* A file (pics/uninstall.ico) will be created. * A file (pics/uninstall.ico) will be created.
* *
* @param windowsICO the path of the .ico file inside of the jar file (e.g. resource/uninstall.ico) * @param windowsICO Path of the .ico file inside of the jar file (e.g. resource/uninstall.ico)
*/ */
public void setIconForWindowsUninstaller(String windowsICO) { public void setIconForWindowsUninstaller(String windowsICO) {
this.createIconForDeletion = true; this.createIconForDeletion = true;
this.iconForDeletionPath = windowsICO; this.iconForDeletionPath = windowsICO;
} }
// Options for the installations //
/** /**
* Installs the program portable * Installs the program portable
* *
* @param dir the main directory for the portable installation (e.g. C:/Users/de03710/MyProgram/) * @param dir Main directory for the portable installation (e.g. C:/Users/de03710/MyProgram/)
*/ */
public void setPortable(String dir) { public void setPortable(String dir) {
@ -422,7 +415,7 @@ public class InstallConfig {
} }
/** /**
* [Windows] Installs the program only for the actual user -{@literal >} administrator rights aren't necessary * [Windows] Installs the program only for the current user -{@literal >} administrator rights aren't requried
*/ */
public void setUserInstallation() { public void setUserInstallation() {
@ -433,21 +426,18 @@ public class InstallConfig {
} }
/** /**
* [Windows] creates a entry in the path variable for the program * [Windows] Creates an entry in the path variable for the program
* TODO: create Launcher wie unter Linux
*/ */
public void createPathEntry() { public void createPathEntry() {
createPathVariable = true; createPathVariable = true;
} }
// Determine and create the application paths //
/** /**
* Returns the path of the desktop * Returns the path of the desktop
* *
* @return desktop path: /home/user/Desktop/ or C:/User/myUserName/Desktop/. * @return desktop path: /home/user/Desktop/ or C:/User/myUserName/Desktop/.
* when no path could been determined, null will be returned * When no path could been determined, null will be returned
*/ */
protected String getDesktopDir() { protected String getDesktopDir() {
@ -523,7 +513,7 @@ public class InstallConfig {
/** /**
* Creates the given directory in the configuration directory * Creates the given directory in the configuration directory
* *
* @param directorys a list with all the directories to create. This are relative paths -{@literal >} logs/ or config/ * @param directorys List with all the directories to create. This are relative paths -{@literal >} logs/ or config/
*/ */
public void createConfigDirs(List<String> directorys) { public void createConfigDirs(List<String> directorys) {
@ -640,11 +630,11 @@ public class InstallConfig {
/** /**
* Extracts a file from the jar file and copy it to the given path * Extracts a file from the jar file and copy it to the given path
* *
* @param pathInJar the path in the jar file to extract: resource/48x48.png * @param pathInJar Path in the jar file to extract: resource/48x48.png
* @param pathToWrite the destination path * @param pathToWrite Destination path
* @param logError if an error message should be displayed * @param logError Weather to display an error message
* *
* @return if the resource was successfully extracted * @return If the resource was successfully extracted
*/ */
protected boolean getResource(String pathInJar, String pathToWrite, boolean logError) { protected boolean getResource(String pathInJar, String pathToWrite, boolean logError) {
@ -668,12 +658,12 @@ public class InstallConfig {
} }
/** /**
* Extracts a file from the jar file and copy it to the given path * Extracts a file from the jar file and copies it to the given path
* *
* @param pathInJar the path in the jar file to extract: resource/48x48.png * @param pathInJar Path in the jar file to extract: resource/48x48.png
* @param pathToWrite the destination path * @param pathToWrite Destination path
* *
* @return if the resource was sucessfully extracted * @return if the resource was successfully extracted
*/ */
protected boolean getResource(String pathInJar, String pathToWrite) { protected boolean getResource(String pathInJar, String pathToWrite) {
return getResource(pathInJar, pathToWrite, true); return getResource(pathInJar, pathToWrite, true);
@ -683,7 +673,7 @@ public class InstallConfig {
/** /**
* Returns the path to the actual jar file * Returns the path to the actual jar file
* *
* @return the absolute path to the jar file: C:/Users/myUserName/BeMa.jar. * @return Absolute path to the jar file: C:/Users/myUserName/BeMa.jar.
* When no jar file was found (when launched in Eclipse) the path to the "extracted" jar file will be returned * When no jar file was found (when launched in Eclipse) the path to the "extracted" jar file will be returned
*/ */
protected String getLocationOfJarFile() { protected String getLocationOfJarFile() {
@ -706,7 +696,7 @@ public class InstallConfig {
/** /**
* Sets the path to the jar runtime path -{@literal >} overwrite for the portable installation * Sets the path to the jar runtime path -{@literal >} overwrite for the portable installation
* *
* @param location the absolute path to the jar file: C:/Users/de03710/BeMa.jar * @param location Absolute path to the jar file: C:/Users/de03710/BeMa.jar
*/ */
protected void setLocationOfJarFile(String location) { protected void setLocationOfJarFile(String location) {
this.jarRuntimeLocation = location; this.jarRuntimeLocation = location;
@ -714,7 +704,8 @@ public class InstallConfig {
/** /**
* Sets the maximum heap size the JVM may consume (-Xmx) * Sets the maximum heap size the JVM may consume (-Xmx)
* @param sizeInMb the maximum size in megabyte *
* @param sizeInMb Maximum size in megabyte
*/ */
public void setMaxHeapSize(int sizeInMb) { public void setMaxHeapSize(int sizeInMb) {
if (sizeInMb < 2) logger.log("w", "The maximum heap size must be greater or equal 2 megabyte", "setMaxHeapSize"); if (sizeInMb < 2) logger.log("w", "The maximum heap size must be greater or equal 2 megabyte", "setMaxHeapSize");
@ -722,7 +713,8 @@ public class InstallConfig {
} }
/** /**
* Sets the initial heap size of the JVM (-Xms) * Sets the initial heap size of the JVM (-Xms)
* @param sizeInMb the initial size in megabyte *
* @param sizeInMb Initial size in megabyte
*/ */
public void setInitialHeapSize(int sizeInMb) { public void setInitialHeapSize(int sizeInMb) {
if (sizeInMb < 2) logger.log("w", "The initial heap size must be greater or equal 2 megabyte", "setInitialHeapSize"); if (sizeInMb < 2) logger.log("w", "The initial heap size must be greater or equal 2 megabyte", "setInitialHeapSize");