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.rbu... ============================================================================== --- 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/modu... ============================================================================== --- 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/rbui... ============================================================================== --- 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 );