Exemple #1
0
            public override void Configure(Container container)
            {
                SetConfig(new HostConfig {
                    DebugMode = true,
                });

                var contentRoot = Path.GetFullPath("../../../../ProtocApi");
                var protocPath  = Path.Combine(contentRoot, "protoc");
                var exeDirPath  = Env.IsWindows
                    ? Path.Combine(protocPath, "win64")
                    : Path.Combine(protocPath, "linux64");
                var protocConfig = new ProtocConfig {
                    ExePath = Env.IsWindows
                        ? Path.Combine(exeDirPath, "protoc.exe")
                        : Path.Combine(exeDirPath, "protoc"),
                    PluginPath            = exeDirPath,
                    ProtoIncludeDirectory = Path.Combine(protocPath, "include"),
                    TempDirectory         = Path.Combine(contentRoot, "tmp"),
                };

                try { FileSystemVirtualFiles.DeleteDirectoryRecursive(protocConfig.TempDirectory); } catch {}
                try { Directory.CreateDirectory(protocConfig.TempDirectory); } catch {}

                container.Register(protocConfig);
            }
Exemple #2
0
    // Configure your AppHost with the necessary configuration and dependencies your App needs
    public override void Configure(Container container)
    {
        SetConfig(new HostConfig
        {
            AllowFileExtensions = { "proto" },
        });

        var protocPath = Path.Combine(ContentRootDirectory.RealPath, "protoc");
        var exeDirPath = Env.IsWindows
            ? Path.Combine(protocPath, "win64")
            : Path.Combine(protocPath, "linux64");
        var protocConfig = new ProtocConfig {
            ExePath = Env.IsWindows
                ? Path.Combine(exeDirPath, "protoc.exe")
                : Path.Combine(exeDirPath, "protoc"),
            PluginPath            = exeDirPath,
            ProtoIncludeDirectory = Path.Combine(protocPath, "include"),
            TempDirectory         = Path.Combine(ContentRootDirectory.RealPath, "tmp"),
        }.Init();

        container.Register(protocConfig);

        if (Env.IsWindows)
        {
            protocConfig.Languages.Remove(ProtocLang.Swift); // protoc-gen-grpc-swift does not exist on Windows
        }
        Plugins.Add(new SharpPagesFeature {
            ScriptMethods = { new ProtocScriptMethods(protocConfig) }
        });
    }
Exemple #3
0
 public ProtocScriptMethods(ProtocConfig config) => this.config = config;