Generally an execution engine should not depend on SDK constructs (e.g. DoFn), as those should be used by the language's SDK harness to execute a UDF. However, there are certain constructs that are used to communicate between the Runner and SDK harness, or are required to fulfill the Runner's responsibilities (e.g. Coder, Window). Those should be accessible without having to depend on the entire SDK
Imported from Jira BEAM-3100. Original Jira may contain additional context.
Reported by: tgroh.
Generally an execution engine should not depend on SDK constructs (e.g. DoFn), as those should be used by the language's SDK harness to execute a UDF. However, there are certain constructs that are used to communicate between the Runner and SDK harness, or are required to fulfill the Runner's responsibilities (e.g. Coder, Window). Those should be accessible without having to depend on the entire SDK
Imported from Jira BEAM-3100. Original Jira may contain additional context.
Reported by: tgroh.