Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/checks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:

jobs:
format:
runs-on: workiva-runner-dev
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dart-lang/setup-dart@v1
Expand All @@ -15,7 +15,7 @@ jobs:
- run: dart run dart_dev format

dependency-validator:
runs-on: workiva-runner-dev
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dart-lang/setup-dart@v1
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ jobs:
# Setup scip-dart
- uses: actions/checkout@v3
- uses: dart-lang/setup-dart@v1
- uses: Workiva/gha-dart/pub-get@master
- run: dart pub get

# Setup repo to run on
- uses: actions/checkout@v3
Expand Down
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Changelog

## 1.0.6

- Initial open sourcing of repo
12 changes: 2 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Designed to be a replacement for [lsif_indexer](https://github.com/Workiva/lsif_
## Installation

```sh
dart pub global activate --hosted-url https://pub.workiva.org scip_dart
dart pub global activate scip_dart
```

## Usage
Expand Down Expand Up @@ -40,12 +40,4 @@ Analysis can be uploaded to sourcegraph using the [src cli](https://docs.sourceg

```sh
src code-intl upload -file=index.scip -github-token="<your gh token>"
```

## Design Philosophy

Scip is a fairly simple file format. Much of it boils down to finding every declaration in a source file, and creating a unique, but consistent string for it. This is called a `symbol`. Then the idea is to search the source code for every reference, and generate that same `symbol` we created before, for the references declaration. After this is done, we should have a large mapping of every reference, and declaration which allows external tools to preform code navigation on the entities within the codebase.

While this is simple in concept, in practice, parsing ast, and generating these symbols is edge case hell. Instead of expecting full coverage on everything, in its spike state, `scip-dart` will fail silently on unknown cases (this silent failing can be turned off with the `--verbose/-v` flag). The reason for this is that an incomplete scip index is still helpful, but a completely failed indexing is not.

Failures in running `scip-dart` will be treated with higher priority than full coverage of symbols.
```
2 changes: 2 additions & 0 deletions dart_dependency_validator.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
exclude:
- snapshots/**
6 changes: 1 addition & 5 deletions pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,4 @@ dependencies:
dev_dependencies:
dependency_validator: ^3.2.2
dart_dev: '>=3.9.2 <5.0.0'
glob: ^2.1.1

dependency_validator:
exclude:
- snapshots/**
glob: ^2.1.1