ahmedabu98 commented on code in PR #29834:
URL: https://github.com/apache/beam/pull/29834#discussion_r1480758119


##########
sdks/python/test-suites/xlang/build.gradle:
##########
@@ -67,12 +67,22 @@ def ioXlang = new CrossLanguageTask().tap {
 
 // This list should include all expansion service targets in 
sdks/python/standard_expansion_services.yaml
 def servicesToGenerateFrom = [ioExpansionPath, gcpExpansionPath]
+def lowestSupportedVersion = 
project.properties['cross_language_validates_py_versions'].split(',')[0]
+List<String> dependencies = new 
File(project(":sdks:python:container:py${getVersionSuffix(lowestSupportedVersion)}").projectDir,
 "base_image_requirements.txt").text.split('\n')
+List<String> xlangGenerationDeps = []
+for (dep in dependencies){
+    if (dep.containsIgnoreCase("jinja2")){
+        xlangGenerationDeps.add(dep)
+        break
+    }
+}
 def xlangWrapperValidation = new CrossLanguageTask().tap {
     name = "xlangWrapperValidation"
     expansionProjectPaths = servicesToGenerateFrom
-    collectMarker = "uses_multiple_java_expansion_services"
+    collectMarker = "xlang_wrapper_generation"
     startJobServer = setupTask
     cleanupJobServer = cleanupTask
+    additionalDeps = xlangGenerationDeps

Review Comment:
   Yup it will install only additional dependencies. This will essentially be 
`additionalDeps = ['Jinja2==3.1.3']`. 
   It goes through Py38's `base_image_requirements` file and uses the same 
Jinja dependency version. This way we're always installing the same version 
used to build the SDK.
   
   I've made the `additionalDeps` field a `List<String>` because this may be 
useful for future cases where we need to install more than one dependency



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to