The libraries that made Source Control for Oracle awesome!
Making Source Control for Oracle
- We avoided writing new code whenever a library was available
- We preferred free or open-source libraries
- Which allowed us to build a new product from scratch super fast
GOLD Parser and BSN
- It took over a year to do scripts folder support in SQL Compare using Antlr and we didn't have that long
- We used GOLD to parse the oracle documentation and output an auto-generated grammar and c# classes
- Used BSN attributes to remove glue code
Ookii.dialogs
- Exposes Vista style folder browse dialog
- Easy to use - same interface as FolderBrowserDialog
using (VistaFolderBrowserDialog browseDialog = new VistaFolderBrowserDialog())
{ if (browseDialog.ShowDialog() == DialogResult.OK) { m_Path.Text = browseDialog.SelectedPath; } }
Before
![](http://www.fmsinc.com/microsoftaccess/controls/components/browse-for-folder/Browse-for-Folder.jpg)
After
![](http://i.imgur.com/kF9VRiX.png)
SQL Source Control Engine
- Reused as much as possible
- Refactored out SQL Compare dependency
- Ninject
Mah Apps Metro
- Metro style WPF theme pack
- Wrote our own styles based on bootstrap metro
Before
![](http://mahapps.com/MahApps.Metro/images/01_UnstyledWindow.png)
After
![](http://mahapps.com/MahApps.Metro/images/03_StyledWindow.png)
Avalon Edit
- Easily customizable syntax highlighting
- Modular and easy to use
- Good alternative to WPF rich text box
![](http://www.codeproject.com/KB/edit/AvalonEdit/screenshot.png)
Before
![](http://i.imgur.com/tjE9Q1n.png)
After
![](http://i.imgur.com/6mXGNYF.png)
Google diff match patch
-
Implements Myer's diff algorithm
- Better results than the SQL Compare algorithm
- Made support happy
Before
![](http://i.imgur.com/4huuj3D.png)
After
![](http://i.imgur.com/rlYG8Ey.png)
Task Parallel Library
- Massively simplifies threading
- Available for .NET 3.5 as a targeting pack
- Includes concurrent data structures such as BlockingCollection (to implement the producer consumer pattern)
test
By David
test
- 687