chamikaramj commented on code in PR #27578:
URL: https://github.com/apache/beam/pull/27578#discussion_r1295234125
##########
buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy:
##########
@@ -2731,6 +2755,103 @@ class BeamModulePlugin implements Plugin<Project> {
/**
***********************************************************************************************/
+ // Method to create the createTransformServiceTask.
+ // The method takes TransformServiceConfiguration as parameter.
+ project.ext.createTransformServiceTask = {
+ // This task won't work if the python build file doesn't exist.
+ if (!project.project(":sdks:python").buildFile.exists()) {
+ System.err.println 'Python build file not found. Skipping
createTransformServiceTask.'
+ return
+ }
+ def config = it ? it as TransformServiceConfiguration : new
TransformServiceConfiguration()
+
+ project.evaluationDependsOn(":sdks:python")
+ project.evaluationDependsOn(":runners:core-construction-java")
+ project.evaluationDependsOn(":sdks:java:extensions:python")
+ project.evaluationDependsOn(":sdks:java:transform-service:launcher")
+
+ def usesDataflowRunner =
config.pythonPipelineOptions.contains("--runner=TestDataflowRunner") ||
config.pythonPipelineOptions.contains("--runner=DataflowRunner")
+
+ // Task for launching transform services
+ def envDir = project.project(":sdks:python").envdir
+ def pythonDir = project.project(":sdks:python").projectDir
+ def externalPort = getRandomPort()
+ def launcherJar =
project.project(':sdks:java:transform-service:launcher').shadowJar.archivePath
+ def transformServiceOpts = [
+ "transform_service_launcher_jar": launcherJar,
+ "group_id": project.name,
+ "external_port": externalPort,
+ "beam_version": project.version
+ ]
+ def serviceArgs =
project.project(':sdks:python').mapToArgString(transformServiceOpts)
+ def pythonContainerSuffix =
project.project(':sdks:python').pythonVersion.replace('.', '')
+ def javaContainerSuffix
+ if (JavaVersion.current() == JavaVersion.VERSION_1_8) {
+ javaContainerSuffix = 'java8'
+ } else if (JavaVersion.current() == JavaVersion.VERSION_11) {
+ javaContainerSuffix = 'java11'
+ } else if (JavaVersion.current() == JavaVersion.VERSION_17) {
+ javaContainerSuffix = 'java17'
+ } else {
+ String exceptionMessage = "Your Java version is unsupported. You need
Java version of 8 or 11 or 17 to get started, but your Java version is: " +
JavaVersion.current();
+ throw new GradleException(exceptionMessage)
+ }
+
+ def setupTask = project.tasks.register(config.name+"Setup", Exec) {
+ dependsOn ':sdks:java:container:'+javaContainerSuffix+':docker'
+ dependsOn ':sdks:python:container:py'+pythonContainerSuffix+':docker'
+ dependsOn ':sdks:java:transform-service:controller-container:docker'
+ dependsOn ':sdks:python:expansion-service-container:docker'
+ dependsOn ':sdks:java:expansion-service:container:docker'
+ dependsOn ":sdks:python:installGcpTest"
+ dependsOn
project.project(':sdks:java:transform-service:launcher').shadowJar.getPath()
Review Comment:
Done.
--
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]