Exporting for offline builds
In AEL, the Agent Engineering Language, ael pack vendor exports the locked packages of a project for offline builds: it copies every package file that the lock file names into a folder you choose.
One manifest and one lock file give reproducible builds that also work offline. ael pack vendor is for the machines that never had a network connection to fetch the packages in the first place, such as an isolated build machine.
Usage
ael pack vendor -o vendor
| Option | Meaning |
|---|---|
-o <dir> | The folder to export into. |
--json | A machine-readable report of what was exported. |
What it exports
- Every package file that
pack.locknames, direct or not, exactly as it was verified and installed. - Nothing else: no source files, no other scope's packages and no unlocked versions.
Each exported package file is a separate, complete package file with its own fingerprint, the same fingerprint your lock file records. Exporting changes no file inside it, so every check that applies to a downloaded package file still applies on the other machine.
What it never does
- It never resolves versions again, and never exports a package that the lock file does not name.
- It uses no network: it exports only verified copies already on your machine. If one is missing, it names the file and exports nothing. Run
ael pack install --lockedfirst. - It changes nothing in your project and runs no package code.
On the other machine
Copy the project with its pack.lock and the exported folder. Every package file is verified again, against the fingerprint in the lock file, before it is installed or used there. ael pack install --locked --offline then installs without a network, and names any file that is missing.
Related
- Installing declared packages: locked and offline installs.
- Using packages: the lock file and offline builds.