docs: updated changelog and documentation

This commit is contained in:
Eberhard Graether
2016-04-27 12:15:03 +02:00
parent 000938cf8c
commit 999522ca20
8 changed files with 195 additions and 164 deletions
+170 -126
View File
@@ -1,8 +1,8 @@
### Masterproject
## Masterproject
#### Setup
### Setup
##### External Software
#### External Software
* QT 5.5
* CxxTest 4.3
@@ -12,7 +12,7 @@
* Eigen 3.2.6
* Botan 1.11.24
##### Environment Variables
#### Environment Variables
* QT_DIR - ...\Qt\Qt5.2.1\5.2.1\<IDE>\
* CXX_TEST_DIR - .../cxxtest-4.3/
@@ -25,7 +25,7 @@ For Win32:
* VLD_DIR - .../Visual Leak Detector
* path - apped path to git.exe
###### Botan setup
##### Botan setup
Build release lib in ${BOTAN_DIR}/release
Build debug lib in ${BOTAN_DIR}/debug
@@ -39,30 +39,30 @@ python configure.py --cc=msvc --cpu=x86_32 --via-amalgamation --disable-shared -
for other:
$ python configure.py --via-amalgamation --disable-shared
##### Settings
#### Settings
Run setup script:
$ ./script/setup.sh
#### Release
### Release
##### App
#### App
* create release build
* make sure it uses the Coati icon
* obfuscate the executable using upx
##### Data folder
#### Data folder
* put data folder in working directory
* add empty log folder
* add working tictactoe.xml project to /projects/tictactoe with sources in /projects/tictactoe/src
* add empty app settings with one recent project tictactoe.xml
* leave window_settings.ini with correct Coati start layout
##### Package
#### Package
* add app
* add web/coati_manual.pdf to package
##### Updating Clang on UNIX
#### Updating Clang on UNIX
$ cd .../clang_llvm
@@ -83,130 +83,174 @@ $ cd ../release_build
$ cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ../llvm
$ ninja -j4 check-all
##### Remarks
#### Remarks
* Boost lib dir: rename library directory for your system (e.g.: 'lib32-msvc-12.0') to 'lib'
#### Tagging
### Tagging
$ git tag -a VERSION_NUMBER -m "DESCRIPTION"
$ git push --tags
#### Changelog
### Changelog
##### 0.3.0
#### 0.6.0.0
released 2016-04-27
* Added Tutorial project
* Added communication interface from and to Coati via TCP sockets
* Added plugin for Visual Studio (2012, 2013, 2015)
* Added plugin for Sublime Text (2 & 3)
* Increased autocompletion performance by caching and limiting results to 100
* Save Coati version to sqlite and reparse project whenever the version changes
* Improved source locations of template scopes
* Fixed horizontal scroll in code view not activated while scrolling vertically
* Save errors to storage and reactivate them via button in the status bar
* Save macro scopes
* Fixed old data was still in new project window when creating another project
* Save comment locations and display them when right next to active symbol
* Reworked code view highlighting
* Fixed cursor was jumping at end of query when editing a search query
* Fixed search query disappeared when not token was found for it
* Improved code view auto scroll to center the first active line in the middle
* Focus all overlapping source locations in the code view
* Added recent projects menu option
* Saving all template arguments type uses
* Smoother graph panning and zooming on keyboard using update loop
* Differentiate between explicit and implicit nodes and only show implicit nodes in the graph view when connected
* Improved file clearing performance on project refresh
* Show deleted projects on the start screen and show messagebox to delete them
* Show analysis duration in hh:mm:ss
* Added suppport for temporary test licenses and show error message when it expired
* Increased graph performance by reducing to fixed number of requests
* Add vs-clang compatibility flags when creating project from Visual Studio solution
* Increased graph edge drawing performance
* Added auto detection for system header paths to project wizard and preferences when using gcc, clang or vs compilers
* Added bug tracker to help menu
* Increased search autocompletion performance to stay mostly below 100ms
* Changed style of aggregation edge to cleaner look
* Allow certain edge types to enter and leave at top and bottom of nodes as well e.g. inheritance
* Increased project load performance
* Increased graph creation performance for overview screen
* Changed namespace activation to show the namespace name in the search bar and the namespace definitions in the code view
* Updated to Qt 5.6
* Added analysis for local symbols and allow selecting them in the code view
* Improved error display performance by not expanding all of them at once
* Added home button next to search field for showing the project overview
* Added shortcut and menu item to show project overview
* Fixed Path boxes not sized correctly when switching back and forth in the project wizard
* Allow support for environment variables in project setup with syntax ${VARIABLE_NAME}
* Show quit button on license enter screen when no valid license was entered yet
* Allow color schemes to define text colors for code view highlights
* Added support for function pointers to analysis
* Added Windows system dlls to installer on Windows so users don't not need to install the redistributable package
* Changed style of out-of-date files to be followed by *
* Set Qt flag for high DPI scaling
* Check analyzed paths for existence in project wizard
* Inform the user about project changes and ask before reparsing the project
* Removed "simple setup" step in project wizard and added "lazy include search"-checkbox
* Edit the project settings by clicking the project name in the overview stats
* Added welcome message to Coati trial
* Defined new highlight colors for code view in all color schemes
##### 0.4.0
#### 0.5.1.21
released 2016-03-16
* Network ports for IDE communication can be defined in the ApplicationSettings.xml
* Coati can now handle inclass initialization of members
* Improved handling of template arguments in analysis
* Coati now handles anonymous symbols when parsing files
* Extended color schemes to allow more extensive use in the graph
* Added new color scheme called "bad_rainbow"
* Coati shows a template's general definition when an implicit specialization is activated
* Fixed source locations of many declarations
* Fixed syntax highlighting to correctly identify strings, comments and block comments
* Added analysis for template parameter packs
* Show function and method signature in tooltip when hovering the graph node
* Fixed graph font size was too small for Windows and Linux
* Removed Coati directory from Linux package
* Introduced file endings .coatiproject and .coatidb for Coati's project files
* Added installer for Windows
* Installing prerequisits in Windows Installer
* Redesigned the about window
* Parse errors will be displayed as they appear during analysis
* Fixed constructors and destructors using return type 'void' withou source location
* Removed 'close window' action from menu
* Added help texts to project setup and preferences window
* Improved lambda handling in analysis
* Fixed style of function or method nodes with children
* Fixed tooltip colors in dark color scheme
* renamed undo&redo to back&forward
* navigate back&forward via mouse buttons
* navigate back via backspace key
##### 0.5.0.4
* Added option to hide widget window title bars to View menu
* Added C support
* Added shortcuts for font size resetting to View menu
* Fixed number postions in graph
* Improved performance of token name saving
* Added commandline option for project file
* Fixed cursor changing for resize and text interactions
* Added C and C++ standard setting to project
* Refresh project editing settings
* Added license key window and license checker
* Added trial target without analysis
* Added web documentation
* Improved code view annotation painting performance
* Update error count while analysis
* Improved back & forward in code view
* Return to last scroll position when going back in code view
* Added .coatiproject file associations with icon for Mac and Windows
* Display scope name at bottom of code snippet
* Improved graph view node bundeling to bundle more
* Improved log file names to be sorted chronologically
* Added application move protection to reenter license key
* Show overview on project open with node bundles per type
* Added overview and error keywords to search view
* Added project setup wizard for step-by-step project setup
* Added Visual Studio solution parsing via project wizard or VS plugin
* Improved style of ui windows
* Save user data in ~/Library/Application Support/Coati on Mac
* Improved analysis performance to take only 66% of the time
* Improved logging to alternate between 2 files of 1000 lines to decrease logfile sizes
* Improved painting of icons in graph to be smoother
* Added link to documentation to Help menu
* Fixed preferences not saved
##### 0.5.1.21
* Added project setup for Compilation Databases
* Improved analysis performance for large projects (10x as fast for 1.000.000 LoC)
* Improved project load and code view performance
* Added graph panning with WASD
* Added graph zooming with Shift + mouse wheel or Shift + WS
* Added file extension UI to advanced settings in project setup summary
* Added compiler flags UI to advanced settings in project setup summary
* Show fatal errors in UI that stopped analysis
* Fixed linux package creating ~/.config if not there
* Fixed project setup window sizes to adapt to content size
* Fixed project paths are now saved relative if defined relative
* Fixed crash when opening newer project with older version of Coati
* Removed high traffic log messages
* Show loader animation when loading project
* Fixed expanding file with errors showed all locations in red
* Fixed children on namespace activation were bundled
* Fixed interrupting of analysis to show message in status bar
* Disabled config file warnings
* Added delay for changing fontsize via mouse wheel
* Fixed Visual Studio plugin project loading
* Improved context detection for template parameters
* Fixed type references in headers saved multiple times
* Prevent network message handling without valid license
* Added font size limits
* Center windows on top of main window
* Fixed crash when accessing files without read permission
* Fixed file logger using wrong directory for first log file
* Fixed crash when accessing files without read permission
* Center windows on top of main window
* Added font size limits
* Prevent network message handling without valid license
* Fixed type references in headers saved multiple times
* Improved context detection for template parameters
* Fixed Visual Studio plugin project loading
* Added delay for changing fontsize via mouse wheel
* Disabled config file warnings
* Fixed interrupting of analysis to show message in status bar
* Fixed children on namespace activation were bundled
* Fixed expanding file with errors showed all locations in red
* Show loader animation when loading project
* Removed high traffic log messages
* Fixed crash when opening newer project with older version of Coati
* Fixed project paths are now saved relative if defined relative
* Fixed project setup window sizes to adapt to content size
* Fixed linux package creating ~/.config if not there
* Show fatal errors in UI that stopped analysis
* Added compiler flags UI to advanced settings in project setup summary
* Added file extension UI to advanced settings in project setup summary
* Added graph zooming with Shift + mouse wheel or Shift + WS
* Added graph panning with WASD
* Improved project load and code view performance
* Improved analysis performance for large projects (10x as fast for 1.000.000 LoC)
* Added project setup for Compilation Databases
#### 0.5.0.4
released 2016-02-25
* Fixed preferences not saved
* Added link to documentation to Help menu
* Improved painting of icons in graph to be smoother
* Improved logging to alternate between 2 files of 1000 lines to decrease logfile sizes
* Improved analysis performance to take only 66% of the time
* Save user data in ~/Library/Application Support/Coati on Mac
* Improved style of ui windows
* Added Visual Studio solution parsing via project wizard or VS plugin
* Added project setup wizard for step-by-step project setup
* Added overview and error keywords to search view
* Show overview on project open with node bundles per type
* Added application move protection to reenter license key
* Improved log file names to be sorted chronologically
* Improved graph view node bundeling to bundle more
* Display scope name at bottom of code snippet
* Added .coatiproject file associations with icon for Mac and Windows
* Return to last scroll position when going back in code view
* Improved back & forward in code view
* Update error count while analysis
* Improved code view annotation painting performance
* Added web documentation
* Added trial target without analysis
* Added license key window and license checker
* Refresh project editing settings
* Added C and C++ standard setting to project
* Fixed cursor changing for resize and text interactions
* Added commandline option for project file
* Improved performance of token name saving
* Fixed number postions in graph
* Added shortcuts for font size resetting to View menu
* Added C support
* Added option to hide widget window title bars to View menu
#### 0.4.0
released 2016-01-07
* navigate back via backspace key
* navigate back&forward via mouse buttons
* renamed undo&redo to back&forward
* Fixed tooltip colors in dark color scheme
* Fixed style of function or method nodes with children
* Improved lambda handling in analysis
* Added help texts to project setup and preferences window
* Removed 'close window' action from menu
* Fixed constructors and destructors using return type 'void' withou source location
* Parse errors will be displayed as they appear during analysis
* Redesigned the about window
* Installing prerequisits in Windows Installer
* Added installer for Windows
* Introduced file endings .coatiproject and .coatidb for Coati's project files
* Removed Coati directory from Linux package
* Fixed graph font size was too small for Windows and Linux
* Show function and method signature in tooltip when hovering the graph node
* Added analysis for template parameter packs
* Fixed syntax highlighting to correctly identify strings, comments and block comments
* Fixed source locations of many declarations
* Coati shows a template's general definition when an implicit specialization is activated
* Added new color scheme called "bad_rainbow"
* Extended color schemes to allow more extensive use in the graph
* Coati now handles anonymous symbols when parsing files
* Improved handling of template arguments in analysis
* Coati can now handle inclass initialization of members
* Network ports for IDE communication can be defined in the ApplicationSettings.xml
#### 0.3.0
released 2015-12-14
* Saving all template arguments type uses
* Added recent projects menu option
* Focus all overlapping source locations in the code view
* Improved code view auto scroll to center the first active line in the middle
* Fixed search query disappeared when not token was found for it
* Fixed cursor was jumping at end of query when editing a search query
* Reworked code view highlighting
* Save comment locations and display them when right next to active symbol
* Fixed old data was still in new project window when creating another project
* Save macro scopes
* Save errors to storage and reactivate them via button in the status bar
* Fixed horizontal scroll in code view not activated while scrolling vertically
* Improved source locations of template scopes
* Save Coati version to sqlite and reparse project whenever the version changes
* Increased autocompletion performance by caching and limiting results to 100
* Added plugin for Sublime Text (2 & 3)
* Added plugin for Visual Studio (2012, 2013, 2015)
* Added communication interface from and to Coati via TCP sockets
* Added Tutorial project
+3 -6
View File
@@ -68,10 +68,7 @@ mkdir -p $RES_DIR
echo -e $INFO "Copying top level contents."
mkdir -p $PACKAGE_DIR/plugins/visual_studio/
cp -r ../../../ide_plugins/vs/coati_plugin_vs_2012.vsix $PACKAGE_DIR/plugins/visual_studio/
cp -r ../../../ide_plugins/vs/coati_plugin_vs_2013.vsix $PACKAGE_DIR/plugins/visual_studio/
cp -r ../../../ide_plugins/vs/coati_plugin_vs_2015.vsix $PACKAGE_DIR/plugins/visual_studio/
cp -r ../../../ide_plugins/vs/coati_plugin_vs.vsix $PACKAGE_DIR/plugins/visual_studio/
cp -R ../../../ide_plugins/sublime_text $PACKAGE_DIR/plugins/sublime_text/
cp ../data/gui/installer/EULA.rtf $PACKAGE_DIR/EULA.rtf
@@ -219,9 +216,9 @@ iconutil -c icns -o $RES_DIR/project.icns $ICON_SET
# echo -e $INFO "Obfuscate binary"
# upx -1 $APP_PATH
# upx --best $APP_PATH
upx --best $APP_PATH
# echo -e $INFO "create DMG"
# hdiutil create ${PACKAGE_DIR}.dmg -volname ${PACKAGE_DIR} -srcfolder ${PACKAGE_DIR}
hdiutil create ${PACKAGE_DIR}.dmg -volname ${PACKAGE_DIR} -srcfolder ${PACKAGE_DIR}
echo -e $SUCCESS "Installed bundle successfully!"
Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 KiB

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 KiB

+22 -32
View File
@@ -73,7 +73,7 @@
</div>
</div>
<div class="row" style="text-align:center;">
<p>Documentation for version 0.5</p>
<p>Documentation for version 0.6</p>
</div>
<div class="row" style="height:120px;"></div>
@@ -165,7 +165,6 @@
<ul>
<li>Pick your project's programming language, select the empty project option and click <var>Next</var>.</li>
<li>Enter all of the project's meta information and click <var>Next</var>.</li>
<li>Select the simple setup option and click <var>Next</var>.</li>
<li>Provide the root directory that contains all your project's source and header files and click <var>Next</var>.</li>
<li>If your project requires any external headers to compile (e.g. Boost for C++), please provide the paths here and click <var>Next</var>.</li>
<li>You just completed the project setup. Click <var>Create</var> close the dialog. Coati will start analyzing your files now.</li>
@@ -532,22 +531,6 @@
<li>Clicking <var>Previous</var> take you to the previous step of the setup process. All the information you entered will be saved.</li>
</ul>
<strong>Simple and Advanced Setup</strong>
<p>In this step you can choose between the simple setup and the advanced method.</p>
<p>In simple setup you just provide the directory of your project and Coati will find all source files and resolve header search paths within. Please note that simple setup slows down the analysis.</p>
<p>In the advanced setup you define analyzed source files and the corresponding header search paths separately.</p>
<div class="row">
<div class="col-sm-10 col-sm-offset-1">
<img src="img/project_setup_wizard_empty_simple.png" style="width:100%;">
</div>
</div>
<strong>Interactions:</strong>
<ul>
<li>Clicking <var>Cancel</var> or pressing <var>ESC</var> will close the window and abort the setup process.</li>
<li>Clicking <var>Next</var> will take you to the next step of the setup process.</li>
<li>Clicking <var>Previous</var> take you to the previous step of the setup process. All the information you entered will be saved.</li>
</ul>
<strong>Project Paths</strong>
<p>Provide the paths that contain your project's files. Coati will analyze all the source and header files in the specified paths, including subdirectories.</p>
<div class="row">
@@ -571,18 +554,12 @@
<li>Clicking <var>Previous</var> take you to the previous step of the setup process. All the information you entered will be saved.</li>
</ul>
<strong>Header Search Paths</strong>
<p>When you selected the simple setup method Coati will automatically search your source folder(s) for included headers. However, if your project requires additional includes to compile (e.g. Boost for C++, etc.), please specify them here.</p>
<strong>Include Paths</strong>
<p>Coati needs you to specify all the include paths the analyzed source files rely on. Project include paths are those paths your project's <code>#include</code> directives are relative to. If your project requires additional includes to compile (e.g. Boost for C++, etc.), please specify them here.</p>
<p>Additionally you can also specify Global Header Search Paths, which will be used by all your projects. These are usually the paths to system headers, which can also be auto detected by choosing a compiler below and pressing <var>detect</var>.</p>
<div class="row">
<div class="col-sm-10 col-sm-offset-1">
<img src="img/project_setup_wizard_empty_header_paths_simple.png" style="width:100%;">
</div>
</div>
<p>If you chose the advanced setup method Coati needs you to specify all the project's internal include paths in addition to the external dependencies. Project internal include paths are those paths your project internal <code>#include</code> directives are relative to.</p>
<p>Additionally you can also specify Global Header Search Paths, which will be used by all yout projects. These are usually the paths to system headers, which can also be auto detected by choosing a compiler below and pressing <var>detect</var>.</p>
<div class="row">
<div class="col-sm-10 col-sm-offset-1">
<img src="img/project_setup_wizard_empty_header_paths_advanced.png" style="width:100%;">
<img src="img/project_setup_wizard_empty_include_paths.png" style="width:100%;">
</div>
</div>
<table class="table table-hover">
@@ -590,7 +567,8 @@
<tr> <th>Setting</th> <th>Description</th> </tr>
</thead>
<tbody>
<tr> <th scope="row">Header Search Paths</th> <td>These paths are used to find the files specified by <code>#include</code> directives. (For instructions on how to add paths see <a href="#PathListBox">Path List Box</a>.)</td> </tr>
<tr> <th scope="row">Include Paths</th> <td>These paths are used to find the files specified by <code>#include</code> directives. (For instructions on how to add paths see <a href="#PathListBox">Path List Box</a>.)</td> </tr>
<tr> <th scope="row">Lazy Include Search</th> <td>When checked Coati also looks for included files within the project paths and all their subdirectories. Use this option if you are not familiar with the project to save yourself from figuring the projects include paths. Warning: When activated analysis speed is slower.</td> </tr>
<tr> <th scope="row">Global Header Search Paths</th> <td>These Header Search Paths will be used in all your projects. (For instructions on how to add paths see <a href="#PathListBox">Path List Box</a>. For instructions on how to find the system header paths see <a href="#FindingSystemHeaderLocations">Finding System Header Locations</a>)</td> </tr>
</tbody>
</table>
@@ -658,9 +636,9 @@
<tr> <td scope="row">Compilation Database</td> <td>Only when using Setup from Compilation Database. Provide the path to your Compilation Database.</td> </tr>
<tr> <td scope="row">Header Paths</td> <td>Only when using Setup from Compilation Database. Provide the paths to the corresponding header paths of your Compilation Database.</td> </tr>
<tr> <td scope="row">Simple Setup</td> <td>If this checkbox is checked Coati also looks into the analyzed paths (including subdirectories) when resolving <code>#include</code> directives.</td> </tr>
<tr> <td scope="row">Header Search Paths</td> <td>Specify where Coati should be looking for included headers.</td> </tr>
<tr> <td scope="row">Global Header Search Paths</td> <td>Same as Header Search Paths but these are used application wide for all of your Coati projects.</td> </tr>
<tr> <td scope="row">Include Paths</td> <td>Specify where Coati should be looking for included headers.</td> </tr>
<tr> <td scope="row">Lazy Include Search</td> <td>If this checkbox is checked Coati also looks into the project paths (including subdirectories) when resolving <code>#include</code> directives.</td> </tr>
<tr> <td scope="row">Global Include Paths</td> <td>Same as Header Search Paths but these are used application wide for all of your Coati projects.</td> </tr>
<tr> <td scope="row">Framework Search Paths</td> <td>Mac only. Define the search paths for <code>.framework</code> files for your project. (For instructions on how to add paths see <a href="#PathListBox">Path List Box</a>.)</td> </tr>
<tr> <td scope="row">Global Framework Search Paths</td> <td>Mac only. Same as Framework Search Paths but these are used application wide for all of your Coati projects.</td> </tr>
<tbody>
@@ -860,6 +838,18 @@
<li>Shows copyright information about Coati.</li>
</ul>
</li>
<li>
<strong>Documentation</strong>
<ul>
<li>Opens the documentation of Coati in your web browser by URL.</li>
</ul>
</li>
<li>
<strong>Bug Tracker</strong>
<ul>
<li>Opens Coati's bug tracker in your web browser by URL.</li>
</ul>
</li>
<li>
<strong>Licences</strong>
<ul>