aboutsummaryrefslogtreecommitdiffstats
path: root/build/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'build/plugins')
-rw-r--r--build/plugins/_dart_fields.py7
-rw-r--r--build/plugins/java.py10
-rw-r--r--build/plugins/lib/nots/package_manager/pnpm/lockfile.py20
-rw-r--r--build/plugins/nots.py7
-rw-r--r--build/plugins/ytest.py1
5 files changed, 35 insertions, 10 deletions
diff --git a/build/plugins/_dart_fields.py b/build/plugins/_dart_fields.py
index 6990007804..b3519c86e9 100644
--- a/build/plugins/_dart_fields.py
+++ b/build/plugins/_dart_fields.py
@@ -643,13 +643,6 @@ class LintConfigs:
@classmethod
def cpp_configs(cls, unit, flat_args, spec_args):
- custom_config = spec_args.get('CUSTOM_CONFIG')
- if custom_config:
- # TODO delete CUSTOM_CONFIG, it's used only by arc
- config = custom_config[0]
- assert_file_exists(unit, config)
- return {cls.KEY: serialize_list([config])}
-
if config := cls._from_config_type(unit, spec_args):
# specified by config type, autoincludes scheme
return {cls.KEY: serialize_list([config])}
diff --git a/build/plugins/java.py b/build/plugins/java.py
index f95c08cea8..c42175634c 100644
--- a/build/plugins/java.py
+++ b/build/plugins/java.py
@@ -70,6 +70,7 @@ def onjava_module(unit, *args):
'21',
'22',
'23',
+ '24',
):
data['ENABLE_PREVIEW'] = extract_macro_calls(unit, 'ENABLE_PREVIEW_VALUE', args_delim)
@@ -300,6 +301,7 @@ def on_jdk_version_macro_check(unit, *args):
'21',
'22',
'23',
+ '24',
)
if jdk_version not in available_versions:
ymake.report_configure_error(
@@ -367,3 +369,11 @@ def on_setup_project_coords_if_needed(unit, *args):
else:
value = 'project(\\":{}\\")'.format(project_dir.replace('/', ':'))
unit.set(['EXPORT_GRADLE_CLASSPATH', value])
+
+
+def on_java_resource_tar_validate_extract_root(unit, extract_root):
+ if extract_root == '<required>':
+ ymake.report_configure_error(
+ 'Macro JAVA_RESOURCE_TAR requires to set EXTRACT_ROOT. '
+ 'Usage JAVA_RESOURCE_TAR(tar_path EXTRACT_ROOT root_dir)'
+ )
diff --git a/build/plugins/lib/nots/package_manager/pnpm/lockfile.py b/build/plugins/lib/nots/package_manager/pnpm/lockfile.py
index f4fac51bbe..b1e8fc0706 100644
--- a/build/plugins/lib/nots/package_manager/pnpm/lockfile.py
+++ b/build/plugins/lib/nots/package_manager/pnpm/lockfile.py
@@ -10,6 +10,7 @@ from ..base import PackageJson, BaseLockfile, LockfilePackageMeta, LockfilePacka
LOCKFILE_VERSION = "lockfileVersion"
IMPORTER_KEYS = PackageJson.DEP_KEYS + ("specifiers",)
+WS_PREFIX = "workspace:"
class PnpmLockfileHelper:
@@ -267,6 +268,25 @@ class PnpmLockfile(BaseLockfile):
return {".": importer} if importer else {}
+ def validate_importers(self):
+ importers = self.get_importers()
+ pkg = importers.get(".")
+ peers = set(["."])
+ problem_importers = []
+
+ for _, deps in pkg.items():
+ for _, dep in deps.items():
+ specifier = dep.get("specifier")
+ if specifier and specifier.startswith(WS_PREFIX):
+ peers.add(specifier[len(WS_PREFIX) :])
+
+ for importer in self.get_importers().keys():
+ if importer not in peers:
+ problem_importers.append(importer)
+
+ if problem_importers:
+ raise Exception(f"Invalid importers in lockfile: {", ".join(problem_importers)}")
+
def merge(self, lf):
"""
Merges two lockfiles:
diff --git a/build/plugins/nots.py b/build/plugins/nots.py
index 9d67685c48..911f10f65a 100644
--- a/build/plugins/nots.py
+++ b/build/plugins/nots.py
@@ -802,6 +802,11 @@ def on_node_modules_configure(unit: NotsUnitType) -> None:
if not unit.get("TS_TEST_FOR"):
__set_append(unit, "_NODE_MODULES_INOUTS", _build_directives(["hide", "output"], sorted(outs)))
+ lf = pm.load_lockfile_from_dir(pm.sources_path)
+
+ if hasattr(lf, "validate_importers"):
+ lf.validate_importers()
+
if pj.get_use_prebuilder():
unit.on_peerdir_ts_resource("@yatool/prebuilder")
unit.set(
@@ -817,7 +822,6 @@ def on_node_modules_configure(unit: NotsUnitType) -> None:
if prebuilder_major == "0":
# TODO: FBP-1408
- lf = pm.load_lockfile_from_dir(pm.sources_path)
is_valid, invalid_keys = lf.validate_has_addons_flags()
if not is_valid:
@@ -831,7 +835,6 @@ def on_node_modules_configure(unit: NotsUnitType) -> None:
+ "\n - ".join(invalid_keys)
)
else:
- lf = pm.load_lockfile_from_dir(pm.sources_path)
requires_build_packages = lf.get_requires_build_packages()
is_valid, validation_messages = pj.validate_prebuilds(requires_build_packages)
diff --git a/build/plugins/ytest.py b/build/plugins/ytest.py
index 937c049aff..513887ac16 100644
--- a/build/plugins/ytest.py
+++ b/build/plugins/ytest.py
@@ -1035,7 +1035,6 @@ def on_add_cpp_linter_check(fields, unit, *args):
"LINTER": 1,
"DEPENDS": unlimited,
"CONFIGS": 1,
- "CUSTOM_CONFIG": 1,
"GLOBAL_RESOURCES": unlimited,
"FILE_PROCESSING_TIME": 1,
"EXTRA_PARAMS": unlimited,