Exemplo n.º 1
0
        public void RemovePackageConfiguration(PackageId packageId)
        {
            var configuration = GetPackageConfiguration(packageId);

            if (configuration != null)
            {
                Packages.Remove(configuration);
            }

            ProductPackagesInfo.Remove(packageId.ToString());
        }
Exemplo n.º 2
0
        public IEnumerable <string> GetInstalledFiles(PackageId packageId, bool deletableFilesOnly)
        {
            var id          = packageId.ToString();
            var packageInfo = ProductPackagesInfo[id];

            if (!deletableFilesOnly)
            {
                return(packageInfo.Files);
            }

            return(packageInfo.Files.Where(
                       file => !ProductPackagesInfo.Any(x => x.Key != id && x.Value.Files.Contains(file))).ToList());
        }
Exemplo n.º 3
0
        public void SetPackageConfiguration(IPackageConfiguration packageConfiguration, IEnumerable <string> files,
                                            IEnumerable <string> dependencies)
        {
            RemovePackageConfiguration(packageConfiguration.Id);

            Packages.Add(packageConfiguration);

            var info = new ProductPackageInfo();

            info.Files.AddRange(files);
            info.Dependencies.AddRange(dependencies);
            ProductPackagesInfo.Add(packageConfiguration.Id.ToString(), info);
        }
Exemplo n.º 4
0
        private void TryParseConfiguration()
        {
            if (!File.Exists(_configPath))
            {
                return;
            }

            using (var stream = File.OpenText(_configPath))
            {
                var reader = new JsonTextReader(stream);
                _jsonObject = JObject.Load(reader);

                JToken token;
                if (_jsonObject.TryGetValue(_packagesTag, out token))
                {
                    foreach (var package in token.Children())
                    {
                        var packageProp   = (JProperty)package;
                        var packageObject = (JObject)packageProp.Value;

                        var packageId = new PackageId(packageProp.Name);
                        var info      = new ProductPackageInfo();

                        if (packageObject.TryGetValue(_packageTag, out token))
                        {
                            var packageConfigObject = (JObject)token;
                            Packages.Add(new PackageConfiguration(packageId, packageConfigObject));

                            if (packageObject.TryGetValue(_filesTag, out token) && token.HasValues)
                            {
                                var array = (JArray)token;
                                info.Files.AddRange(array.Select(x => x.ToString()));
                            }

                            if (packageObject.TryGetValue(_dependenciesTag, out token) && token.HasValues)
                            {
                                var array = (JArray)token;
                                info.Dependencies.AddRange(array.Select(x => x.ToString()));
                            }

                            ProductPackagesInfo.Add(packageId.ToString(), info);
                        }
                    }

                    IsProductConfigured = true;
                }
            }
        }