Skip to content
This repository was archived by the owner on Jun 9, 2025. It is now read-only.

Commit 31ab355

Browse files
Add lib / compiler compatibility check (#16)
1 parent 4969568 commit 31ab355

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

src/betterproto2_compiler/plugin/compiler.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import os.path
22
import subprocess
33
import sys
4+
from importlib import metadata
45

56
from .module_validation import ModuleValidator
67

@@ -24,6 +25,8 @@
2425
def outputfile_compiler(output_file: OutputTemplate) -> str:
2526
templates_folder = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "templates"))
2627

28+
version = metadata.version("betterproto2_compiler")
29+
2730
env = jinja2.Environment(
2831
trim_blocks=True,
2932
lstrip_blocks=True,
@@ -35,7 +38,7 @@ def outputfile_compiler(output_file: OutputTemplate) -> str:
3538
header_template = env.get_template("header.py.j2")
3639

3740
code = body_template.render(output_file=output_file)
38-
code = header_template.render(output_file=output_file) + "\n" + code
41+
code = header_template.render(output_file=output_file, version=version) + "\n" + code
3942

4043
# Sort imports, delete unused ones
4144
code = subprocess.check_output(

src/betterproto2_compiler/templates/header.py.j2

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,5 @@ if TYPE_CHECKING:
4848
import grpclib.server
4949
from betterproto2.grpc.grpclib_client import MetadataLike
5050
from grpclib.metadata import Deadline
51+
52+
betterproto2.check_compiler_version("{{ version }}")

0 commit comments

Comments
 (0)