1#!/usr/bin/env python3
2
3# Copyright (C) 2022 The Android Open Source Project
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9#   http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16"""Generate module graph json data for testing purposes."""
17
18
19def make_dep(name, tag=None, variations=None):
20  return {
21      'Name': name,
22      'Tag': tag,
23      'Variations': variations,
24  }
25
26
27def make_variation(mutator, variation):
28  return {
29      'Mutator': mutator,
30      'Variation': variation,
31  }
32
33
34def make_module(
35    name,
36    typ,
37    deps=[],
38    blueprint='',
39    variations=None,
40    created_by='',
41    json_props=[],
42):
43  return {
44      'Name': name,
45      'Type': typ,
46      'Blueprint': blueprint,
47      'CreatedBy': created_by,
48      'Deps': deps,
49      'Variations': variations,
50      'Module': {
51          'Android': {
52              'SetProperties': json_props,
53          },
54      },
55  }
56
57
58def make_property(name, value='', values=None):
59  return {
60      'Name': name,
61      'Value': value,
62      'Values': values,
63  }
64