[mapguide-commits] r8526 - in trunk/Tools/MgInstantSetup: InstantSetup.Core InstantSetupCmd

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Sat Jan 31 08:47:06 PST 2015


Author: jng
Date: 2015-01-31 08:47:06 -0800 (Sat, 31 Jan 2015)
New Revision: 8526

Modified:
   trunk/Tools/MgInstantSetup/InstantSetup.Core/AbstractSetupConfigurationProcess.cs
   trunk/Tools/MgInstantSetup/InstantSetup.Core/ApacheSetupConfigurationProcess.cs
   trunk/Tools/MgInstantSetup/InstantSetup.Core/FdoProviderRegistration.cs
   trunk/Tools/MgInstantSetup/InstantSetup.Core/IISSetupConfigurationProcess.cs
   trunk/Tools/MgInstantSetup/InstantSetupCmd/Options.cs
   trunk/Tools/MgInstantSetup/InstantSetupCmd/Program.cs
Log:
InstantSetup: Add FDO registration and print a configuration summary before doing the configuration

Modified: trunk/Tools/MgInstantSetup/InstantSetup.Core/AbstractSetupConfigurationProcess.cs
===================================================================
--- trunk/Tools/MgInstantSetup/InstantSetup.Core/AbstractSetupConfigurationProcess.cs	2015-01-29 15:18:40 UTC (rev 8525)
+++ trunk/Tools/MgInstantSetup/InstantSetup.Core/AbstractSetupConfigurationProcess.cs	2015-01-31 16:47:06 UTC (rev 8526)
@@ -31,6 +31,8 @@
         DotNet
     }
 
+    public delegate void FormatLineWriter(string msg, params object [] args);
+
     /// <summary>
     /// Base configuration setup process
     /// </summary>
@@ -49,6 +51,31 @@
             this.ServerSitePort = 2822;
         }
 
+        public virtual void WriteSummary(FormatLineWriter writer)
+        {
+            writer("Backup config files: {0}", this.BackupConfigFiles);
+            writer("Backup config path: {0}", this.BackupConfigPath);
+            writer("Batch file output dir: {0}", this.BatchFileOutputDirectory);
+            writer("Source directory: {0}", this.BuildOutputPath);
+            writer("CS-Map directory: {0}", this.CsMapDictionaryDir);
+            writer("Default Viewer: {0}", this.DefaultViewer);
+            writer("Enable PHP: {0}", this.EnablePhp);
+            writer("Install Services: {0}", this.InstallServices);
+            writer("64-bit MapGuide: {0}", this.Is64BitMapGuide);
+            writer("MapGuide Service Name: {0}", this.MapGuideServiceName);
+            writer("Server Admin Port: {0}", this.ServerAdminPort);
+            writer("Server Client Port: {0}", this.ServerClientPort);
+            writer("Server Site Port: {0}", this.ServerSitePort);
+            writer("Server root dir: {0}", this.ServerRootDir);
+            writer("Server bin dir: {0}", this.ServerBinDir);
+            writer("Virtual Directory: {0}", this.VirtualDirectoryName);
+            writer("Map Agent directory: {0}", this.WebTierMapAgentDir);
+            writer("PHP directory: {0}", this.WebTierPhpDir);
+            writer("Web tier public dir: {0}", this.WebTierPublicDir);
+            writer("Web tier root dir: {0}", this.WebTierRootDir);
+            writer("Write MENTOR_DICTIONARY_PATH: {0}", this.WriteMentorDictionaryPath);
+        }
+
         /// <summary>
         /// Gets or sets whether the installation of MapGuide to be configured is 64-bit
         /// </summary>

Modified: trunk/Tools/MgInstantSetup/InstantSetup.Core/ApacheSetupConfigurationProcess.cs
===================================================================
--- trunk/Tools/MgInstantSetup/InstantSetup.Core/ApacheSetupConfigurationProcess.cs	2015-01-29 15:18:40 UTC (rev 8525)
+++ trunk/Tools/MgInstantSetup/InstantSetup.Core/ApacheSetupConfigurationProcess.cs	2015-01-31 16:47:06 UTC (rev 8526)
@@ -38,6 +38,20 @@
             this.ApacheDirName = "Apache24";
         }
 
+        public override void WriteSummary(FormatLineWriter writer)
+        {
+            writer("================ Summary ==================");
+            base.WriteSummary(writer);
+            writer("============= Apache Summary ==============");
+            writer("Apache dir name: {0}", this.ApacheDirName);
+            writer("Apache port: {0}", this.ApachePortNumber);
+            writer("Enable Java: {0}", this.EnableJava);
+            writer("Apache service name: {0}", this.HttpdServiceName);
+            writer("Tomcat port: {0}", this.TomcatPortNumber);
+            writer("Apache dir: {0}", this.ApacheDirName);
+            writer("Tomcat dir: {0}", this.WebTierTomcatDir);
+        }
+
         public bool EnableJava { get; set; }
 
         /// <summary>

Modified: trunk/Tools/MgInstantSetup/InstantSetup.Core/FdoProviderRegistration.cs
===================================================================
--- trunk/Tools/MgInstantSetup/InstantSetup.Core/FdoProviderRegistration.cs	2015-01-29 15:18:40 UTC (rev 8525)
+++ trunk/Tools/MgInstantSetup/InstantSetup.Core/FdoProviderRegistration.cs	2015-01-31 16:47:06 UTC (rev 8526)
@@ -36,6 +36,17 @@
             _providerDllPaths = providerDllPaths;
         }
 
+        public void WriteSummary(FormatLineWriter writer)
+        {
+            writer("=============== FDO Summary =================");
+            writer("FdoRegUtil path: {0}", _fdoRegUtilPath);
+            writer("The following providers will be registered:");
+            foreach (var path in _providerDllPaths)
+            {
+                writer(" - {0}", path);
+            }
+        }
+
         public FdoRegistrationResult[] Execute()
         {
             var providersXmlPath = Path.Combine(Path.GetDirectoryName(_fdoRegUtilPath), "providers.xml");

Modified: trunk/Tools/MgInstantSetup/InstantSetup.Core/IISSetupConfigurationProcess.cs
===================================================================
--- trunk/Tools/MgInstantSetup/InstantSetup.Core/IISSetupConfigurationProcess.cs	2015-01-29 15:18:40 UTC (rev 8525)
+++ trunk/Tools/MgInstantSetup/InstantSetup.Core/IISSetupConfigurationProcess.cs	2015-01-31 16:47:06 UTC (rev 8526)
@@ -38,6 +38,17 @@
             this.EnablePhp = false;
         }
 
+        public override void WriteSummary(FormatLineWriter writer)
+        {
+            writer("================ Summary ==================");
+            base.WriteSummary(writer);
+            writer("============== IIS Summary ================");
+            writer("appcmd path: {0}", this.AppCmdPath);
+            writer("Application Pool: {0}", this.ApplicationPool);
+            writer("Enable .net: {0}", this.EnableDotNet);
+            writer("Web Site Name: {0}", this.WebSiteName);
+        }
+
         public bool EnableDotNet { get; set; }
 
         /// <summary>

Modified: trunk/Tools/MgInstantSetup/InstantSetupCmd/Options.cs
===================================================================
--- trunk/Tools/MgInstantSetup/InstantSetupCmd/Options.cs	2015-01-29 15:18:40 UTC (rev 8525)
+++ trunk/Tools/MgInstantSetup/InstantSetupCmd/Options.cs	2015-01-31 16:47:06 UTC (rev 8526)
@@ -22,10 +22,10 @@
         [Option("admin-port", DefaultValue = 2820, HelpText = "The port to listen on for admin connections")]
         public int ServerAdminPort { get; set; }
 
-        [Option("client-port", DefaultValue = 2820, HelpText = "The port to listen on for client connections")]
+        [Option("client-port", DefaultValue = 2821, HelpText = "The port to listen on for client connections")]
         public int ServerClientPort { get; set; }
 
-        [Option("site-port", DefaultValue = 2820, HelpText = "The port to listen on for site connections")]
+        [Option("site-port", DefaultValue = 2822, HelpText = "The port to listen on for site connections")]
         public int ServerSitePort { get; set; }
 
         [Option("write-mentor-dictionary-path", DefaultValue = false, HelpText = "Write code to set up MENTOR_DICTIONARY_PATH on batch scripts. Only applicable for MGOS 2.2 or older")]
@@ -49,10 +49,10 @@
         [Option("backup-path", HelpText = "The directory where backups of configuration files will be copied to")]
         public string BackupConfigPath { get; set; }
 
-        [Option("backup-files", DefaultValue = true, HelpText = "If true, will create backups of existing configuration files before overwriting")]
+        [Option("backup-files", DefaultValue = false, HelpText = "If true, will create backups of existing configuration files before overwriting")]
         public bool BackupConfigFiles { get; set; }
 
-        [Option("source-dir", HelpText = "The root path of the MapGuide installation (where InstantSetupCmd will do its configuration)")]
+        [Option("source-dir", Required = true, HelpText = "The root path of the MapGuide installation (where InstantSetupCmd will do its configuration)")]
         public string SourceRootDir { get; set; }
 
         [Option("virtual-dir", DefaultValue = "mapguide", HelpText = "The name of the mapguide virtual directory to create on IIS/Apache")]
@@ -61,6 +61,9 @@
         [Option("webtier-config", Required = true, DefaultValue = MapGuideWebConfiguration.Apache, HelpText = "The web tier configuration to use (IIS / Apache)")]
         public MapGuideWebConfiguration WebTierConfig { get; set; }
 
+        [OptionArray("fdo-providers", Required = true, HelpText = "The list of FDO providers to register (eg: SDF SHP SQLite)")]
+        public string[] FdoProviders { get; set; }
+
 #region Apache-specific
         [Option("enable-java", DefaultValue = false, HelpText = "Enables Java for this MapGuide installation")]
         public bool EnableJava { get; set; }

Modified: trunk/Tools/MgInstantSetup/InstantSetupCmd/Program.cs
===================================================================
--- trunk/Tools/MgInstantSetup/InstantSetupCmd/Program.cs	2015-01-29 15:18:40 UTC (rev 8525)
+++ trunk/Tools/MgInstantSetup/InstantSetupCmd/Program.cs	2015-01-31 16:47:06 UTC (rev 8526)
@@ -1,6 +1,7 @@
 using InstantSetup.Core;
 using System;
 using System.Collections.Generic;
+using System.IO;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
@@ -30,6 +31,19 @@
                 }
                 if (proc != null)
                 {
+                    proc.WriteSummary(Console.WriteLine);
+                    //Do FDO registration first
+                    var fdoPath = Path.Combine(options.SourceRootDir, "Server", "FDO");
+                    var regUtil = Path.Combine(fdoPath, "FdoRegUtil.exe");
+                    var reg = new FdoProviderRegistration(regUtil, options.FdoProviders.Select(n => Path.Combine(fdoPath, n + "Provider.dll")));
+                    reg.WriteSummary(Console.WriteLine);
+                    
+                    var results = reg.Execute();
+                    foreach (var res in results)
+                    {
+                        Console.WriteLine("FdoRegUtil - {0} returned {1}", res.DllPath, res.ReturnCode);
+                    }
+
                     proc.Execute();
                     Console.WriteLine("Batch scripts saved to: {0}", options.BatchFileOutputDirectory);
                     Environment.Exit(0);



More information about the mapguide-commits mailing list