コード例 #1
0
ファイル: ProjectBuilder.cs プロジェクト: silver83/Zed
        private void CreateProject(IResourceIdFactory resourceIdFactory)
        {
            _project = new Project(resourceIdFactory.ResourceFromFilePath(_path));
            _project.Builder = this;

            var files = GetRecursiveFileEnumeration(_path);
            files = _fileFilter.Filter(files);

            var resources = files.Select(x => resourceIdFactory.ResourceFromFilePath(x));
            resources = resources.MemoizeAll();

            _files = new ResourceSet(resources, "file");
        }
コード例 #2
0
ファイル: ProjectManager.cs プロジェクト: silver83/Zed
        /// <summary>
        /// Each subdir of <paramref name="rootDirectory"/> is considered a project.
        /// </summary>
        /// <param name="rootDirectory">the root path to start scanning from</param>
        /// <param name="scanner">the scanner to use</param>
        /// <returns></returns>
        public IEnumerable<ProjectBuilder> CreateProjectBuilders(string rootDirectory, IResourceIdFactory resourceIdFactory, IComponentFactory componentFactory)
        {
            foreach (var dir in GetProjectDirectories(rootDirectory))
            {
                if (IsExcluded(dir))
                    continue;

                var filter = new MultiFilter<string>(Configuration.FileFilters);
                ProjectBuilder builder = new ProjectBuilder(dir, filter, resourceIdFactory, componentFactory);

                yield return builder;
            }
        }
コード例 #3
0
ファイル: ProjectBuilder.cs プロジェクト: silver83/Zed
        public ProjectBuilder(string projectPath, IFilter<string> fileFilter, IResourceIdFactory resourceIdFactory, IComponentFactory componentFactory)
        {
            if (string.IsNullOrEmpty(projectPath) || !Directory.Exists(projectPath))
                throw new ArgumentException(string.Format("the projectPath supplied was null, empty, or a non existant path : '{0}'", projectPath ?? "[null]"));

            if (fileFilter == null)
                throw new ArgumentNullException("fileFilter");

            _path = projectPath;
            _fileFilter = fileFilter;

            _resourceIdFactory = resourceIdFactory;
            _componentFactory = componentFactory;
        }