mirror of
https://github.com/github/codeql.git
synced 2026-04-25 16:55:19 +02:00
c568162256f6ae3bfd7902ccd86c4399d2c3bb5b
The output of two distinct TrapWriters should not be written to the same TRAP file because this causes name clashes between TRAP labels.
Ruby analysis support for CodeQL
Under development.
Building the tools from source
Install Rust, then run:
cargo build --release
Generating the database schema and QL library
The generated ql/src/ruby.dbscheme and ql/src/codeql_ruby/ast/internal/TreeSitter.qll files are included in the repository, but they can be re-generated as follows:
# Run the generator
cargo run --release -p ruby-generator -- --dbscheme ql/src/ruby.dbscheme --library ql/src/codeql_ruby/ast/internal/TreeSitter.qll
# Then auto-format the QL library
codeql query format -i ql/src/codeql_ruby/ast/internal/TreeSitter.qll
Building a CodeQL database for a Ruby program
First, get an extractor pack. There are two options:
- Either download the latest
codeql-ruby-packfrom Actions and unzip it twice, or - Run
./create-extractor-pack.sh(Linux/Mac) or.\create-extractor-pack.ps1(Windows PowerShell) and the pack will be created in theextractor-packdirectory.
Then run
codeql database create <database-path> -l ruby -s <project-source-path> --search-path <extractor-pack-path>
Running qltests
Run
codeql test run <test-path> --search-path <repository-root-path>
Languages
CodeQL
32.3%
Kotlin
27.4%
C#
17.1%
Java
7.7%
Python
4.6%
Other
10.7%