Commit graph

15 commits

Author SHA1 Message Date
Grzegorz Bizon
be764a3a20 Minor improvements in build arfifacts browser
Added also a `Gitlab::Ci::Build::Artifacts::Metadata::ParserError`
exception class.
2016-01-14 12:48:17 +01:00
Grzegorz Bizon
0d6e7b9d3d Use Hash to store paths and entries metadata in artifacts browser 2016-01-14 12:48:17 +01:00
Grzegorz Bizon
ad2b0358e0 Improve readability of artifacts Metadata related code 2016-01-14 12:48:17 +01:00
Grzegorz Bizon
6b0a43aff3 Improve readability of artifacts browser Entry related code 2016-01-14 12:48:17 +01:00
Grzegorz Bizon
3f0c18f80e Simplify encoding related implementation in artifacts metadata 2016-01-14 12:48:17 +01:00
Grzegorz Bizon
a9783c439b Make encoding of paths returned by metadata consistent (UTF-8) 2016-01-14 12:48:16 +01:00
Grzegorz Bizon
487b0a026f Improvements, readability for artifacts browser 2016-01-14 12:48:16 +01:00
Grzegorz Bizon
2be76355ca Support only valid UTF-8 paths in build artifacts browser 2016-01-14 12:48:16 +01:00
Grzegorz Bizon
ffee05c242 Improve invalid build artifacts metadata path matcher 2016-01-14 12:48:16 +01:00
Grzegorz Bizon
09a4a5aff8 Render only valid paths in artifacts metadata
In this version we will support only relative paths in artifacts
metadata. Support for absolute paths will be introduced later.
2016-01-14 12:48:16 +01:00
Grzegorz Bizon
61fb47a432 Simplify implementation of build artifacts browser (refactoring) 2016-01-14 12:48:15 +01:00
Grzegorz Bizon
387b27813d Change format of artifacts metadata from text to binary 0.0.1
This changes the format of metadata to handle paths, that may contain
whitespace characters, new line characters and non-UTF-8 characters.

Now those paths along with metadata in JSON format are stored as
length-prefixed strings (uint32 prefix).

Metadata file has a custom format:

1.   First string field is metadata version field (string)
2.   Second string field is metadata errors field (JSON strong)
3.   All subsequent fields is pair of path (string) and path metadata
     in JSON format.

Path's metadata contains all fields that where possible to extract from
ZIP archive like date of modification, CRC, compressed size,
uncompressed size and comment.
2016-01-14 12:48:15 +01:00
Grzegorz Bizon
1b1793c253 Show file size in artifacts browser using metadata 2016-01-14 12:48:15 +01:00
Grzegorz Bizon
a5e1905d28 Render 404 when artifacts path is invalid 2016-01-14 12:48:15 +01:00
Grzegorz Bizon
a7f99b67a0 Extract artifacts metadata implementation to separate class 2016-01-14 12:48:15 +01:00