pulumi/pkg
joeduffy 335ea01275 Implement archives
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.
2017-04-30 12:37:24 -07:00
..
compiler Lower instanceof in CocoJS; implement IsInst in CocoIL 2017-04-20 17:38:15 -07:00
diag Add optional formatting to the diag.Message API 2017-03-15 12:16:56 -07:00
encoding Add a TryLoadDynamicExpression IL opcode 2017-04-19 16:49:59 -07:00
eval Lower instanceof in CocoJS; implement IsInst in CocoIL 2017-04-20 17:38:15 -07:00
graph Use github.com/pkg/errors for errors 2017-04-19 14:46:50 -07:00
pack Use github.com/pkg/errors for errors 2017-04-19 14:46:50 -07:00
resource Implement archives 2017-04-30 12:37:24 -07:00
tokens Permit dashes in package names 2017-04-19 10:53:14 -07:00
tools/cidlc Implement archives 2017-04-30 12:37:24 -07:00
util Use github.com/pkg/errors for errors 2017-04-19 14:46:50 -07:00
workspace Make major commands more pleasant 2017-03-21 19:23:32 -07:00