[ros-diffs] [mpiulachs] 30472: - Added a few more build families to buildfamilies.rbuild - Added a description field to the "buildfamily" element - Added a check to ensure only valid module types use the "family" element.

mpiulachs at svn.reactos.org mpiulachs at svn.reactos.org
Thu Nov 15 22:03:42 CET 2007


Author: mpiulachs
Date: Fri Nov 16 00:03:41 2007
New Revision: 30472

URL: http://svn.reactos.org/svn/reactos?rev=30472&view=rev
Log:
- Added a few more build families to buildfamilies.rbuild
- Added a description field to the "buildfamily" element
- Added a check to ensure only valid module types use the "family" element.

Modified:
    branches/rbuild/reactos/buildfamilies.rbuild
    branches/rbuild/reactos/tools/rbuild/module.cpp
    branches/rbuild/reactos/tools/rbuild/rbuild.h

Modified: branches/rbuild/reactos/buildfamilies.rbuild
URL: http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/buildfamilies.rbuild?rev=30472&r1=30471&r2=30472&view=diff
==============================================================================
--- branches/rbuild/reactos/buildfamilies.rbuild (original)
+++ branches/rbuild/reactos/buildfamilies.rbuild Fri Nov 16 00:03:41 2007
@@ -1,12 +1,29 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!DOCTYPE group SYSTEM "tools/rbuild/project.dtd">
 <group xmlns:xi="http://www.w3.org/2001/XInclude">
+
+	<!-- Core API and Components -->
+	<buildfamily name="core" description="Core aplications , drivers and dlls" />
+	<buildfamily name="kernel" description="OS Kernel" />
+
+	<!-- User mode applications -->
+	<buildfamily name="applications" />
+	<buildfamily name="guiapplications" description="Win32 GUI applications" />
+	<buildfamily name="cuiapplications" description="Win32 console applications" />
+	<buildfamily name="nativeapplications"  description="Native console applications"/>
+
+	<!-- By functionality -->
+	<buildfamily name="games" />
 	<buildfamily name="screensavers" />
-	<buildfamily name="core" />
+	<buildfamily name="services" />
+	<buildfamily name="shells" />
+	<buildfamily name="cpapplets" />
+
+	<!-- Drivers -->
 	<buildfamily name="drivers" />
-	<buildfamily name="kernel" />
-	<buildfamily name="applications" />
-	<buildfamily name="guiapplications" />
-	<buildfamily name="cuiapplications" />
-	<buildfamily name="games" />
+	<buildfamily name="fsdrivers"  description="File system drivers" />
+	<buildfamily name="hardwaredrivers" description="Hardware drivers" />
+	<buildfamily name="displaydrivers" description="Hardware display drivers" />
+	<buildfamily name="inputdrivers" description="I/O device drivers" />
+
 </group>

Modified: branches/rbuild/reactos/tools/rbuild/module.cpp
URL: http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/tools/rbuild/module.cpp?rev=30472&r1=30471&r2=30472&view=diff
==============================================================================
--- branches/rbuild/reactos/tools/rbuild/module.cpp (original)
+++ branches/rbuild/reactos/tools/rbuild/module.cpp Fri Nov 16 00:03:41 2007
@@ -1649,6 +1649,11 @@
 	const XMLAttribute* att = _node.GetAttribute ( "name", true );
 	assert(att);
 	name = att->value;
+	att = _node.GetAttribute ( "description", false );
+    if (att != NULL)
+        description = att->value;
+    else
+        description = "";
 }
 
 void
@@ -1674,6 +1679,13 @@
 	: node (_node),
 	  module (_module)
 {
+	if ( !IsSupportedModuleType ( module.type ) )
+	{
+		throw XMLInvalidBuildFileException (
+			node.location,
+			"<Family> is not applicable for this module type." );
+	}
+
     ProcessXML ();
 }
 
@@ -1691,6 +1703,29 @@
 	}
 
     name = node.value;
+}
+
+bool
+Family::IsSupportedModuleType ( ModuleType type )
+{
+	if (type == Win32DLL ||
+        type == Win32OCX ||
+        type == StaticLibrary ||
+        type == ObjectLibrary ||
+        type == Kernel ||
+        type == KernelModeDLL ||
+        type == KernelModeDriver ||
+        type == NativeDLL ||
+        type == NativeCUI ||
+        type == Win32CUI ||
+        type == Win32GUI ||
+        type == Win32SCR ||
+        type == EmbeddedTypeLib)
+	{
+		return true;
+    }
+	
+    return false;
 }
 
 Contributor::Contributor ( const XMLElement& _node)

Modified: branches/rbuild/reactos/tools/rbuild/rbuild.h
URL: http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/tools/rbuild/rbuild.h?rev=30472&r1=30471&r2=30472&view=diff
==============================================================================
--- branches/rbuild/reactos/tools/rbuild/rbuild.h (original)
+++ branches/rbuild/reactos/tools/rbuild/rbuild.h Fri Nov 16 00:03:41 2007
@@ -620,6 +620,7 @@
 public:	
     const XMLElement& node;
     std::string name;
+    std::string description;
 
 	BuildFamily ( const XMLElement& node );
 
@@ -632,7 +633,7 @@
 	const XMLElement& node;
 	const Module& module;
     std::string name;
-
+    bool IsSupportedModuleType ( ModuleType type );
 	Family ( const XMLElement& node ,
 	             const Module& _module );
 




More information about the Ros-diffs mailing list