[Monodevelop-patches-list] r1521 - in trunk/MonoDevelop/src/AddIns: . prj2make-sharp-lib
commit-watcher at mono-cvs.ximian.com
commit-watcher at mono-cvs.ximian.com
Tue Apr 27 08:20:45 EDT 2004
Author: paco
Date: 2004-04-27 08:20:44 -0400 (Tue, 27 Apr 2004)
New Revision: 1521
Added:
trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/
trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/AssemblyInfo.cs
trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/AssemblyInfo.cs.in
trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/ChangeLog
trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/CsprojInfo.cs
trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/Makefile
trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/Makefile.am
trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/Makefile.in
trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/MdPrjHelper.cs
trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/MsPrjHelper.cs
trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/PrjHelper.cs
trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/PrjxInfo.cs
trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/csproj_ver2003.cs
trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib-Commands.cs
trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib.addin.xml
trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib.cmbx
trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib.prjx
trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/sharp_d_cmbx.cs
trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/sharp_d_prjx.cs
Log:
Initial import of the Prj2make-sharp-lib addin
Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/AssemblyInfo.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/AssemblyInfo.cs 2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/AssemblyInfo.cs 2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,17 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+
+[assembly: AssemblyTitle("prj2make-sharp-lib")]
+[assembly: AssemblyDescription("Project and Workspace file type manipulation library")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("MonoDevelop")]
+[assembly: AssemblyCopyright("MonoDevelop team")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+[assembly: AssemblyVersion("0.3.0.0")]
+
+[assembly: AssemblyDelaySign(false)]
+[assembly: AssemblyKeyFile("")]
Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/AssemblyInfo.cs.in
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/AssemblyInfo.cs.in 2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/AssemblyInfo.cs.in 2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,17 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+
+[assembly: AssemblyTitle("prj2make-sharp-lib")]
+[assembly: AssemblyDescription("Project and Workspace file type manipulation library")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("MonoDevelop")]
+[assembly: AssemblyCopyright("MonoDevelop team")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+[assembly: AssemblyVersion("@VERSION at .0.0")]
+
+[assembly: AssemblyDelaySign(false)]
+[assembly: AssemblyKeyFile("")]
Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/ChangeLog
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/ChangeLog 2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/ChangeLog 2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,7 @@
+2004-04-25 Francisco "Paco" Martinez <paco at mfcon.com>
+ Added new support in the console version of prj2make-sharp for generation of
+ cmbx and prjx files from sln and csproj files
+ Files changed:
+ * MsPrjHelper.cs -- Added new support to create cmbx form slns
+ * PrjHelper.cs -- Moved all of the prjx creation into MsPrjHelper
+
Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/CsprojInfo.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/CsprojInfo.cs 2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/CsprojInfo.cs 2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,169 @@
+using System;
+using System.Collections;
+using System.IO;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Xml;
+using System.Xml.Serialization;
+
+
+namespace MonoDevelop.Prj2Make
+{
+ class CsprojInfo
+ {
+ public readonly string name;
+ public readonly string guid;
+ public readonly string csprojpath;
+ public string makename;
+ public string makename_ext;
+ public string assembly_name;
+ public string res;
+ public string src;
+ private bool m_bAllowUnsafeCode;
+ private MonoDevelop.Prj2Make.Schema.Csproj.VisualStudioProject m_projObject;
+
+ public string ext_refs = "";
+ public string switches = "";
+
+ public bool AllowUnsafeCode
+ {
+ get { return m_bAllowUnsafeCode; }
+ }
+
+ public MonoDevelop.Prj2Make.Schema.Csproj.VisualStudioProject Proyecto
+ {
+ get { return m_projObject; }
+ }
+
+ // Project desirialization
+ protected MonoDevelop.Prj2Make.Schema.Csproj.VisualStudioProject LoadPrjFromFile (string strIn)
+ {
+ FileStream fs = new FileStream (strIn, FileMode.Open);
+
+ XmlSerializer xmlSer = new XmlSerializer (typeof(MonoDevelop.Prj2Make.Schema.Csproj.VisualStudioProject));
+ MonoDevelop.Prj2Make.Schema.Csproj.VisualStudioProject prjObj = (MonoDevelop.Prj2Make.Schema.Csproj.VisualStudioProject) xmlSer.Deserialize (fs);
+
+ fs.Close();
+
+ return (prjObj);
+ }
+
+ public CsprojInfo(bool isUnixMode, bool isMcsMode, string name, string guid, string csprojpath)
+ {
+ this.name = name;
+ this.guid = guid;
+ this.csprojpath = csprojpath;
+
+ makename = name.Replace('.','_').ToUpper();
+ makename_ext = makename + "_EXT";
+ m_bAllowUnsafeCode = false;
+
+ // convert backslashes to slashes
+ csprojpath = csprojpath.Replace("\\", "/");
+
+ // loads the file in order to deserialize and
+ // build the object graph
+ try
+ {
+ m_projObject = LoadPrjFromFile (csprojpath);
+ }
+ catch (Exception exc)
+ {
+ Console.WriteLine (
+ String.Format ("Could not load the file {0}\nException: {1}",
+ csprojpath,
+ exc.Message)
+ );
+ return;
+ }
+
+ // Establish if the allow unsafe code flag is true
+ foreach (MonoDevelop.Prj2Make.Schema.Csproj.Config cf in m_projObject.CSHARP.Build.Settings.Config)
+ {
+ if(cf.AllowUnsafeBlocks == true)
+ m_bAllowUnsafeCode = true;
+ }
+
+ switch (m_projObject.CSHARP.Build.Settings.OutputType)
+ {
+ case "Library":
+ makename_ext = makename + "_DLL";
+ assembly_name = m_projObject.CSHARP.Build.Settings.AssemblyName + ".dll";
+ switches += " -target:library";
+ break;
+
+ case "Exe":
+ makename_ext = makename + "_EXE";
+ assembly_name = m_projObject.CSHARP.Build.Settings.AssemblyName + ".exe";
+ switches += " -target:exe";
+ break;
+
+ case "WinExe":
+ makename_ext = makename + "_EXE";
+ assembly_name = m_projObject.CSHARP.Build.Settings.AssemblyName + ".exe";
+ switches += " -target:winexe";
+ break;
+
+ default:
+ throw new NotSupportedException("Unsupported OutputType: " + m_projObject.CSHARP.Build.Settings.OutputType);
+
+ }
+
+ src = "";
+ string basePath = Path.GetDirectoryName(csprojpath);
+ string s;
+
+ foreach (MonoDevelop.Prj2Make.Schema.Csproj.File fl in m_projObject.CSHARP.Files.Include)
+ {
+ if(fl.BuildAction == MonoDevelop.Prj2Make.Schema.Csproj.FileBuildAction.Compile)
+ {
+ if (src != "")
+ {
+ src += " \\\n\t";
+ }
+
+ s = System.IO.Path.Combine(basePath, fl.RelPath);
+ s = s.Replace("\\", "/");
+ if (SlnMaker.slash != "/")
+ s = s.Replace("/", SlnMaker.slash);
+
+ // Test for spaces
+ if (isUnixMode == false) {
+ // We are in win32 using a cmd.exe or other
+ // DOS shell
+ if(s.IndexOf(' ') > -1) {
+ src += String.Format("\"{0}\"", s);
+ } else {
+ src += s;
+ }
+ } else {
+ // We are in *NIX or some other
+ // GNU like shell
+ src += s.Replace(" ", "\\ ");
+ }
+ }
+ }
+
+ res = "";
+ string rootNS = m_projObject.CSHARP.Build.Settings.RootNamespace;
+ string relPath;
+ foreach (MonoDevelop.Prj2Make.Schema.Csproj.File fl in m_projObject.CSHARP.Files.Include)
+ {
+ if(fl.BuildAction == MonoDevelop.Prj2Make.Schema.Csproj.FileBuildAction.EmbeddedResource)
+ {
+ if (res != "") {
+ res += " \\\n\t";
+ }
+
+ relPath = fl.RelPath.Replace("\\", "/");
+ s = System.IO.Path.Combine(basePath, relPath);
+ s = String.Format("-resource:{0},{1}", s, rootNS + "." + relPath.Replace("/", "."));
+ s = s.Replace("\\", "/");
+ if (SlnMaker.slash != "/")
+ s = s.Replace("/", SlnMaker.slash);
+ res += s;
+ }
+ }
+ }
+ }
+}
Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/Makefile
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/Makefile 2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/Makefile 2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,340 @@
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# src/AddIns/prj2make-sharp-lib/Makefile. Generated from Makefile.in by configure.
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = /bin/sh
+
+srcdir = .
+top_srcdir = ../../..
+
+prefix = /usr/local
+exec_prefix = ${prefix}
+
+bindir = ${exec_prefix}/bin
+sbindir = ${exec_prefix}/sbin
+libexecdir = ${exec_prefix}/libexec
+datadir = ${prefix}/share
+sysconfdir = ${prefix}/etc
+sharedstatedir = ${prefix}/com
+localstatedir = ${prefix}/var
+libdir = ${exec_prefix}/lib
+infodir = ${prefix}/info
+mandir = ${prefix}/man
+includedir = ${prefix}/include
+oldincludedir = /usr/include
+pkgdatadir = $(datadir)/monodevelop
+pkglibdir = $(libdir)/monodevelop
+pkgincludedir = $(includedir)/monodevelop
+top_builddir = ../../..
+
+ACLOCAL = ${SHELL} /download/monocvs/MonoDevelop-r1487p/missing --run aclocal-1.6
+AUTOCONF = ${SHELL} /download/monocvs/MonoDevelop-r1487p/missing --run autoconf
+AUTOMAKE = ${SHELL} /download/monocvs/MonoDevelop-r1487p/missing --run automake-1.6
+AUTOHEADER = ${SHELL} /download/monocvs/MonoDevelop-r1487p/missing --run autoheader
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_DATA = ${INSTALL} -m 644
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = s,x,x,
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_alias =
+build_triplet = i686-pc-linux-gnu
+host_alias =
+host_triplet = i686-pc-linux-gnu
+target_alias =
+target_triplet = i686-pc-linux-gnu
+
+EXEEXT =
+OBJEXT = o
+PATH_SEPARATOR = :
+AMTAR = ${SHELL} /download/monocvs/MonoDevelop-r1487p/missing --run tar
+AS = @AS@
+AWK = gawk
+CATALOGS = en_CA.gmo fr.gmo
+CATOBJEXT = .gmo
+CC = gcc
+DATADIRNAME = share
+DEPDIR = .deps
+DLLTOOL = @DLLTOOL@
+ECHO = echo
+GDLDOCK_CFLAGS = -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/X11R6/include -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libglade-2.0 -I/usr/include/libxml2
+GDLDOCK_LIBS = -Wl,--export-dynamic -L/usr/X11R6/lib -lglade-2.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -lXrandr -lXi -lXinerama -lXext -latk-1.0 -lgdk_pixbuf-2.0 -lpangoxft-1.0 -lXft -lfreetype -lXrender -lfontconfig -lpangox-1.0 -lX11 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lxml2 -lpthread -lz -lm
+GECKO_SHARP = -r:gecko-sharp -lib:/usr/local/lib
+GETTEXT_PACKAGE = monodevelop
+GLIB_CFLAGS = -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
+GLIB_GENMARSHAL = glib-genmarshal
+GLIB_LIBS = -lglib-2.0
+GLIB_MKENUMS = glib-mkenums
+GMOFILES = en_CA.gmo fr.gmo
+GMSGFMT = /usr/bin/msgfmt
+GOBJECT_QUERY = gobject-query
+GTKSOURCEVIEW_SHARP = -r:gtksourceview-sharp -lib:/usr/local/lib
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+INSTOBJEXT = .mo
+INTLLIBS =
+INTLTOOL_CAVES_RULE = %.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache
+INTLTOOL_DESKTOP_RULE = %.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache
+INTLTOOL_DIRECTORY_RULE = %.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache
+INTLTOOL_EXTRACT = $(top_builddir)/intltool-extract
+INTLTOOL_KEYS_RULE = %.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -k -u -c $(top_builddir)/po/.intltool-merge-cache
+INTLTOOL_MERGE = $(top_builddir)/intltool-merge
+INTLTOOL_OAF_RULE = %.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -o -p
+INTLTOOL_PERL = /usr/bin/perl
+INTLTOOL_PONG_RULE = %.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -x -u -c $(top_builddir)/po/.intltool-merge-cache
+INTLTOOL_PROP_RULE = %.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache
+INTLTOOL_SCHEMAS_RULE = %.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -s -u -c $(top_builddir)/po/.intltool-merge-cache
+INTLTOOL_SERVER_RULE = %.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -o -u -c $(top_builddir)/po/.intltool-merge-cache
+INTLTOOL_SHEET_RULE = %.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -x -u -c $(top_builddir)/po/.intltool-merge-cache
+INTLTOOL_SOUNDLIST_RULE = %.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache
+INTLTOOL_THEME_RULE = %.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache
+INTLTOOL_UI_RULE = %.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -x -u -c $(top_builddir)/po/.intltool-merge-cache
+INTLTOOL_UPDATE = $(top_builddir)/intltool-update
+INTLTOOL_XAM_RULE = %.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -x -u -c $(top_builddir)/po/.intltool-merge-cache
+INTLTOOL_XML_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -x -u -c $(top_builddir)/po/.intltool-merge-cache
+LD_LIBRARY_PATH =
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LN_S = ln -s
+MAINT =
+MCS = /usr/local/bin/mcs
+MKINSTALLDIRS = ./mkinstalldirs
+MONO = /usr/local/bin/mono
+MONODOC = /lib:/usr/local/lib /r:monodoc
+MOZILLA_HOME = /usr/lib/mozilla-1.4.2
+OBJDUMP = @OBJDUMP@
+PACKAGE = monodevelop
+PATH = /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/root/bin
+PKG_CONFIG = /usr/bin/pkg-config
+POFILES = en_CA.po fr.po
+POSUB = po
+PO_IN_DATADIR_FALSE =
+PO_IN_DATADIR_TRUE =
+RANLIB = ranlib
+STRIP = strip
+USE_NLS = yes
+VERSION = 0.3
+XDGMIME = no
+am__include = include
+am__quote =
+debugger_prefix = /usr
+gnome_prefix = /usr
+gtksharp_prefix = /usr/local
+install_sh = /download/monocvs/MonoDevelop-r1487p/install-sh
+
+CSC = mcs /debug
+ASSEMBLY = prj2make-sharp-lib.dll
+ADDIN = $(srcdir)/prj2make-sharp-lib.addin.xml
+
+DLLS = /r:gdk-sharp.dll \
+ /r:glib-sharp.dll \
+ /r:gtk-sharp.dll /r:pango-sharp.dll \
+ /r:../../../build/bin/MonoDevelop.Base.dll \
+ /r:../../../build/bin/MonoDevelop.Core.dll
+
+
+FILES = \
+MsPrjHelper.cs \
+PrjHelper.cs \
+MdPrjHelper.cs \
+CsprojInfo.cs \
+PrjxInfo.cs \
+sharp_d_cmbx.cs \
+sharp_d_prjx.cs \
+csproj_ver2003.cs \
+AssemblyInfo.cs \
+prj2make-sharp-lib-Commands.cs
+
+
+EXTRA_DIST = $(FILES) $(ADDIN)
+
+build_sources = $(addprefix $(srcdir)/, $(FILES))
+
+assemblydir = $(libdir)/monodevelop/AddIns
+assembly_DATA = $(ASSEMBLY) $(ADDIN)
+
+CLEANFILES = $(ASSEMBLY)
+subdir = src/AddIns/prj2make-sharp-lib
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(assembly_DATA)
+
+DIST_COMMON = ChangeLog Makefile.am Makefile.in
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/AddIns/prj2make-sharp-lib/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+assemblyDATA_INSTALL = $(INSTALL_DATA)
+install-assemblyDATA: $(assembly_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(assemblydir)
+ @list='$(assembly_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(assemblyDATA_INSTALL) $$d$$p $(DESTDIR)$(assemblydir)/$$f"; \
+ $(assemblyDATA_INSTALL) $$d$$p $(DESTDIR)$(assemblydir)/$$f; \
+ done
+
+uninstall-assemblyDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(assembly_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(assemblydir)/$$f"; \
+ rm -f $(DESTDIR)$(assemblydir)/$$f; \
+ done
+tags: TAGS
+TAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ $(mkinstalldirs) $(distdir)/$(srcdir)
+ @list='$(DISTFILES)'; for file in $$list; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(assemblydir)
+
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-assemblyDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+uninstall-am: uninstall-assemblyDATA uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am info info-am install install-am install-assemblyDATA \
+ install-data install-data-am install-exec install-exec-am \
+ install-info install-info-am install-man install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool uninstall uninstall-am \
+ uninstall-assemblyDATA uninstall-info-am
+
+
+all: $(ASSEMBLY)
+
+../../../build/AddIns/$(ADDIN):
+ cp $(ADDIN) ../../../build/AddIns/.
+
+$(ASSEMBLY): $(build_sources) ../../../build/AddIns/$(ADDIN)
+ $(CSC) /out:$(ASSEMBLY) /target:library \
+ $(build_sources) $(DLLS)\
+ && cp $(ASSEMBLY) ../../../build/AddIns/
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/Makefile.am
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/Makefile.am 2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/Makefile.am 2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,44 @@
+
+CSC = mcs /debug
+ASSEMBLY = prj2make-sharp-lib.dll
+ADDIN = $(srcdir)/prj2make-sharp-lib.addin.xml
+
+
+DLLS = /r:gdk-sharp.dll \
+ /r:glib-sharp.dll \
+ /r:gtk-sharp.dll /r:pango-sharp.dll \
+ /r:../../../build/bin/MonoDevelop.Base.dll \
+ /r:../../../build/bin/MonoDevelop.Core.dll
+
+
+FILES = \
+MsPrjHelper.cs \
+PrjHelper.cs \
+MdPrjHelper.cs \
+CsprojInfo.cs \
+PrjxInfo.cs \
+sharp_d_cmbx.cs \
+sharp_d_prjx.cs \
+csproj_ver2003.cs \
+AssemblyInfo.cs \
+prj2make-sharp-lib-Commands.cs
+
+EXTRA_DIST = $(FILES) $(ADDIN)
+
+all: $(ASSEMBLY)
+
+build_sources = $(addprefix $(srcdir)/, $(FILES))
+
+../../../build/AddIns/$(ADDIN):
+ cp $(ADDIN) ../../../build/AddIns/.
+
+$(ASSEMBLY): $(build_sources) ../../../build/AddIns/$(ADDIN)
+ $(CSC) /out:$(ASSEMBLY) /target:library \
+ $(build_sources) $(DLLS)\
+ && cp $(ASSEMBLY) ../../../build/AddIns/
+
+assemblydir = $(libdir)/monodevelop/AddIns
+assembly_DATA = $(ASSEMBLY) $(ADDIN)
+
+CLEANFILES = $(ASSEMBLY)
+
Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/Makefile.in
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/Makefile.in 2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/Makefile.in 2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,340 @@
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../../..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = @program_transform_name@
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_alias = @build_alias@
+build_triplet = @build@
+host_alias = @host_alias@
+host_triplet = @host@
+target_alias = @target_alias@
+target_triplet = @target@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+AMTAR = @AMTAR@
+AS = @AS@
+AWK = @AWK@
+CATALOGS = @CATALOGS@
+CATOBJEXT = @CATOBJEXT@
+CC = @CC@
+DATADIRNAME = @DATADIRNAME@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+ECHO = @ECHO@
+GDLDOCK_CFLAGS = @GDLDOCK_CFLAGS@
+GDLDOCK_LIBS = @GDLDOCK_LIBS@
+GECKO_SHARP = @GECKO_SHARP@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
+GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMOFILES = @GMOFILES@
+GMSGFMT = @GMSGFMT@
+GOBJECT_QUERY = @GOBJECT_QUERY@
+GTKSOURCEVIEW_SHARP = @GTKSOURCEVIEW_SHARP@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INSTOBJEXT = @INSTOBJEXT@
+INTLLIBS = @INTLLIBS@
+INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@
+INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@
+INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@
+INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
+INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@
+INTLTOOL_MERGE = @INTLTOOL_MERGE@
+INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@
+INTLTOOL_PERL = @INTLTOOL_PERL@
+INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@
+INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@
+INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@
+INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@
+INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@
+INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@
+INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@
+INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@
+INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
+INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@
+INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@
+LD_LIBRARY_PATH = @LD_LIBRARY_PATH@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+MAINT = @MAINT@
+MCS = @MCS@
+MKINSTALLDIRS = @MKINSTALLDIRS@
+MONO = @MONO@
+MONODOC = @MONODOC@
+MOZILLA_HOME = @MOZILLA_HOME@
+OBJDUMP = @OBJDUMP@
+PACKAGE = @PACKAGE@
+PATH = @PATH@
+PKG_CONFIG = @PKG_CONFIG@
+POFILES = @POFILES@
+POSUB = @POSUB@
+PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
+PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
+RANLIB = @RANLIB@
+STRIP = @STRIP@
+USE_NLS = @USE_NLS@
+VERSION = @VERSION@
+XDGMIME = @XDGMIME@
+am__include = @am__include@
+am__quote = @am__quote@
+debugger_prefix = @debugger_prefix@
+gnome_prefix = @gnome_prefix@
+gtksharp_prefix = @gtksharp_prefix@
+install_sh = @install_sh@
+
+CSC = mcs /debug
+ASSEMBLY = prj2make-sharp-lib.dll
+ADDIN = $(srcdir)/prj2make-sharp-lib.addin.xml
+
+DLLS = /r:gdk-sharp.dll \
+ /r:glib-sharp.dll \
+ /r:gtk-sharp.dll /r:pango-sharp.dll \
+ /r:../../../build/bin/MonoDevelop.Base.dll \
+ /r:../../../build/bin/MonoDevelop.Core.dll
+
+
+FILES = \
+MsPrjHelper.cs \
+PrjHelper.cs \
+MdPrjHelper.cs \
+CsprojInfo.cs \
+PrjxInfo.cs \
+sharp_d_cmbx.cs \
+sharp_d_prjx.cs \
+csproj_ver2003.cs \
+AssemblyInfo.cs \
+prj2make-sharp-lib-Commands.cs
+
+
+EXTRA_DIST = $(FILES) $(ADDIN)
+
+build_sources = $(addprefix $(srcdir)/, $(FILES))
+
+assemblydir = $(libdir)/monodevelop/AddIns
+assembly_DATA = $(ASSEMBLY) $(ADDIN)
+
+CLEANFILES = $(ASSEMBLY)
+subdir = src/AddIns/prj2make-sharp-lib
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(assembly_DATA)
+
+DIST_COMMON = ChangeLog Makefile.am Makefile.in
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/AddIns/prj2make-sharp-lib/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+assemblyDATA_INSTALL = $(INSTALL_DATA)
+install-assemblyDATA: $(assembly_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(assemblydir)
+ @list='$(assembly_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(assemblyDATA_INSTALL) $$d$$p $(DESTDIR)$(assemblydir)/$$f"; \
+ $(assemblyDATA_INSTALL) $$d$$p $(DESTDIR)$(assemblydir)/$$f; \
+ done
+
+uninstall-assemblyDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(assembly_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(assemblydir)/$$f"; \
+ rm -f $(DESTDIR)$(assemblydir)/$$f; \
+ done
+tags: TAGS
+TAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ $(mkinstalldirs) $(distdir)/$(srcdir)
+ @list='$(DISTFILES)'; for file in $$list; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(assemblydir)
+
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-assemblyDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+uninstall-am: uninstall-assemblyDATA uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am info info-am install install-am install-assemblyDATA \
+ install-data install-data-am install-exec install-exec-am \
+ install-info install-info-am install-man install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool uninstall uninstall-am \
+ uninstall-assemblyDATA uninstall-info-am
+
+
+all: $(ASSEMBLY)
+
+../../../build/AddIns/$(ADDIN):
+ cp $(ADDIN) ../../../build/AddIns/.
+
+$(ASSEMBLY): $(build_sources) ../../../build/AddIns/$(ADDIN)
+ $(CSC) /out:$(ASSEMBLY) /target:library \
+ $(build_sources) $(DLLS)\
+ && cp $(ASSEMBLY) ../../../build/AddIns/
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/MdPrjHelper.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/MdPrjHelper.cs 2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/MdPrjHelper.cs 2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,308 @@
+using System;
+using System.Collections;
+using System.IO;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Xml;
+using System.Xml.Serialization;
+
+
+namespace MonoDevelop.Prj2Make
+{
+ public class CmbxMaker
+ {
+ public static string slash;
+ static Hashtable projNameInfo = new Hashtable();
+ static Hashtable projGuidInfo = new Hashtable();
+ private MonoDevelop.Prj2Make.Schema.Cmbx.Combine m_cmbObject;
+ private bool m_bIsUnix;
+ private bool m_bIsMcs;
+
+ // Determines if the makefile is intended for nmake or gmake for urposes of path separator character
+ public bool IsUnix
+ {
+ get{ return m_bIsUnix; }
+ set{ m_bIsUnix = value; }
+ }
+
+ // Determines if using MCS or CSC
+ public bool IsMcs
+ {
+ get{ return m_bIsMcs; }
+ set{ m_bIsMcs = value; }
+ }
+
+ public MonoDevelop.Prj2Make.Schema.Cmbx.Combine Solucion {
+ get { return m_cmbObject; }
+ }
+
+ public CmbxMaker()
+ {
+ m_bIsUnix = false;
+ m_bIsMcs = false;
+ }
+
+ // Combine desirialization
+ protected MonoDevelop.Prj2Make.Schema.Cmbx.Combine LoadCmbFromFile (string strIn)
+ {
+ FileStream fs = new FileStream (strIn, FileMode.Open);
+
+ XmlSerializer xmlSer = new XmlSerializer (typeof(MonoDevelop.Prj2Make.Schema.Cmbx.Combine));
+ MonoDevelop.Prj2Make.Schema.Cmbx.Combine cmbObj = (MonoDevelop.Prj2Make.Schema.Cmbx.Combine) xmlSer.Deserialize (fs);
+
+ fs.Close();
+
+ return (cmbObj);
+ }
+
+ protected void ParseMdCsProj(string fname)
+ {
+ string projectName;
+
+ PrjxInfo pi = new PrjxInfo(m_bIsUnix, m_bIsMcs, fname);
+ projectName = pi.name;
+ projNameInfo[projectName] = pi;
+ }
+
+ protected void ParseCombine(string fname)
+ {
+ string CombineFilePath = fname;
+
+ // convert backslashes to slashes
+ CombineFilePath = CombineFilePath.Replace("\\", "/");
+
+ // loads the file in order to deserialize and
+ // build the object graph
+ try {
+ m_cmbObject = LoadCmbFromFile (CombineFilePath);
+ } catch (Exception exc) {
+
+ Console.WriteLine (
+ String.Format ("Could not load the file {0}\nException: {1}",
+ CombineFilePath,
+ exc.Message)
+ );
+ return;
+ }
+
+ foreach(MonoDevelop.Prj2Make.Schema.Cmbx.Entry ent in m_cmbObject.Entries)
+ {
+ string projectName = System.IO.Path.GetFileNameWithoutExtension(ent.filename);
+ string csprojPath = ent.filename;
+
+ if (csprojPath.EndsWith(".prjx"))
+ {
+ PrjxInfo pi = new PrjxInfo(m_bIsUnix, m_bIsMcs, csprojPath);
+
+ projNameInfo[projectName] = pi;
+ }
+ }
+ }
+
+ public string MdCmbxHelper(bool isUnixMode, bool isMcsMode, bool isSln, string slnFile)
+ {
+ bool noCommonTargets = false;
+ bool noProjectTargets = false;
+ bool noFlags = false;
+ StringBuilder MakefileBuilder = new StringBuilder();
+
+ m_bIsUnix = isUnixMode;
+ m_bIsMcs = isMcsMode;
+
+ if (m_bIsUnix)
+ {
+ slash = "/";
+ }
+ else
+ {
+ slash = "\\";
+ }
+
+ try
+ {
+ string d = Path.GetDirectoryName(slnFile);
+
+ if (d != "")
+ Directory.SetCurrentDirectory(d);
+
+ if (isSln == true) {
+ // We invoke the ParseSolution
+ // by passing the file obtained
+ ParseCombine (slnFile);
+ } else {
+
+ // We invoke the ParseMsCsProj
+ // by passing the file obtained
+ ParseMdCsProj (slnFile);
+ }
+
+ if (!noFlags)
+ {
+ if (m_bIsUnix) // gmake
+ {
+ MakefileBuilder.Append("ifndef TARGET\n");
+ MakefileBuilder.Append("\tTARGET=./bin/Debug\n");
+ MakefileBuilder.Append("else\n");
+ MakefileBuilder.Append("\tTARGET=./bin/$(TARGET)\n");
+ MakefileBuilder.Append("endif\n\n");
+
+ if (m_bIsMcs == false)
+ {
+ MakefileBuilder.Append("MCS=csc\n");
+ MakefileBuilder.Append("MCSFLAGS=-nologo\n\n");
+ MakefileBuilder.Append("ifdef (RELEASE)\n");
+ MakefileBuilder.Append("\tMCSFLAGS=$(MCSFLAGS) -optimize+ -d:TRACE\n");
+ MakefileBuilder.Append("else\n");
+ MakefileBuilder.Append("\tMCSFLAGS=$(MCSFLAGS) -debug+ -d:TRACE,DEBUG\n");
+ MakefileBuilder.Append("endif\n");
+ }
+ else
+ {
+ MakefileBuilder.Append("MCS=mcs\n");
+ MakefileBuilder.Append("ifndef (RELEASE)\n");
+ MakefileBuilder.Append("\tMCSFLAGS=-debug --stacktrace\n");
+ MakefileBuilder.Append("endif\n");
+ }
+ }
+ else // nmake
+ {
+ MakefileBuilder.Append("!if !defined (TARGET)\n");
+ MakefileBuilder.Append("TARGET=.\\bin\\Debug\n");
+ MakefileBuilder.Append("!else\n");
+ MakefileBuilder.Append("TARGET=.\\bin\\$(TARGET)\n");
+ MakefileBuilder.Append("!endif\n\n");
+
+ if (m_bIsMcs == false)
+ {
+ MakefileBuilder.Append("MCS=csc\n");
+ MakefileBuilder.Append("MCSFLAGS=-nologo\n\n");
+ MakefileBuilder.Append("!if !defined(RELEASE)\n");
+ MakefileBuilder.Append("MCSFLAGS=$(MCSFLAGS) -optimize+ -d:TRACE\n");
+ MakefileBuilder.Append("!else\n");
+ MakefileBuilder.Append("MCSFLAGS=$(MCSFLAGS) -debug+ -d:TRACE,DEBUG\n");
+ MakefileBuilder.Append("!endif\n");
+ }
+ else
+ {
+ MakefileBuilder.Append("MCS=mcs\n");
+ MakefileBuilder.Append("!if !defined(RELEASE)\n");
+ MakefileBuilder.Append("MCSFLAGS=-debug --stacktrace\n");
+ MakefileBuilder.Append("!endif\n");
+ }
+ }
+
+ MakefileBuilder.Append("\n");
+ }
+ else
+ {
+ MakefileBuilder.Append("!if !defined(MCS)\n");
+ MakefileBuilder.Append("!error You must provide MCS when making\n");
+ MakefileBuilder.Append("!endif\n\n");
+ }
+
+ foreach (PrjxInfo pi in projNameInfo.Values)
+ {
+ MakefileBuilder.AppendFormat("{0}=$(TARGET){1}{2}\n", pi.makename_ext, slash, pi.assembly_name);
+ MakefileBuilder.AppendFormat("{0}_PDB=$(TARGET){1}{2}\n", pi.makename, slash, pi.assembly_name.Replace(".dll",".pdb"));
+ MakefileBuilder.AppendFormat("{0}_SRC={1}\n", pi.makename, pi.src);
+ MakefileBuilder.AppendFormat("{0}_RES={1}\n\n", pi.makename, pi.res);
+ }
+
+ foreach (PrjxInfo pi in projNameInfo.Values)
+ {
+ string refs = "";
+ string deps = "";
+
+ foreach (MonoDevelop.Prj2Make.Schema.Prjx.Reference rf in pi.Proyecto.References)
+ {
+ if (refs != "")
+ refs += " ";
+
+ string assemblyName = rf.refto;
+
+ // HACK - under Unix filenames are case sensitive
+ // Under Windows there's no agreement on Xml vs XML ;-)
+ if (0 == String.Compare(assemblyName, "System.Xml", true))
+ {
+ assemblyName = "System.Xml";
+ }
+
+ if (System.IO.Path.GetExtension(assemblyName).ToUpper().CompareTo(".DLL") == 0) {
+ refs += "-r:" + assemblyName;
+ } else {
+ refs += "-r:" + assemblyName + ".dll";
+ }
+ }
+
+ MakefileBuilder.AppendFormat("$({0}): $({1}_SRC) {2}\n", pi.makename_ext, pi.makename, deps);
+
+ if (isUnixMode)
+ {
+ MakefileBuilder.Append("\t-mkdir -p $(TARGET)\n");
+ }
+ else
+ {
+ MakefileBuilder.Append("\t-md $(TARGET)\n");
+ }
+
+ MakefileBuilder.AppendFormat("\t$(MCS) $(MCSFLAGS) {2}{3} -out:$({0}) $({1}_RES) $({1}_SRC)\n", pi.makename_ext, pi.makename, refs, pi.switches);
+ MakefileBuilder.Append("\n");
+ }
+
+ if (!noCommonTargets)
+ {
+ MakefileBuilder.Append("\n");
+ MakefileBuilder.Append("# common targets\n\n");
+ MakefileBuilder.Append("all:\t");
+
+ bool first = true;
+
+ foreach (PrjxInfo pi in projNameInfo.Values)
+ {
+ if (!first)
+ {
+ MakefileBuilder.Append(" \\\n\t");
+ }
+ MakefileBuilder.AppendFormat("$({0})", pi.makename_ext);
+ first = false;
+ }
+ MakefileBuilder.Append("\n\n");
+
+ MakefileBuilder.Append("clean:\n");
+
+ foreach (PrjxInfo pi in projNameInfo.Values)
+ {
+ if (isUnixMode)
+ {
+ MakefileBuilder.AppendFormat("\t-rm -f \"$({0})\" 2> /dev/null\n", pi.makename_ext);
+ MakefileBuilder.AppendFormat("\t-rm -f \"$({0}_PDB)\" 2> /dev/null\n", pi.makename);
+ }
+ else
+ {
+ MakefileBuilder.AppendFormat("\t-del \"$({0})\" 2> nul\n", pi.makename_ext);
+ MakefileBuilder.AppendFormat("\t-del \"$({0}_PDB)\" 2> nul\n", pi.makename);
+ }
+ }
+ MakefileBuilder.Append("\n");
+ }
+
+ if (!noProjectTargets)
+ {
+ MakefileBuilder.Append("\n");
+ MakefileBuilder.Append("# project names as targets\n\n");
+ foreach (PrjxInfo pi in projNameInfo.Values)
+ {
+ MakefileBuilder.AppendFormat("{0}: $({1})\n", pi.name, pi.makename_ext);
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine("EXCEPTION: {0}\n", e);
+ return "";
+ }
+
+ return MakefileBuilder.ToString();
+ }
+ }
+}
Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/MsPrjHelper.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/MsPrjHelper.cs 2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/MsPrjHelper.cs 2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,706 @@
+using System;
+using System.Collections;
+using System.IO;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Xml;
+using System.Xml.Serialization;
+using MonoDevelop.Prj2Make.Schema.Prjx;
+using MonoDevelop.Prj2Make.Schema.Csproj;
+
+namespace MonoDevelop.Prj2Make
+{
+ public class SlnMaker
+ {
+ public static string slash;
+ static Hashtable projNameInfo = new Hashtable();
+ static Hashtable projGuidInfo = new Hashtable();
+ private bool m_bIsUnix;
+ private bool m_bIsMcs;
+ private string prjxFileName;
+ private string cmbxFileName;
+
+ // Determines if the makefile is intended for nmake or gmake for urposes of path separator character
+ public bool IsUnix
+ {
+ get{ return m_bIsUnix; }
+ set{ m_bIsUnix = value; }
+ }
+
+ // Determines if using MCS or CSC
+ public bool IsMcs
+ {
+ get{ return m_bIsMcs; }
+ set{ m_bIsMcs = value; }
+ }
+
+ public SlnMaker()
+ {
+ m_bIsUnix = false;
+ m_bIsMcs = false;
+ }
+
+ // Shuld contain the file name
+ // of the most resent prjx generation
+ public string PrjxFileName {
+ get { return prjxFileName; }
+ }
+
+ // Shuld contain the file name
+ // of the most resent cmbx generation
+ public string CmbxFileName {
+ get { return cmbxFileName; }
+ }
+
+
+ protected void ParseMsCsProj(string fname)
+ {
+ string projectName = System.IO.Path.GetFileNameWithoutExtension (fname);
+ string csprojPath = System.IO.Path.GetFileName (fname);
+ string projectGuid = "";
+
+ CsprojInfo pi = new CsprojInfo (m_bIsUnix, m_bIsMcs, projectName, projectGuid, csprojPath);
+
+ projNameInfo[projectName] = pi;
+ projGuidInfo[projectGuid] = pi;
+ }
+
+ protected void ParseSolution(string fname)
+ {
+ FileStream fis = new FileStream(fname,FileMode.Open, FileAccess.Read, FileShare.Read);
+ StreamReader reader = new StreamReader(fis);
+ Regex regex = new Regex(@"Project\(""\{(.*)\}""\) = ""(.*)"", ""(.*)"", ""(\{.*\})""");
+
+ while (true)
+ {
+ string s = reader.ReadLine();
+ Match match;
+
+ match = regex.Match(s);
+ if (match.Success)
+ {
+ string projectName = match.Groups[2].Value;
+ string csprojPath = match.Groups[3].Value;
+ string projectGuid = match.Groups[4].Value;
+
+ if (csprojPath.EndsWith (".csproj") && !csprojPath.StartsWith("http://"))
+ {
+ CsprojInfo pi = new CsprojInfo (m_bIsUnix, m_bIsMcs, projectName, projectGuid, csprojPath);
+
+ projNameInfo[projectName] = pi;
+ projGuidInfo[projectGuid] = pi;
+ }
+ }
+
+ if (s.StartsWith("Global"))
+ {
+ break;
+ }
+ }
+ }
+
+ public string MsSlnHelper(bool isUnixMode, bool isMcsMode, bool isSln, string slnFile)
+ {
+ bool noCommonTargets = false;
+ bool noProjectTargets = false;
+ bool noFlags = false;
+ StringBuilder MakefileBuilder = new StringBuilder();
+
+ m_bIsUnix = isUnixMode;
+ m_bIsMcs = isMcsMode;
+
+ if (m_bIsUnix)
+ {
+ slash = "/";
+ }
+ else
+ {
+ slash = "\\";
+ }
+
+ try
+ {
+ string d = Path.GetDirectoryName(slnFile);
+ if (d != "")
+ Directory.SetCurrentDirectory(d);
+
+ if (isSln == true)
+ {
+ // We invoke the ParseSolution
+ // by passing the file obtained
+ ParseSolution (slnFile);
+ }
+ else
+ {
+ // We invoke the ParseMsCsProj
+ // by passing the file obtained
+ ParseMsCsProj (slnFile);
+ }
+
+ if (!noFlags)
+ {
+ if (m_bIsUnix) // gmake
+ {
+ MakefileBuilder.Append("ifndef TARGET\n");
+ MakefileBuilder.Append("\tTARGET=./bin/Debug\n");
+ MakefileBuilder.Append("else\n");
+ MakefileBuilder.Append("\tTARGET=./bin/$(TARGET)\n");
+ MakefileBuilder.Append("endif\n\n");
+
+ if (this.m_bIsMcs == false)
+ {
+ MakefileBuilder.Append("MCS=csc\n");
+ MakefileBuilder.Append("MCSFLAGS=-nologo\n\n");
+ MakefileBuilder.Append("ifdef (RELEASE)\n");
+ MakefileBuilder.Append("\tMCSFLAGS=$(MCSFLAGS) -optimize+ -d:TRACE\n");
+ MakefileBuilder.Append("else\n");
+ MakefileBuilder.Append("\tMCSFLAGS=$(MCSFLAGS) -debug+ -d:TRACE,DEBUG\n");
+ MakefileBuilder.Append("endif\n");
+ }
+ else
+ {
+ MakefileBuilder.Append("MCS=mcs\n");
+ MakefileBuilder.Append("ifndef (RELEASE)\n");
+ MakefileBuilder.Append("\tMCSFLAGS=-debug --stacktrace\n");
+ MakefileBuilder.Append("endif\n");
+ }
+ }
+ else // nmake
+ {
+ MakefileBuilder.Append("!if !defined (TARGET)\n");
+ MakefileBuilder.Append("TARGET=.\\bin\\Debug\n");
+ MakefileBuilder.Append("!else\n");
+ MakefileBuilder.Append("TARGET=.\\bin\\$(TARGET)\n");
+ MakefileBuilder.Append("!endif\n\n");
+
+ if (m_bIsMcs == false)
+ {
+ MakefileBuilder.Append("MCS=csc\n");
+ MakefileBuilder.Append("MCSFLAGS=-nologo\n\n");
+ MakefileBuilder.Append("!if !defined(RELEASE)\n");
+ MakefileBuilder.Append("MCSFLAGS=$(MCSFLAGS) -optimize+ -d:TRACE\n");
+ MakefileBuilder.Append("!else\n");
+ MakefileBuilder.Append("MCSFLAGS=$(MCSFLAGS) -debug+ -d:TRACE,DEBUG\n");
+ MakefileBuilder.Append("!endif\n");
+ }
+ else
+ {
+ MakefileBuilder.Append("MCS=mcs\n");
+ MakefileBuilder.Append("!if !defined(RELEASE)\n");
+ MakefileBuilder.Append("MCSFLAGS=-debug --stacktrace\n");
+ MakefileBuilder.Append("!endif\n");
+ }
+ }
+
+ MakefileBuilder.Append("\n");
+ }
+ else
+ {
+ MakefileBuilder.Append("!if !defined(MCS)\n");
+ MakefileBuilder.Append("!error You must provide MCS when making\n");
+ MakefileBuilder.Append("!endif\n\n");
+ }
+
+ foreach (CsprojInfo pi in projNameInfo.Values)
+ {
+ MakefileBuilder.AppendFormat("{0}=$(TARGET){1}{2}\n", pi.makename_ext, slash, pi.assembly_name);
+ MakefileBuilder.AppendFormat("{0}_PDB=$(TARGET){1}{2}\n", pi.makename, slash, pi.assembly_name.Replace(".dll",".pdb"));
+ MakefileBuilder.AppendFormat("{0}_SRC={1}\n", pi.makename, pi.src);
+ MakefileBuilder.AppendFormat("{0}_RES={1}\n\n", pi.makename, pi.res);
+ }
+
+ foreach (CsprojInfo pi in projNameInfo.Values)
+ {
+ string refs = "";
+ string deps = "";
+
+ foreach (MonoDevelop.Prj2Make.Schema.Csproj.Reference rf in pi.Proyecto.CSHARP.Build.References)
+ {
+ if(rf.Package == null || rf.Package.CompareTo("") == 0)
+ {
+ // Add space in between references as
+ // it becomes necessary
+ if (refs != "")
+ refs += " ";
+
+ string assemblyName = rf.AssemblyName;
+
+ // HACK - under Unix filenames are case sensitive
+ // Under Windows there's no agreement on Xml vs XML ;-)
+ if (0 == String.Compare(assemblyName, "System.Xml", true))
+ {
+ assemblyName = "System.Xml";
+ }
+ refs += "-r:" + assemblyName + ".dll";
+ }
+ else
+ {
+ try
+ {
+ CsprojInfo pi2 = (CsprojInfo)projGuidInfo[rf.Project];
+
+ if (refs != "")
+ refs += " ";
+
+ if (deps != "")
+ deps += " ";
+
+ refs += "-r:$(" + pi2.makename_ext + ")";
+ deps += "$(" + pi2.makename_ext + ")";
+ }
+ catch(System.NullReferenceException exc)
+ {
+ refs += String.Format("-r:{0}.dll", rf.Name);
+ deps += String.Format("# Missing dependency project {1} ID:{0}?", rf.Project,
+ rf.Name);
+ Console.WriteLine(String.Format(
+ "Warning: The project {0}, ID: {1} may be required and appears missing.",
+ rf.Name, rf.Project)
+ );
+ }
+ }
+ }
+
+ MakefileBuilder.AppendFormat("$({0}): $({1}_SRC) {2}\n", pi.makename_ext, pi.makename, deps);
+
+ if (isUnixMode)
+ {
+ MakefileBuilder.Append("\t-mkdir -p $(TARGET)\n");
+ }
+ else
+ {
+ MakefileBuilder.Append("\t-md $(TARGET)\n");
+ }
+
+ // Test to see if any configuratino has the Allow unsafe blocks on
+ if(pi.AllowUnsafeCode == true )
+ {
+ MakefileBuilder.AppendFormat("\t$(MCS) $(MCSFLAGS) -unsafe {2}{3} -out:$({0}) $({1}_RES) $({1}_SRC)\n", pi.makename_ext, pi.makename, refs, pi.switches);
+ }
+ else
+ {
+ MakefileBuilder.AppendFormat("\t$(MCS) $(MCSFLAGS) {2}{3} -out:$({0}) $({1}_RES) $({1}_SRC)\n", pi.makename_ext, pi.makename, refs, pi.switches);
+ }
+
+ MakefileBuilder.Append("\n");
+ }
+
+ if (!noCommonTargets)
+ {
+ MakefileBuilder.Append("\n");
+ MakefileBuilder.Append("# common targets\n\n");
+ MakefileBuilder.Append("all:\t");
+
+ bool first = true;
+
+ foreach (CsprojInfo pi in projNameInfo.Values)
+ {
+ if (!first)
+ {
+ MakefileBuilder.Append(" \\\n\t");
+ }
+ MakefileBuilder.AppendFormat("$({0})", pi.makename_ext);
+ first = false;
+ }
+ MakefileBuilder.Append("\n\n");
+
+ MakefileBuilder.Append("clean:\n");
+
+ foreach (CsprojInfo pi in projNameInfo.Values)
+ {
+ if (isUnixMode)
+ {
+ MakefileBuilder.AppendFormat("\t-rm -f \"$({0})\" 2> /dev/null\n", pi.makename_ext);
+ MakefileBuilder.AppendFormat("\t-rm -f \"$({0}_PDB)\" 2> /dev/null\n", pi.makename);
+ }
+ else
+ {
+ MakefileBuilder.AppendFormat("\t-del \"$({0})\" 2> nul\n", pi.makename_ext);
+ MakefileBuilder.AppendFormat("\t-del \"$({0}_PDB)\" 2> nul\n", pi.makename);
+ }
+ }
+ MakefileBuilder.Append("\n");
+ }
+
+ if (!noProjectTargets)
+ {
+ MakefileBuilder.Append("\n");
+ MakefileBuilder.Append("# project names as targets\n\n");
+ foreach (CsprojInfo pi in projNameInfo.Values)
+ {
+ MakefileBuilder.AppendFormat("{0}: $({1})\n", pi.name, pi.makename_ext);
+ }
+ }
+
+ return MakefileBuilder.ToString();
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine("EXCEPTION: {0}\n", e);
+ return "";
+ }
+ }
+
+ public void CreatePrjxFromCsproj(string csprojFileName)
+ {
+ int nCnt = 0;
+ FileStream fsIn = null;
+ XmlSerializer xmlDeSer = null;
+ FileStream fsOut = null;
+ XmlSerializer xmlSer = null;
+ MonoDevelop.Prj2Make.Schema.Csproj.VisualStudioProject csprojObj = null;
+ MonoDevelop.Prj2Make.Schema.Prjx.Project prjxObj = new MonoDevelop.Prj2Make.Schema.Prjx.Project();
+ prjxFileName = String.Format ("{0}.prjx",
+ Path.Combine(Path.GetDirectoryName(csprojFileName),
+ Path.GetFileNameWithoutExtension(csprojFileName))
+ );
+
+ // convert backslashes to slashes
+ csprojFileName = csprojFileName.Replace("\\", "/");
+ Console.WriteLine(String.Format("Will create project filename:{0}", PrjxFileName));
+
+ // Load the csproj
+ fsIn = new FileStream (csprojFileName, FileMode.Open);
+ xmlDeSer = new XmlSerializer (typeof(VisualStudioProject));
+ csprojObj = (VisualStudioProject) xmlDeSer.Deserialize (fsIn);
+ fsIn.Close();
+
+ // Begin prjxObj population
+ prjxObj.name = Path.GetFileNameWithoutExtension(csprojFileName);
+ prjxObj.description = "";
+ prjxObj.newfilesearch = "None";
+ prjxObj.enableviewstate = "True";
+ prjxObj.version = (decimal)1.1;
+ prjxObj.projecttype = "C#";
+
+ prjxObj.Contents = GetContents (csprojObj.CSHARP.Files.Include);
+ prjxObj.References = GetReferences(csprojObj.CSHARP.Build.References);
+ prjxObj.DeploymentInformation = new MonoDevelop.Prj2Make.Schema.Prjx.DeploymentInformation();
+ prjxObj.DeploymentInformation.target = "";
+ prjxObj.DeploymentInformation.script = "";
+ prjxObj.DeploymentInformation.strategy = "File";
+
+ nCnt = csprojObj.CSHARP.Build.Settings.Config.Length;
+ prjxObj.Configurations = new Configurations();
+ prjxObj.Configurations.Configuration = new Configuration[nCnt];
+ for(int i = 0; i < nCnt; i++)
+ {
+ prjxObj.Configurations.Configuration[i] = CreateConfigurationBlock(
+ csprojObj.CSHARP.Build.Settings.Config[i],
+ csprojObj.CSHARP.Build.Settings.AssemblyName,
+ csprojObj.CSHARP.Build.Settings.OutputType
+ );
+ }
+ prjxObj.Configurations.active = prjxObj.Configurations.Configuration[0].name;
+
+ prjxObj.Configuration = prjxObj.Configurations.Configuration[0];
+
+ // Serialize
+ fsOut = new FileStream (prjxFileName, FileMode.Create);
+ xmlSer = new XmlSerializer (typeof(Project));
+ xmlSer.Serialize(fsOut, prjxObj);
+ fsOut.Close();
+
+ return;
+ }
+
+ public void MsSlnToCmbxHelper(string slnFileName)
+ {
+ int i = 0;
+ FileStream fsOut = null;
+ XmlSerializer xmlSer = null;
+ StringBuilder MakefileBuilder = new StringBuilder();
+ MonoDevelop.Prj2Make.Schema.Cmbx.Combine cmbxObj = new MonoDevelop.Prj2Make.Schema.Cmbx.Combine();
+ cmbxFileName = String.Format ("{0}.cmbx",
+ Path.Combine(Path.GetDirectoryName(slnFileName),
+ Path.GetFileNameWithoutExtension(slnFileName))
+ );
+
+ Console.WriteLine(String.Format("Will create combine filename:{0}", cmbxFileName));
+
+ try
+ {
+ string d = Path.GetDirectoryName(slnFileName);
+ if (d != "")
+ Directory.SetCurrentDirectory(d);
+
+ // We invoke the ParseSolution
+ // by passing the file obtained
+ ParseSolution (slnFileName);
+
+ // Create all of the prjx files form the csproj files
+ foreach (CsprojInfo pi in projNameInfo.Values)
+ {
+ CreatePrjxFromCsproj(pi.csprojpath);
+ }
+
+ // Begin prjxObj population
+ cmbxObj.name = Path.GetFileNameWithoutExtension(slnFileName);
+ cmbxObj.description = "";
+ cmbxObj.fileversion = (decimal)1.0;
+
+ // Create and attach the StartMode element
+ MonoDevelop.Prj2Make.Schema.Cmbx.StartMode startModeElem = new MonoDevelop.Prj2Make.Schema.Cmbx.StartMode();
+
+ // Create the array of Execute objects
+ MonoDevelop.Prj2Make.Schema.Cmbx.Execute[] executeElem = new MonoDevelop.Prj2Make.Schema.Cmbx.Execute[projNameInfo.Count];
+
+ // Populate the Element objects instances
+ i = 0;
+ foreach (CsprojInfo pi in projNameInfo.Values)
+ {
+ MonoDevelop.Prj2Make.Schema.Cmbx.Execute execElem = new MonoDevelop.Prj2Make.Schema.Cmbx.Execute();
+ execElem.entry = pi.name;
+ execElem.type = "None";
+
+ executeElem[i++] = execElem;
+ }
+
+ startModeElem.startupentry = executeElem[0].entry;
+ startModeElem.single = "True";
+ startModeElem.Execute = executeElem;
+
+ // Attach the StartMode Object to the
+ // Combine object
+ cmbxObj.StartMode = startModeElem;
+
+ // Gnerate the entries array
+ MonoDevelop.Prj2Make.Schema.Cmbx.Entry[] entriesObj = new MonoDevelop.Prj2Make.Schema.Cmbx.Entry[projNameInfo.Count];
+ // Populate the Entry objects instances
+ i = 0;
+ foreach (CsprojInfo pi in projNameInfo.Values)
+ {
+ MonoDevelop.Prj2Make.Schema.Cmbx.Entry entryObj = new MonoDevelop.Prj2Make.Schema.Cmbx.Entry();
+ string PrjxFileName = String.Format (".{0}{1}.prjx",
+ Path.DirectorySeparatorChar,
+ Path.Combine(Path.GetDirectoryName(pi.csprojpath),
+ Path.GetFileNameWithoutExtension(pi.csprojpath))
+ );
+
+ entryObj.filename = PrjxFileName;
+
+ entriesObj[i++] = entryObj;
+ }
+
+ // Attach the Entries Object to the
+ // Combine object
+ cmbxObj.Entries = entriesObj;
+
+ MonoDevelop.Prj2Make.Schema.Cmbx.Configurations configurationsObj = new MonoDevelop.Prj2Make.Schema.Cmbx.Configurations();
+
+ // Hack hardcoded configuration value must get the one
+ // from analyzing the different configuration entries
+ configurationsObj.active = "Debug";
+
+ // Hack hardcoded number of configuration object
+ // assuming 2 for Debug and Release
+ configurationsObj.Configuration = new MonoDevelop.Prj2Make.Schema.Cmbx.Configuration[2];
+ MonoDevelop.Prj2Make.Schema.Cmbx.Configuration confObj1 = new MonoDevelop.Prj2Make.Schema.Cmbx.Configuration();
+ configurationsObj.Configuration[0] = confObj1;
+ MonoDevelop.Prj2Make.Schema.Cmbx.Configuration confObj2 = new MonoDevelop.Prj2Make.Schema.Cmbx.Configuration();
+ configurationsObj.Configuration[1] = confObj2;
+
+ configurationsObj.Configuration[0].name = "Release";
+ configurationsObj.Configuration[0].Entry = CreateArrayOfConfEntries();
+ configurationsObj.Configuration[1].name = "Debug";
+ configurationsObj.Configuration[1].Entry = CreateArrayOfConfEntries();
+
+ // Attach the Configurations object to the
+ // Combine Object
+ cmbxObj.Configurations = configurationsObj;
+
+ // Serialize
+ fsOut = new FileStream (cmbxFileName, FileMode.Create);
+ xmlSer = new XmlSerializer (typeof(MonoDevelop.Prj2Make.Schema.Cmbx.Combine));
+ xmlSer.Serialize(fsOut, cmbxObj);
+ fsOut.Close();
+
+ return;
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine("EXCEPTION: {0}\n", e);
+ return;
+ }
+ }
+
+ protected MonoDevelop.Prj2Make.Schema.Prjx.Reference[] GetReferences(MonoDevelop.Prj2Make.Schema.Csproj.Reference[] References)
+ {
+ MonoDevelop.Prj2Make.Schema.Prjx.Reference[] theReferences = null;
+ int i = 0;
+
+ if(References != null && References.Length > 0)
+ {
+ theReferences = new MonoDevelop.Prj2Make.Schema.Prjx.Reference[References.Length];
+ }
+ else
+ {
+ return null;
+ }
+
+ // Iterate through the reference collection of the csproj file
+ foreach(MonoDevelop.Prj2Make.Schema.Csproj.Reference rf in References)
+ {
+ MonoDevelop.Prj2Make.Schema.Prjx.Reference rfOut = new MonoDevelop.Prj2Make.Schema.Prjx.Reference();
+
+ if(rf.Package == null || rf.Package.CompareTo("") == 0)
+ {
+ rfOut.type = MonoDevelop.Prj2Make.Schema.Prjx.ReferenceType.Gac;
+
+ // HACK - under Unix filenames are case sensitive
+ // Under Windows there's no agreement on Xml vs XML ;-)
+ if(Path.GetFileName(rf.HintPath).CompareTo("System.XML.dll") == 0)
+ {
+ rfOut.refto = "System.Xml.dll";
+ }
+ else
+ {
+ rfOut.refto = Path.GetFileName(rf.HintPath);
+ }
+ rfOut.localcopy = MonoDevelop.Prj2Make.Schema.Prjx.ReferenceLocalcopy.True;
+ // increment the iterator value
+ theReferences[i++] = rfOut;
+ }
+ else
+ {
+ rfOut.type = MonoDevelop.Prj2Make.Schema.Prjx.ReferenceType.Project;
+
+ rfOut.refto = Path.GetFileName(rf.Name);
+ rfOut.localcopy = MonoDevelop.Prj2Make.Schema.Prjx.ReferenceLocalcopy.True;
+ // increment the iterator value
+ theReferences[i++] = rfOut;
+ }
+ }
+
+ return theReferences;
+ }
+
+ protected MonoDevelop.Prj2Make.Schema.Prjx.File[] GetContents(MonoDevelop.Prj2Make.Schema.Csproj.File[] Include)
+ {
+ MonoDevelop.Prj2Make.Schema.Prjx.File[] theFiles = null;
+ int i = 0;
+
+ if(Include != null && Include.Length > 0)
+ {
+ theFiles = new MonoDevelop.Prj2Make.Schema.Prjx.File[Include.Length];
+ }
+ else
+ {
+ return null;
+ }
+
+ // Iterate through the file collection of the csproj file
+ foreach(MonoDevelop.Prj2Make.Schema.Csproj.File fl in Include)
+ {
+ MonoDevelop.Prj2Make.Schema.Prjx.File flOut = new MonoDevelop.Prj2Make.Schema.Prjx.File();
+ flOut.name = String.Format(".{0}{1}", Path.DirectorySeparatorChar, fl.RelPath);
+
+ switch(fl.SubType)
+ {
+ case "Code":
+ flOut.subtype = MonoDevelop.Prj2Make.Schema.Prjx.FileSubtype.Code;
+ break;
+ }
+
+ switch(fl.BuildAction)
+ {
+ case MonoDevelop.Prj2Make.Schema.Csproj.FileBuildAction.Compile:
+ flOut.buildaction = MonoDevelop.Prj2Make.Schema.Prjx.FileBuildaction.Compile;
+ break;
+ case MonoDevelop.Prj2Make.Schema.Csproj.FileBuildAction.EmbeddedResource:
+ flOut.buildaction = MonoDevelop.Prj2Make.Schema.Prjx.FileBuildaction.EmbedAsResource;
+ break;
+ case MonoDevelop.Prj2Make.Schema.Csproj.FileBuildAction.None:
+ flOut.buildaction = MonoDevelop.Prj2Make.Schema.Prjx.FileBuildaction.Exclude;
+ break;
+ }
+ flOut.dependson = fl.DependentUpon;
+ flOut.data = "";
+
+ // increment the iterator value
+ theFiles[i++ ] = flOut;
+ }
+
+ return theFiles;
+ }
+
+ protected Configuration CreateConfigurationBlock(Config ConfigBlock, string AssemblyName, string OuputType)
+ {
+ Configuration ConfObj = new Configuration();
+ CodeGeneration CodeGenObj = new CodeGeneration();
+ Execution ExecutionObj = new Execution();
+ Output OutputObj = new Output();
+
+ ConfObj.runwithwarnings = "False";
+ ConfObj.name = ConfigBlock.Name;
+
+ // CodeGenObj member population
+ CodeGenObj.runtime = "MsNet";
+ CodeGenObj.compiler = "Csc";
+ CodeGenObj.warninglevel = ConfigBlock.WarningLevel;
+ CodeGenObj.nowarn = "";
+ CodeGenObj.includedebuginformation = (ConfigBlock.DebugSymbols == true) ?
+ CodeGenerationIncludedebuginformation.True :
+ CodeGenerationIncludedebuginformation.False;
+
+ CodeGenObj.optimize = (ConfigBlock.Optimize == true) ? "True" : "False";
+
+ if (ConfigBlock.AllowUnsafeBlocks == true)
+ {
+ CodeGenObj.unsafecodeallowed = CodeGenerationUnsafecodeallowed.True;
+ }
+ else
+ {
+ CodeGenObj.unsafecodeallowed = CodeGenerationUnsafecodeallowed.False;
+ }
+ if (ConfigBlock.CheckForOverflowUnderflow == true)
+ {
+ CodeGenObj.generateoverflowchecks = "True";
+ }
+ else
+ {
+ CodeGenObj.generateoverflowchecks = "False";
+ }
+
+ CodeGenObj.mainclass = "";
+ CodeGenObj.target = OuputType;
+ CodeGenObj.generatexmldocumentation = "False";
+ CodeGenObj.win32Icon = "";
+
+ // ExecutionObj member population
+ ExecutionObj.commandlineparameters = "";
+ ExecutionObj.consolepause = "True";
+
+ // OutputObj member population
+ OutputObj.directory = ConfigBlock.OutputPath;
+ OutputObj.assembly = AssemblyName;
+ OutputObj.executeScript = "";
+ OutputObj.executeBeforeBuild = "";
+ OutputObj.executeAfterBuild = "";
+
+ ConfObj.CodeGeneration = CodeGenObj;
+ ConfObj.Execution = ExecutionObj;
+ ConfObj.Output = OutputObj;
+
+ return ConfObj;
+ }
+
+ protected MonoDevelop.Prj2Make.Schema.Cmbx.Entry[] CreateArrayOfConfEntries()
+ {
+ MonoDevelop.Prj2Make.Schema.Cmbx.Entry[] confEntry = new MonoDevelop.Prj2Make.Schema.Cmbx.Entry[projNameInfo.Count];
+ // Populate the Entry objects instances
+ int i = 0;
+ foreach (CsprojInfo pi in projNameInfo.Values)
+ {
+ MonoDevelop.Prj2Make.Schema.Cmbx.Entry entryObj = new MonoDevelop.Prj2Make.Schema.Cmbx.Entry();
+ entryObj.name = pi.name;
+ entryObj.configurationname = "Debug";
+ entryObj.build = "False";
+
+ confEntry[i++] = entryObj;
+ }
+
+ return confEntry;
+ }
+ }
+}
Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/PrjHelper.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/PrjHelper.cs 2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/PrjHelper.cs 2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,89 @@
+using System;
+using System.Xml;
+using System.Xml.Serialization;
+using System.Collections;
+using System.IO;
+using System.Text;
+using System.Text.RegularExpressions;
+using MonoDevelop.Prj2Make.Schema.Prjx;
+using MonoDevelop.Prj2Make.Schema.Csproj;
+
+namespace MonoDevelop.Prj2Make
+{
+ public class Maker
+ {
+ public enum TypeOfFile {
+ unknown,
+ sln,
+ csproj,
+ cmbx,
+ prjx
+ }
+
+ // Helper function to determine the type of
+ // file being parsed based on its extension
+ protected TypeOfFile DetermineFileType(string inFileName)
+ {
+ string ExtentionString = System.IO.Path.GetExtension (inFileName);
+
+ switch(ExtentionString)
+ {
+ case ".sln":
+ return TypeOfFile.sln;
+ case ".csproj":
+ return TypeOfFile.csproj;
+ case ".cmbx":
+ return TypeOfFile.cmbx;
+ case ".prjx":
+ return TypeOfFile.prjx;
+ }
+
+ return TypeOfFile.unknown;
+ }
+
+ public bool CreateCombineFromSln(string slnFileName)
+ {
+ SlnMaker slnMkObj = new SlnMaker();
+
+ // Load the sln and parse it
+ slnMkObj.MsSlnToCmbxHelper(slnFileName);
+
+ return false;
+ }
+
+ public bool CreatePrjxFromCsproj(string csprojFileName)
+ {
+ SlnMaker slnMkObj = new SlnMaker();
+
+ // Load the csproj and parse it
+ slnMkObj.CreatePrjxFromCsproj(csprojFileName);
+
+ return false;
+ }
+
+ // Main entry point for Makefile generation
+ public string MakerMain(bool isUnixMode, bool isMcsMode, string slnFile)
+ {
+ SlnMaker mk1Obj = null;
+ CmbxMaker mk2Obj = null;
+ // Test to see what kind if file we got
+ // sln, csproj, cmbx, prjx
+ switch(DetermineFileType(slnFile))
+ {
+ case TypeOfFile.sln:
+ mk1Obj = new SlnMaker();
+ return mk1Obj.MsSlnHelper (isUnixMode, isMcsMode, true, slnFile);
+ case TypeOfFile.csproj:
+ mk1Obj = new SlnMaker();
+ return mk1Obj.MsSlnHelper (isUnixMode, isMcsMode, false, slnFile);
+ case TypeOfFile.cmbx:
+ mk2Obj = new CmbxMaker();
+ return mk2Obj.MdCmbxHelper (isUnixMode, isMcsMode, true, slnFile);
+ case TypeOfFile.prjx:
+ mk2Obj = new CmbxMaker();
+ return mk2Obj.MdCmbxHelper (isUnixMode, isMcsMode, false, slnFile);
+ }
+ return "Error: unknown file type.";
+ }
+ }
+}
Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/PrjxInfo.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/PrjxInfo.cs 2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/PrjxInfo.cs 2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,153 @@
+using System;
+using System.Collections;
+using System.IO;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Xml;
+using System.Xml.Serialization;
+
+
+namespace MonoDevelop.Prj2Make
+{
+ class PrjxInfo
+ {
+ public readonly string name;
+ public readonly string csprojpath;
+ public string makename;
+ public string makename_ext;
+ public string assembly_name;
+ public string res;
+ public string src;
+ private MonoDevelop.Prj2Make.Schema.Prjx.Project m_projObject;
+
+ public string ext_refs = "";
+ public string switches = "";
+
+ public MonoDevelop.Prj2Make.Schema.Prjx.Project Proyecto {
+ get { return m_projObject; }
+ }
+
+ // Project desirialization
+ protected MonoDevelop.Prj2Make.Schema.Prjx.Project LoadPrjFromFile (string strIn)
+ {
+ FileStream fs = new FileStream (strIn, FileMode.Open);
+
+ XmlSerializer xmlSer = new XmlSerializer (typeof(MonoDevelop.Prj2Make.Schema.Prjx.Project));
+ MonoDevelop.Prj2Make.Schema.Prjx.Project prjObj = (MonoDevelop.Prj2Make.Schema.Prjx.Project) xmlSer.Deserialize (fs);
+
+ fs.Close();
+
+ return (prjObj);
+ }
+
+ public PrjxInfo(bool isUnixMode, bool isMcsMode, string csprojpath)
+ {
+ this.csprojpath = csprojpath;
+
+ // convert backslashes to slashes
+ csprojpath = csprojpath.Replace("\\", "/");
+
+ // loads the file in order to deserialize and
+ // build the object graph
+ try {
+ m_projObject = LoadPrjFromFile (csprojpath);
+ } catch (Exception exc) {
+
+ Console.WriteLine (
+ String.Format ("Could not load the file {0}\nException: {1}",
+ csprojpath,
+ exc.Message)
+ );
+ return;
+ }
+
+ this.name = m_projObject.name;
+
+ makename = name.Replace('.','_').ToUpper();
+ makename_ext = makename + "_EXT";
+
+ switch (m_projObject.Configuration.CodeGeneration.target)
+ {
+ case "Library":
+ makename_ext = makename + "_DLL";
+ assembly_name = m_projObject.Configuration.Output.assembly + ".dll";
+ switches += " -target:library";
+ break;
+
+ case "Exe":
+ makename_ext = makename + "_EXE";
+ assembly_name = m_projObject.Configuration.Output.assembly + ".exe";
+ switches += " -target:exe";
+ break;
+
+ case "WinExe":
+ makename_ext = makename + "_EXE";
+ assembly_name = m_projObject.Configuration.Output.assembly + ".exe";
+ switches += " -target:winexe";
+ break;
+
+ default:
+ throw new NotSupportedException("Unsupported OutputType: " + m_projObject.Configuration.CodeGeneration.target);
+
+ }
+
+ src = "";
+ string basePath = Path.GetDirectoryName(csprojpath);
+ string s;
+
+ // Process Source code files for compiling
+ foreach (MonoDevelop.Prj2Make.Schema.Prjx.File f in m_projObject.Contents)
+ {
+ if(f.buildaction == MonoDevelop.Prj2Make.Schema.Prjx.FileBuildaction.Compile)
+ {
+ if (src != "") {
+ src += " \\\n\t";
+ }
+
+ s = System.IO.Path.Combine(basePath, f.name);
+ s = s.Replace("\\", "/");
+ if (CmbxMaker.slash != "/")
+ s = s.Replace("/", CmbxMaker.slash);
+
+ // Test for spaces
+ if (isUnixMode == false)
+ {
+ // We are in win32 using a cmd.exe or other
+ // DOS shell
+ if(s.IndexOf(' ') > -1) {
+ src += String.Format("\"{0}\"", s);
+ } else {
+ src += s;
+ }
+ } else {
+ // We are in *NIX or some other
+ // GNU like shell
+ src += s.Replace(" ", "\\ ");
+ }
+ }
+ }
+
+ // Process resources for embedding
+ res = "";
+ string rootNS = this.name;
+ string relPath;
+ foreach (MonoDevelop.Prj2Make.Schema.Prjx.File f in m_projObject.Contents)
+ {
+ if(f.buildaction == MonoDevelop.Prj2Make.Schema.Prjx.FileBuildaction.EmbedAsResource)
+ {
+ if (src != "") {
+ src += " \\\n\t";
+ }
+
+ relPath = f.name.Replace("\\", "/");
+ s = System.IO.Path.Combine(basePath, relPath);
+ s = String.Format("-resource:{0},{1}", s, rootNS + "." + relPath.Replace("/", "."));
+ s = s.Replace("\\", "/");
+ if (CmbxMaker.slash != "/")
+ s = s.Replace("/", CmbxMaker.slash);
+ res += s;
+ }
+ }
+ }
+ }
+}
Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/csproj_ver2003.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/csproj_ver2003.cs 2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/csproj_ver2003.cs 2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,282 @@
+namespace MonoDevelop.Prj2Make.Schema.Csproj {
+ using System.Xml.Serialization;
+
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class Build {
+
+ /// <remarks/>
+ public Settings Settings;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]
+ public Reference[] References;
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class Settings {
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("Config")]
+ public Config[] Config;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string ApplicationIcon;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string AssemblyKeyContainerName;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string AssemblyName;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string AssemblyOriginatorKeyFile;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string DefaultClientScript;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string DefaultHTMLPageLayout;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string DefaultTargetSchema;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public bool DelaySign;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string OutputType;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string PreBuildEvent;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string PostBuildEvent;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string RootNamespace;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string RunPostBuildEvent;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string StartupObject;
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class Config {
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string Name;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public bool AllowUnsafeBlocks;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public int BaseAddress;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public bool CheckForOverflowUnderflow;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string ConfigurationOverrideFile;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string DefineConstants;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string DocumentationFile;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public bool DebugSymbols;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public short FileAlignment;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public bool IncrementalBuild;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public bool NoStdLib;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string NoWarn;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public bool Optimize;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string OutputPath;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public bool RegisterForComInterop;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public bool RemoveIntegerChecks;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public bool TreatWarningsAsErrors;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public System.SByte WarningLevel;
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class Reference {
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string Name;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string AssemblyName;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string HintPath;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string Project;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string Package;
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class CSHARP {
+
+ /// <remarks/>
+ public Build Build;
+
+ /// <remarks/>
+ public Files Files;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string ProjectType;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string ProductVersion;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public System.Decimal SchemaVersion;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string ProjectGuid;
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class Files {
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]
+ public File[] Include;
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class File {
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string RelPath;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public FileBuildAction BuildAction;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string SubType;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string DependentUpon;
+ }
+
+ /// <remarks/>
+ public enum FileBuildAction {
+
+ /// <remarks/>
+ Compile,
+
+ /// <remarks/>
+ Content,
+
+ /// <remarks/>
+ EmbeddedResource,
+
+ /// <remarks/>
+ None,
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class Include {
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("File")]
+ public File[] File;
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class References {
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("Reference")]
+ public Reference[] Reference;
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class VisualStudioProject {
+
+ /// <remarks/>
+ public CSHARP CSHARP;
+ }
+}
Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib-Commands.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib-Commands.cs 2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib-Commands.cs 2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,66 @@
+using System;
+using System.IO;
+
+using MonoDevelop.Core.AddIns.Codons;
+using MonoDevelop.Services;
+using MonoDevelop.Core.Services;
+using MonoDevelop.Prj2Make;
+using MonoDevelop.Prj2Make.Schema.Prjx;
+using MonoDevelop.Prj2Make.Schema.Csproj;
+
+namespace MonoDevelop.Commands
+{
+ public class ImportPrj : AbstractMenuCommand
+ {
+ static PropertyService PropertyService = (PropertyService)ServiceManager.Services.GetService (typeof (PropertyService));
+
+ public override void Run()
+ {
+ using (Gtk.FileSelection fs = new Gtk.FileSelection (GettextCatalog.GetString ("File to Open"))) {
+ bool conversionSuccessfull = false;
+ SlnMaker slnMkObj = null;
+ string defaultFolder = PropertyService.GetProperty(
+ "MonoDevelop.Gui.Dialogs.NewProjectDialog.DefaultPath",
+ System.IO.Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal),
+ "MonoDevelopProjects")).ToString();
+ fs.Complete (defaultFolder);
+ int response = fs.Run ();
+ string name = fs.Filename;
+ fs.Hide ();
+ IProjectService proj = null;
+
+ if (response == (int)Gtk.ResponseType.Ok) {
+ switch (Path.GetExtension(name).ToUpper()) {
+ case ".SLN":
+ slnMkObj = new SlnMaker();
+ // Load the sln and parse it
+ slnMkObj.MsSlnToCmbxHelper(name);
+ conversionSuccessfull = true;
+ name = slnMkObj.CmbxFileName;
+ break;
+ case ".CSPROJ":
+ slnMkObj = new SlnMaker();
+ // Load the csproj and parse it
+ slnMkObj.CreatePrjxFromCsproj(name);
+ conversionSuccessfull = true;
+ name = slnMkObj.PrjxFileName;
+ break;
+ default:
+ IMessageService messageService =(IMessageService)ServiceManager.Services.GetService(typeof(IMessageService));
+ messageService.ShowError(String.Format (GettextCatalog.GetString ("Can't open file {0} as project"), name));
+ break;
+ }
+ if (conversionSuccessfull == true) {
+ try {
+ proj = (IProjectService)ServiceManager.Services.GetService (typeof (IProjectService));
+ proj.OpenCombine(name);
+ } catch (Exception ex) {
+ Console.WriteLine(ex.Message);
+ }
+ }
+ }
+ }
+ }
+ }
+
+}
Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib.addin.xml
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib.addin.xml 2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib.addin.xml 2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,21 @@
+<AddIn name = "Solution Importer"
+ author = "Francisco 'Paco' Martinez"
+ copyright = "GPL"
+ url = ""
+ description = "Generates combines from solutions files"
+ version = "0.01">
+
+ <Runtime>
+ <Import assembly="prj2make-sharp-lib.dll"/>
+ </Runtime>
+ <Extension path="/SharpDevelop/Workbench/MainMenu/File">
+ <MenuItem id = "ImportSeparator" insertafter="SaveAll" _label = "-" />
+ <MenuItem id = "ImportSolution"
+ insertafter="ImportSeparator"
+ insertbefore="RecentSeparator"
+ _label = "Import VS Project"
+ description = "Imports solutions created with MS Visual Studio"
+ class = "MonoDevelop.Commands.ImportPrj"/>
+ </Extension>
+</AddIn >
+
Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib.cmbx
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib.cmbx 2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib.cmbx 2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,16 @@
+<Combine fileversion="1.0" name="prj2make-sharp-lib" description="">
+ <StartMode startupentry="prj2make-sharp-lib" single="True">
+ <Execute entry="prj2make-sharp-lib" type="None" />
+ </StartMode>
+ <Entries>
+ <Entry filename="./prj2make-sharp-lib.prjx" />
+ </Entries>
+ <Configurations active="Debug">
+ <Configuration name="Release">
+ <Entry name="prj2make-sharp-lib" configurationname="Debug" build="False" />
+ </Configuration>
+ <Configuration name="Debug">
+ <Entry name="prj2make-sharp-lib" configurationname="Debug" build="False" />
+ </Configuration>
+ </Configurations>
+</Combine>
\ No newline at end of file
Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib.prjx
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib.prjx 2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib.prjx 2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,40 @@
+<Project name="prj2make-sharp-lib" description="" newfilesearch="None" enableviewstate="True" version="1.1" projecttype="C#">
+ <Contents>
+ <File name="./MsPrjHelper.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+ <File name="./PrjHelper.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+ <File name="./MdPrjHelper.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+ <File name="./CsprojInfo.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+ <File name="./PrjxInfo.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+ <File name="./sharp_d_cmbx.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+ <File name="./sharp_d_prjx.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+ <File name="./csproj_ver2003.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+ <File name="./AssemblyInfo.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+ <File name="./prj2make-sharp-lib-Commands.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+ </Contents>
+ <References>
+ <Reference type="Gac" refto="gdk-sharp.dll" localcopy="True" />
+ <Reference type="Gac" refto="glib-sharp.dll" localcopy="True" />
+ <Reference type="Gac" refto="pango-sharp.dll" localcopy="True" />
+ <Reference type="Gac" refto="gtk-sharp.dll" localcopy="True" />
+ <Reference type="Assembly" refto="../../../build/bin/MonoDevelop.Base.dll" localcopy="True" />
+ <Reference type="Assembly" refto="../../../build/bin/MonoDevelop.Core.dll" localcopy="True" />
+ </References>
+ <DeploymentInformation target="" script="" strategy="File" />
+ <Configuration runwithwarnings="False" name="Debug">
+ <CodeGeneration runtime="MsNet" compiler="Csc" warninglevel="4" nowarn="" includedebuginformation="True" optimize="True" unsafecodeallowed="False" generateoverflowchecks="True" mainclass="" target="Library" definesymbols="" generatexmldocumentation="False" win32Icon="" />
+ <Execution commandlineparameters="" consolepause="True" />
+ <Output directory="./bin/Debug" assembly="prj2make-sharp-lib" executeScript="" executeBeforeBuild="" executeAfterBuild="" />
+ </Configuration>
+ <Configurations active="Debug">
+ <Configuration runwithwarnings="False" name="Debug">
+ <CodeGeneration runtime="MsNet" compiler="Csc" warninglevel="4" nowarn="" includedebuginformation="True" optimize="True" unsafecodeallowed="False" generateoverflowchecks="True" mainclass="" target="Library" definesymbols="" generatexmldocumentation="False" win32Icon="" />
+ <Execution commandlineparameters="" consolepause="True" />
+ <Output directory="./bin/Debug" assembly="prj2make-sharp-lib" executeScript="" executeBeforeBuild="" executeAfterBuild="" />
+ </Configuration>
+ <Configuration runwithwarnings="False" name="Release">
+ <CodeGeneration runtime="MsNet" compiler="Csc" warninglevel="4" nowarn="" includedebuginformation="True" optimize="True" unsafecodeallowed="False" generateoverflowchecks="True" mainclass="" target="Library" definesymbols="" generatexmldocumentation="False" win32Icon="" />
+ <Execution commandlineparameters="" consolepause="True" />
+ <Output directory="./bin/Release" assembly="prj2make-sharp-lib" executeScript="" executeBeforeBuild="" executeAfterBuild="" />
+ </Configuration>
+ </Configurations>
+</Project>
\ No newline at end of file
Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/sharp_d_cmbx.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/sharp_d_cmbx.cs 2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/sharp_d_cmbx.cs 2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,117 @@
+namespace MonoDevelop.Prj2Make.Schema.Cmbx {
+ using System.Xml.Serialization;
+
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class Combine {
+
+ /// <remarks/>
+ public StartMode StartMode;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]
+ public Entry[] Entries;
+
+ /// <remarks/>
+ public Configurations Configurations;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public System.Decimal fileversion;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string name;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string description;
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class StartMode {
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("Execute")]
+ public Execute[] Execute;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string startupentry;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string single;
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class Execute {
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string entry;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string type;
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class Configuration {
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("Entry")]
+ public Entry[] Entry;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string name;
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class Entry {
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string filename;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string name;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string configurationname;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string build;
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class Configurations {
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("Configuration")]
+ public Configuration[] Configuration;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string active;
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class Entries {
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("Entry")]
+ public Entry[] Entry;
+ }
+}
Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/sharp_d_prjx.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/sharp_d_prjx.cs 2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/sharp_d_prjx.cs 2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,323 @@
+namespace MonoDevelop.Prj2Make.Schema.Prjx {
+ using System.Xml.Serialization;
+
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class CodeGeneration {
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string runtime;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string compiler;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public System.SByte warninglevel;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string nowarn;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public CodeGenerationIncludedebuginformation includedebuginformation;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string optimize;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public CodeGenerationUnsafecodeallowed unsafecodeallowed;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string generateoverflowchecks;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string mainclass;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string target;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string definesymbols;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string generatexmldocumentation;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string win32Icon;
+ }
+
+ /// <remarks/>
+ public enum CodeGenerationIncludedebuginformation {
+
+ /// <remarks/>
+ False,
+
+ /// <remarks/>
+ True,
+ }
+
+ /// <remarks/>
+ public enum CodeGenerationUnsafecodeallowed {
+
+ /// <remarks/>
+ False,
+
+ /// <remarks/>
+ True,
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class Configuration {
+
+ /// <remarks/>
+ public CodeGeneration CodeGeneration;
+
+ /// <remarks/>
+ public Execution Execution;
+
+ /// <remarks/>
+ public Output Output;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string runwithwarnings;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string name;
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class Execution {
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string commandlineparameters;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string consolepause;
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class Output {
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string directory;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string assembly;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string executeScript;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string executeBeforeBuild;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string executeAfterBuild;
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class Configurations {
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("Configuration")]
+ public Configuration[] Configuration;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string active;
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class Contents {
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("File")]
+ public File[] File;
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class File {
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string name;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public FileSubtype subtype;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public FileBuildaction buildaction;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string dependson;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string data;
+ }
+
+ /// <remarks/>
+ public enum FileSubtype {
+
+ /// <remarks/>
+ Code,
+
+ /// <remarks/>
+ Directory,
+ }
+
+ /// <remarks/>
+ public enum FileBuildaction {
+
+ /// <remarks/>
+ Compile,
+
+ /// <remarks/>
+ EmbedAsResource,
+
+ /// <remarks/>
+ Exclude,
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class DeploymentInformation {
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string target;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string script;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string strategy;
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class Project {
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]
+ public File[] Contents;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]
+ public Reference[] References;
+
+ /// <remarks/>
+ public DeploymentInformation DeploymentInformation;
+
+ /// <remarks/>
+ public Configuration Configuration;
+
+ /// <remarks/>
+ public Configurations Configurations;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string name;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string description;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string newfilesearch;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string enableviewstate;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public System.Decimal version;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string projecttype;
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class Reference {
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public ReferenceType type;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string refto;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public ReferenceLocalcopy localcopy;
+ }
+
+ /// <remarks/>
+ public enum ReferenceType {
+
+ /// <remarks/>
+ Assembly,
+
+ /// <remarks/>
+ Gac,
+
+ /// <remarks/>
+ Project,
+ }
+
+ /// <remarks/>
+ public enum ReferenceLocalcopy {
+
+ /// <remarks/>
+ False,
+
+ /// <remarks/>
+ True,
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class References {
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("Reference")]
+ public Reference[] Reference;
+ }
+}
More information about the Monodevelop-patches-list
mailing list