Browse Source

Use protoc_old for py2 and only for it
b33d3a4c9adc28d2a9f5af78d52ed54fcc6df41b

mikhnenko 9 months ago
parent
commit
e6cc62cba5

+ 4 - 3
build/conf/proto.conf

@@ -1,7 +1,8 @@
 # tag:tool-specific tag:proto
 PROTOC=${tool:"contrib/tools/protoc"}
-when ($MODULE_LANG == "py2") {
-    PROTOC=${tool:"contrib/tools/protoc_old"}
+PY_PROTOC=${tool:"contrib/tools/protoc"}
+when ($PYTHON2 == "yes") {
+    PY_PROTOC=${tool:"contrib/tools/protoc_old"}
 }
 JAVA_PROTOC=${tool:"contrib/tools/protoc"}
 NEW_JAVA_PROTOC=yes
@@ -445,7 +446,7 @@ macro NO_MYPY() {
 
 # tag:proto tag:python-specific
 macro _PY_PROTO_CMD_BASE(File, Suf, Args...) {
-    .CMD=$PROTOC -I=./$PROTO_NAMESPACE -I=$ARCADIA_ROOT/$PROTO_NAMESPACE ${pre=-I=:_PROTO__INCLUDE} -I=$ARCADIA_BUILD_ROOT -I=$PROTOBUF_PATH --python_out=$ARCADIA_BUILD_ROOT/$PROTO_NAMESPACE $_PROTOC_FLAGS ${input;rootrel:File} ${output;hide;noauto;norel;nopath;noext;suf=$Suf:File} ${kv;hide:"p PB"} ${kv;hide:"pc yellow"} $Args ${hide:PROTO_FAKEID}
+    .CMD=$PY_PROTOC -I=./$PROTO_NAMESPACE -I=$ARCADIA_ROOT/$PROTO_NAMESPACE ${pre=-I=:_PROTO__INCLUDE} -I=$ARCADIA_BUILD_ROOT -I=$PROTOBUF_PATH --python_out=$ARCADIA_BUILD_ROOT/$PROTO_NAMESPACE $_PROTOC_FLAGS ${input;rootrel:File} ${output;hide;noauto;norel;nopath;noext;suf=$Suf:File} ${kv;hide:"p PB"} ${kv;hide:"pc yellow"} $Args ${hide:PROTO_FAKEID}
 }
 
 # tag:proto tag:python-specific

+ 0 - 0
contrib/tools/protoc_old/main.c


+ 16 - 0
contrib/tools/protoc_old/resources.json

@@ -0,0 +1,16 @@
+{
+    "by_platform": {
+        "darwin": {
+            "uri": "sbr:5841615385"
+        },
+        "darwin-arm64": {
+            "uri": "sbr:5841614302"
+        },
+        "linux": {
+            "uri": "sbr:5841616607"
+        },
+        "win32": {
+            "uri": "sbr:5841613390"
+        }
+    }
+}

+ 1 - 0
contrib/tools/protoc_old/ya.make

@@ -0,0 +1 @@
+INCLUDE(ya.make.prebuilt)

+ 30 - 0
contrib/tools/protoc_old/ya.make.induced_deps

@@ -0,0 +1,30 @@
+INDUCED_DEPS(cpp
+    ${ARCADIA_ROOT}/contrib/libs/protobuf/src/google/protobuf/descriptor.h
+    ${ARCADIA_ROOT}/contrib/libs/protobuf/src/google/protobuf/generated_message_reflection.h
+    ${ARCADIA_ROOT}/contrib/libs/protobuf/src/google/protobuf/io/coded_stream.h
+    ${ARCADIA_ROOT}/contrib/libs/protobuf/src/google/protobuf/reflection_ops.h
+    ${ARCADIA_ROOT}/contrib/libs/protobuf/src/google/protobuf/stubs/common.h
+    ${ARCADIA_ROOT}/contrib/libs/protobuf/src/google/protobuf/stubs/once.h
+    ${ARCADIA_ROOT}/contrib/libs/protobuf/src/google/protobuf/stubs/port.h
+    ${ARCADIA_ROOT}/contrib/libs/protobuf/src/google/protobuf/wire_format.h
+)
+INDUCED_DEPS(h+cpp
+    ${ARCADIA_ROOT}/contrib/libs/protobuf/src/google/protobuf/arena.h
+    ${ARCADIA_ROOT}/contrib/libs/protobuf/src/google/protobuf/arenastring.h
+    ${ARCADIA_ROOT}/contrib/libs/protobuf/src/google/protobuf/extension_set.h
+    ${ARCADIA_ROOT}/contrib/libs/protobuf/src/google/protobuf/generated_enum_reflection.h
+    ${ARCADIA_ROOT}/contrib/libs/protobuf/src/google/protobuf/generated_message_bases.h
+    ${ARCADIA_ROOT}/contrib/libs/protobuf/src/google/protobuf/generated_message_table_driven.h
+    ${ARCADIA_ROOT}/contrib/libs/protobuf/src/google/protobuf/generated_message_util.h
+    ${ARCADIA_ROOT}/contrib/libs/protobuf/src/google/protobuf/io/coded_stream.h
+    ${ARCADIA_ROOT}/contrib/libs/protobuf/src/google/protobuf/map.h
+    ${ARCADIA_ROOT}/contrib/libs/protobuf/src/google/protobuf/map_entry.h
+    ${ARCADIA_ROOT}/contrib/libs/protobuf/src/google/protobuf/map_field_inl.h
+    ${ARCADIA_ROOT}/contrib/libs/protobuf/src/google/protobuf/message.h
+    ${ARCADIA_ROOT}/contrib/libs/protobuf/src/google/protobuf/metadata_lite.h
+    ${ARCADIA_ROOT}/contrib/libs/protobuf/src/google/protobuf/port_def.inc
+    ${ARCADIA_ROOT}/contrib/libs/protobuf/src/google/protobuf/port_undef.inc
+    ${ARCADIA_ROOT}/contrib/libs/protobuf/src/google/protobuf/repeated_field.h
+    ${ARCADIA_ROOT}/contrib/libs/protobuf/src/google/protobuf/stubs/common.h
+    ${ARCADIA_ROOT}/contrib/libs/protobuf/src/google/protobuf/unknown_field_set.h
+)

+ 20 - 0
contrib/tools/protoc_old/ya.make.prebuilt

@@ -0,0 +1,20 @@
+SET_RESOURCE_URI_FROM_JSON(SANDBOX_RESOURCE_URI resources.json)
+
+IF (SANDBOX_RESOURCE_URI != "")
+    ENABLE(PREBUILT)
+
+    PREBUILT_PROGRAM()
+
+    DECLARE_EXTERNAL_RESOURCE(PROTOC ${SANDBOX_RESOURCE_URI})
+
+    PRIMARY_OUTPUT(${PROTOC_RESOURCE_GLOBAL}/protoc${MODULE_SUFFIX})
+
+    INCLUDE(ya.make.induced_deps)
+
+    END()
+ELSE()
+    PROGRAM(protoc)
+    SRCS(main.c)
+    INCLUDE(ya.make.induced_deps)
+    END()
+ENDIF()