Sets the build variables (i.e. removes old ones, adds new ones)
        :param variables: the build variables to set

def set(self, variables: Dict[str, str]):
        """
        Sets the build variables (i.e. removes old ones, adds new ones)
        :param variables: the build variables to set
        """
        current_variables = self.get()
        difference = DictDiffer(variables, current_variables)

        removed_keys = difference.removed()
        self.remove(removed_keys)

        changed_keys = difference.added() | difference.changed()
        changed = {key: variables[key] for key in changed_keys}
        self.add(changed, overwrite=True)