summaryrefslogtreecommitdiff
path: root/mesonbuild/modules
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/modules')
-rw-r--r--mesonbuild/modules/__init__.py13
-rw-r--r--mesonbuild/modules/cmake.py13
-rw-r--r--mesonbuild/modules/cuda.py12
-rw-r--r--mesonbuild/modules/dlang.py13
-rw-r--r--mesonbuild/modules/external_project.py12
-rw-r--r--mesonbuild/modules/fs.py13
-rw-r--r--mesonbuild/modules/gnome.py13
-rw-r--r--mesonbuild/modules/hotdoc.py12
-rw-r--r--mesonbuild/modules/i18n.py12
-rw-r--r--mesonbuild/modules/icestorm.py13
-rw-r--r--mesonbuild/modules/java.py12
-rw-r--r--mesonbuild/modules/keyval.py12
-rw-r--r--mesonbuild/modules/modtest.py13
-rw-r--r--mesonbuild/modules/pkgconfig.py13
-rw-r--r--mesonbuild/modules/python.py12
-rw-r--r--mesonbuild/modules/python3.py12
-rw-r--r--mesonbuild/modules/qt.py14
-rw-r--r--mesonbuild/modules/qt4.py13
-rw-r--r--mesonbuild/modules/qt5.py13
-rw-r--r--mesonbuild/modules/qt6.py13
-rw-r--r--mesonbuild/modules/rust.py12
-rw-r--r--mesonbuild/modules/simd.py12
-rw-r--r--mesonbuild/modules/sourceset.py13
-rw-r--r--mesonbuild/modules/wayland.py13
-rw-r--r--mesonbuild/modules/windows.py12
25 files changed, 26 insertions, 289 deletions
diff --git a/mesonbuild/modules/__init__.py b/mesonbuild/modules/__init__.py
index bbfb5bdbd..5580acbb4 100644
--- a/mesonbuild/modules/__init__.py
+++ b/mesonbuild/modules/__init__.py
@@ -1,17 +1,6 @@
+# SPDX-License-Identifier: Apache-2.0
# Copyright 2019 The Meson development team
-# 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.
-
# This file contains the base representation for import('modname')
from __future__ import annotations
diff --git a/mesonbuild/modules/cmake.py b/mesonbuild/modules/cmake.py
index ee4e844d1..fe6457511 100644
--- a/mesonbuild/modules/cmake.py
+++ b/mesonbuild/modules/cmake.py
@@ -1,17 +1,6 @@
+# SPDX-License-Identifier: Apache-2.0
# Copyright 2018 The Meson development team
-# 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.
-
from __future__ import annotations
import re
import os, os.path, pathlib
diff --git a/mesonbuild/modules/cuda.py b/mesonbuild/modules/cuda.py
index 6f809cb34..a5b1f7b83 100644
--- a/mesonbuild/modules/cuda.py
+++ b/mesonbuild/modules/cuda.py
@@ -1,16 +1,6 @@
+# SPDX-License-Identifier: Apache-2.0
# Copyright 2017 The Meson development team
-# 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.
from __future__ import annotations
import typing as T
diff --git a/mesonbuild/modules/dlang.py b/mesonbuild/modules/dlang.py
index 6d5359fe3..ed4ac8c62 100644
--- a/mesonbuild/modules/dlang.py
+++ b/mesonbuild/modules/dlang.py
@@ -1,17 +1,6 @@
+# SPDX-License-Identifier: Apache-2.0
# Copyright 2018 The Meson development team
-# 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.
-
# This file contains the detection logic for external dependencies that
# are UI-related.
from __future__ import annotations
diff --git a/mesonbuild/modules/external_project.py b/mesonbuild/modules/external_project.py
index 4247ba0cf..bf482e217 100644
--- a/mesonbuild/modules/external_project.py
+++ b/mesonbuild/modules/external_project.py
@@ -1,16 +1,6 @@
+# SPDX-License-Identifier: Apache-2.0
# Copyright 2020 The Meson development team
-# 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.
from __future__ import annotations
from pathlib import Path
diff --git a/mesonbuild/modules/fs.py b/mesonbuild/modules/fs.py
index 5a9533cba..3657be08c 100644
--- a/mesonbuild/modules/fs.py
+++ b/mesonbuild/modules/fs.py
@@ -1,17 +1,6 @@
+# SPDX-License-Identifier: Apache-2.0
# Copyright 2019 The Meson development team
-# 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.
-
from __future__ import annotations
from pathlib import Path, PurePath, PureWindowsPath
import hashlib
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
index d8367ddbe..32df2a60e 100644
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
@@ -1,17 +1,6 @@
+# SPDX-License-Identifier: Apache-2.0
# Copyright 2015-2016 The Meson development team
-# 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.
-
'''This module provides helper functions for Gnome/GLib related
functionality such as gobject-introspection, gresources and gtk-doc'''
from __future__ import annotations
diff --git a/mesonbuild/modules/hotdoc.py b/mesonbuild/modules/hotdoc.py
index f11354900..fc8832efc 100644
--- a/mesonbuild/modules/hotdoc.py
+++ b/mesonbuild/modules/hotdoc.py
@@ -1,16 +1,6 @@
+# SPDX-License-Identifier: Apache-2.0
# Copyright 2018 The Meson development team
-# 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.
from __future__ import annotations
'''This module provides helper functions for generating documentation using hotdoc'''
diff --git a/mesonbuild/modules/i18n.py b/mesonbuild/modules/i18n.py
index e375674d9..c2a11dd20 100644
--- a/mesonbuild/modules/i18n.py
+++ b/mesonbuild/modules/i18n.py
@@ -1,16 +1,6 @@
+# SPDX-License-Identifier: Apache-2.0
# Copyright 2016 The Meson development team
-# 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.
from __future__ import annotations
from os import path
diff --git a/mesonbuild/modules/icestorm.py b/mesonbuild/modules/icestorm.py
index 8c1c6f123..18bf0e202 100644
--- a/mesonbuild/modules/icestorm.py
+++ b/mesonbuild/modules/icestorm.py
@@ -1,17 +1,6 @@
+# SPDX-License-Identifier: Apache-2.0
# Copyright 2017 The Meson development team
-# 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.
-
from __future__ import annotations
import itertools
import typing as T
diff --git a/mesonbuild/modules/java.py b/mesonbuild/modules/java.py
index f6e448454..56611ade2 100644
--- a/mesonbuild/modules/java.py
+++ b/mesonbuild/modules/java.py
@@ -1,16 +1,6 @@
+# SPDX-License-Identifier: Apache-2.0
# Copyright 2021 The Meson development team
-# 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.
from __future__ import annotations
import pathlib
diff --git a/mesonbuild/modules/keyval.py b/mesonbuild/modules/keyval.py
index 48afe8149..b5608fe87 100644
--- a/mesonbuild/modules/keyval.py
+++ b/mesonbuild/modules/keyval.py
@@ -1,16 +1,6 @@
+# SPDX-License-Identifier: Apache-2.0
# Copyright 2017, 2019 The Meson development team
-# 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.
from __future__ import annotations
import os
diff --git a/mesonbuild/modules/modtest.py b/mesonbuild/modules/modtest.py
index 5c2584061..ebc019d58 100644
--- a/mesonbuild/modules/modtest.py
+++ b/mesonbuild/modules/modtest.py
@@ -1,17 +1,6 @@
+# SPDX-License-Identifier: Apache-2.0
# Copyright 2015 The Meson development team
-# 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.
-
from __future__ import annotations
import typing as T
diff --git a/mesonbuild/modules/pkgconfig.py b/mesonbuild/modules/pkgconfig.py
index fa543fdb5..3f9ce7b71 100644
--- a/mesonbuild/modules/pkgconfig.py
+++ b/mesonbuild/modules/pkgconfig.py
@@ -1,17 +1,6 @@
+# SPDX-License-Identifier: Apache-2.0
# Copyright 2015-2022 The Meson development team
-# 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.
-
from __future__ import annotations
from collections import defaultdict
from dataclasses import dataclass
diff --git a/mesonbuild/modules/python.py b/mesonbuild/modules/python.py
index ec95374d3..7a2cd2837 100644
--- a/mesonbuild/modules/python.py
+++ b/mesonbuild/modules/python.py
@@ -1,16 +1,6 @@
+# SPDX-License-Identifier: Apache-2.0
# Copyright 2018 The Meson development team
-# 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.
from __future__ import annotations
import copy, json, os, shutil, re
diff --git a/mesonbuild/modules/python3.py b/mesonbuild/modules/python3.py
index bc4d9af3a..a5e9cca01 100644
--- a/mesonbuild/modules/python3.py
+++ b/mesonbuild/modules/python3.py
@@ -1,16 +1,6 @@
+# SPDX-License-Identifier: Apache-2.0
# Copyright 2016-2017 The Meson development team
-# 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.
from __future__ import annotations
import sysconfig
diff --git a/mesonbuild/modules/qt.py b/mesonbuild/modules/qt.py
index 83dcf31bd..c2a315c7f 100644
--- a/mesonbuild/modules/qt.py
+++ b/mesonbuild/modules/qt.py
@@ -1,17 +1,7 @@
+# SPDX-License-Identifier: Apache-2.0
# Copyright 2015 The Meson development team
-# Copyright © 2021 Intel Corporation
+# Copyright © 2021-2023 Intel Corporation
-# 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.
from __future__ import annotations
import os
diff --git a/mesonbuild/modules/qt4.py b/mesonbuild/modules/qt4.py
index 6bdf1c51d..354b4a5cf 100644
--- a/mesonbuild/modules/qt4.py
+++ b/mesonbuild/modules/qt4.py
@@ -1,17 +1,6 @@
+# SPDX-License-Identifier: Apache-2.0
# Copyright 2015 The Meson development team
-# 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.
-
from __future__ import annotations
import typing as T
diff --git a/mesonbuild/modules/qt5.py b/mesonbuild/modules/qt5.py
index d9f0a5ecd..11958c981 100644
--- a/mesonbuild/modules/qt5.py
+++ b/mesonbuild/modules/qt5.py
@@ -1,17 +1,6 @@
+# SPDX-License-Identifier: Apache-2.0
# Copyright 2015 The Meson development team
-# 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.
-
from __future__ import annotations
import typing as T
diff --git a/mesonbuild/modules/qt6.py b/mesonbuild/modules/qt6.py
index cafc531af..b23204678 100644
--- a/mesonbuild/modules/qt6.py
+++ b/mesonbuild/modules/qt6.py
@@ -1,17 +1,6 @@
+# SPDX-License-Identifier: Apache-2.0
# Copyright 2020 The Meson development team
-# 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.
-
from __future__ import annotations
import typing as T
diff --git a/mesonbuild/modules/rust.py b/mesonbuild/modules/rust.py
index 8e55ad4f8..eb15473de 100644
--- a/mesonbuild/modules/rust.py
+++ b/mesonbuild/modules/rust.py
@@ -1,16 +1,6 @@
+# SPDX-License-Identifier: Apache-2.0
# Copyright © 2020-2023 Intel Corporation
-# 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.
from __future__ import annotations
import itertools
import os
diff --git a/mesonbuild/modules/simd.py b/mesonbuild/modules/simd.py
index b8baf39ef..bfdc0c2df 100644
--- a/mesonbuild/modules/simd.py
+++ b/mesonbuild/modules/simd.py
@@ -1,16 +1,6 @@
+# SPDX-License-Identifier: Apache-2.0
# Copyright 2017 The Meson development team
-# 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.
from __future__ import annotations
import typing as T
diff --git a/mesonbuild/modules/sourceset.py b/mesonbuild/modules/sourceset.py
index ae594b5aa..c11fef699 100644
--- a/mesonbuild/modules/sourceset.py
+++ b/mesonbuild/modules/sourceset.py
@@ -1,17 +1,6 @@
+# SPDX-License-Identifier: Apache-2.0
# Copyright 2019 The Meson development team
-# 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.
-
from __future__ import annotations
import typing as T
diff --git a/mesonbuild/modules/wayland.py b/mesonbuild/modules/wayland.py
index 99f71d000..cab2ff453 100644
--- a/mesonbuild/modules/wayland.py
+++ b/mesonbuild/modules/wayland.py
@@ -1,17 +1,6 @@
+# SPDX-License-Identifier: Apache-2.0
# Copyright 2022 Mark Bolhuis <mark@bolhuis.dev>
-# 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.
-
from __future__ import annotations
import os
import typing as T
diff --git a/mesonbuild/modules/windows.py b/mesonbuild/modules/windows.py
index b7cdeb33f..29ae96b08 100644
--- a/mesonbuild/modules/windows.py
+++ b/mesonbuild/modules/windows.py
@@ -1,16 +1,6 @@
+# SPDX-License-Identifier: Apache-2.0
# Copyright 2015 The Meson development team
-# 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.
from __future__ import annotations
import enum