コード例 #1
0
        /// <summary>
        /// Removes a file generator from the service.
        /// </summary>
        /// <param name="fileType">The file type of generator to remove.</param>
        public void RemoveFileGenerator(GeneratedFileType fileType)
        {
            var fileGenerator = _fileGenerators.SingleOrDefault(fg => fg.OutputFileType == fileType);

            if (fileGenerator != null)
            {
                _fileGenerators.Remove(fileGenerator);
            }
        }
コード例 #2
0
ファイル: BondSpecProvider.cs プロジェクト: ykwd/rDSN
        private string[] FromSpecToSources(string specFile, string outputDir, GeneratedFileType[] types)
        {
            var compiler = LanguageHelper.GetCompilerPath(ServiceSpecType.bond_3_0);
            var bondc_dir = Path.GetDirectoryName(compiler);
            string[] templates = { "Rules_Bond_CSharp_Client.tt" };
            var arguments = specFile + " /c#" +
                templates.VerboseCombine(" ", t => " /T:" + Path.Combine(bondc_dir, t))
                + " /O:" + outputDir;

            var err = SystemHelper.RunProcess(compiler, arguments);
            Trace.Assert(err == 0, "bondc code generation failed");

            List<string> sources = new List<string>();
            foreach (var t in types)
            {
                string fname = Path.Combine(outputDir, Path.GetFileNameWithoutExtension(specFile) + _postfix[(int)t]);
                Trace.Assert(File.Exists(fname));

                sources.Add(fname);
            }

            return sources.ToArray();
        }
コード例 #3
0
ファイル: BondSpecProvider.cs プロジェクト: glglwty/rDSN
        private IEnumerable<string> FromAllSpecToSources(string mainSpecFile, IEnumerable<string> refSpecFiles, string outputDir, IEnumerable<GeneratedFileType> typesForMain, GeneratedFileType[] typesForReferenced)
        {
            var sources = new List<string>();

            sources.AddRange(FromSpecToSources(mainSpecFile, outputDir, typesForMain));

            foreach (var refSpecFile in refSpecFiles)
            {
                sources.AddRange(FromSpecToSources(refSpecFile, outputDir, typesForReferenced));
            }

            return sources.ToArray();
        }