private void AddLanguageVersion(StringBuilder args, WorkerRuntime workerRuntime) { var workerVersion = ResolveWorkerRuntimeVersion(FunctionsWorkerRuntime); if (!string.IsNullOrEmpty(workerVersion)) { OryxArgumentsHelper.AddLanguageVersion(args, workerVersion); } }
private void AddWorkerRuntimeArgs(StringBuilder args, WorkerRuntime workerRuntime) { switch (workerRuntime) { case WorkerRuntime.Python: OryxArgumentsHelper.AddPythonPackageDir(args, OryxBuildConstants.FunctionAppBuildSettings.PythonPackagesTargetDir); break; } }
private void AddBuildOptimizationFlags(StringBuilder args, DeploymentContext context, BuildOptimizationsFlags optimizationFlags) { switch (Flags) { // By default, we always want to use the temp directory path // However, it's good to have an off option here. // Ideally, we would always use ExpressBuild, as that also performs run from package case BuildOptimizationsFlags.Off: break; case BuildOptimizationsFlags.None: case BuildOptimizationsFlags.CompressModules: case BuildOptimizationsFlags.UseExpressBuild: OryxArgumentsHelper.AddTempDirectoryOption(args, context.BuildTempPath); break; } }
private void AddLanguage(StringBuilder args, WorkerRuntime workerRuntime) { switch (workerRuntime) { case WorkerRuntime.DotNet: OryxArgumentsHelper.AddLanguage(args, "dotnet"); break; case WorkerRuntime.Node: OryxArgumentsHelper.AddLanguage(args, "nodejs"); break; case WorkerRuntime.Python: OryxArgumentsHelper.AddLanguage(args, "python"); break; } }
protected void AddWorkerRuntimeArgs(StringBuilder args, WorkerRuntime workerRuntime) { switch (workerRuntime) { case WorkerRuntime.Python: if (Version == "3.6") { // Backward compatible with current python 3.6 OryxArgumentsHelper.AddPythonPackageDir(args, OryxBuildConstants.FunctionAppBuildSettings.Python36PackagesTargetDir); } else { OryxArgumentsHelper.AddPythonPackageDir(args, OryxBuildConstants.FunctionAppBuildSettings.PythonPackagesTargetDir); } break; } }
private void AddOryxBuildCommand(StringBuilder args, DeploymentContext context, string source, string destination) { // If it is express build, we don't directly need to write to /home/site/wwwroot // So, we build into a different directory to avoid overlap // Additionally, we didn't run kudusync, and can just build directly from repository path if (Flags == BuildOptimizationsFlags.UseExpressBuild) { source = context.RepositoryPath; destination = OryxBuildConstants.FunctionAppBuildSettings.ExpressBuildSetup; // It is important to clean and recreate the directory to make sure no overwrite occurs if (FileSystemHelpers.DirectoryExists(destination)) { FileSystemHelpers.DeleteDirectorySafe(destination); } FileSystemHelpers.EnsureDirectory(destination); } OryxArgumentsHelper.AddOryxBuildCommand(args, source, destination); }
protected void AddLanguage(StringBuilder args, WorkerRuntime workerRuntime) { switch (workerRuntime) { case WorkerRuntime.DotNet: Language = Framework.DotNETCore; OryxArgumentsHelper.AddLanguage(args, "dotnet"); break; case WorkerRuntime.Node: Language = Framework.NodeJs; OryxArgumentsHelper.AddLanguage(args, "nodejs"); break; case WorkerRuntime.Python: Language = Framework.Python; OryxArgumentsHelper.AddLanguage(args, "python"); break; } }