예제 #1
0
파일: Program.cs 프로젝트: whztt07/MoCross
        static void FilterProject(string projectName, string path)
        {
            // 获得项目文件集合
            FDictionary <SFileInfo> infos = new FDictionary <SFileInfo>();

            foreach (string fileName in RDirectory.ListFiles(path))
            {
                if (fileName.EndsWith(".h") || fileName.EndsWith(".cpp"))
                {
                    string    formatName = fileName.Replace('\\', '/');
                    string    name       = RString.Right(formatName, "/");
                    SFileInfo info       = new SFileInfo();
                    info.fileName = formatName;
                    info.include  = false;
                    infos.Set(name, info);
                }
            }
            // 查找使用中的文件集合
            string       configFileName = path + "/vcproject/" + projectName + ".vcxproj";
            FXmlDocument document       = new FXmlDocument(configFileName);

            foreach (FXmlNode xnode in document.Root.Nodes)
            {
                if (xnode.IsName("ItemGroup"))
                {
                    foreach (FXmlNode xfile in xnode.Nodes)
                    {
                        if (xfile.IsName("ClInclude") || xfile.IsName("ClCompile"))
                        {
                            string    include = xfile.Get("Include");
                            string    name    = RString.Right(include, "\\");
                            SFileInfo info    = infos.Find(name);
                            if (info != null)
                            {
                                info.include = true;
                            }
                        }
                    }
                }
            }
            // 查找删除集合
            foreach (SFileInfo info in infos.Values)
            {
                if (!info.include)
                {
                    RLogger.Find(typeof(SFileInfo)).Debug(null, "FilterProject", info.fileName);
                    File.Delete(info.fileName);
                }
            }
            // 查找没用目录
            RDirectory.Delete(path + "/build");
            RDirectory.Delete(path + "/dist");
            RDirectory.Delete(path + "/nbproject/private");
            RDirectory.Delete(path + "/maproject/libs");
            RDirectory.Delete(path + "/maproject/obj");
            RDirectory.Delete(path + "/vcproject/Debug");
            RDirectory.Delete(path + "/vcproject/Release");
            RDirectory.Delete(path + "/vcproject/x64");
            File.Delete(path + "/vcproject/" + projectName + ".vcxproj.user");
        }
예제 #2
0
 public SimulationResultsTask(
     ISimulationResultsToDataTableConverter simulationResultsToDataTableConverter,
     ISimulationResultsImportTask simulationResultsImportTask, RLogger logger)
 {
     _simulationResultsToDataTableConverter = simulationResultsToDataTableConverter;
     _simulationResultsImportTask           = simulationResultsImportTask;
     _logger = logger;
 }
예제 #3
0
 public PopulationTask(
    IIndividualValuesCacheImporter individualValuesCacheImporter, 
    IEntitiesInSimulationRetriever entitiesInSimulationRetriever,
    RLogger logger)
 {
    _individualValuesCacheImporter = individualValuesCacheImporter;
    _entitiesInSimulationRetriever = entitiesInSimulationRetriever;
    _logger = logger;
 }
예제 #4
0
 public PKAnalysisTask(
     IPopulationSimulationPKAnalysesToDataTableConverter populationSimulationPKAnalysesToDataTableConverter,
     ICorePKAnalysisTask corePKAnalysesTask,
     ISimulationPKParametersImportTask simulationPKParametersImportTask,
     RLogger logger)
 {
     _populationSimulationPKAnalysesToDataTableConverter = populationSimulationPKAnalysesToDataTableConverter;
     _corePKAnalysesTask = corePKAnalysesTask;
     _simulationPKParametersImportTask = simulationPKParametersImportTask;
     _logger = logger;
 }
 public SensitivityAnalysisTask(
     ISensitivityAnalysisToCoreSensitivityAnalysisMapper sensitivityAnalysisMapper,
     ISimulationResultsToDataTableConverter simulationResultsToDataTableConverter,
     ISensitivityAnalysisRunResultsImportTask sensitivityAnalysisRunResultsImportTask,
     IFullPathDisplayResolver fullPathDisplayResolver,
     RLogger logger)
 {
     _sensitivityAnalysisMapper               = sensitivityAnalysisMapper;
     _simulationResultsToDataTableConverter   = simulationResultsToDataTableConverter;
     _sensitivityAnalysisRunResultsImportTask = sensitivityAnalysisRunResultsImportTask;
     _fullPathDisplayResolver = fullPathDisplayResolver;
     _logger = logger;
 }
예제 #6
0
        private static IServiceProvider ConfigureServices()
        {
            //setup dependency injection
            IServiceCollection services = new ServiceCollection();

            services.AddLogging(logger => logger.AddDebug());

            var connectionString = @"Server=localhost;Port=5432;Database=workflow;User Id=postgres;Password=490910;";

            services.AddWorkflow(config => config.UsePostgreSQL(connectionString, true, true));
            //services.AddWorkflow();

            services.AddSingleton <ExeWorkflowService>();

            var configs = new ConfigurationBuilder().AddInMemoryCollection().Build();

            configs["exepath"]   = @"C:\nis_order\nis_order.exe";
            configs["orderpath"] = @"C:\nis_order\cmd_beg";
            configs["output"]    = @"D:\Temp\";
            configs["backup"]    = @"D:\999\Backup\";
            configs["event"]     = "FileCreated";

            // RLogger
            configs["rlogger:file"]   = @"D:\999\workflow";
            configs["rlogger:debug"]  = "true";
            configs["rlogger:system"] = "ConsoleHost";

            services.AddTransient <IUdWorkflowConfig, UdWorkflowConfig>(_ =>
            {
                var fileService          = new UdWorkflowConfig();
                fileService.ExePath      = configs["exepath"];
                fileService.OrderPath    = configs["orderpath"];
                fileService.OutputFolder = configs["output"];
                fileService.BackupFolder = configs["backup"];
                fileService.EventName    = configs["event"];
                return(fileService);
            });
            services.AddTransient <InvokeUdExe>();   // 將 InvokedUdExe 加入才可以進行 DI
            services.AddTransient <GenDocStep>();
            services.AddTransient <NofifyWorkflowTimeout>();
            services.AddSingleton(RLogger.CreateInstance(configs));

            return(services.BuildServiceProvider());
        }
예제 #7
0
 public GenDocStep(IUdWorkflowConfig fileSerivce, RLogger rLogger)
 {
     _fileService = fileSerivce;
     _rLogger     = rLogger;
 }
예제 #8
0
 public InvokeUdExe(IUdWorkflowConfig fileSerivce, RLogger rLogger)
 {
     _fileService = fileSerivce;
     _rLogger     = rLogger;
 }
예제 #9
0
 public NofifyWorkflowTimeout(RLogger rLogger)
 {
     _rLogger = rLogger;
 }
예제 #10
0
 public ExeWorkflowService(IWorkflowHost host, IUdWorkflowConfig config, RLogger rLogger)
 {
     _host       = host;
     _fileConfig = config;
     _rLogger    = rLogger;
 }