Пример #1
0
        /// <summary>
        /// This check for conflicts between all modules references <br/>
        ///     this thing about that you don't have isolation to make sure all modules are up to date
        /// </summary>
        /// <param name="binPackage"></param>
        public void RegisterAssets(AssemblyVersionPackage binPackage)
        {
            for (int i = 0; i < binPackage.Version.Artefacts.Count; i++)
            {
                AssemblyArtifact art = binPackage.Version.Artefacts[i];
                if (art.IsAssembly)
                {
                    if (AssemblyControlList.ContainsKey(art.Name))
                    {
                        if (AssemblyControlList[art.Name].art.Version != art.Version)
                            throw new Exception(string.Format("The module {0} has incosistent dependency '{1}'({2}) with other modules - '{3}'({4}): {5}",
                                binPackage.ContainerName, art.Name, art.Version,
                                AssemblyControlList[art.Name].art.Name, AssemblyControlList[art.Name].art.Version,
                                AssemblyControlList[art.Name].IsLocalDependency ? "WorkingDir Dependency" : "Module dependency"));
                    }
                    else
                    {
                        PackageAndArtefactLibLinked l = new PackageAndArtefactLibLinked
                        {
                            art = art,
                            pckg = binPackage
                        };

                        AssemblyControlList.Add(art.Name, l);
                    }
                }
            }
        }
Пример #2
0
        private void RegisterWorkingDirAssemblys()
        {
            string[] files = Directory.GetFiles(Environment.CurrentDirectory);
            foreach (string fpath in files)
            {
                AssemblyArtifact art = AssemblyArtifact.Get(fpath);
                if (art.IsAssembly)
                {
                    if (AssemblyControlList.ContainsKey(art.Name))
                    {
                        if (AssemblyControlList[art.Name].art.Version != art.Version)// this can't be happen
                        {
                            throw new Exception();
                        }
                    }
                    else
                    {
                        PackageAndArtefactLibLinked l = new PackageAndArtefactLibLinked
                        {
                            IsLocalDependency = true,
                            art = art,
                            LocalDependencyPath = fpath
                        };

                        AssemblyControlList.Add(art.Name, l);
                    }
                }
            }
        }
Пример #3
0
        /// <summary>
        /// This check for conflicts between all modules references <br/>
        ///     this thing about that you don't have isolation to make sure all modules are up to date
        /// </summary>
        /// <param name="binPackage"></param>
        public void RegisterAssets(AssemblyVersionPackage binPackage)
        {
            for (int i = 0; i < binPackage.Version.Artefacts.Count; i++)
            {
                AssemblyArtifact art = binPackage.Version.Artefacts[i];
                if (art.IsAssembly)
                {
                    if (AssemblyControlList.ContainsKey(art.Name))
                    {
                        if (AssemblyControlList[art.Name].art.Version != art.Version)
                        {
                            throw new Exception(string.Format("The module {0} has incosistent dependency '{1}'({2}) with other modules - '{3}'({4}): {5}",
                                                              binPackage.ContainerName, art.Name, art.Version,
                                                              AssemblyControlList[art.Name].art.Name, AssemblyControlList[art.Name].art.Version,
                                                              AssemblyControlList[art.Name].IsLocalDependency ? "WorkingDir Dependency" : "Module dependency"));
                        }
                    }
                    else
                    {
                        PackageAndArtefactLibLinked l = new PackageAndArtefactLibLinked
                        {
                            art  = art,
                            pckg = binPackage
                        };

                        AssemblyControlList.Add(art.Name, l);
                    }
                }
            }
        }
Пример #4
0
        public bool ResolveLibrary(string LibraryName, out BuildResultFile library, out BuildResultFile symbols)
        {
            library = symbols = null;
            PackageAndArtefactLibLinked l = null;

            if (AssemblyControlList.TryGetValue(LibraryName, out l))
            {
                library = l.ExtractLibraryFile();
                symbols = l.ExtractSymbolsFile();
                return(true);
            }

            return(false);
        }
Пример #5
0
        private void RegisterWorkingDirAssemblys()
        {
            string[] files = Directory.GetFiles(Environment.CurrentDirectory);
            foreach (string fpath in files)
            {
                AssemblyArtifact art = AssemblyArtifact.Get(fpath);
                if (art.IsAssembly)
                {
                    if (AssemblyControlList.ContainsKey(art.Name))
                    {
                        if (AssemblyControlList[art.Name].art.Version != art.Version)// this can't be happen
                            throw new Exception();
                    }
                    else
                    {
                        PackageAndArtefactLibLinked l = new PackageAndArtefactLibLinked
                        {
                            IsLocalDependency = true,
                            art = art,
                            LocalDependencyPath = fpath
                        };

                        AssemblyControlList.Add(art.Name, l);
                    }
                }
            }
        }