void () { System.err.println( "Usage:\n" + " Runner create <old_version> <new_version> <old_folder> <new_folder> <patch_file> [<file_set>=file1;file2;...] [<flags>]\n" + " Runner install <folder>\n" + "\n" + "Where:\n" + " <old_version>: A description of the version to generate the patch from.\n" + " <new_version>: A description of the version to generate the patch to.\n" + " <old_folder>: The folder where to find the old version.\n" + " <new_folder>: The folder where to find the new version.\n" + " <patch_file>: The .jar patch file to create, which will contain the patch and the patcher.\n" + " <file_set>: Can be one of:\n" + " ignored: The set of files that will not be included in the patch.\n" + " critical: Fully included in the patch, so they can be replaced at the destination even if they have changed.\n" + " strictfiles: A set of files for which conflicts can't be ignored (a mismatch forbids patch installation).\n" + " optional: A set of files that is okay for them not to exist when applying the patch.\n" + " delete: A set of regular expressions for paths that is safe to delete without user confirmation.\n" + " <flags>: Can be:\n" + " --strict: The created patch will contain extra information to fully validate an installation. A strict\n" + " patch will only be applied if it is guaranteed that the patched version will match exactly\n" + " the source of the patch. This means that unexpected files will be deleted and all existing files\n" + " will be validated\n" + " --cache-dir=<dir>: Sets directory where diffs can be cached.\n" + " Useful when building several patches on folders with common files.\n" + " --root=<dir>: Sets dir as the root directory of the patch. The root directory is the directory where the patch should be\n" + " applied to. For example on Mac, you can diff the two .app folders and set Contents as the root.\n" + " The root directory is relative to <old_folder> and uses forwards-slashes as separators.\n" + " --timeout=<T> A time budget for building a 'bsdiff' patch between a pair of files, in seconds.\n" + " If exceeded, the new version is included into the patch as a whole.\n" + " <folder>: The folder where product was installed. For example: c:/Program Files/JetBrains/IntelliJ IDEA 2017.3.4"); }