From e43b750790c8fa6cd8aa7db643833ae0e59eacc5 Mon Sep 17 00:00:00 2001 From: MohamedSabthar Date: Fri, 6 Oct 2023 17:03:38 +0530 Subject: [PATCH] Add support for bal push command with docker --- .../ballerina/plugin/BallerinaPlugin.groovy | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/main/groovy/io/ballerina/plugin/BallerinaPlugin.groovy b/src/main/groovy/io/ballerina/plugin/BallerinaPlugin.groovy index be45140..efe09b0 100644 --- a/src/main/groovy/io/ballerina/plugin/BallerinaPlugin.groovy +++ b/src/main/groovy/io/ballerina/plugin/BallerinaPlugin.groovy @@ -371,7 +371,25 @@ class BallerinaPlugin implements Plugin { project.exec { workingDir project.projectDir environment 'JAVA_OPTS', '-DBALLERINA_DEV_COMPILE_BALLERINA_ORG=true' - if (Os.isFamily(Os.FAMILY_WINDOWS)) { + if (buildOnDocker) { + String dockerTag = ballerinaExtension.buildOnDockerImage + if (dockerTag != null && dockerTag != '') { + ballerinaDockerTag = dockerTag + } + def balPushWithDocker = """ + docker run --rm --net=host --user root \ + -v $parentDirectory:/home/ballerina/$parentDirectory.name \ + -v $projectDirectory:/home/ballerina/$parentDirectory.name/$projectDirectory.name \ + ballerina/ballerina:$ballerinaDockerTag \ + /bin/sh -c "cd $parentDirectory.name/$projectDirectory.name && \ + bal push ${balBuildTarget}/bala/${packageOrg}-${packageName}-${platform}-${balaVersion}.bala" + """ + if (Os.isFamily(Os.FAMILY_WINDOWS)) { + commandLine 'cmd', '/c', "$balPushWithDocker" + } else { + commandLine 'sh', '-c', "$balPushWithDocker" + } + } else if (Os.isFamily(Os.FAMILY_WINDOWS)) { commandLine 'cmd', '/c', "$distributionBinPath/bal.bat push ${balBuildTarget}/bala/${packageOrg}-${packageName}-${platform}-${balaVersion}.bala && exit %%ERRORLEVEL%%" } else { commandLine 'sh', '-c', "$distributionBinPath/bal push ${balBuildTarget}/bala/${packageOrg}-${packageName}-${platform}-${balaVersion}.bala"