<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=text/html;charset=utf-8 http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.7600.16490"></HEAD>
<BODY style="PADDING-LEFT: 10px; PADDING-RIGHT: 10px; PADDING-TOP: 15px"
id=MailContainerBody leftMargin=0 topMargin=0 CanvasTabStop="true"
name="Compose message area">
<DIV><FONT size=2 face=Arial>Hi!</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>One suggestion: this <module
name="notepad" type="win32gui..." syntax should be sooner or later
converted to <win32gui name="notepad" ... It's not only a cosmetic change
but to take advantage of object inheritance.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>This would be mapped to :</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>
[TaskName("win32gui")]<BR> public class Win32GUI:
UserModeModuleTask</FONT></DIV>
<DIV> <FONT size=2 face=Arial>{</FONT></DIV>
<DIV> <FONT
size=2 face=Arial>...</FONT></DIV>
<DIV><FONT size=2 face=Arial> }</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>This would simplificate a lot of checks and hacks,
code like :</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2
face=Arial> if
((Module.Type == ModuleType.Win32CUI)
||<BR>
(Module.Type == ModuleType.Win32DLL)
||<BR>
(Module.Type == ModuleType.Win32GUI)
||<BR>
(Module.Type == ModuleType.Win32OCX)
||<BR>
(Module.Type ==
ModuleType.Win32SCR))<BR>
{</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>would be simplified to:</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV> <FONT size=2 face=Arial>if (module is IUserMode) { ... }
-> (UserModeModuleTask implementing the IUserMode interface)</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>or:</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2
face=Arial> if
((libModule.Type != ModuleType.NativeDLL)
&&<BR>
(libModule.Type != ModuleType.Win32DLL)
&&<BR>
(libModule.Type != ModuleType.StaticLibrary)
&&<BR>
(libModule.Type != ModuleType.ObjectLibrary)
&&<BR>
(libModule.Type != ModuleType.Kernel)
&&<BR>
(libModule.Type != ModuleType.KernelModeDLL)
&&<BR>
(libModule.Type != ModuleType.KernelModeDriver)
&&<BR>
(libModule.Type != ModuleType.KeyboardLayout)
&&<BR>
(libModule.Type != ModuleType.RpcServer)
&&<BR>
(libModule.Type != ModuleType.RpcClient)
&&<BR>
(libModule.Type != ModuleType.RpcProxy)
&&<BR>
(libModule.Type !=
ModuleType.HostStaticLibrary))<BR>
{</FONT></DIV>
<DIV><FONT size=2 face=Arial>to</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2
face=Arial>if(module.GetType().IsSubclassOf(typeof(LibraryModule)) {
...}</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>Also, every time a new module type (like in this
case IdlInterface) is added a bunch of switch(module.Type) staments
have to be edited to reflect the changes, and trust me .. there are a lot of
them! with this change it would 'just work' with little to no
effort.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>As a side benefit different module types have
different allowed attributes that currently cannot be validated without a
bunch of if staments (not very elegant!). With this change invalid or not
appropiate attributes can be detected and reported back to the
user.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>Regards,</FONT></DIV>
<DIV><FONT size=2 face=Arial>Marc</FONT></DIV>
<DIV style="FONT: 10pt Tahoma">
<DIV><FONT face=Arial></FONT><BR></DIV>
<DIV style="BACKGROUND: #f5f5f5">
<DIV style="font-color: black"><B>From:</B> <A
title="mailto:samdwise51@gmail.com CTRL + clic para seguir el vínculo"
href="mailto:samdwise51@gmail.com">Samuel serapion</A> </DIV>
<DIV><B>Sent:</B> Sunday, April 18, 2010 2:15 AM</DIV>
<DIV><B>To:</B> <A
title="mailto:ros-dev@reactos.org CTRL + clic para seguir el vínculo"
href="mailto:ros-dev@reactos.org">ReactOS Development List</A> </DIV>
<DIV><B>Subject:</B> Re: [ros-dev] [ros-diffs] [mpiulachs] 46862: My first
commit in avery long time. I'm releasing the source code of my C#implementation
of Rbuild by popular demand :) I would havepreferred to release the code under a
BSD licence but thereis a small</DIV></DIV></DIV>
<DIV><BR></DIV>I got it to run... looks like some rbuild files where a bit
broken... patch is attached.<BR><BR>dependency is this: <A
title="http://dev.skybound.ca/download.aspx?product=VisualStyles CTRL + clic para seguir el vínculo"
href="http://dev.skybound.ca/download.aspx?product=VisualStyles">http://dev.skybound.ca/download.aspx?product=VisualStyles</A><BR><BR>
<DIV class=gmail_quote>2010/4/17 Sir Gallantmon (ニール・ゴンパ) <SPAN dir=ltr><<A
href="mailto:ngompa13@gmail.com">ngompa13@gmail.com</A>></SPAN><BR>
<BLOCKQUOTE
style="BORDER-LEFT: rgb(204,204,204) 1px solid; MARGIN: 0pt 0pt 0pt 0.8ex; PADDING-LEFT: 1ex"
class=gmail_quote>Does this work under Mono? AFAIK, Mono supports C# 3.5 and
C# 4.0 language features.... so...?<BR><BR>
<DIV class=gmail_quote>On Sat, Apr 17, 2010 at 7:56 AM, Aleksey Bragin <SPAN
dir=ltr><<A href="mailto:aleksey@reactos.org"
target=_blank>aleksey@reactos.org</A>></SPAN> wrote:<BR>
<BLOCKQUOTE
style="BORDER-LEFT: rgb(204,204,204) 1px solid; MARGIN: 0pt 0pt 0pt 0.8ex; PADDING-LEFT: 1ex"
class=gmail_quote>Official URL for that component is <A
href="http://dev.skybound.ca/download.aspx"
target=_blank>http://dev.skybound.ca/download.aspx</A><BR>Just for
reference, it indeed crashes when running the HTML report backend, I'm
investigating this in the free time.<BR><BR>WBR,<BR><FONT
color=#888888>Aleksey.</FONT>
<DIV>
<DIV></DIV>
<DIV><BR><BR>On Apr 14, 2010, at 6:41 PM, Ged Murphy wrote:<BR><BR>
<BLOCKQUOTE
style="BORDER-LEFT: rgb(204,204,204) 1px solid; MARGIN: 0pt 0pt 0pt 0.8ex; PADDING-LEFT: 1ex"
class=gmail_quote>It partially works.<BR>Can't build the designer due to a
Skybound.VisualStyles dependency. I assume we get that from here? <A
href="http://windowsclient.net/downloads/folders/controlgallery/entry1590.aspx"
target=_blank>http://windowsclient.net/downloads/folders/controlgallery/entry1590.aspx</A><BR><BR>It
then crashes when running the html report<BR><BR>Just in case you were
interested....<BR><BR>Ged.<BR><BR>-----Original Message-----<BR>From: <A
href="mailto:ros-diffs-bounces@reactos.org"
target=_blank>ros-diffs-bounces@reactos.org</A> [mailto:<A
href="mailto:ros-diffs-bounces@reactos.org"
target=_blank>ros-diffs-bounces@reactos.org</A>] On Behalf Of <A
href="mailto:mpiulachs@svn.reactos.org"
target=_blank>mpiulachs@svn.reactos.org</A><BR>Sent: 13 April 2010
23:00<BR>To: <A href="mailto:ros-diffs@reactos.org"
target=_blank>ros-diffs@reactos.org</A><BR>Subject: [ros-diffs]
[mpiulachs] 46862: My first commit in a very long time. I'm releasing the
source code of my C# implementation of Rbuild by popular demand :) I would
have preferred to release the code under a BSD licence but there is a
small portion of ancient<BR><BR>Author: mpiulachs<BR>Date: Tue Apr 13
23:59:21 2010<BR>New Revision: 46862<BR><BR>URL: <A
href="http://svn.reactos.org/svn/reactos?rev=46862&view=rev"
target=_blank>http://svn.reactos.org/svn/reactos?rev=46862&view=rev</A><BR>Log:<BR>My
first commit in a very long time. I'm releasing the source code of my C#
implementation of Rbuild by popular demand :) I would have preferred to
release the code under a BSD licence but there is a small portion of
ancient Nant GPL code that would have been to be rewritten
first.<BR><BR>There are two executables (SysGen.Designer) and
(SysGen.Make)<BR><BR>SysGen.Designer is a windows forms tool that allows
to generate customized reactos images, it is similar in concept to Windows
CE Platfom Builder. SysGen.Make is the actual Rbuild clone, It has three
main parts, the .rbuild file parser + in-memory tree representation, the
backends , and the auto generated files. The Mingw backend used to work
1'5 years ago and produced a 100% valid makefile.auto but have to be
updated to be able to build a recent revision. Rewriting parts of it to
take advantage of C# 3.5 extension methods would probably reduce the code
by 50%. The other two parts are quite stable.<BR><BR>This code was only a
proof of concept and was never intended to be released so there is a ton
of unpolished code and hacks required by the current C++ implementation
that should be removed.<BR><BR>How to test it:<BR><BR>Select SysGen.Make
as the Start-up Project in Visual Studio and edit Program.cs to point to
the correct path to ReactOS-i386.rbuild Edit SysGenEngine.cs:639 to
enable/disable specific backends, The HtmlBackend in
\SysGen.BuildEngine\Backends\Html\HtmlBackend.cs is a very simple
illustration of how powerful this framework is.<BR><BR>Happy
hacking!<BR><BR><BR><BR><BR>_______________________________________________<BR>Ros-dev
mailing list<BR><A href="mailto:Ros-dev@reactos.org"
target=_blank>Ros-dev@reactos.org</A><BR><A
href="http://www.reactos.org/mailman/listinfo/ros-dev"
target=_blank>http://www.reactos.org/mailman/listinfo/ros-dev</A><BR></BLOCKQUOTE><BR><BR>_______________________________________________<BR>Ros-dev
mailing list<BR><A href="mailto:Ros-dev@reactos.org"
target=_blank>Ros-dev@reactos.org</A><BR><A
href="http://www.reactos.org/mailman/listinfo/ros-dev"
target=_blank>http://www.reactos.org/mailman/listinfo/ros-dev</A><BR></DIV></DIV></BLOCKQUOTE></DIV><BR><BR>_______________________________________________<BR>Ros-dev
mailing list<BR><A
href="mailto:Ros-dev@reactos.org">Ros-dev@reactos.org</A><BR><A
href="http://www.reactos.org/mailman/listinfo/ros-dev"
target=_blank>http://www.reactos.org/mailman/listinfo/ros-dev</A><BR></BLOCKQUOTE></DIV><BR>
<P>
<HR>
<P></P>_______________________________________________<BR>Ros-dev mailing
list<BR>Ros-dev@reactos.org<BR>http://www.reactos.org/mailman/listinfo/ros-dev</BODY></HTML>