示例#1
0
        private void ScanAdvancedCmdletsForCommonModule()
        {
            var commonFolder = Path.Combine(OutputFolder, "Common");

            var sourceFiles = Directory.GetFiles(commonFolder, "*.cs");
            var scanner     = new AdvancedCmdletScanner(CoreRuntimeAssembly);

            foreach (var sourceFile in sourceFiles)
            {
                scanner.Scan(sourceFile, CommonAdvancedCmdlets);
            }
        }
示例#2
0
        /// <summary>
        /// Scans for any hand-maintained cmdlets. For now this is just to find usage of ConstantClass-derived
        /// types so that we can add them to the argument completers.
        /// </summary>
        /// <param name="outputRoot">The root output folder for the service being generated.</param>
        private void ScanAdvancedCmdletsForServices()
        {
            var outputRoot = Path.Combine(CmdletsOutputPath, CurrentModel.AssemblyName);

            var advancedCmdletsFolder = Path.Combine(outputRoot, "Advanced");

            if (!Directory.Exists(advancedCmdletsFolder))
            {
                return;
            }

            var sourceFiles = Directory.GetFiles(advancedCmdletsFolder, "*.cs");
            var scanner     = new AdvancedCmdletScanner(CurrentServiceAssembly);

            foreach (var sourceFile in sourceFiles)
            {
                scanner.Scan(sourceFile, CurrentModel.AdvancedCmdlets, CurrentModel.ArgumentCompleters);
            }
        }