335ea01275
Our initial implementation of assets was intentionally naive, because they were limited to single-file assets. However, it turns out that for real scenarios (like lambdas), we want to support multi-file assets. In this change, we introduce the concept of an Archive. An archive is what the term classically means: a collection of files, addressed as one. For now, we support three kinds: tarfile archives (*.tar), gzip-compressed tarfile archives (*.tgz, *.tar), and normal zipfile archives (*.zip). There is a fair bit of library support for manipulating Archives as a logical collection of Assets. I've gone to great length to avoid making copies, however, sometimes it is unavoidable (for example, when sizes are required in order to emit offsets). This is also complicated by the fact that the AWS libraries often want seekable streams, if not actual raw contiguous []byte slices. |
||
---|---|---|
.. | ||
archive.go | ||
asset.go | ||
resource.go |