Skip to content

DPM Config Files ​

dpm.config files are yaml format files which store the location of the package cache, along with the registered sources.

The default config file lives in %APPDATA%\.dpm\dpm.config.yaml - it will be created when first accessed.

Most dpm cli commands have a -configFile option. If that is not specified, then dpm will look for a dpm.config file in the current folder. If that is not found, then the default config file will be used.

Example

yaml
packageCacheLocation: "C:\\Users\\vincent.OFFICE\\AppData\\Roaming\\.dpm\\package_cache"
author: Vincent Parrett
signing:
  validationMode: permissive
  authorDowngradePolicy: prompt
  allowKeyCompromiseOverride: false
  trustedPublishers:
    - name: VSoft Technologies
      spki: 895eb1c77dc114802e80c6ff22b5140483bd09379482f4babfee752865207e16
  trustedRepositories:
    - url: https://delphi.dev
      spki: 7a3f9b2c5d6e8f1a4b7c9d2e5f8a1b4c7d9e2f5a8b1c4d7e9f2a5b8c1d4e7f9a
compilerOutput:
  logLevel: verbose
  msbuildVerbosity: normal
packageSources:
  - name: dpminternal
    source: "i:\\dpm-internal"
    type: Folder
    enabled: true
  - name: DPM
    source: 'https://delphi.dev/api/v2/index.json'
    type: DPMServer
    enabled: true
PropertyValue
packageCacheLocationThe location of the default global packages folder. The default is %APPDATA%\.dpm\package_cache
authorThe default author used by the spec scaffolder - optional
signingPackage signing configuration
compilerOutputHow package compiles show their output - optional
packagesSourcesAn array of packageSource objects

signing

See Package Signing for an overview of how signing and verification work.

PropertyValue
validationModeHow strictly signatures are verified: permissive (default), require, repository-required, author-and-repository.
authorDowngradePolicyWhat to do when a previously-signed package id appears unsigned: prompt (default), deny, or allow.
allowKeyCompromiseOverrideWhether the user may override a known-compromised key warning. Defaults to false.
trustedPublishersList of trusted publishers, each with a name and the SPKI fingerprint (spki) of their signing certificate.
trustedRepositoriesList of trusted repositories, each with a url and the SPKI fingerprint (spki) of the repository signing key.

compilerOutput

How DPM shows msbuild's output while it compiles a package. It is only written to the file when it is not the default.

PropertyValue
logLevelThe level each line msbuild writes is logged at, as it arrives: verbose (default) or information. verbose lines are shown at --verbosity=Detailed and Debug, information lines at Normal and above (or the matching DPM log level in the IDE). When a compile fails and its lines weren't shown, they are shown before the error.
msbuildVerbosityHow much msbuild writes (its /v: switch): quiet, minimal, normal (default), detailed or diagnostic.

A value DPM doesn't recognise is reported as warning DPMW0204 and the default is used.

packageSource

PropertyValue
nameThe name of the source
sourceThe uri of the packageSource
enabledWhether the source is enabled or not (boolean)
apiKeyThe push apiKey for a httpspackageSource