Release notes for ABT
For download and other details see the project's download site.
Version 1.0.20 (2026-11-04 14:36:10)
Changed from using AR Common version 1.1.7 to version 1.1.8. See release notes for AR Common for details.
Changed from using ABT Update Checker version 1.0.4 to version 1.0.5. See release notes for ABT Update Checker for details.
The screenshots ("Screenshot of the Hello world installer.png" and "Screenshot of the Hello world upgrade question.png") of the hello world application used on the ABT Getting started page was missing on the site.
They have been added manually to the site and to the ABT.abt file as resource files.
Trailing spaces have been removed.
"switch(" changed to "switch (".
"for(" changed to "for (".
"," changed to ", ".
"\t" changed to " " in source code.
Trailing tabs have been removed in non source code files.
Inner tabs have been removed in non source code files.
The documentation on the replace string ${MODULE.NAME_SPACE_VERSION} was slightly wrong. This has been fixed.
Inner double spaces have been removed.
5 incorrect newlines (Only \r) in the JdkUtil source file have been fixed.
Missing "final" has been added to constants.
"default:" changed to "default :".
"case ([^:]*[^ ]):" changed to "case $1 :".
Wrong line intenting has been fixed.
Wrong line intenting has been fixed (Javadoc comment).
"lowercase" changed to "lower case".
"doublet" changed to "duplicate".
The "been clean up" spell mistake in the release notes has been corrected to "been cleaned up".
The space before "()" in function defintions in bash script files have been removed.
The "version" in the desktop files generated has been changed from "module version" to "1.0", as it is not the version of the module, but "The version of the desktop entry specification to which this file conforms".
The order of entries in the generated files have been changed slightly in the process.
All of the "[" and "]" have been changed back to "[[" and "]]" respectively in scripts as changing it the other way have caused bugs.
"doesn\'t exists" changed to "doesn't exist".
"distination" changed to "destination".
"an other" changed to "another".
The format of the generated launch scripts on Linux have been changed slightly.
The value of the SCRIPT_PATH variable used in the install and launch scripts on Linux have been added a '/' in the end.
"files exists" changed to "files exist".
"+" changed to " + ".
The forceCompile() method in the CompileListener class and all related code have been removed.
A comment in the compileSource() method in the JdkUtil class regarding the removed definition feature, has been cleaned up.
"to old" changed to "too old".
The wrong "Generation Javadoc" verbose log message while compiling Java source code has been corrected.
"coping" changed to "copying".
"auto detect" changed to "autodetect".
"reserve" changed to "reversed".
The "Press any key to stop" in the Linux launcher script on success has been changed to "Press any key to terminate".
The "Exit with pause" feature has been added (Package.Desktop.UseExitWithPause) (Copied from "Install Factorio demo on Linux.sh").
The no pause parameters have been removed as default (Package.Desktop.Linux.UseNoPauseParameters) on Linux in the process.
Exit code check has been added to the non console version of the launcher on Linux (Only if Package.Desktop.UseExitWithPause is true).
The getting started page has been updated with a new recommended environment variable set up on Linux.
The desktop file StartupNotify paramenter has been added as "true" on Linux in the process.
The "set -eEuo pipefail" (or variants of it) command has been added to the install, launch and uninstall scripts on Linux.
The desktop file on the desktop is now automatically "Allow Launching" on Linux. (Copied from "Install Factorio demo on Linux.sh").
If the launch fails (exit code != 0) a notify-send call is now made on Linux (Package.Desktop.DoNotifySendIfLaunchFailsOnLinux).
All notify-send calls have been refactored (addLinuxNotifySend()) to look the same in the process.
The layout of the installer, launcher and uninstaller scripts on Linux have been slightly changed in the process.
A "GENERATED FILE!! DO NOT MODIFY!!!!" message has been added to the all generated files.
Exit code in all scripts have been made unique.
If the application returns a non zero exit code it is now returned.
The generated desktop files on Linux are now validated using the "desktop-file-validate" tool.
The generated desktop files on Linux are now copied to the installation directories using the "desktop-file-install" tool.
The generated desktop files on Linux now uses the desktop file actions feature (Package.Desktop.Linux.AddActions).
Note: Setting "terminal" to false is not supported in actions, causing right clicking on "<module name> with console.desktop" and then clicking on the "<module name>", to run in a terminal even though it shouldn't.
The "%f" parameter has been added to the generated desktop files on Linux (for drag and drop support). This parameter / drag and drop doesn't work on old versions of Ubuntu.
Mine type(s) can now be added to the desktop file on Linux (Package.Desktop.Linux.MimeType).
ABT has been associated the "text/x-abt" mime type on Linux (See below).
Mine type(s) can be created on Linux (Package.Desktop.Linux.MimeTypesFiles).
The added mine type(s) can have an icon (Package.Desktop.Linux.MimeTypeIconFiles) (See below).
The "abt" file extension has been associated with the "text/x-abt" mime type with has been associated with ABT on Linux (See above).
An icon has been added to the project (Windows desktop icon, Linux desktop icon, download site icon, index page icon, documentation page, getting started page and mime type icon (See above)).
Copy buttons have been added to the getting started page to make it easier to copy source code and properties.
The documentation page has been very slightly changed in the process.
A recommended environment variables set up on Windows has been added to the getting started page in the process.
"gnome-terminal -x" changed to "gnome-terminal --" on Linux.
The "Uninstall - are you sure"-question has been refactored as it don't (/ suddenly stop) working in Ubuntu 25.04. The question is now inside the "Uninstall.sh" script instead of in the desktop file.
The module name has been added to the question in the process.
The "Package.Desktop.AddAbtUpdateCheckerWaitForUpgradeOnLinux" property has been renamed to "Package.Desktop.Linux.AddAbtUpdateCheckerWaitForUpgrade".
A file extension can now be associated with the launcher on Windows (Package.Desktop.Windows.AddFileAssociation).
The "abt" file extension has been associated with ABT on Windows.
The generated "Elevate privileges.bat" file has been slightly changed.
The "%1 %2 %3 %4" has been changed to "%*" in the Windows launcher.
If the launch fails (exit code != 0) a notification is now send on Windows 10 (and 7 maybe) (Package.Desktop.DoNotifySendIfLaunchFailsOnWindows).
An installation complete notification will now also be send on Windows 10 (and 7 maybe).
Note: Notifications from PowerShell must be on for this to work.
A file can now be placed on PATH for easier use from command line on Windows (Package.Desktop.Windows.AddPathHackFile). Is default false.
The property "Package.Desktop.CreateLinuxSymlink" has been renamed to "Package.Desktop.Linux.CreateSymlink".
The "AddOpens" link on the documentation page didn't work. This has been fixed.
The generated echo of installation variables on Windows has been removed (Package.Desktop.windowsGenerateInstallationVariablesEchos).
"exit value" changed to "exit code".
Version 1.0.19 (2025-11-05 08:48:06)
Public on yautar.dk at 2025-11-05 09:08.
Changed from using AR Common version 1.1.6 to version 1.1.7. See release notes for AR Common for details.
Changed from using ABT Update Checker version 1.0.3 to version 1.0.4. See release notes for ABT Update Checker for details.
The environment variables NOPAUSE and NOERRORPAUSE have been renamed to NO_PAUSE and NO_ERROR_PAUSE respectively.
If the release notes file only contains two empty lines (Lines 2 and 3), the release / version was not seen as empty. This has been fixed.
There is a relation between the "JavadocOutputPath" property and the "Package.DownloadSite.JavadocDirectoryName" property, that must be meet for javadoc references between modules to work. The code has been changed to reflect this relation.
The installation and uninstallation completed messages have been update on all platforms.
A link to the download site (First file in the "Package.DownloadSite.HtmlFile" property) is now added to the top of the release notes. This can be controlled by the "Package.DownloadSite.AddLinkToDownloadSiteInReleaseNotesFile" property.
The "table == null || table.size() == 0 || table.get(0).length == 0" validation in the summary report was wrong. This has been fixed.
Setting the "CreateSourceZip" property to false threw an exception, if the module was package download sited. This has been fixed.
Setting the "CreateBackupConfigurationFile" property to false threw an exception. This has been fixed.
If the "CreateSourceZip" property is set to false and the "Package.Desktop.IncludeSource" or "Package.DownloadSite.CopySourceZipFile" properties are set true an exception is now thrown.
If the "CreateBackupConfigurationFile" property is set to false and the "Package.Desktop.IncludeConfigurationBackupFile" or "Package.DownloadSite.CopyConfigurationBackupFile" properties are set true an exception is now thrown.
The "CreateSourceZip" property and the "CreateBackupConfigurationFile" property have been changed to be ABT Module Property File properties.
The dependency resolving has been refactored to fix the following bug: If module A depends Package.DownloadSite on module B that depends (default) on module C an RuntimeException "Internal error: Modules have not been resolved" was thrown. This has been fixed.
Some module dependency and jar dependency file warning and error messages have been updated in the process.
The log messages from Javadoc generation have been changed slightly in the process.
The validation of module dependencies have been changed slightly especially for circular module dependencies.
Autodetecting JDKs on Linux using update-java-alternatives has been added.
Autodetecting JDKs on Windows XP only detected the first JDK. This has been fixed (break statement has been removed) in the process.
The spell mistake "No JDK's specified" has been fixed to "No JDKs specified" in the process.
The "No SDK specified => ..." verbose log messages when autodetecting JDKs on Windows have been slightly changed in the process.
The OS check in the install and uninstall script on Linux will now use the NO_ERROR_PAUSE environment variable.
The script path calculation in the install script and the launch on Linux didn't work if referenced as a symlink. This has been fixed.
A symlink will now be created in the /usr/bin/ directory on Linux with a name derived from module as default. This be changed by setting the new package desktop property "Package.Desktop.CreateLinuxSymlink" to false.
The spell mistake "Allans" has been replaced with "Allan's" in many places especially in "ABT - Allan's Build Tool".
The Getting started page has been created.
If no packagings classes where set using the PackagingClass property a NullPointerException was thrown. This has been fixed.
The "Processing module" log message has been slightly changed.
If the output directory didn't exist or was empty and both "Verbose" and "VerboseChange" properties where not set (or to false), a very confusing exception was thrown. This has been fixed.
The "Compiling content of ABT module" log message has been changed slightly.
The spell mistake in the "The release notes file "<Release notes file name>" doesn't exist" log message has been fixed.
The error message for a empty / missing dependency parameter has been changed slightly.
A module can now only depend on another module once (Even with different module dependency parameters).
The error message for dependency (module or jar) already exists has been changed slightly.
The configuration System.out's generated by ApplicationUtil have been removed (ApplicationUtil.printConfiguration = false).
The launcher echos can now be "removed" using the "Package.Desktop.GenerateLaunchEchos" property.
They have been removed for ABT.
All the "WARNING: <deploy destination name> <deploy destination location> already exists and will be overwritten with a newer version" warnings have been slightly changed.
If the JavadocGenerate (or Package.DownloadSite.IncludeJavadoc) property was changed from true to false an "Invalid extension found: "" for file..." exception was thrown. This has been changed to a warning.
The ABT Documentation.html page has been added.
The "Definitions" section has been moved from the download site to the documentation page is the process.
An exception is now thrown if the same JDK version is configured twice.
The text "ABT configuration file" has been changed to "ABT Configuration File" in various places of the application.
The validation of module and jar dependencies with dependency type JAVADOC for module with JavadocGenerate=false was not executed in all cases. This has been fixed.
The handling of jar resources have been refactored.
The property "JarResourceFile" has been renamed to "JarResource" in the process.
The result of "JarResource=." and other logic have been changed.
The VersionFileClassName property is now validated to be a valid class name.
A validation of the JarFileBootClassPath, JarFilePremainClass, UnitTestSourcePath, UnitTestTestCase, Package.Desktop.BuildInstaller, Package.Desktop.JarsPath, Package.Desktop.SourcesPath, Package.DownloadSite.OtherProjectFilesZipFileName, Package.DownloadSite.ModuleDependencyAddedReleaseNotesText, Package.DownloadSite.ModuleDependencyChangedReleaseNotesText, Package.DownloadSite.ModuleDependencyRemovedReleaseNotesText, Package.DownloadSite.ModuleDependencyNoVersionAddedReleaseNotesText and Package.DownloadSite.ModuleDependencyNoVersionRemovedReleaseNotesText properties have been added.
The Package desktop properties Package.Desktop.ResourceFile and Package.Desktop.ResourcePath didn't work if set to absolute file / path. This has been fixed.
Some validation and error messages have been fixed in the process.
The Package Desktop property "CanBeLaunchWithoutParameters" has been removed. See the "ABT - Installer" project for details.
Properties may now be set to a value that contains '='.
The ':' to '=' replace (hack) in the Package Desktop property "Package.Desktop.AddOpens" has been removed in the process.
It is now allowed to set the Package.Desktop.SettingsFileNameSystemProperty property without setting the Package.Desktop.SettingsFileNamePostfix property. The reversed is still not allowed.
The default file extension for the Package.Desktop.SettingsFileNamePostfix property has been changed from ".dat" to ".xml" in process.
The system property defined by the Package.Desktop.SettingsFileNamePostfix property has not set when running stand-alone, causing the system property to be empty, causing a empty settings file name. This as been fixed.
The Package.Desktop.UserDataPathPostfix property may no longer be set without setting the Package.Desktop.UserDataPathSystemProperty.
If the Package.Desktop.JarsPath was set to a value containing '\' (or ABT was run on Windows) the jar files were placed wrong in the installer zip file and the Linux (and Mac) install script placed them wrong on installation.
The property has been changed to be a relative path in the process and it may now be empty.
A similar change has been made to the Package.Desktop.SourcesPath property.
If the Package.Desktop.JarsPath property was changed from the default value, the GUI installer couldn't calculate the current version because mainJarFileNamePrefix was set. The has been changed to setting mainJarFileNameWithPathPrefix instead.
The calculation of default values have been refactored to make the AbstractPropertiesFile.isPropertySet() method work.
Validation of the JavadocSourceTab property has been slightly changed in the process.
The error messages of setting a property twice (list and non list property types) have been changed.
The replace string "${JAVADOC_LINK}" has been renamed to "${MODULE.JAVADOC_INDEX_FILE_NAME}".
It can now only be used in the HTML file(s).
The code for replace strings in release notes file has been slightly refactored.
The replace strings ${MODULE.HOME}, ${MODULE.NAME}, ${MODULE.BUILD}, ${MODULE.NAME_DASH_VERSION}, ${MODULE.NAME_DASH_VERSION_FILE_SEPARATOR}, ${MODULE.NAME_DOT_VERSION}, ${MODULE.NAME_SPACE_VERSION} and ${MODULE.NAME_VERSION_VERSION} can now be used in the release format line and in the Package.DownloadSite.ModuleDependencyAddedReleaseNotesText property.
Format line, Package.DownloadSite.ModuleDependencyChangedReleaseNotesText, Package.DownloadSite.ModuleDependencyAddedReleaseNotesText, Package.DownloadSite.ModuleDependencyRemovedReleaseNotesText, Package.DownloadSite.ModuleDependencyNoVersionAddedReleaseNotesText and Package.DownloadSite.ModuleDependencyNoVersionRemovedReleaseNotesText may now contain '{' (and other regular expression metacharacters) and thereby unreplaced replace strings.
The replace string "${MODULE.RELEASE_NOTES_FILE}" has been renamed to "${MODULE.RELEASE_NOTES_FILE_NAME}".
The replace string "${MODULE.INSTALLER}" has been renamed to "${MODULE.INSTALLER_FILE_NAME}".
The replace string "${MODULE.DOWNLOAD_FILE}" has been renamed to "${MODULE.DOWNLOAD_FILE_NAME}".
The replace string "${RELEASE_NOTES_LINK}" can now only be used in the release notes file. It didn't work properly in the HTML file.
The Package DownloadSite properties ModuleDependencyChangedReleaseNotesText, ModuleDependencyAddedReleaseNotesText, ModuleDependencyRemovedReleaseNotesText, ModuleDependencyNoVersionAddedReleaseNotesText and ModuleDependencyNoVersionRemovedReleaseNotesText could not be set. This has been fixed.
All file names in the download site HTML file(s) replace strings were not encoded properly. This has been fixed.
All the FOREACH replace strings have been renamed to FOR_EACH.
The FOR_EACH replace strings are now applied more that once (The limit is 20 times).
The safe delete directory tree of compileOutputPathDeploy is now echoed if VerboseCompile is true (Was echoed when VerboseDelete was true).
If the configuration file property "Log" was set to false, a "null" has added to the summary report. This has been removed.
The text "javadoc" has been replaced with "Javadoc".
The configuration file property "SimpleExceptionLogging" has been added.
The module definition feature has been removed, and some code have been refactored in the process.
All "];" in generated script files have been replaced with "] ;", and all ";then" have been replaced with "; then".
A dot '.' has been added to the end of all use of "Return: ${RETURN}" in scripts.
Some of the [[ and ]] have been changed to [ and ] respectively in scripts.
The "" after the echo after "read -N 1 -p" in all generated scripts have been removed.
The "Code copied from" notation has been cleaned up.
"continue ;" changed to "continue;".
"have been rename to" changed to "have been renamed to" in release notes.
"has been rename to" changed to "has been renamed to" in release notes.
Version 1.0.18 (2024-05-05 16:48:13)
Public on yautar.dk at 2024-05-05 16:51.
Changed from using AR Common version 1.1.5 to version 1.1.6. See release notes for AR Common for details.
Changed from using ABT Update Checker version 1.0.2 to version 1.0.3. See release notes for ABT Update Checker for details.
If a release of a module that depends on a module that doesn't use a version file, a RuntimeException is no longer thrown. Only a warning will be printed in the console.
If a module that doesn't use a version file had a release notes file, and was Packaged DownloadSite a NullPointerException was thrown. This has been fixed.
If the ConfigurationException("!PackageDownloadSiteUtil.shouldBePackaged(mainAbtModule)") was thrown on a module in the last Packaged DownloadSite, the next Packaged DownloadSite would throw a RuntimeException: "File <path> does not exists". This has been fixed.
The error message "!PackageDownloadSiteUtil.shouldBePackaged(abtModule)" has been changed to something more meaningful.
If a module added or removed a dependency of a module that didn't use a version file, the updating of release notes threw a NullPointerException. This has been fixed.
The Package.DownloadSite.ModuleDependencyNoVersionAddedReleaseNotesText and Package.DownloadSite.ModuleDependencyNoVersionRemovedReleaseNotesText properties have been added in the process.
"catch(" changed to "catch (".
The ${HTML_FILE.LAST_MODIFIED} replace string has been added. It contains the HTML file's (Package.DownloadSite.HtmlFile) last modified in the yyyy-MM-dd HH:mm:ss date format.
The release notes file's (Package.DownloadSite.ReleaseNotesFile) last modified has been added to the "Generated on ..." line in output HTML file.
The format of this line has been changed slightly in the process.
The both (on and many) "HTML file <html file> contains an unreplaced ..." error message has been changed slightly.
If SummaryReportSavePath property is set, the file name (The date part) on Windows has been changed to not include a ':', as it is an invalid file name on Windows.
In the "Generated on ..." line of the release notes HTML file, the "ABT - Allan's Build Tool" and the "AR Common" text now links to the download site for the projects respectively.
The "Release Notes" text in the "See Release Notes for <project> for details" string in the release notes file, has been changed to be a link.
The text has been changed from "Release Notes" to "release notes" in the process.
The code that does the Replace string modifications has been slightly refactored (and cleaned up) in the process.
The dependency changes is now always added to the HTML file (even if they are not saved / modified to the release notes file).
This default can be changed by setting the new property "Package.DownloadSite.AddDependencyChangesToReleaseNotesHtmlFileOnReleaseOnly" to true.
The property "Package.Desktop.Console.Only" has been replaced by the "Package.Desktop.ApplicationType" property, which can be set to "GUI", "TUI" or "Both". Note: This brakes backward compatibility.
The REM of the "echo Uninstallation of <module name> failed: The files could not be deleted" message in the Windows uninstaller batch file has been removed.
The two PackageDesktopUtil.calculateOldLinuxSettingsFileName() and PackageDesktopUtil.calculateOldLinuxDataPath() methods (and the code that used them) have been removed.
The indent of bash script code for the wait for upgrade to completed on Linux (Launcher.addLinuxWaitForUpgradeLines()) using the "ABT - Update Checker Installer Process Id.txt" file was wrong in the normal launcher (Not the in "with console"). This has been fixed.
The wait for upgrade to completed on Linux code can now be removed by setting the new property "Package.Desktop.AddAbtUpdateCheckerWaitForUpgradeOnLinux" to false.
The bash code to remove Linux desktop files with old naming convention in the install.sh file has been removed.
The "a add" spell mistake in the "Second value for property <name> is not an add property" error message has been fixed.
Support for Javadoc has been added.
The "JAVADOC" dependency type has been added.
The "javadoc" task has been added. This task will generate javadoc only.
The "build" task has changed to do compile, unit test and javadoc (In that order).
The "compile" task has been added. This task will compile module source only.
The error messages from the command line parameter parsing have been slightly changed. ("<task> already requested" -> "<task> has already been requested" and other changes).
The default task when no or more that one packagings are installed has been changed from compile only to build (compile, unit_test and javadoc).
The SummaryReportItemResult.compileResult field has rename to processResult and its type has been changed to ProcessResult.
The SummaryReportItem has been moved to its own source file.
The log messages from the code that checks if the module source needs to be compiled have been slightly changed and the code has been slightly refactored.
The feature list on the download site has been updated with Javadoc support, and the download site has been slightly changed in the process.
Almost all ABT module property file properties can now be set to a default value in the ABT Configuration property file. Code has been slightly refactored to achieve this.
The ABT Configuration property file properties "DefaultJdkVersion", "DefaultSourceEncoding", "DefaultSourceVersion" and "DefaultTargetVersion" have been removed, as they can now be set directly.
The ABT Configuration property file properties "AbtApiJdkVersion", "AbtApiSourceEncoding", "AbtApiSourceVersion" and "AbtApiTargetVersion" have been added to specify the compile values for the ABT API. Before the default values were used.
The ABT Configuration property file property "AbtApiCompileOutputPath" has been renamed to "AbtApiCompilePath".
The "Total build time" column has been added to the summary report.
The layout of the summary report has been slightly ("Package type" -> "Package types" and end spaces removed) changed in the process.
Empty columns in the summary report are now removed.
The packaging time of multiple packaging of the same ABT module was summed in the summary report. This is incorrect as multiple packagings are nested. The summary report will therefore now show the longest one as result.
The individual packaging time of multiple packaging will now be shown in a parenthesis.
If an ABT module was depending on other ABT module without dependency type COMPILE and the other ABT module was changed, the (first) ABT module was recompiled. This has been fixed.
This also applied to unit test source depending on an ABT module with dependency type UNIT_TEST. This has also been fixed.
The calculation of depended modules and jars have been refactored in the process.
If a jar, that an ABT module was jar depending on, was changed, then the ABT module was not recompiled. This has been fixed.
All FileUtil.deleteDirectoryTree() method calls have been replaced by a call to the AbtUtil.safeDeleteDirectoryTree() method.
The Package Desktop property "Package.Desktop.ValidDeleteExtension" and the configuration property file property "DeleteLimit" have been added in the process.
The package download site release notes feature (The PackageDownloadSiteReleaseNotesFile class) will now only use dependencies with dependency type "Package.DownloadSite".
If the UnitTestMainClass (or the UnitTestTestCase) property was set and the UnitTestSourcePath was not, a NullPointerException was throw. This will now throw the proper ConfigurationException.
The error messages have been changed slightly in the process.
If unit test "throw" an Exception using the SummaryReportItem.exception field, the exception was lost. This has been fixed.
The sourceDirectories field has been renamed to sourcePaths and the unitTestSourceDirectories field has been renamed to unitTestSourcePaths in the AbtModuleInternal class.
The FilteredDirectory class has been renamed to FilteredPath and the FilteredDirectoryInterface interface has been renamed to FilteredPathInterface in the process.
Some error messages have been changed slightly in the process.
The spell mistake somePackagingsHasBeenRemoved has been corrected to somePackagingsHaveBeenRemoved.
The " [" has been changed to "[".
The "The PackageDesktop packing was not found in the configuration file" error message has been slightly fixed.
The processing (/build) caused by is now in the summary report.
Some error and log messages have been changed in the process.
The "ModuleDependencySourceZipFiles.Deploy" property didn't work (It copied jar files as ModuleDependencyJarFiles.Deploy does, in stead of source zip files). This has been fixed.
The check if a jar resource file / file in jar resource directory ("JarResourceFile" property) was changed did work properly. Only the change / state of the "last" file was used. This has been fixed.
If a jar resource file / file in directory was found to be changed, a compile was always forced. This has been changed to only force a compile, if the ABT module uses auto version number changed.
But a changed in jar resources will now force the creation of the modules jar file (Only if the module doesn't use auto version changed).
The "JarDependencyJarFiles.Deploy" property didn't work. This has been fixed.
The check for empty output directory was not logged correctly. It was logged as the output directory was missing. This has been fixed.
The default for moduleDefinitionOutputPath only worked on Windows (hard coded \). This has been fixed.
The calculation of temporary output paths and file names have been refactored.
The TemporaryOutputBasePath ABT module property has been added.
The JarManifestAdditionOutputPath, SourceZipOutputPath and ConfigurationBackupOutputPath ABT module property have been added.
The DefaultCompileBase configuration file property has been removed.
The OutputPath property has been renamed to CompileOutputPath.
The OutputPath.Deploy has been renamed to CompileOutputPath.Deploy.
The JarPath has been renamed to JarOutputPath and changed to be an ABT Module property file property.
The package desktop property "Package.Desktop.ZipPath" has been split into the "Package.Desktop.ZipContentOutputPath" and "Package.Desktop.ZipFileName" properties.
The package desktop property "Package.Desktop.ZipFileName" may contain a file name.
The package desktop property "Package.Desktop.InstallerPath" has been renamed to "Package.Desktop.InstallerContentOutputPath" and changed to be an ABT Module property file property.
The package desktop property "Package.Desktop.InstallerJarFileName" has been added. Note: This property may contain a file name.
This changes the name of the installer jar slightly.
The package download site property "Package.DownloadSite.DownloadSitePath" has been renamed to "Package.DownloadSite.DownloadSiteOutputPath".
The package download site property "Package.DownloadSite.OtherProjectFilesZipFilePath" has been renamed to "Package.DownloadSite.OtherProjectFilesZipFileName". Note: This property may contain a file name.
The "ModuleDefinitionOutputPath", "CompileOutputPath", "JarOutputPath" and "UnitTestOutputPath" module properties are now relative to the TemporaryOutputBasePath property, which is relative to the ABT module property file's path. Their default values have been changed in the process.
This also applies to the package desktop properties "Package.Desktop.ZipContentOutputPath", "Package.Desktop.ZipFileName", "Package.Desktop.InstallerContentOutputPath" and "Package.Desktop.InstallerJarFileName" and for the package download site properties "Package.DownloadSite.DownloadSiteOutputPath" and "Package.DownloadSite.OtherProjectFilesZipFileName".
The "JarOutputPath" property change will in some configurations brake the Run task.
The replace strings ${MODULE.HOME}, ${MODULE.NAME_DASH_VERSION}, ${MODULE.NAME_DASH_VERSION_FILE_SEPARATOR}, ${MODULE.NAME_DOT_VERSION}, ${MODULE.NAME_SPACE_VERSION} and ${MODULE.NAME_VERSION_VERSION} have been added.
The replace string ${MODULE.BUILD} can now be used where all other replace strings could be used, and not only in the Package DownloadSite HTML file.
The replace strings ${MODULE.HOME}, ${MODULE.NAME}, ${MODULE.NAME.PRETTY}, ${MODULE.NAME_DASH_VERSION}, ${MODULE.NAME_DASH_VERSION_FILE_SEPARATOR}, ${MODULE.NAME_DOT_VERSION}, ${MODULE.NAME_SPACE_VERSION}, ${MODULE.NAME_VERSION_VERSION}, ${MODULE.VERSION}, ${MODULE.BUILD}, ${TO_DAY} and ${NOW} can now be used in the "ModuleDefinitionOutputPath", "CompileOutputPath", "JarOutputPath" and "UnitTestOutputPath" properties.
And in package desktop properties "Package.Desktop.ZipContentOutputPath", "Package.Desktop.ZipFileName", "Package.Desktop.InstallerContentOutputPath" and "Package.Desktop.InstallerJarFileName" and in the package download site properties "Package.DownloadSite.DownloadSiteOutputPath" and "Package.DownloadSite.OtherProjectFilesZipFileName".
Some string substitution error and warning messages have been slightly adjusted in the process.
String substitutions are now validated after the packages have been loaded. (AbstractPropertiesFile.doStringSubstitution(true) (validateAndUpdatePropertiesAfterLoad())).
The order of string substitution and properties have been changed (HashMap -> LinkedHashSet). This changes the validation order and list order in exceptions.
The following string substitution names MODULE.HOME, MODULE.NAME, MODULE.NAME.PRETTY, MODULE.NAME_DASH_VERSION, MODULE.NAME_DASH_VERSION_FILE_SEPARATOR, MODULE.NAME_DOT_VERSION, MODULE.NAME_SPACE_VERSION, MODULE.NAME_VERSION_VERSION, MODULE.VERSION, MODULE.BUILD, TO_DAY and NOW are now reserved, and can't not be used.
This change makes the "Archiver.sh" tool obsolete, and it will be removed in the future.
The all fields in the JarDependency class have been renamed from "Path" to "FileName".
The "LibraryPath" configuration file property has been changed to be a PropertyType.RELATIVE_PATH.
The "Package Desktop Run" task didn't work for Package.Desktop.ApplicationType=GUI. This has been fixed.
The calculation if a module needs to be "package download sited" has been changed from not using the last modified of the directory set by the "Package.DownloadSite.DownloadSiteOutputPath" property, but to use last modified of the first file set by the "Package.DownloadSite.HtmlFile" property, as the use of directory last modified was "unstable".
The validation if the first HTML file has been set using the "Package.DownloadSite.HtmlFile" property, has been moved before the deletion of the output directory.
The calculation of the first HTML file has been refactored in the process.
The "Package.Desktop.AddOpens" property has been added.
The imports in the generated installer source file have been reorganized.
The calculation of module dependencies has been changed slightly.
The AbtModuleInternal.calculateModuleDependenciesJarFileNames() method is now using the calculateAllModuleDependenciesRecursively() method to calculate module dependencies.
The AbtModuleInternal.calculateAllModuleDependenciesRecursively() method will now not include the "this" module.
The AbtModuleInternal.calculateAllModuleDependenciesRecursivelyIncludingThis() method has been added. This will include the "this" module.
The calculation of the desktop directory in the Linux installer script did not work ("~/Desktop/" was expanded for the wrong user). This has been reimplemented.
The log message, if the zip file for Package.DownloadSite.SubPackageType=Zip was missing, was wrong. This has been fixed.
The Package.DownloadSite property "Package.DownloadSite.Release.Deploy" has been renamed to "Package.DownloadSite.DeployReleaseOnly".
The Package.Desktop property "Package.Desktop.InstallerCompiledOutput" has been renamed to "Package.Desktop.CompiledInstallerPath".
If a release notes line starts with a lower case letter an exception is now thrown.
The environment variable ABT_SUMMARY_REPORT_MAX_WIDTH feature has been added.
Property names are now validated for (\\.|^)[a-z].
The Package DownloadSite property "Package.DownloadSite.CreateDownloadNameFile" has been renamed to "Package.DownloadSite.CreateDownloadSiteNameFile".
The Package DownloadSite property "Package.DownloadSite.CreateInstallerNameFile" has been added.
Version 1.0.17 (2023-03-27 13:00:49)
Public on yautar.dk at 2023-03-27 13:02.
Changed from using AR Common version 1.1.4 to version 1.1.5. See release notes for AR Common for details.
Changed from using ABT Update Checker version 1.0.1 to version 1.0.2. See release notes for ABT Update Checker for details.
The download site has been updated.
When using Package.DownloadSite.SubPackageType=Zip the "${MODULE.DOWNLOAD_FILE}" replace string (Used in Package.DownloadSite.HtmlFile files) included a path. This path has been removed.
If a release notes line started with a tab followed by 4 spaces no exception was thrown. This has been fixed.
The validation of empty lines and the start indented of a line has been changed a bit, and it is now valid to start a indented line with a date (yyyy-MM-dd or yyyy).
A call to NetUtil.encodeUrlMyVariant() has been added to the value of the following HTML replace strings: ${MODULE.HTML.ICON}, ${MODULE.RELEASE_NOTES_FILE}, ${MODULE.INSTALLER}, ${MODULE.DOWNLOAD_FILE}, ${MODULE.SOURCE_FILE_NAME}, ${MODULE.JAR_FILE_NAME}, ${DEPENDENCY.SOURCE_FILE_NAME}, ${DEPENDENCY.JAR_FILE_NAME} and ${DEPENDENCY.FIRST_HTML_FILE_NAME}.
The ${DEPENDENCY.NAME.URL_ENCODED} replace string has been added.
The release notes html file generate by the PackageDownloadSiteReleaseNotesFile class will on longer use the deprecated "font" tag. It will instead use the "small" tag.
"continue ;" changed to "continue;".
A wait until the installer terminates has been added to the launch script on Linux, as Linux will kill the installer, if the process that started it (and the parents of that) terminates. It will only wait for 100 seconds if the installer doesn't for some odd reason terminate.
"while(" changed to "while (".
"switch(" changed to "switch (".
The Summary report will now be written, even if the packaging throws an exception.
The error handling has been refactored, such that the Summary report will be printed, if build, unit test or packaging fails or throws an exception.
If an exception is thrown, it will be printed after the summary report, and it will be included in the written / saved summary report.
The default for the two package desktop properties "Package.Desktop.IncludeSource" and "Package.Desktop.IncludeConfigurationBackupFile" have been changed from true to false.
The two package download site properties "Package.DownloadSite.CopySourceZipFile" and "Package.DownloadSite.CopyConfigurationBackupFile" have been added.
The two replace strings "MODULE.CONFIGURATION_BACKUP_FILE_NAME" and "DEPENDENCY.CONFIGURATION_BACKUP_FILE_NAME" have been added.
The replace string "DEPENDENCY.JAR_FILE_NAME" didn't work properly. This has been fixed.
The "file has been changed in the future" error message, has been changed slightly.
All new File(<path or fileName>).lastModified() calls have been changed to FileUtil.lastModified(<path or fileName>).
The UnitTestBuildCompileListener class has been refactored slightly.
The FourVersionLevelStrategy.releaseBuildNumber() has been changed to call nextBuildNumber to make sure that the default version is handled correct.
A call to defaultVersion() has been added to FourVersionLevelStrategy.release() to make sure that default version is handled correct.
The AbstractVersionStrategy.getVersionParts() method has been renamed to calculateVersionParts().
If the packaging of a depended module failed with an exception a NullPointerException was throw. This has been changed to throw the correct exception.
The JarResource ABT module property has been renamed to JarResourceFile.
The Package.Desktop.Resource ABT module property has been renamed to Package.Desktop.ResourceFile.
The "The following source files are both in module source and unit test source" error message has been corrected.
The first character of the file name / path name in the source zip file was missing. This has been fixed.
Cause by the change from using "new File(path).getCanonicalPath()" to using FileUtil.calculateAbsoluteFileName().
This change was done during the "new File(<path or fileName>).lastModified()" -> "FileUtil.lastModified(<path or fileName>)" change (See above).
Calls to the string.split() method have in many places been replaced by a call to string.split(<orinal value>, StringUtil.STRING_SPLIT_INCLUDING_TRAILING_EMPTY_STRINGS).
The Package.Desktop.SettingsFileNamePostFix and the Package.Desktop.UserDataPathPostFix package desktop properties have been renamed to Package.Desktop.SettingsFileNamePostfix and Package.Desktop.UserDataPathPostfix respectively.
Default for the Package.DownloadSite.DownloadSitePath package download site property has been changed for "Temp Download Site" to "Temp Download site".
If a file in a sub directory to the JarResourceFile module property was changed a build was not assumed to needed. This will now start a build.
The Package.DownloadSite.addDependencyChangesToReleaseNotes property has been renamed to Package.DownloadSite.AddDependencyChangesToReleaseNotes.
The Dependency property has been renamed to ModuleDependency.
The DependencyJarFiles.Deploy property has been renamed to ModuleDependencyJarFiles.Deploy.
The DependencySourceZipFiles.Deploy property has been renamed to ModuleDependencySourceZipFiles.Deploy.
The ExternalDependency property has been renamed to JarDependency.
The ExternalJarPath property has been renamed to LibraryPath.
The Package.DownloadSite.DependencyAddedReleaseNotesText property has been renamed to Package.DownloadSite.ModuleDependencyAddedReleaseNotesText.
The Package.DownloadSite.DependencyChangedReleaseNotesText property has been renamed to Package.DownloadSite.ModuleDependencyChangedReleaseNotesText.
The Package.DownloadSite.DependencyRemovedReleaseNotesText property has been renamed to Package.DownloadSite.ModuleDependencyRemovedReleaseNotesText.
The ${FOREACH: DEPENDENCY... Package download site replace strings have been renamed to ${FOREACH: MODULE_DEPENDENCY...
If the creation of the source zip file failed, the zip file was not deleted and a new file was not attempted to be created on next build. This has been fixed.
If the load of a module failed the summary report was not printed. This has been fixed.
If the load of a module failed no output in the log showed the name of the processed module. This has been fixed.
The Package.DownloadSite packaging can now (optionally) create another project files zip file.
The Windows uninstall failed on Windows XP, if the module name contained a '(' or ')'. This has been fixed.
The "No files where found to build a download file" error message has been changed slightly.
Changes to the AR Common version file is now also ignored, when it is used in the AbtSourcePath property, to avoid that updates of the build number causes a new build.
The log messages from the PackageDownloadSite.buildDownloadFile() method has been changed slightly.
The Package.Desktop.CanBeLaunchWithoutParameters property has been added to control the value of the InstallationData.canBeLaunchWithoutParameters field. See the ABT - Installer project for details.
The OutputPathDeploy property has been renamed to OutputPath.Deploy.
The Package.Desktop.Print.Deploy.Unpacked.Copy property has been renamed to Package.Desktop.Deploy.Unpacked.Echo.
The Package.DownloadSite.Deploy and Package.DownloadSite.Release.Deploy properties have been added.
If Package DownloadSite of a module dependency threw an exception, the build wasn't stopped. This has been fixed.
The packing of SummaryReportItems (SummaryReport.packItems()) algorithm was wrong, causing results shown in the wrong place in the summary report. This has been fixed.
The indenting of Package DownloadSite in the summary report was wrong. This has been fixed.
A dependent module was always build (compiled) even if the dependency parameter was only set to "Package.DownloadSite" (Something not including COMPILE). This has been fixed.
Unit test was also always executed for dependencies even if the UNIT_TEST dependency parameter was not set. This has been fixed.
The creation of a Packaging only SummaryReportItem threw an NullPointerException. This has been fixed. This might not have been possible before the bugs above were fixed.
SummaryReportItems where all the packaging SummaryReportItems packed into it have CompileResult.NO_COMPILE_NEED, will now been removed from the summary report.
The ExcludePathInAllSearch ABT Configuration File property has been added.
The path of the Linux file name "ABT - Update Checker Installer Process Id.txt" was OS dependent. This has been fixed.
The calculateTask() method has been moved from the AbstractPackage to the PackageDesktop class as it is only used there.
Every missing file will now not be reported, when a full DownloadSite packaging is required.
The "...configuration file and there is not exactly one package type installed" error message has been changed slightly.
A dependencyLevel has been added to the shouldBeCompiled() method in the BuildCompileListener class, and in all the classes this requires.
The PackageInterface.shouldBeCompiled() method will now be called on all levels of dependencies and not only the top level.
The AbstractPackage.getMustBePackaged() and PackageInterface.setMustBePackaged() methods have been removed, and the code around them has been refactored.
The "building of module <module name> is complete" message has been changed slightly.
If the Package.Desktop.ZipPath or Package.Desktop.InstallerPath ABT Configuration File properties were not set a RuntimeException was thrown (Probably only if ABT was running not installed). This has been fixed.
Now a module must also have AutoChangeVersion before a changed of a Package Desktop file causes a build.
The "No module property files found..." and "More than one module property file found..." messages stated that it was the current directory (and showed it) that was searched. This was not correct and the messages have been fixed.
The AbstractPropertiesFile.setDefaultForProperties() method didn't work and has been removed.
The default value for properties of file and directory property type is now adjusted (AbtUtil.adjustPath()) as set property values are (Is means primarily that they now are absolute).
Version 1.0.16 (2022-06-21 12:06:19)
Changed from using AR Common version 1.1.3 to version 1.1.4. See release notes for AR Common for details.
Dependency of ABT Update Checker version 1.0.1 has been added.
Changed to use ApplicationUtil.
The name of the property "Package.Desktop.StartPathSystemProperty" has been changed to "Package.Desktop.ApplicationStartPathSystemProperty".
The classes in the abt.packaging.downloadsite package and thereby the package type "DownloadSite" have been added.
The AbstractPackage class has been added.
The PackageInterface methods getValidProperties(), getValidConfigurationFileOnlyProperties() and getValidDependencyTypes() may now return null.
The SummaryReport.packaging field has changed name to "packagings" and changed type to a List<SummaryReportItem> to support multiple packaging per module.
The release notes file renamed from "ABT Release Notes.txt" to "ABT Release notes.txt".
Changed to use the ABT download site and release notes feature. The release notes has been cleaned up and the "ABT Download site.html" file has been created in the process.
A file in the installer compiled output directory (Package.Desktop.InstallerCompiledOutput) must now be at least 500 ms newer that the "last compile", to cause a new module compile (shouldBeCompiled() == true).
The valid package dependency types have been added to the "Unknown dependency parameter..." ConfigurationException message.
The default value for the Package.Desktop.InstallerCompiledOutput property has been removed.
The PackageDesktop class has been modified to support nested packaging by PackageDownloadSite.
The PackageDesktop class has been changed to only package a module once per run.
The log message from PackageDesktop and the rest of the application have been changed in the way they are indented.
The summary report can now be saved by setting the SummaryReportSavePath property.
If the installer compile output directory is empty, a ConfigurationException is now thrown.
The generated installer main will now call the AbtInstaller() constructor invoked later to make it run in the event dispatch thread.
If no files match a INCLUDE or EXCLUDE pattern in a SourcePath or UnitTestSourcePath module property an ConfigurationException is now thrown.
The InstallationData.compiledBy will be set to the current version of ABT and AR Common, when the installer main is generated.
The spell mistake "This have" has been fixed to "This has" in release notes.
Version 1.0.15 (2021-08-18)
Changed from using AR Common version 1.1.1 to version 1.1.3. See release notes for AR Common for details.
The directory define by the OutputPathDeploy property was not deleted before new files were copied into it. This might have leaved old files in the directory or subdirectories. This has been fixed.
If not task is specified on the command line and exactly one package type is installed, this package type will now be used as the default task.
If the Package Default task was specified on the command line, and exactly one package type is installed (And no default package type is specified in the configuration file or in the ABT module file), there will now no longer be throw an exception. The only installed package type will be used as the default package type.
If a module that doesn't use a version file, is first build and then later Package Desktop’ed, the Package Desktop would wrong assume that no package was required. This has been fixed.
If a module that uses a version file, is first build and the version file is the last changed file, and then later is Package Desktop’ed, the Package Desktop would wrong assume that no package was required. This has been fixed.
If a Package Desktop Resource file was changed in a module that doesn't use a version file, a build was forced. This has been changed to only force a Package Desktop.
A generated by header has been added to the configuration backup file.
The module property AutoChangeBuildNumberWhenVersionFileIsNewest has been added.
The configuration file property AbtSourcePath has been changed to be a PropertyType.PATH_LIST property to allow multiple source directories.
If the Package.Desktop.StartPathSystemProperty property was used, the Window 10 launcher didn't work. This has been fixed.
The Windows launcher didn't start the application in the application home directory. This has been fixed by added "cd /D %~dp0" to the launcher.
If the AbtSourcePath property was not set, the build would fail, if the application wasn't changed in any way.
The runtime was included in the total build time. This has been changed to have it own measurement, and not to be included in the total build time.
The "Run" task of "Package Desktop" have been changed to not require a key press after run.
The exit code of the "Run" task of "Package Desktop" will now be printed to System.out.
Calculation of installed JDKs on Windows 10 didn't work. This has been fixed.
When creating the ABT module property backup file, the original file was wrongly read in System.getProperty("file.encoding"). This has been changed to "UTF-8" (AllansBuildToolMain.ABT_PROPERTY_FILE_ENCODING).
If a jar resource was missing a non clear exception was throw. This has been fixed.
The | (AllansBuildToolMain.JAR_RESOURCE_SPITTER) feature has been added to the JarResource ABT module property.
Repeated modules were not removed from the summary report, if the configuration property Verbose was set to "True" or not set at all. This has been fixed.
The configuration property VerboseChange has been added.
The a file is used as a Package Desktop Resource ("Package.Desktop.Resource" or "Package.Desktop.ResourcePath") and as an icon file ("Package.Desktop.Windows.Icon", "Package.Desktop.Linux.Icon" or "Package.Desktop.Mac.Icon") the file was copied twice. The file will now only be copied once and then reused.
The location of icon files ("Package.Desktop.Windows.Icon", "Package.Desktop.Linux.Icon" or "Package.Desktop.Mac.Icon") has moved from the root of the installed application, to the same relative location in the installed application as to the ABT module property file. This only applies to files in a subdirectory to the ABT module property file. It also only applies to the main ABT module. It does not apply to modules referenced by the Dependency property. All other files will remain in the root.
If OutputPathDeploy module property was used on a non existing directory an exception was thrown. This has been fixed.
Use of the Newest system property didn't work on Windows. This has been fixed.
If Package Desktop resource was missing and nothing was changed in the module, a non clear exception was throw. This has been fixed.
The START_PATH System.out.println in main() was been removed.
The text "because the source code has been changed" has been added to the log message, when source code change cause a compile.
The log message "ABT SourceFileName" has been changed to "ABT Source file name".
The log message "newestSourceFileName" has been changed to "Newest source file name".
The log messages "Source zip was created successfully" and "Jar was created successfully" changed to only be shown on log level "Verbose".
The log messages "Compiling content of ABT module ..." changed to only be shown on log level "Log".
The "Property framework" and especially validation of properties have been refactored.
The ABT module property files define by configuration property “Repository” are now lazy loaded.
The exception message "Module <name> not found in repository" (and variants) and "Invalid property name <name>" format have been changed slightly.
The chown call on the temporary .desktop file has been removed, as it doesn't seem to change anything. (For the Linux installer only).
The permissions set by the chmod call has been changed from 777 to 744 on the .desktop file on the desktop and from 777 (In reality 755) to 644 on the .desktop file the "/usr/share/applications/" directory. (For the Linux installer only).
The chmod call on the temporary .desktop file has been removed. (For the Linux installer only).
The CURRENT_USER variable calculation changed to use ${SUDO_USER} to fix a bug on Ubuntu 10.4.
The notify-send command will only be executed, if it exists (It is missing on Ubuntu 10.4). (For the Linux installer and uninstaller only).
The notify-send command didn't work, when the installer and uninstaller scripts for Linux where sudo'ed, because they ran for the wrong user on Ubuntu 18.4. This has been fixed. This doesn't work on Ubuntu 16.4, so the original script has been preserved, to make it work on Ubuntu 16.4.
The error message for unknown package type misleadingly said Default, when the command line Package Default arguments was used in combination with DefaultPackageType property, and the DefaultPackageType property was set to a package type that did not exist. This has been fixed.
The indentation for the error message for unknown package types have been changed and the origin of the missing package has been added.
An error message has been added if the DefaultPackageType property is set to "None" but in a different case. e.g. "none". One for the module property file and one for the configuration file.
The error message "Package type None is not allowed" has been changed to "Package type None is not allowed as command line parameter".
An error message has been added if the DefaultPackageType property is set to "Default" in the configuration file.
The error message "Setting defaultPackageType to "Default" is not allowed" has been changed to "Setting defaultPackageType to "Default" is not allowed for ABT module "<Module name>"".
An uninstall question has been added to uninstaller on Linux.
The first two lines of the .Desktop files have been removed.
The .desktop file names have been changed from "<ABT module name>" to "<ABT module name>".toLowerCase().replace(' ', '-').replace("---", "-") on Linux. The displayed name is not changed. Upgrading from the old naming to new naming, will remove old files. Downgrading will leak desktop files with the new naming. This change will make similar named ABT module overwrite each others desktop files.
The settings file name changed from ".<ABT module name><Package.Desktop.SettingsFileNamePostFix default Settings.dat>" to ".<ABT module name><Package.Desktop.SettingsFileNamePostFix default Settings.dat>".toLowerCase() on Linux. Upgrading from the old naming to new naming, will the change the file from old naming to the new naming, if the new file doesn't exist. If both files exist the old file will be deleted! Downgrading will leak a settings file with the new naming.
The user data directory name changed from ".<ABT module name><Package.Desktop.UserDataPathPostFix>" to ".<ABT module name><Package.Desktop.UserDataPathPostFix>".toLowerCase() on Linux. Upgrading from the old naming to new naming, will the change the directory from old naming to the new naming, if the directory doesn't exist. If both directories exist the old directory will be deleted! Downgrading will leak a data directory with the new naming.
The DOS-prompt title is now set on Windows (Primarily visible when launching with console).
The endlocal command was missing, when running the non console launcher on Windows.
A hack has been added to ignore classes in unit.test and unit.experiment packages in the check for changes of the ABT own source code in the path set by the AbtSourcePath configuration file property.
The path "/home/allan/Mit/Java/AR Common/AR Common/Simple IO Process/" has been added to hack list of paths ignored, when the ParameterParser searches for all ABT Module property files.
The spelling of "cancelled" has been changed to "canceled".
Version 1.0.14 (2020-05-13)
Generated on 2026-11-04 14:36:10 by ABT - Allan's Build Tool (Version: 1.0.19.15 (Build: 842), AR Common version: 1.1.7.21 (Build: 1530)).
The template for this file was last updated on: 2026-11-04 14:36:10.
Copyright Allan Rasmussen©.