commsfwutils/commsbufs/mbufgobblerlayer/how to clone this component.txt
branchRCL_3
changeset 84 486e9e9c45a7
parent 76 576874e13a2c
child 85 7c25be0307fe
--- a/commsfwutils/commsbufs/mbufgobblerlayer/how to clone this component.txt	Wed Sep 15 13:33:11 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-
-#####################################
-#                                   #
-# Update Content And Filenames tool #
-#                                   #
-#####################################
-
-The Update Content And Filenames tool allows you to clone this component to a new implementation.
-It does the boring housekeeping to rename the source, change target DLL name,
-update the UIDs etc. etc.
-It does this by performing recursive search and replace on file names and content.
-
-
-How to clone this component to a new implementation:
-
--	Ensure this component builds as is:
-        cd group
-        sbs -c winscw_udeb
-        sbs -c winscw_udeb.test
-	If you're feeling conscientious you could test it too :-)
-
--	Nominate an appropriate name for the new component.
-		e.g. Test123
-	If there's any chance the new component will end up
-	in a deliverable, please choose the name more carefully
-	than I just did
-
--	Copy this folder (the one containing this README file),
-	naming the new folder as something appropriate,
-	relating to the component name you have chosen
-	(and keep it lower case to keep linux builds happy)
-		e.g. "Copy Of mbufgobblerlayer" => "test123layer"
-
--	Ensure the new folder and all its contents are writable.
-	(if you got mbufgobblerlayer from a version control system it might be read-only)
-	
-Then, in the *new* folder:
-
--	Modify the file UpdateContentsAndFilenames.ini accordingly,
-	to reflect the values required by your new component.
-	Obviously you'll need to obtain new UIds rather than just making them up :-)
-	 (Ask your architect where new UIds should come from these days)
-	The "Search" fields specify the current values which will be replaced.
-	The "Replace" fields must be changed from CHANGEME to the desired values.
-		e.g. [Name].Replace=CHANGEME => [Name].Replace=Test123
-		e.g. [DllUid].Replace=CHANGEME => [DllUid].Replace=01234567
-		etc..
-
--	Ensure Python 2.6.2 or greater is installed. This should come down automatically
-  with SymSEE or whatever you used to put together your development environment.
-	
--	Open a command window in the *new* folder, and run:
-		updatecontentandfilenames.py
-
--	Before you make further modifications, ensure the script updated
-	everything correctly:
-        cd group
-        sbs -c winscw_udeb
-        sbs -c winscw_udeb.test
-	(and run any regression tests over the new copy of the component)
-
-
-
-Notes and caveats:
-
-1.
-Remember you're taking a copy, so if you're cloning something feature-rich,
-please think carefully about whether either..
-	- you really do want 2 copies of the same feature code knocking about, which is
-	  totally ok if you're just trying something out and/or you want to isolate the new
-	  component from changes in the cloned component
-.. or ..
-	- you should be considering cloning a more basic implementation,
-	  then applying techniques such as inheritance to reuse the existing features
-
-
-So it's more suited for cloning basic ("feature-impoverished?") implementations as a
-starting point for developing more functional implementations.
-
-e.g. mbufgobbler Layer	-> some new layer
-
-
-2.
-Correct functioning of the script of course assumes some reasonably pragmatic
-correlation between class names, folder names, dll names etc.
-
-It's easy for you to add extra search and replace pairs as needed to address
-more complicated renaming tasks. Just add more sections to the
-UpdateContentsAndFilenames.ini file. The [Header Names] are not used for anything, they're
-just for your reference and should probably be unique across the file.
-The really important bit is the Search/Replace pairs.
-
-
-3.
-Each search/replace pair is applied in turn. So don't expect to be able to do anything
-sneaky like swapping strings in a single run.
-
-
-4.
-Reusing this script elsewhere should be easy,
-because there is no special significance to the .ini file section names-
-they are just there to assist the user in populating the fields.
-i.e. .ini file sections purely exist to group together each Search/Replace pair.
-
-Just copy the updatecontentandfilenames.* files into the root folder of a new
-copy of the component that you want to clone, edit the ini file, and run the python script.
-
-
-5.
-Have fun..
-
-