|
@@ -1,4 +1,5 @@
|
|
from _common import sort_by_keywords
|
|
from _common import sort_by_keywords
|
|
|
|
+import ymake
|
|
|
|
|
|
|
|
|
|
def get_or_default(kv, name, default):
|
|
def get_or_default(kv, name, default):
|
|
@@ -17,9 +18,19 @@ def onregister_yql_python_udf(unit, *args):
|
|
use_arcadia_python = unit.get('USE_ARCADIA_PYTHON') == 'yes'
|
|
use_arcadia_python = unit.get('USE_ARCADIA_PYTHON') == 'yes'
|
|
py3 = unit.get('PYTHON3') == 'yes'
|
|
py3 = unit.get('PYTHON3') == 'yes'
|
|
|
|
|
|
|
|
+ if unit.get('OPENSOURCE'):
|
|
|
|
+ if add_libra_modules:
|
|
|
|
+ ymake.report_configure_error('Libra modules are not supported in opensource python UDFs')
|
|
|
|
+ add_libra_modules = False
|
|
|
|
+
|
|
|
|
+ yql_base_dir = unit.get('YQL_BASE_DIR')
|
|
|
|
+ yql_python_dir = unit.get('YQL_PYTHON_DIR')
|
|
|
|
+ if not yql_python_dir:
|
|
|
|
+ yql_python_dir = '/'.join([yql_base_dir, 'udfs/common/python'])
|
|
|
|
+
|
|
unit.onyql_abi_version(['2', '27', '0'])
|
|
unit.onyql_abi_version(['2', '27', '0'])
|
|
- unit.onpeerdir(['yql/udfs/common/python/python_udf'])
|
|
|
|
- unit.onpeerdir(['contrib/ydb/library/yql/public/udf'])
|
|
|
|
|
|
+ unit.onpeerdir(['/'.join([yql_python_dir, '/python_udf'])])
|
|
|
|
+ unit.onpeerdir(['/'.join([yql_base_dir, '/public/udf'])])
|
|
|
|
|
|
if add_libra_modules:
|
|
if add_libra_modules:
|
|
unit.onpeerdir(['quality/user_sessions/libra_arc/noyql'])
|
|
unit.onpeerdir(['quality/user_sessions/libra_arc/noyql'])
|
|
@@ -28,16 +39,16 @@ def onregister_yql_python_udf(unit, *args):
|
|
if use_arcadia_python:
|
|
if use_arcadia_python:
|
|
flavor = 'Arcadia'
|
|
flavor = 'Arcadia'
|
|
unit.onpeerdir(
|
|
unit.onpeerdir(
|
|
- ['library/python/runtime', 'yql/udfs/common/python/main']
|
|
|
|
|
|
+ ['library/python/runtime', '/'.join([yql_python_dir, '/main'])]
|
|
if not py3
|
|
if not py3
|
|
- else ['library/python/runtime_py3', 'yql/udfs/common/python/main_py3']
|
|
|
|
|
|
+ else ['library/python/runtime_py3', '/'.join([yql_python_dir, '/main_py3'])]
|
|
)
|
|
)
|
|
else:
|
|
else:
|
|
flavor = 'System'
|
|
flavor = 'System'
|
|
|
|
|
|
output_includes = [
|
|
output_includes = [
|
|
- 'yql/udfs/common/python/python_udf/python_udf.h',
|
|
|
|
- 'contrib/ydb/library/yql/public/udf/udf_registrator.h',
|
|
|
|
|
|
+ '/'.join([yql_python_dir, '/python_udf/python_udf.h']),
|
|
|
|
+ '/'.join([yql_base_dir, '/public/udf/udf_registrator.h']),
|
|
]
|
|
]
|
|
if add_libra_modules:
|
|
if add_libra_modules:
|
|
output_includes.append('yql/udfs/quality/libra/module/module.h')
|
|
output_includes.append('yql/udfs/quality/libra/module/module.h')
|
|
@@ -52,6 +63,8 @@ def onregister_yql_python_udf(unit, *args):
|
|
resource_name,
|
|
resource_name,
|
|
path,
|
|
path,
|
|
libra_flag,
|
|
libra_flag,
|
|
|
|
+ yql_base_dir,
|
|
|
|
+ yql_python_dir,
|
|
'OUT',
|
|
'OUT',
|
|
path,
|
|
path,
|
|
'OUTPUT_INCLUDES',
|
|
'OUTPUT_INCLUDES',
|