This file contains the instructions to the run the scripts in this directory.

1. Edit generatereadme.sh
Example - 
If Read Me is generated for 4.12
sed -i -e 's/4\.11/4\.12/g'  readme_eclipse.html 
sed -i -e 's/4_11/4_12/g' readme_eclipse.html
sed -i -e 's/4\.10/4\.11/g' readme_eclipse.html
2. Run generatereadme.sh 
3. Validate the generated readme.html
4. Update the Last Modified Date
5. Check if Copyright date needs an update
6. In Workspace Compatibility section, add the previous release like 4.11 between 4.12, 4.10
6. Delete readme_eclipse_old.html

Example:
generatereadme.sh 
