public static ILocalLambdaRuntime Initialize(string directory) { if (!Directory.Exists(directory)) { throw new DirectoryNotFoundException($"Directory containing built Lambda project does not exist {directory}"); } var depsFile = Directory.GetFiles(directory, "*.deps.json").FirstOrDefault(); if (depsFile == null) { throw new Exception("Failed to find a deps.json file"); } var fileName = depsFile.Substring(0, depsFile.Length - ".deps.json".Length) + ".dll"; if (!File.Exists(fileName)) { throw new Exception("Failed to find Lambda project entry assembly"); } // The resolver provides the ability to load the assemblies containing the select Lambda function. var resolver = new LambdaAssemblyResolver(fileName); var runtime = new LocalLambdaRuntime(resolver, directory); return(runtime); }
private LocalLambdaRuntime(LambdaAssemblyResolver resolver, string lambdaAssemblyDirectory) { Resolver = resolver; this.LambdaAssemblyDirectory = lambdaAssemblyDirectory; }