public static string[] CreateList(AssemblyDataCollection input)
        {
            int counter = 0;

            List <string> items = new List <string>();

            if (input != null)
            {
                foreach (var item in input)
                {
                    if (item.IsSelected)
                    {
                        switch (item.Framework)
                        {
                        case Const.Framework.Runtime: counter++; break;

                        case Const.Framework.All: break;

                        default:
                            throw new InvalidOperationException(string.Format("Framework {0} is not valid", item.Framework));
                        }

                        items.Add(item.FolderName);
                    }
                }
            }

            return(items.ToArray());
        }
예제 #2
0
        private void btnGeneratePOM_Click(object sender, RoutedEventArgs e)
        {
            JARBuilderEventArgs args = new JARBuilderEventArgs(RepositoryRoot, (LogLevel)cbLogLevel.SelectedValue);

            cts = new CancellationTokenSource();
            args.CancellationToken     = cts.Token;
            args.JDKFolder             = tbJDKFolder.Text;
            args.SourceFolder          = tbDestinationFolder.Text;
            args.JarDestinationFolder  = tbJarDestinationFolder.Text;
            args.SplitFolderByAssembly = cbEnableSplitFolder.IsChecked.Value;
            args.WithJARSource         = cbWithSource.IsChecked.Value;
            args.EmbeddingJCOBridge    = cbWithEmbedding.IsChecked.Value;
            args.GeneratePOM           = JARBuilderEventArgs.POMType.Release;
            args.AssembliesToUse       = AssemblyDataCollection.CreateList(AssemblyDataCollection);

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

            commandPanel.IsEnabled = false;
            btnStop.Visibility     = Visibility.Visible;
            Task.Factory.StartNew(JavaBuilder.CreatePOM, args);
        }
예제 #3
0
        private void btnBuildDoc_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                DocsBuilderEventArgs args = new DocsBuilderEventArgs(RepositoryRoot, (LogLevel)cbLogLevel.SelectedValue);
                cts = new CancellationTokenSource();
                args.CancellationToken     = cts.Token;
                args.JDKFolder             = tbJDKFolder.Text;
                args.JDKTarget             = (JDKVersion)cbTarget.SelectedValue;
                args.SourceFolder          = tbDestinationFolder.Text;
                args.SplitFolderByAssembly = cbEnableSplitFolder.IsChecked.Value;
                args.AssembliesToUse       = AssemblyDataCollection.CreateList(AssemblyDataCollection);
                args.CommitVersion         = tbCommitVersion.Text;

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

                commandPanel.IsEnabled = false;
                btnStop.Visibility     = Visibility.Visible;
                Task.Factory.StartNew(JavaBuilder.GenerateDocs, args);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
예제 #4
0
        public static AssemblyDataCollection CreateFolderList(object o)
        {
            JavaBuilderEventArgs args = o as JavaBuilderEventArgs;

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

            string jdkFolder    = args.JDKFolder;
            string originFolder = args.OriginFolder;

            try
            {
                var folders = CreateFolderList(args.OriginFolder);
                AssemblyDataCollection coll = new AssemblyDataCollection();
                foreach (var folder in folders)
                {
                    AssemblyData data = new AssemblyData();
                    if (folder.Equals(Const.FileNameAndDirectory.CommonDirectory))
                    {
                        data.IsSelected       = true;
                        data.Framework        = Const.Framework.All;
                        data.AssemblyFullName = folder;
                        data.FolderName       = folder;
                    }
                    else
                    {
#if NET_CORE
                        var relFolder = Const.Framework.NETCoreFolder;
#else
                        var relFolder = Const.Framework.NETFrameworkFolder;
#endif
                        data.AssemblyFullName = folder;
                        data.FolderName       = Path.Combine(relFolder, folder);
#if NET_CORE
                        data.Framework = Const.Framework.NETCore;
#else
                        data.Framework = Const.Framework.NETFramework;
#endif
#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 (Exception ex)
            {
                AppendToConsole(LogLevel.Error, "Error {0}", ex.Message);
                return(new AssemblyDataCollection());
            }
            finally
            {
                EndOperationHandler?.Invoke(null, new EndOperationEventArgs(string.Empty));
            }
        }
예제 #5
0
        static string[] createList(FolderBuilderEventArgs args)
        {
            var result = JavaBuilder.CreateFolderList(args);

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

            return(AssemblyDataCollection.CreateList(result));
        }
예제 #6
0
        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));
            }
        }