aboutsummaryrefslogtreecommitdiff
path: root/pkg/private/manifest.py
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/private/manifest.py')
-rw-r--r--pkg/private/manifest.py79
1 files changed, 0 insertions, 79 deletions
diff --git a/pkg/private/manifest.py b/pkg/private/manifest.py
deleted file mode 100644
index 6bfd387..0000000
--- a/pkg/private/manifest.py
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 2021 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-"""Common package builder manifest helpers
-"""
-
-import json
-
-
-# These must be kept in sync with the declarations in private/pkg_files.bzl
-ENTRY_IS_FILE = "file" # Entry is a file: take content from <src>
-ENTRY_IS_LINK = "symlink" # Entry is a symlink: dest -> <src>
-ENTRY_IS_DIR = "dir" # Entry is an empty dir
-ENTRY_IS_TREE = "tree" # Entry is a tree artifact: take tree from <src>
-ENTRY_IS_EMPTY_FILE = "empty-file" # Entry is a an empty file
-
-class ManifestEntry(object):
- """Structured wrapper around rules_pkg-produced manifest entries"""
- type: str
- dest: str
- src: str
- mode: str
- user: str
- group: str
- uid: int
- gid: int
- origin: str = None
-
- def __init__(self, type, dest, src, mode, user, group, uid = None, gid = None, origin = None):
- self.type = type
- self.dest = dest
- self.src = src
- self.mode = mode
- self.user = user
- self.group = group
- self.uid = uid
- self.gid = gid
- self.origin = origin
-
- def __repr__(self):
- return "ManifestEntry<{}>".format(vars(self))
-
-def read_entries_from(fh):
- """Return a list of ManifestEntry's from `fh`"""
- # Subtle: decode the content with read() rather than in json.load() because
- # the load in older python releases (< 3.7?) does not know how to decode.
- raw_entries = json.loads(fh.read())
- return [ManifestEntry(**entry) for entry in raw_entries]
-
-def read_entries_from_file(manifest_path):
- """Return a list of ManifestEntry's from the manifest file at `path`"""
- with open(manifest_path, 'r', encoding='utf-8') as fh:
- return read_entries_from(fh)
-
-def entry_type_to_string(et):
- """Entry type stringifier"""
- if et == ENTRY_IS_FILE:
- return "file"
- elif et == ENTRY_IS_LINK:
- return "symlink",
- elif et == ENTRY_IS_DIR:
- return "directory"
- elif et == ENTRY_IS_TREE:
- return "tree"
- elif et == ENTRY_IS_EMPTY_FILE:
- return "empty_file"
- else:
- raise ValueError("Invalid entry id {}".format(et))