Author: scotte
Date: 2006-06-15 18:27:20 -0400 (Thu, 15 Jun 2006)
New Revision: 61782

Added:
   trunk/monodevelop/Extras/MonoDevelop.Autotools/Commands.cs
Removed:
   trunk/monodevelop/Extras/MonoDevelop.Autotools/DeployHandler.cs
Modified:
   trunk/monodevelop/Extras/MonoDevelop.Autotools/ChangeLog
   trunk/monodevelop/Extras/MonoDevelop.Autotools/Handler.cs
   trunk/monodevelop/Extras/MonoDevelop.Autotools/Makefile.am
   
trunk/monodevelop/Extras/MonoDevelop.Autotools/MonoDevelop.Autotools.addin.xml
   
trunk/monodevelop/Extras/MonoDevelop.Autotools/SimpleProjectMakefileHandler.cs
   trunk/monodevelop/Extras/MonoDevelop.Autotools/SolutionDeployer.cs
   
trunk/monodevelop/Extras/MonoDevelop.Autotools/templates/exe.wrapper.in.template
Log:
2006-06-15  Scott Ellington  <[EMAIL PROTECTED]> 

        * SimpleProjectMakefileHandler.cs:
        * templates/exe.wrapper.in.template:
        pass runtime parameters on to exe wrapper
        * Handler.cs:
        * SolutionDeployer.cs:
        * MonoDevelop.Autotools.addin.xml:
        * Commands.cs:
        Moved 'make dist' functionality into SolutionDeployer to
        be consumed by the new IDeployHandler interface and removed
        'Create Distributable' command. 
        * Makefile.am: rename DeployHandler to Commands and
        removed a trailing space.


Modified: trunk/monodevelop/Extras/MonoDevelop.Autotools/ChangeLog
===================================================================
--- trunk/monodevelop/Extras/MonoDevelop.Autotools/ChangeLog    2006-06-15 
22:22:18 UTC (rev 61781)
+++ trunk/monodevelop/Extras/MonoDevelop.Autotools/ChangeLog    2006-06-15 
22:27:20 UTC (rev 61782)
@@ -1,3 +1,18 @@
+2006-06-15  Scott Ellington  <[EMAIL PROTECTED]> 
+
+       * SimpleProjectMakefileHandler.cs:
+       * templates/exe.wrapper.in.template:
+       pass runtime parameters on to exe wrapper
+       * Handler.cs:
+       * SolutionDeployer.cs:
+       * MonoDevelop.Autotools.addin.xml:
+       * Commands.cs:
+       Moved 'make dist' functionality into SolutionDeployer to
+       be consumed by the new IDeployHandler interface and removed
+       'Create Distributable' command. 
+       * Makefile.am: rename DeployHandler to Commands and
+       removed a trailing space.
+
 2006-06-15 Lluis Sanchez Gual  <[EMAIL PROTECTED]>
 
        * Handler.cs: Implemented a basic IDeployHandler and the

Copied: trunk/monodevelop/Extras/MonoDevelop.Autotools/Commands.cs (from rev 
61773, trunk/monodevelop/Extras/MonoDevelop.Autotools/DeployHandler.cs)
===================================================================
--- trunk/monodevelop/Extras/MonoDevelop.Autotools/DeployHandler.cs     
2006-06-15 20:22:28 UTC (rev 61773)
+++ trunk/monodevelop/Extras/MonoDevelop.Autotools/Commands.cs  2006-06-15 
22:27:20 UTC (rev 61782)
@@ -0,0 +1,78 @@
+/*
+Copyright (C) 2006  Matthias Braun <[EMAIL PROTECTED]>
+                                       Scott Ellington <[EMAIL PROTECTED]>
+ 
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the
+Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.
+*/
+
+using System;
+using System.Collections;
+using System.IO;
+using MonoDevelop.Core;
+
+using MonoDevelop.Core.Gui;
+using MonoDevelop.Core.Gui.ProgressMonitoring;
+
+using MonoDevelop.Projects;
+using MonoDevelop.Components;
+using MonoDevelop.Components.Commands;
+using MonoDevelop.Ide.Gui;
+using MonoDevelop.Ide.Gui.Pads;
+using MonoDevelop.Ide.Gui.Content;
+
+using Gtk;
+
+namespace MonoDevelop.Autotools
+{
+       public enum Commands
+       {
+               GenerateFiles
+       }
+       
+       class NodeExtension : NodeBuilderExtension
+       {
+               public override bool CanBuildNode (Type dataType)
+               {
+                       return typeof (Combine).IsAssignableFrom (dataType);
+               }
+               
+               public override Type CommandHandlerType {
+                       get { return typeof ( AutotoolsCommandHandler ); }
+               }
+       }
+       
+       public class AutotoolsCommandHandler : NodeCommandHandler
+       {
+               [CommandHandler (Commands.GenerateFiles)]
+               protected void OnGenerate()
+               {
+                       Combine combine = (Combine) CurrentNode.DataItem;
+                       SolutionDeployer deployer = new SolutionDeployer();
+                       
+                       if ( deployer.HasGeneratedFiles ( combine ) )
+                       {
+                               string msg = GettextCatalog.GetString ( 
"Autotools files already exist for this solution.  Would you like to overwrite 
them?" );
+                               if ( 
!MonoDevelop.Core.Gui.Services.MessageService.AskQuestion ( msg ) )
+                                       return;
+                       }
+
+                       using (IProgressMonitor monitor = 
IdeApp.Workbench.ProgressMonitors.GetOutputProgressMonitor ( 
GettextCatalog.GetString("Autotools Output"), "md-package", true, true)) 
+                       {
+                               deployer.GenerateFiles (combine, monitor);
+                       }
+               }       
+       }
+}

Deleted: trunk/monodevelop/Extras/MonoDevelop.Autotools/DeployHandler.cs
===================================================================
--- trunk/monodevelop/Extras/MonoDevelop.Autotools/DeployHandler.cs     
2006-06-15 22:22:18 UTC (rev 61781)
+++ trunk/monodevelop/Extras/MonoDevelop.Autotools/DeployHandler.cs     
2006-06-15 22:27:20 UTC (rev 61782)
@@ -1,229 +0,0 @@
-/*
-Copyright (C) 2006  Matthias Braun <[EMAIL PROTECTED]>
-                                       Scott Ellington <[EMAIL PROTECTED]>
- 
-This library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Lesser General Public
-License as published by the Free Software Foundation; either
-version 2 of the License, or (at your option) any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public
-License along with this library; if not, write to the
-Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.
-*/
-
-using System;
-using System.Collections;
-using System.IO;
-using MonoDevelop.Core;
-using MonoDevelop.Core.Execution;
-using MonoDevelop.Core.Gui;
-using MonoDevelop.Core.Gui.ProgressMonitoring;
-using MonoDevelop.Core.ProgressMonitoring;
-using MonoDevelop.Projects;
-using MonoDevelop.Components;
-using MonoDevelop.Components.Commands;
-using MonoDevelop.Ide.Gui;
-using MonoDevelop.Ide.Gui.Pads;
-using MonoDevelop.Ide.Gui.Content;
-
-using Gtk;
-
-namespace MonoDevelop.Autotools
-{
-       public enum Commands
-       {
-               Generate,
-               Create
-       }
-       
-       class NodeExtension : NodeBuilderExtension
-       {
-               public override bool CanBuildNode (Type dataType)
-               {
-                       return typeof (Combine).IsAssignableFrom (dataType);
-               }
-               
-               public override Type CommandHandlerType {
-                       get { return typeof ( AutotoolsCommandHandler ); }
-               }
-       }
-       
-       public class AutotoolsCommandHandler : NodeCommandHandler
-       {
-               [CommandHandler (Commands.Generate)]
-               protected void OnGenerate()
-               {
-                       Combine combine = (Combine) CurrentNode.DataItem;
-                       SolutionDeployer deployer = new SolutionDeployer();
-                       
-                       if ( deployer.IsDeployed ( combine ) )
-                       {
-                               string msg = GettextCatalog.GetString ( 
"Autotools files already exist for this solution.  Would you like to overwrite 
them?" );
-                               if ( 
!MonoDevelop.Core.Gui.Services.MessageService.AskQuestion ( msg ) )
-                                       return;
-                       }
-                       
-                       if ( !deployer.CanDeploy ( combine ) )
-                       {
-                               ShowCannotGenMessage ();
-                               return;
-                       }
-
-                       using (IProgressMonitor monitor = 
IdeApp.Workbench.ProgressMonitors.GetOutputProgressMonitor ( 
GettextCatalog.GetString("Autotools Output"), "md-package", true, true)) 
-                       {
-                               deployer.Deploy (combine, monitor);
-                       }
-               }       
-
-               [CommandHandler (Commands.Create)]
-               protected void OnCreate()
-               {
-                       Combine combine = (Combine) CurrentNode.DataItem;
-                       SolutionDeployer deployer = new SolutionDeployer();
-
-                       using (IProgressMonitor monitor = 
IdeApp.Workbench.ProgressMonitors.GetOutputProgressMonitor 
-                                       ( GettextCatalog.GetString("Autotools 
Output"), "md-package", true, true))      
-                       {
-                               if ( !deployer.IsDeployed ( combine ) )
-                               {
-                                       string msg = GettextCatalog.GetString ( 
"In order to continue, Autotools files must be generated.  Is this okay?" );
-                                       if ( 
!MonoDevelop.Core.Gui.Services.MessageService.AskQuestion ( msg ) )
-                                               return;
-
-                                       if ( !deployer.CanDeploy ( combine ) )
-                                       {
-                                               ShowCannotGenMessage ();
-                                               return;
-                                       }
-                                       deployer.Deploy (combine, monitor);
-
-                                       if ( !deployer.IsDeployed ( combine ) ) 
return;
-                               }
-
-                               
MonoDevelop.Core.Gui.Services.DispatchService.BackgroundDispatch (
-                                               new StatefulMessageHandler 
(RunMakeDist), 
-                                               new MakeDistCommand ( 
Path.GetDirectoryName ( combine.FileName), combine.Name ) );
-                       }
-               }
-
-               void RunMakeDist ( object base_dir )
-               {
-                       MakeDistCommand mdc = base_dir as MakeDistCommand;
-                       
-                       using (IProgressMonitor monitor = 
IdeApp.Workbench.ProgressMonitors.GetOutputProgressMonitor 
-                                       ( GettextCatalog.GetString("Autotools 
Output"), "md-package", true, true))      
-                       {
-                               monitor.BeginTask ( GettextCatalog.GetString( 
"Running 'make dist'" ) , 1 );
-                               StringWriter sw = new StringWriter ();
-                               try
-                               {
-                                       LogTextWriter chainedOutput = new 
LogTextWriter ();
-                                       chainedOutput.ChainWriter (monitor.Log);
-                                       chainedOutput.ChainWriter (sw);
-
-                                       ProcessWrapper process = 
Runtime.ProcessService.StartProcess ( "make", 
-                                                       "dist", 
-                                                       mdc.Dir, 
-                                                       chainedOutput, 
-                                                       monitor.Log, 
-                                                       null );
-                                       process.WaitForOutput ();
-                                       
-                                       if ( process.ExitCode > 0 )
-                                               throw new Exception ( 
GettextCatalog.GetString ("An unspecified error occurred while running 'make 
dist'") );
-                                                               
-                                       monitor.Step ( 1 );
-                               }
-                               catch ( Exception e )
-                               {
-                                       monitor.ReportError ( 
GettextCatalog.GetString ( "An error occured: "), e );
-                                       return;
-                               }
-                               finally 
-                               {
-                                       monitor.EndTask ();
-                               }
-                               monitor.ReportSuccess ( 
GettextCatalog.GetString ( "Make Dist Successfully Completed" ) );
-
-                               // FIXME: hackish way to get the created 
tarball's filename
-                               string output = sw.ToString();
-                               int targz = output.LastIndexOf  ( "tar.gz" );
-                               int begin = output.LastIndexOf ( '>', targz );
-                               try { mdc.Name = output.Substring ( begin + 1, 
(targz - begin) + 5 ); }
-                               catch ( Exception e )
-                               {
-                                       monitor.ReportError ( 
GettextCatalog.GetString ( "An error occured: "), e );
-                                       return;
-                               }
-
-                               
MonoDevelop.Core.Gui.Services.DispatchService.GuiDispatch (
-                                               new StatefulMessageHandler 
(SaveTarball), 
-                                               mdc );
-                       }
-               }
-
-               void SaveTarball ( object ob )
-               {
-                       MakeDistCommand mdc = ob as MakeDistCommand;
-                       //string tarball = mdc.Name.ToLower() + ".tar.gz";
-
-                       string filename;
-                       using ( FileSelector fdiag = new FileSelector ( 
-                                               GettextCatalog.GetString ("Save 
as..."), 
-                                               Gtk.FileChooserAction.Save ) )
-                       {
-                               fdiag.CurrentName =  mdc.Name;
-                               int response = fdiag.Run ();
-                               fdiag.Hide ();
-
-                               if (response != (int) Gtk.ResponseType.Ok) 
return;
-
-                               filename = fdiag.Filename;
-                       }
-
-                       if (filename == null) return;
-
-                       // detect preexisting file
-                       if(File.Exists(filename))
-                       {
-                               if 
(!MonoDevelop.Core.Gui.Services.MessageService.AskQuestion ( 
-                                                       
GettextCatalog.GetString ("File {0} already exists.  Overwrite?", filename ) ) )
-                                       return;
-                               else File.Delete ( filename );
-                       }
-
-                       File.Move ( mdc.Dir + "/" + mdc.Name, filename );
-               }
-
-               void ShowCannotGenMessage ()
-               {
-                       string msg =  GettextCatalog.GetString ( "An Autotools 
setup could not be created for this solution.  MonoDevelop does not currently 
support generating autotools files for one (or more) child projects." ); 
-                       MessageDialog md = new MessageDialog (null, 
-                                       DialogFlags.Modal, 
-                                       MessageType.Error, 
-                                       ButtonsType.Ok, 
-                                       msg );
-                       md.Run ();
-                       md.Destroy();
-               }
-       }       
-
-       class MakeDistCommand 
-       {
-               public MakeDistCommand ( string dir, string name )
-               {
-                       Dir = dir;
-                       Name = name;
-               }
-
-               public string Dir;
-               public string Name;
-       }
-}

Modified: trunk/monodevelop/Extras/MonoDevelop.Autotools/Handler.cs
===================================================================
--- trunk/monodevelop/Extras/MonoDevelop.Autotools/Handler.cs   2006-06-15 
22:22:18 UTC (rev 61781)
+++ trunk/monodevelop/Extras/MonoDevelop.Autotools/Handler.cs   2006-06-15 
22:27:20 UTC (rev 61782)
@@ -28,7 +28,10 @@
                
                public bool CanDeploy (CombineEntry entry)
                {
-                       return true;
+                       Combine combine = entry as Combine;
+                       if ( combine == null ) return false;
+                       SolutionDeployer deployer = new SolutionDeployer ();
+                       return deployer.CanDeploy ( combine );
                }
                
                public DeployTarget CreateTarget (CombineEntry entry)
@@ -52,7 +55,9 @@
                
                public override void Deploy (IProgressMonitor monitor, 
CombineEntry entry)
                {
-                       monitor.Log.WriteLine ("Deployed!");
+                       Combine combine = entry as Combine;
+                       SolutionDeployer deployer = new SolutionDeployer ();
+                       deployer.Deploy ( combine, targetDir, monitor );
                }
                
                public override void CopyFrom (DeployTarget other)

Modified: trunk/monodevelop/Extras/MonoDevelop.Autotools/Makefile.am
===================================================================
--- trunk/monodevelop/Extras/MonoDevelop.Autotools/Makefile.am  2006-06-15 
22:22:18 UTC (rev 61781)
+++ trunk/monodevelop/Extras/MonoDevelop.Autotools/Makefile.am  2006-06-15 
22:27:20 UTC (rev 61782)
@@ -10,13 +10,13 @@
        -r:$(top_builddir)/build/AddIns/MonoDevelop.Projects.Gui.dll \
        -r:$(top_builddir)/build/AddIns/MonoDevelop.Components.dll \
        -r:$(top_builddir)/build/AddIns/MonoDevelop.Ide.dll  \
-       $(GNOME_SHARP_LIBS) \ 
+       $(GNOME_SHARP_LIBS) \
        $(GTK_SHARP_LIBS) 
 
 FILES = \
        AssemblyInfo.cs         \
        AutotoolsContext.cs     \
-       DeployHandler.cs        \
+       Commands.cs     \
        Handler.cs \
        IMakefileHandler.cs     \
        ISimpleAutotoolsSetup.cs \

Modified: 
trunk/monodevelop/Extras/MonoDevelop.Autotools/MonoDevelop.Autotools.addin.xml
===================================================================
--- 
trunk/monodevelop/Extras/MonoDevelop.Autotools/MonoDevelop.Autotools.addin.xml  
    2006-06-15 22:22:18 UTC (rev 61781)
+++ 
trunk/monodevelop/Extras/MonoDevelop.Autotools/MonoDevelop.Autotools.addin.xml  
    2006-06-15 22:27:20 UTC (rev 61782)
@@ -27,20 +27,15 @@
        </Extension>
        
        <Extension path = "/SharpDevelop/Commands">
-               <Command id = "MonoDevelop.Autotools.Commands.Generate"
+               <Command id = "MonoDevelop.Autotools.Commands.GenerateFiles"
                        _label = "Generate Autotools Files"
                        description="Generate autotools files for a solution"/>
-               <Command id = "MonoDevelop.Autotools.Commands.Create"
-                       _label = "Create Distributable"
-                       icon = "md-package"
-                       description="Create a compressed distributable for a 
solution"/>
        </Extension>
        
        <Extension path = 
"/SharpDevelop/Views/ProjectBrowser/ContextMenu/CombineBrowserNode">
                <ItemSet id = "CombineAutotoolsMenu" _label = "Autotools" 
                        insertafter= "CombineBuildGroupSeparator">
-                       <CommandItem id = 
"MonoDevelop.Autotools.Commands.Generate"/>
-                       <CommandItem id = 
"MonoDevelop.Autotools.Commands.Create"/>
+                       <CommandItem id = 
"MonoDevelop.Autotools.Commands.GenerateFiles"/>
                </ItemSet>
                <SeparatorItem id = "Separator1" />
        </Extension>

Modified: 
trunk/monodevelop/Extras/MonoDevelop.Autotools/SimpleProjectMakefileHandler.cs
===================================================================
--- 
trunk/monodevelop/Extras/MonoDevelop.Autotools/SimpleProjectMakefileHandler.cs  
    2006-06-15 22:22:18 UTC (rev 61781)
+++ 
trunk/monodevelop/Extras/MonoDevelop.Autotools/SimpleProjectMakefileHandler.cs  
    2006-06-15 22:27:20 UTC (rev 61782)
@@ -111,6 +111,7 @@
                                                        wrapper = 
CreateExeWrapper ( ctx, 
                                                                        
assembly,  
                                                                        
Path.GetDirectoryName (project.FileName), 
+                                                                       
config.CommandLineParameters,
                                                                        monitor 
);
                                                        wrapped_exes.Add ( 
assembly_name );
                                                }
@@ -290,7 +291,11 @@
                        return Path.GetFileName(basename).ToLower();            
        
                }
 
-               string CreateExeWrapper ( AutotoolsContext context , string 
assembly, string baseDir, IProgressMonitor monitor )
+               string CreateExeWrapper ( AutotoolsContext context , 
+                               string assembly, 
+                               string baseDir, 
+                               string parameters,
+                               IProgressMonitor monitor )
                {
                        monitor.Log.WriteLine ( GettextCatalog.GetString 
("Creating wrapper script for executable.") );
 
@@ -298,6 +303,7 @@
 
                        TemplateEngine templateEngine = new TemplateEngine();
                        templateEngine.Variables["ASSEMBLY"] = 
Path.GetFileName(assembly);
+                       templateEngine.Variables["ARGS"] = parameters;
 
                        Stream stream = context.GetTemplateStream 
("exe.wrapper.in.template");
 

Modified: trunk/monodevelop/Extras/MonoDevelop.Autotools/SolutionDeployer.cs
===================================================================
--- trunk/monodevelop/Extras/MonoDevelop.Autotools/SolutionDeployer.cs  
2006-06-15 22:22:18 UTC (rev 61781)
+++ trunk/monodevelop/Extras/MonoDevelop.Autotools/SolutionDeployer.cs  
2006-06-15 22:27:20 UTC (rev 61782)
@@ -24,6 +24,8 @@
 
 using MonoDevelop.Projects;
 using MonoDevelop.Core;
+using MonoDevelop.Core.Execution;
+using MonoDevelop.Core.ProgressMonitoring;
 
 using Mono.Unix.Native;
 
@@ -37,7 +39,7 @@
 
                AutotoolsContext context;
 
-               public bool IsDeployed ( Combine combine )
+               public bool HasGeneratedFiles ( Combine combine )
                {
                        string dir = Path.GetDirectoryName(combine.FileName) + 
"/";
 
@@ -53,9 +55,9 @@
                        return true;
                }
                
-               public void Deploy (Combine combine, IProgressMonitor monitor )
+               public bool GenerateFiles (Combine combine, IProgressMonitor 
monitor )
                {
-                       monitor.BeginTask ( GettextCatalog.GetString 
("Deploying Solution {0}", combine.Name), 1 );
+                       monitor.BeginTask ( GettextCatalog.GetString 
("Generating Autotools files for Solution {0}", combine.Name), 1 );
 
                        try
                        {
@@ -64,7 +66,7 @@
                                context = new AutotoolsContext ( solution_dir );
                                IMakefileHandler handler = 
AutotoolsContext.GetMakefileHandler ( combine );
                                if ( !handler.CanDeploy (combine) )
-                                       throw new Exception ( 
GettextCatalog.GetString ("This solution cannot be deployed.") );
+                                       throw new Exception ( 
GettextCatalog.GetString ("MonoDevelop does not currently support generating 
autotools files for one (or more) child projects.") );
 
                                solution_name = combine.Name;
                                // FIXME: pull version out of AssemblyInfo.cs?
@@ -90,20 +92,72 @@
                        }
                        catch ( Exception e )
                        {
-                               monitor.ReportError ( GettextCatalog.GetString 
("Solution could not be deployed: "), e );
+                               monitor.ReportError ( GettextCatalog.GetString 
("Autotools files could not be generated: "), e );
                                DeleteGeneratedFiles ( context );
+                               return false;
                        }
                        finally
                        {
                                monitor.EndTask ();
                        }
+                       return true;
                }
 
+               public void Deploy ( Combine combine, string targetDir, 
IProgressMonitor monitor  )
+               {
+                       if ( !HasGeneratedFiles (combine) )
+                               if ( !GenerateFiles ( combine, monitor ) )  
return;
+                       
+                       monitor.BeginTask ( GettextCatalog.GetString( 
"Deploying Solution to Tarball" ) , 2 );
+                       try
+                       {
+                               string baseDir = Path.GetDirectoryName ( 
combine.FileName);
+       
+                               StringWriter sw = new StringWriter ();
+                               LogTextWriter chainedOutput = new LogTextWriter 
();
+                               chainedOutput.ChainWriter (monitor.Log);
+                               chainedOutput.ChainWriter (sw);
+
+                               ProcessWrapper process = 
Runtime.ProcessService.StartProcess ( "make", 
+                                               "dist", 
+                                               baseDir, 
+                                               chainedOutput, 
+                                               monitor.Log, 
+                                               null );
+                               process.WaitForOutput ();
+
+                               if ( process.ExitCode > 0 )
+                                       throw new Exception ( 
GettextCatalog.GetString ("An unspecified error occurred while running 'make 
dist'") );
+
+                               monitor.Step ( 1 );
+
+                               // FIXME: hackish way to get the created 
tarball's filename
+                               string output = sw.ToString();
+                               int targz = output.LastIndexOf  ( "tar.gz" );
+                               int begin = output.LastIndexOf ( '>', targz );
+
+                               string filename = output.Substring ( begin + 1, 
(targz - begin) + 5 ); 
+                               
+                               File.Copy ( baseDir + "/" + filename, targetDir 
+ "/" + filename, true );
+                               monitor.Step ( 1 );
+                       }
+                       catch ( Exception e )
+                       {
+                               monitor.ReportError ( GettextCatalog.GetString 
("Solution could not be deployed: "), e );
+                               return;
+                       }
+                       finally 
+                       {
+                               monitor.EndTask ();
+                       }
+                       monitor.ReportSuccess ( GettextCatalog.GetString ( 
"Solution was succesfully deployed" ) );
+               }
+
                void DeleteGeneratedFiles ( AutotoolsContext context )
                {
                        foreach ( string file in context.GetAutoConfFiles () )
                                if ( File.Exists ( file ) ) File.Delete ( file 
);
-                                                       
+
                        string[] other_files = new string [] { "autogen.sh", 
"configure.ac", "Makefile.include" };
 
                        foreach ( string file in other_files )
@@ -124,10 +178,10 @@
 
                                string libdir = solution_dir + "/lib/";
                                if ( !Directory.Exists ( libdir ) ) 
Directory.CreateDirectory ( libdir );
-                                       
+
                                string newPath = libdir + dll_name;
                                File.Copy ( dll, newPath , true );
-                               
+
                                newPath = 
Runtime.FileUtilityService.AbsoluteToRelativePath ( solution_dir, newPath );
                                sb.Append (' ');
                                sb.Append ( newPath );
@@ -186,11 +240,11 @@
                        config_options.Append ( "if test -z 
\"$CONFIG_REQUESTED\" ; then\n" );
                        config_options.AppendFormat ( "AM_CONDITIONAL({0}, 
true)\nfi\n", "ENABLE_"
                                        + 
combine.ActiveConfiguration.Name.ToUpper()  );
-                       
-                       
+
+
                        templateEngine.Variables ["CONFIG_OPTIONS"] = 
config_options.ToString();
-                       
-                       
+
+
                        // build compiler checks
                        StringBuilder compiler_checks = new StringBuilder();
                        foreach (string compiler in context.GetCommandChecks () 
) 

Modified: 
trunk/monodevelop/Extras/MonoDevelop.Autotools/templates/exe.wrapper.in.template
===================================================================
--- 
trunk/monodevelop/Extras/MonoDevelop.Autotools/templates/exe.wrapper.in.template
    2006-06-15 22:22:18 UTC (rev 61781)
+++ 
trunk/monodevelop/Extras/MonoDevelop.Autotools/templates/exe.wrapper.in.template
    2006-06-15 22:27:20 UTC (rev 61782)
@@ -4,4 +4,4 @@
 exec_prefix="@exec_prefix@"
 libdir="@libdir@/@PACKAGE@"
 
-exec mono "${libdir}/%%ASSEMBLY%%" "$@"
+exec mono %%ARGS%% "${libdir}/%%ASSEMBLY%%" "$@"

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to