malte_langkabel c61efbbcde logic: multithreaded parsing
* modified the TaskParseCxx to be able to run multiple times in parallel
* made FileRegister threadsafe and changed a lot of its mechanisms
* added TaskGroupParallel that runs all children in parallel
* added TaskParseWrapper that acts as a decorator to execute some code before and after parsing.
* implemented task setup in project with 4 parsing threads
* removed SimpleTask as it was only used as interface for the LambdaTask
2016-05-13 13:23:54 +02:00
2016-05-10 11:10:13 +02:00
2016-04-26 18:50:55 +02:00
2016-05-10 11:10:13 +02:00
2016-05-13 13:23:54 +02:00
2016-05-11 13:23:31 +02:00
2016-05-03 15:59:59 +02:00

Masterproject

Setup

External Software

Environment Variables

  • QT_DIR - .../Qt/Qt5.6.0/5.6/
  • CXX_TEST_DIR - .../cxxtest-4.3
  • CLANG_DIR - .../clang-llvm
  • BOOST_159_DIR - .../boost_1_59_0
  • EIGEN_DIR - .../eigen
  • BOTAN_DIR - .../Botan-1.11.24

For Win32:

  • VLD_DIR - .../Visual Leak Detector
  • path - apped path to git.exe
Botan setup

Build release lib in ${BOTAN_DIR}/release Build debug lib in ${BOTAN_DIR}/debug

for Windows release build: $ python configure.py --cc=msvc --cpu=x86_32 --via-amalgamation --disable-shared

for Windows debug build: python configure.py --cc=msvc --cpu=x86_32 --via-amalgamation --disable-shared --no-optimizations --with-debug-info

for other: $ python configure.py --via-amalgamation --disable-shared

Settings

Run setup script: $ ./script/setup.sh

Release

App

  • create release build
  • make sure it uses the Coati icon
  • obfuscate the executable using upx

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

  • add app
  • add web/coati_manual.pdf to package

Updating Clang on UNIX

$ cd .../clang_llvm

$ cd llvm $ git pull origin master

$ cd tools/clang $ git pull origin master

$ cd tools/extra/ $ git pull origin master

$ cd ../../../../../build_debug $ cmake -G Ninja ../llvm $ ninja -j4 check-all

$ cd ../release_build $ cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ../llvm $ ninja -j4 check-all

Remarks

  • Boost lib dir: rename library directory for your system (e.g.: 'lib32-msvc-12.0') to 'lib'

Tagging

$ git tag -a VERSION_NUMBER -m "DESCRIPTION" $ git push --tags

Changelog

0.6.0.0

released 2016-04-27

  • 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.5.1.21

released 2016-03-16

  • 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
S
Description
Sourcetrail - free and open-source interactive source explorer
Readme
292 MiB
Languages
C++ 63.4%
Java 32.7%
CMake 1.6%
Shell 1.1%
CSS 0.6%
Other 0.4%