github.com/kubri/kubri@v0.5.1-0.20240317001612-bda2aaef967e/website/docs/configuration/generators/sparkle.md (about)

     1  ---
     2  sidebar_position: 10
     3  ---
     4  
     5  # Sparkle Framework
     6  
     7  Generate and publish a Sparkle appcast file from your `.dmg`, `.pkg`, `.mpkg`, `.msi` and `.exe`
     8  files.
     9  
    10  ## Configuration
    11  
    12  ### `disabled`
    13  
    14  - Type: `boolean`
    15  - Default: `false`
    16  
    17  Disable Sparkle.
    18  
    19  ### `folder`
    20  
    21  - Type: `string`
    22  - Default: `'sparkle'`
    23  
    24  Path to the directory on your target.
    25  
    26  ### `filename`
    27  
    28  - Type: `string`
    29  - Default: `'appcast.xml'`
    30  
    31  Filename of your appcast feed.
    32  
    33  <!-- ### `upload-packages`
    34  
    35  - Type: `boolean`
    36  - Default: `false`
    37  
    38  Defines whether to upload packages to your target or reference them from your source. Set it to
    39  `true` if the source is private. -->
    40  
    41  ### `title`
    42  
    43  - Type: `string`
    44  
    45  Title of your appcast feed.
    46  
    47  ### `description`
    48  
    49  - Type: `string`
    50  
    51  Description of your appcast feed.
    52  
    53  ### `detect-os`
    54  
    55  - Type: `map['macos'|'windows'|'windows-x64'|'windows-x86']string`
    56  
    57  A map of globs to override detecting what file is what OS. Set this if your update packages are
    58  `.zip` files or you use non-standard naming to differentiate between Windows 64-bit and 32-bit
    59  installers.
    60  
    61  :::info Default behaviour
    62  
    63  - Files with the extensions `.dmg` and `.pkg` are picked up as `macos`.
    64  - Files with the extensions `.exe` and `.msi` are picked up as `windows`.
    65    - Files matching `amd64|x64|x86[\W_]?64|64[\W_]?bit` are picked up as `windows-x64`.
    66    - Files matching `386|x86(?![\W_]?64)|ia32|32[\W_]?bit` are picked up as `windows-x86`.
    67    - Files matching both regular expressions are picked up as `windows`.
    68  
    69  :::
    70  
    71  #### Example
    72  
    73  ```yaml
    74  sparkle:
    75    detect-os:
    76      macos: '*_MacOS.zip'
    77      windows: '*_Windows.zip'
    78      windows_x64: '*_Windows_x64.zip'
    79      windows_x86: '*_Windows_x86.zip'
    80  ```
    81  
    82  ### `params`
    83  
    84  Set attributes on your appcast feed based on the OS & version of your release.
    85  
    86  #### Example
    87  
    88  ```yaml
    89  sparkle:
    90    - os: windows
    91      installer-arguments: /passive
    92    - os: macos
    93      minimum-system-version: '10.13.0'
    94  ```
    95  
    96  ### `params[*].os`
    97  
    98  - Type: `'macos'|'windows'|'windows-x64'|'windows-x86'`
    99  
   100  Apply these parameters only if the OS matches. Must be either `macos`, `windows`, `windows-x64` or
   101  `windows-x86`.
   102  
   103  :::info
   104  
   105  Setting `os` to `windows` will also apply the parameters to `windows-x64` and `windows-x86`
   106  releases.
   107  
   108  :::
   109  
   110  ### `params[*].version`
   111  
   112  - Type: `string`
   113  
   114  A version constraint to limit what what releases these parameters should be applied to.  
   115  See [Version Constraints](../../guides/version-constrains.md) for more information.
   116  
   117  ### `params[*].installer-arguments`
   118  
   119  :::info Windows only
   120  
   121  This parameter is only supported by WinSparkle, not Sparkle.
   122  
   123  :::
   124  
   125  - Type: `string`
   126  
   127  On Windows, the enclosure is typically some kind of installer — an MSI, InnoSetup etc. It is often
   128  useful to pass additional arguments to the installer when launching it, e.g. to force
   129  non-interactive installation with reduce UI (notice that the installer shouldn’t be completely
   130  invisible, because neither WinSparkle nor the hosting application is showing any UI at the time).
   131  
   132  Useful values for common installers are listed below:
   133  
   134  | Installer | Argument                | Description                                          |
   135  | --------- | ----------------------- | ---------------------------------------------------- |
   136  | InnoSetup | `/SILENT /SP- /NOICONS` | Shows only progress and errors, no startup prompt.   |
   137  | MSI       | `/passive`              | Unattended mode, shows progress bar only.            |
   138  | NSIS      | `/S`                    | Silent mode. No standard prompts or pages are shown. |
   139  
   140  ### `params[*].minimum-system-version`
   141  
   142  - Type: `string`
   143  
   144  The required minimum system operating version string for this update if provided. This version
   145  string should contain three period-separated components e.g `10.13.0`.
   146  
   147  ### `params[*].minimum-autoupdate-version`
   148  
   149  :::info MacOS only
   150  
   151  This parameter is only supported by Sparkle, not WinSparkle.
   152  
   153  :::
   154  
   155  - Type: `string`
   156  
   157  The minimum bundle version string this update requires for automatically downloading and installing
   158  updates if provided. If an application’s bundle version meets this version requirement, it can
   159  install the new update item in the background automatically. If the requirement is not met, the user
   160  is always prompted to install the update.
   161  
   162  ### `params[*].ignore-skipped-upgrades-below-version`
   163  
   164  :::info MacOS only
   165  
   166  This parameter is only supported by Sparkle, not WinSparkle.
   167  
   168  :::
   169  
   170  - Type: `string`
   171  
   172  Previously skipped upgrades by the user will be ignored if they skipped an update whose version
   173  precedes this version.
   174  
   175  ### `params[*].critical-update`
   176  
   177  - Type: `boolean`
   178  
   179  Indicates whether or not the update item is critical. Critical updates are shown to the user more
   180  promptly. Sparkle’s standard user interface also does not allow them to be skipped.
   181  
   182  ### `params[*].critical-update-below-version`
   183  
   184  :::info MacOS only
   185  
   186  This parameter is only supported by Sparkle, not WinSparkle.
   187  
   188  :::
   189  
   190  - Type: `string`
   191  
   192  Indicates whether or not the update item is critical based on the version that is currently
   193  installed.
   194  
   195  ## Example configuration
   196  
   197  ```yaml
   198  sparkle:
   199    folder: appcast
   200    title: My app feed title
   201    description: My app feed description
   202    params:
   203      - os: windows
   204        installer-arguments: /passive
   205      - os: macos
   206        minimum-system-version: '10.13.0'
   207      - version: '1.0.0'
   208        critical-update: true
   209      - version: '> 1.0.0'
   210        critical-update-below-version: '1.0.0'
   211        minimum-autoupdate-version: '1.0.0'
   212      - version: '1.1.0'
   213        ignore-skipped-upgrades-below-version: '1.1.0'
   214  ```