Skip to content

Packages

Paul Mansour edited this page May 29, 2020 · 6 revisions

A package is created by releasing a version of a project using the ]Dado.ReleaseNewVersion command. This command bumps up the version number, makes a new commit for the version, and then tags this commit with the version number. (ReleaseNewVersion also creates a release on Github, and may build other release artifacts, but this is not essential to packages.) Thus a package is simply a specific commit of a project - a "release" commit that has been tagged with a version number.

A package is extracted from a project by doing a shallow clone of the project, and then removing unneeded files and directories. Unneeded assets include the .git folder and any folders defined by the project configuration parameters DevelopmentFolders and DevelopmentNamespaces.

A project then, by definition includes all of its packages ever released. Packages are extracted from local or remote projects automatically as needed by the ReleaseNewVersion command and placed in the PackageCacheFolder for efficient re-use. A package folder name is defined by the project group, name, and version. For example Dyalog_Dfns_1.2.3.

Packages my be explicitly downloaded using the DownloadPackage command which takes a URL and version and optionally a target location.