From c9938f8f60c0b7cca7a5668807b17badb7861c86 Mon Sep 17 00:00:00 2001 From: Eli Schwartz Date: Tue, 22 Mar 2022 20:28:59 -0400 Subject: move a bunch of imports into TYPE_CHECKING blocks These are only used for type checking, so don't bother importing them at runtime. Generally add future annotations at the same time, to make sure that existing uses of these imports don't need to be quoted. --- mesonbuild/modules/java.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'mesonbuild/modules/java.py') diff --git a/mesonbuild/modules/java.py b/mesonbuild/modules/java.py index 22b8d2c..a8e5062 100644 --- a/mesonbuild/modules/java.py +++ b/mesonbuild/modules/java.py @@ -11,17 +11,23 @@ # 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 pathlib import typing as T + from mesonbuild import mesonlib from mesonbuild.build import CustomTarget, CustomTargetIndex, GeneratedList, Target -from mesonbuild.compilers import detect_compiler_for, Compiler -from mesonbuild.interpreter import Interpreter +from mesonbuild.compilers import detect_compiler_for from mesonbuild.interpreterbase.decorators import ContainerTypeInfo, FeatureDeprecated, FeatureNew, KwargInfo, typed_pos_args, typed_kwargs from mesonbuild.mesonlib import version_compare, MachineChoice -from . import NewExtensionModule, ModuleReturnValue, ModuleState +from . import NewExtensionModule, ModuleReturnValue + +if T.TYPE_CHECKING: + from . import ModuleState + from ..compilers import Compiler + from ..interpreter import Interpreter class JavaModule(NewExtensionModule): @FeatureNew('Java Module', '0.60.0') -- cgit v1.1