@@ -128,23 +128,6 @@ class Target(namedtuple("Target", "name json_data resolution_order resolution_or
128
128
# Extra custom targets files
129
129
__extra_target_json_files = []
130
130
131
- @staticmethod
132
- def _merge_dict (dct , merge_dct ):
133
- """ Recursive dict merge. Inspired by `dict.update()` however instead of
134
- updating only top-level keys, dict_merge recurses down into dicts nested
135
- to an arbitrary depth, updating keys.
136
- The provided ``merge_dct`` is merged into ``dct`` in place.
137
- :param dct: dict onto which the merge is executed
138
- :param merge_dct: dct merged into dct
139
- :return: None
140
- """
141
- for k , v in merge_dct .iteritems ():
142
- if (k in dct and isinstance (dct [k ], dict )
143
- and isinstance (merge_dct [k ], Mapping )):
144
- Target ._merge_dict (dct [k ], merge_dct [k ])
145
- else :
146
- dct [k ] = merge_dct [k ]
147
-
148
131
@staticmethod
149
132
@cached
150
133
def get_json_target_data ():
@@ -153,7 +136,11 @@ def get_json_target_data():
153
136
Target .__targets_json_location_default )
154
137
155
138
for extra_target in Target .__extra_target_json_files :
156
- Target ._merge_dict (targets , json_file_to_dict (extra_target ))
139
+ for k , v in json_file_to_dict (extra_target ).iteritems ():
140
+ if k in targets :
141
+ print 'WARNING: Custom target "%s" cannot replace existing target.' % k
142
+ else :
143
+ targets [k ] = v
157
144
158
145
return targets
159
146
0 commit comments