public void WriteAssembliesNotFound(AssemblyFiles theAssemblyFiles, PackageManifest manifest, CreateBottleInput input, string binFolder)
        {
            ConsoleWriter.Write("Did not locate all designated assemblies at '{0}'", binFolder);
            ConsoleWriter.Write("Looking for these assemblies in the package manifest file:");
            manifest.Assemblies.Each(name => ConsoleWriter.Write("  " + name));
            ConsoleWriter.Write("But only found:");
            if(!theAssemblyFiles.Files.Any()) ConsoleWriter.Write("  Found no files");
            theAssemblyFiles.Files.Each(file => ConsoleWriter.Write("  " + file));

            ConsoleWriter.Write("Missing");
            theAssemblyFiles.MissingAssemblies.Each(file => ConsoleWriter.Write("  " + file));
        
            throw new ApplicationException("Invalid package manifest or missing files");
        }
Ejemplo n.º 2
0
        public AssemblyFiles FindAssemblies(string binDirectory, IEnumerable<string> assembliesToFind)
        {
            if (!assembliesToFind.Any()) return AssemblyFiles.Empty;

            var assemblySet = FileSet.ForAssemblyNames(assembliesToFind);
            var debugSet = FileSet.ForAssemblyDebugFiles(assembliesToFind);

            var files = new AssemblyFiles(){
                Files = _fileSystem.FindFiles(binDirectory, assemblySet),
                PdbFiles = _fileSystem.FindFiles(binDirectory, debugSet)
            };

            var assembliesFound = files.Files.Select(Path.GetFileNameWithoutExtension).Select(x => x.ToLowerInvariant());

            files.MissingAssemblies = assembliesToFind
                .Select(x => x.ToLowerInvariant())
                .Where(name => !assembliesFound.Contains(name));

            return files;
        }
        public void WriteAssembliesNotFound(AssemblyFiles theAssemblyFiles, PackageManifest manifest, CreateBottleInput input, string binFolder)
        {
            var log = _log.LogFor(manifest);

            var sb = new StringBuilder();
            sb.AppendFormat("Did not locate all designated assemblies at '{0}'", binFolder.ToFullPath());
            sb.AppendLine();

            sb.AppendLine("Looking for these assemblies in the package manifest file:");
            manifest.Assemblies.Each(name => sb.AppendLine("  " + name));

            sb.AppendLine("But only found:");
            if(!theAssemblyFiles.Files.Any()) sb.AppendLine("  Found no files");
            theAssemblyFiles.Files.Each(file => sb.AppendLine("  " + file));

            sb.AppendLine("Missing");
            theAssemblyFiles.MissingAssemblies.Each(file => sb.AppendLine("  " + file));

            log.MarkFailure(sb.ToString());
        }
Ejemplo n.º 4
0
        public AssemblyFiles FindAssemblies(string binDirectory, IEnumerable <string> assembliesToFind)
        {
            if (!assembliesToFind.Any())
            {
                return(AssemblyFiles.Empty);
            }

            var assemblySet = FileSet.ForAssemblyNames(assembliesToFind);
            var debugSet    = FileSet.ForAssemblyDebugFiles(assembliesToFind);

            var files = new AssemblyFiles()
            {
                Files    = _fileSystem.FindFiles(binDirectory, assemblySet),
                PdbFiles = _fileSystem.FindFiles(binDirectory, debugSet)
            };

            var assembliesFound = files.Files.Select(Path.GetFileNameWithoutExtension).Select(x => x.ToLowerInvariant());

            files.MissingAssemblies = assembliesToFind
                                      .Select(x => x.ToLowerInvariant())
                                      .Where(name => !assembliesFound.Contains(name));

            return(files);
        }
Ejemplo n.º 5
0
        private void writeZipFile(CreateBottleInput input, PackageManifest manifest, AssemblyFiles assemblies)
        {
            var zipFileName = input.GetZipFileName(manifest);

            if (_fileSystem.FileExists(zipFileName))
            {
                LogWriter.Current.Highlight("    Deleting existing file at " + zipFileName);
                _fileSystem.DeleteFile(zipFileName);
            }

            _zipFileService.CreateZipFile(zipFileName, zipFile =>
            {
                assemblies.Files.Each(file =>
                {
                    zipFile.AddFile(file, "bin");
                });

                if (input.PdbFlag)
                {
                    assemblies.PdbFiles.Each(file =>
                    {
                        zipFile.AddFile(file, "bin");
                    });
                }

                WriteVersion(zipFile);

                zipFile.AddFile(FileSystem.Combine(input.PackageFolder, PackageManifest.FILE), "");

                // TODO -- there's an opportunity to generalize this
                AddDataFiles(input, zipFile, manifest);
                AddContentFiles(input, zipFile, manifest);
                AddConfigFiles(input, zipFile, manifest);
            });
        }