/**
 * @file vcpkg.libjsonnet
 * @brief Default configuration for vcpkg package manager.
 * @namespace vcpkg
 */
{
  /**
   * @brief Get the default configuration for vcpkg.
   * @param settings The settings object.
   * @returns An object containing the default vcpkg configuration.
   * @pt object
   * @rv object
   * @sa [vcpkg.json Reference](https://learn.microsoft.com/en-us/vcpkg/reference/vcpkg-json)
   *
   * <dl>
   * <dt>Returned Structure</dt>
   * <dd>
   * @code
   * {
   *   dependencies: string[],
   *   description: string,
   *   documentation: string,
   *   homepage: string,
   *   license: string,
   *   maintainers: string[],
   *   name: string,
   *   version: string,
   * }
   * @endcode
   * </dd>
   * </dl>
   */
  get(settings):: {
    dependencies: [],
    description: settings.description,
    documentation: settings.documentation_uri,
    homepage: settings.homepage,
    license: settings.license,
    maintainers: ['%s <%s>' % [x.name, x.email] for x in settings.authors],
    name: settings.project_name,
    version: settings.version,
  },
}
