static string[] createList(FolderBuilderEventArgs args)
        {
            var result = JavaBuilder.CreateFolderList(args);

            foreach (var item in result)
            {
                item.IsSelected = true;
            }

            return(AssemblyDataCollection.CreateList(result));
        }
Exemple #2
0
        private void btnGetFolders_Click(object sender, RoutedEventArgs e)
        {
            commandPanel.IsEnabled = false;
            btnStop.Visibility     = Visibility.Visible;

            FolderBuilderEventArgs args = new FolderBuilderEventArgs(RepositoryRoot, (LogLevel)cbLogLevel.SelectedValue);

            args.SourceFolder          = tbDestinationFolder.Text;
            args.SplitFolderByAssembly = cbEnableSplitFolder.IsChecked.Value;

            if (cbExportToFile.IsChecked.Value)
            {
                export(args);
                if (MessageBox.Show("Continue operation?", string.Empty, MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.Yes) == MessageBoxResult.No)
                {
                    return;
                }
            }

            var result = JavaBuilder.CreateFolderList(args);

            AssemblyDataCollection = result;
        }
        public static AssemblyDataCollection CreateFolderList(object o)
        {
            bool failed = false;
            FolderBuilderEventArgs args = o as FolderBuilderEventArgs;

            CancellationToken = args.CancellationToken;
            logLevel          = args.LogLevel;

            if (!Path.IsPathRooted(args.SourceFolder))
            {
                args.SourceFolder = Path.Combine(args.RootFolder, args.SourceFolder);
            }

            string originFolder = Path.Combine(args.SourceFolder, Const.FileNameAndDirectory.SourceDirectory);

            try
            {
                var folders = CreateFolderList(originFolder);
                AssemblyDataCollection coll = new AssemblyDataCollection();
                AssemblyData           data = new AssemblyData();
                data.IsSelected       = true;
                data.Framework        = Const.Framework.All;
                data.AssemblyFullName = Const.FileNameAndDirectory.CommonDirectory;
                data.FolderName       = Const.FileNameAndDirectory.CommonDirectory;
                coll.Add(data);
                foreach (var folder in folders)
                {
                    data = new AssemblyData();
                    if (folder.Equals(Const.FileNameAndDirectory.CommonDirectory))
                    {
                        continue;
                    }

                    var relFolder = Const.Framework.RuntimeFolder;
                    data.AssemblyFullName = folder;
                    data.FolderName       = Path.Combine(relFolder, folder);

                    data.Framework = Const.Framework.Runtime;

#if ENABLE_REFERENCE_BUILDER
                    var refPath = Path.Combine(args.OriginFolder, relFolder, folder, Const.FileNameAndDirectory.ReferencesFile);
                    var refData = File.ReadAllLines(refPath);
                    data.ReferencedAssemblies = new List <string>(refData);
#endif

                    coll.Add(data);
                }
                return(coll);
            }
            catch (OperationCanceledException ex)
            {
                AppendToConsole(LogLevel.Error, "Error {0}", ex.Message);
                return(new AssemblyDataCollection());
            }
            catch (Exception ex)
            {
                AppendToConsole(LogLevel.Error, "Error {0}", ex.Message);
                failed = true;
                return(new AssemblyDataCollection());
            }
            finally
            {
                EndOperationHandler?.Invoke(null, new EndOperationEventArgs(string.Empty, failed));
            }
        }