Commit Graph
227 Commits
Author SHA1 Message Date
mlangkabel ecfa1b7920 split command line args for IndexerCommandCustom usages
* this seems to be required when using the new QProcess API.
* this also required to remove quotes that were added to path args because otherwise the Python indexer would mistake absolute paths for relative paths.
2021-01-25 20:36:42 +01:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3e9fd2306b build(deps-dev): bump junit (#1097)
Bumps [junit](https://github.com/junit-team/junit4) from 3.8.1 to 4.13.1.
- [Release notes](https://github.com/junit-team/junit4/releases)
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.13.1.md)
- [Commits](https://github.com/junit-team/junit4/commits/r4.13.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-19 13:26:26 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
b86e237c0b build(deps-dev): bump junit (#1096)
Bumps [junit](https://github.com/junit-team/junit4) from 3.8.1 to 4.13.1.
- [Release notes](https://github.com/junit-team/junit4/releases)
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.13.1.md)
- [Commits](https://github.com/junit-team/junit4/commits/r4.13.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-19 13:26:14 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
404511603d build(deps-dev): bump junit (#1095)
Bumps [junit](https://github.com/junit-team/junit4) from 3.8.1 to 4.13.1.
- [Release notes](https://github.com/junit-team/junit4/releases)
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.13.1.md)
- [Commits](https://github.com/junit-team/junit4/commits/r4.13.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-19 13:26:03 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
744b8e3186 build(deps-dev): bump junit (#1094)
Bumps [junit](https://github.com/junit-team/junit4) from 3.8.1 to 4.13.1.
- [Release notes](https://github.com/junit-team/junit4/releases)
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.13.1.md)
- [Commits](https://github.com/junit-team/junit4/commits/r4.13.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-19 13:25:09 +02:00
midchildanandGitHub 85329174ba test: fix expected output for c sourcegroup tests on unix (#1073)
follow-up of f3614a37 and 0294589f
2020-08-23 00:33:30 +02:00
mlangkabel f3614a3745 fixed expected output for c sourcegroup tests 2020-08-17 13:41:39 +02:00
Eberhard Graether 6ae55b3281 test: Ammending missing test data for #959 2020-04-03 15:29:12 +02:00
Malte LangkabelandGitHub a812a49b0c test: removed gradle tests to fix Linux CI (#895) 2020-01-15 23:32:51 +01:00
Malte LangkabelandGitHub c8dcb193ff test: added tests for gradle utility functions (#892) 2020-01-13 19:26:17 +01:00
mlangkabel 67b803bd29 test: fixed java tests 2019-12-16 14:51:45 +01:00
Malte LangkabelandGitHub 732c389520 logic: extend language support to Java 12 (issue #752) (#844)
* update java indexer dependencies
* update java language support to java 12
* enable java preview features by default
* add test for Java 12 support
2019-12-10 15:02:59 +01:00
mlangkabel 61b97e4931 test: removed indexer coverage regression tests for Cxx
Currently the output of these tests depends on the c++ standard library that is installed on the executing machine. So for some machines these tests would pass while they fail on other machines.
2019-11-16 17:21:17 +01:00
mlangkabel c38117ab8b build: allow to disable language support in cmake
* in addition: add unloadable sourcegroup to visualize, load and save information when loading a project that contains source groups that are not supported by the build
2019-11-13 17:26:06 +01:00
mlangkabel ceb30020b5 src: removed sonargraph based project setup methods 2019-11-09 17:56:51 +01:00
Eberhard Graether 0d8e992bdf src: Removed everything license key related
* removed license check
* removed license from ApplicationSettings
* removed LicenseGenerator
* removed license tests
* removed lib_license
* removed dependency on Botan
* removed license generation in all scripts
2019-10-18 13:05:30 +02:00
mlangkabelandEberhard Graether e81315c131 logic: record inheritance edges for implicit template specializations 2019-10-18 13:05:29 +02:00
mlangkabelandEberhard Graether cd731a3798 logic: skip traversing unspecialized template method of implicit template class specialization 2019-10-18 13:05:29 +02:00
mlangkabelandEberhard Graether ee7dcc2d83 data: replace template member specialization edge by template specialization edge 2019-10-18 13:05:29 +02:00
mlangkabelandEberhard Graether 7a5d1f7d2b logic: record location of substituted template parameter as usage of concrete type
e.g. "return T();" in template function implicitly specialized with T=int records a usage of "int" at the location of "T()".
2019-10-18 13:05:28 +02:00
mlangkabelandEberhard Graether 0498d68f5b logic: skip recording qualifier of template parameter decl name (e.g."A<typename T>::T" -> "T") 2019-10-18 13:05:28 +02:00
mlangkabelandEberhard Graether 517dde06e4 logic: yield name of templated base for dependent template specialization 2019-10-18 13:05:28 +02:00
mlangkabelandEberhard Graether fc0e652ae0 data: Remove Template Argument reference kind and edge 2019-10-18 13:05:28 +02:00
mlangkabelandEberhard Graether 583046c291 data: reduce template related data types
* record template parameter as local symbol
* record template default args as type usage
2019-10-18 13:05:27 +02:00
mlangkabel b607933e0f data: updated expected output for cxx indexer tests and source group tests for windows 2019-05-28 16:42:00 +02:00
Eberhard Graether b6a39a2d66 logic: Don't store CxxCompilerHeaderPath in Global Include Paths
* show path in Global Include Paths preferences
* add to CXX indexer commands
* add migration to remove from app settings
2019-05-27 16:11:19 +02:00
Eberhard Graether b02064a160 license: Implemented new license format
* Implemented new format splitting user, version, and usage period into separate lines
* Refactored all classes: License, LicenseGenerator, LicenseChecker
* Removed redundant license check hash from ApplicationSettings, don't generate, store and check it anymore
* Moved license checking and encoding logic to LicenseChecker
* Moved default for license generation to main.cpp
* Refactored license checking logic in whole app, removed involved message types
* Added LicenseCheckerTestSuite for checking all legacy and current license types
* Generate new license type lifelong
2019-03-18 14:49:52 +01:00
Eberhard Graether 6d5a3c047d logic: Added SourceGroupCustomCommand to use with SourcetrailDB binaries
* Added new Source Group type SourceGroupCustomCommand to UI and ProjectSettings
* The Source Group executes a specified command on every source file
* The variables $SOURCE_PATH, $PROJECT_PATH, $DB_PATH, $STORAGE_VERSION can be passed
* The commands are executed after all other source groups finished indexing
* The command is executed with working directory set to project directory
* Errors during command execution are shown as status update and in the Status View
* SourceGroupCustomCommand cannot be partially cleared, when one file needs clearing the project must be fully re-indexed
2018-12-11 14:05:26 +01:00
mlangkabel bff7b0d70a logic: added type usage edge for types that occur as template arguments 2018-11-02 13:27:44 +01:00
mlangkabel 1497941c3d logic: skip recording implicit local symbols
* for example this would be the parameter of an implicitly defined copy constructor
2018-10-30 13:34:16 +01:00
mlangkabel d12570ccf9 data: updated expected output for Cxx sample project tests
* changed expected output of Bullet and Box2D to new formatting (without duplicates)
* minor additions due to clang update
* updated expected output of TicTacToe project with all headers indexed
2018-10-30 12:04:33 +01:00
Eberhard Graether 4ae052cb9c data: Refactored ParserClient API to return and use Ids instead of NameHierarchies for faster indexing
* Pass NameHierarchy to record new symbol returning an Id
* Cache symbol Ids in Parser implementation
* Reuse symbol Ids as reference when recording related data
* Pass FilePath to record new file returning an Id
* Cache file Ids in CanonicalFilePathCache
* Store file Id in ParseLocation instead of FilePath

fortune cookie message = You know a silent way to impose your will.
2018-10-16 00:54:38 +02:00
Eberhard Graether aab29b241e test: Replaced DumpParserClient and TestParserClient with TestIntermediateStorage to ease switch to new ParserClient API 2018-10-15 15:05:15 +02:00
Eberhard Graether 513988e51b src: Fixed tests for Mac 2018-09-21 14:38:31 +02:00
mlangkabel 9dc2bcc2f9 logic: indexer command refactoring
* moved SystemHeaderSearchPaths and FramewordSeearchPaths of indexer cxx indexer commands to CompilerFlags section
* added SourceGroupTestSuite to test indexer command generation of all source groups
* removed "compile_commands.json" from gitignore, because a resource file for the tests has this name
2018-09-18 17:09:28 +02:00
mlangkabel 9998855527 logic: generate indexer commands on demand to reduce shared memory consumption
* implemented task for sending IndexerCommands to shared memory on demand
* SourceGroups now return IndexerCommandProviders instead of just a list of indexer commands. This way information can be stored in a compressed format
* merged IndexerCommandCxxEmpty and IndexerCommandCxxCdb
* moved sorting of indexer commands by file size from IndexerCommandList to TaskFillIndexerCommandQueue
* removed obsolete IndexerCommandList class
* wait for IndexerCommandQueue to be filled before starting the indexers
* restart finished indexer processes while indexerCommandQueue is still running
* restart indexer threads as long as there are indexer commands to process
* removed Blackboard::getMutex() and added an atomic update() method
2018-09-10 12:40:30 +02:00
mlangkabel 5ff7d510d7 Re-Revert and fix "logic: changed Java type_argument edges to originate in the generic type or method" 2018-09-03 09:38:51 +02:00
Eberhard Graether 06d64b76f7 data: Reduced memory usage during indexing with LowMemoryStringMap
* reduces node and local symbol index sizes by about 30-50%
2018-09-02 20:47:43 +02:00
mlangkabel 8e6d5e6010 Revert "logic: changed Java type_argument edges to originate in the generic type or method" 2018-08-28 16:20:51 +02:00
mlangkabel c86f4d04dc logic: record "java.lang" symbol as package 2018-08-20 18:15:11 +02:00
mlangkabel 36a9d552da logic: changed Java type_argument edges to originate in the generic type or method
* added tests for java type argument recording
* implemented recording type arguments for java ExpressionMethodReferences
* changed type_argument edge to originate in generic type
* added type_usage edge for type_arguments that originates in context (e.g. calling method)
2018-08-20 16:27:53 +02:00
mlangkabel 14a8d024b9 logic: record all symbol types of package names qualifying a Java import declaration 2018-08-20 16:02:10 +02:00
mlangkabel 9813c9873f logic: index and store Java annotations
* add annotation symbol kind
* add annotation_usage edge kind
* increment storage version
* record java annotation decls
* record java annotation member decls (as fields)
* update expected output of java sample project indexing tests
* add tests for recording annotations
* add annotation icon, annotation colors
* add new annotation node and edge types to legend
2018-08-14 17:33:00 +02:00
mlangkabel c6f9d8f92c logic: show real code of signatures in tooltips
* added new location type
* refactored old recording code
* record signature locations for cxx functions and java methods
* added signature locations to sample project indexer tests
* ignore signature locations in ui
* signatures in tooltip with qualified name of the function/method
* added test for finding signature location of constructor with initializer list
2018-07-20 14:00:08 +02:00
mlangkabel 855d8f4e2e logic: implemented highlighting both opening and closing bracket in Code view while hovering either one (issue #12) 2018-07-16 10:38:40 +02:00
mlangkabel b1317457ab logic: added support for sonargraph manual cpp modules 2018-06-11 18:54:55 +02:00
mlangkabel 2584a1f4e2 logic: sonargraph fixes
* removed duplicates from detected indexed headers
* fixed indexed header paths not used in cxx sonargraph project
2018-06-05 15:48:54 +02:00
Eberhard Graether 59f32e9942 build: Fixed enum forward declarations and filepath checks in SonarGraphProjectTestSuite 2018-05-22 13:02:27 +02:00
mlangkabel 7b735cfd17 logic: added project setup support for Sonargraph projects (Java and CMake-JSON modules supported)
* added classes for loading a Sonargraph project
* added Sonargraph options to project setup wizard
* added test for generating indexer commands from Sonargraph modules
* fixed sqlite storage crashing in constructor when parent directory of provided path does not exist
* removed unused FileRegister from Java indexing
* removed unused info from IndexerCommandJava
* refactored loading and saving of SourceGroupSettings
* extracted sourcepaths settings to own class that can be re-used
* merged CDB wizard contentents for source file and indexed paths
* unified wizard content for sonargraph project path
* removed include filters from default source groups
* extracted generation of RefreshInfo from Project to RefreshInfoGenerator
* added tests for RefreshInfoGenerator
* added language and standard selection to sonargraph project setup
* added auto-detection for indexed header paths of sonargraph cmake json modules
* Sonargraph::Project can enable/disable support for specific modules
* warn if sonargraph project contains no matching modules
* indexed headers can be detected from sonargraph project
2018-05-18 16:07:57 +02:00
mlangkabel f08f27717f logic: record and display include edges for non-indexed files
* non-indexed files are shown in graph view and in code view
* non-indexed files are ignored in search view, overview, stats and refresh dialog
2018-04-23 12:13:49 +02:00