Skip to content

Commit e569d7a

Browse files
committed
Merge branch 'master' into python-parse_qs
2 parents 1fe0040 + 606a114 commit e569d7a

File tree

364 files changed

+14587
-1653
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

364 files changed

+14587
-1653
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,3 @@
2121
/codeql/
2222

2323
csharp/extractor/Semmle.Extraction.CSharp.Driver/Properties/launchSettings.json
24-
.vscode

.vscode/.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.json linguist-language=JSON-with-Comments

.vscode/extensions.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
// See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations.
3+
// Extension identifier format: ${publisher}.${name}. Example: vscode.csharp
4+
// List of extensions which should be recommended for users of this workspace.
5+
"recommendations": [
6+
"github.vscode-codeql"
7+
],
8+
// List of extensions recommended by VS Code that should not be recommended for users of this workspace.
9+
"unwantedRecommendations": []
10+
}

.vscode/tasks.json

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
// To run a task, select the `Terminal | Run Task...` menu option, and then select the task from
3+
// the list in the dropdown, or invoke the `Tasks: Run Task` command from the command palette/
4+
// To bind a keyboard shortcut to invoke a task, see https://code.visualstudio.com/docs/editor/tasks#_binding-keyboard-shortcuts-to-tasks.
5+
// See https://go.microsoft.com/fwlink/?LinkId=733558
6+
// for the documentation about the tasks.json format
7+
"version": "2.0.0",
8+
"tasks": [
9+
{
10+
"label": "Sync Identical Files",
11+
"type": "process",
12+
// Non-Windows OS will usually have Python 3 already installed at /usr/bin/python3.
13+
"command": "python3",
14+
"args": [
15+
"config/sync-files.py",
16+
"--latest"
17+
],
18+
"group": "build",
19+
"windows": {
20+
// On Windows, use whatever Python interpreter is configured for this workspace. The default is
21+
// just `python`, so if Python is already on the path, this will find it.
22+
"command": "${config:python.pythonPath}",
23+
},
24+
"problemMatcher": []
25+
}
26+
]
27+
}

CODE_OF_CONDUCT.md

Lines changed: 115 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,126 @@
1-
# Code of Conduct
1+
## Our Pledge
22

3-
This code of conduct outlines expectations for participation in the Semmle open source community, including any open source repositories on GitHub.com, as well as steps for reporting unacceptable behavior. We are committed to providing a welcoming and inspiring community for all.
3+
We as members, contributors, and leaders pledge to make participation in our
4+
community a harassment-free experience for everyone, regardless of age, body
5+
size, visible or invisible disability, ethnicity, sex characteristics, gender
6+
identity and expression, level of experience, education, socio-economic status,
7+
nationality, personal appearance, race, religion, or sexual identity
8+
and orientation.
49

5-
People violating this code of conduct may be banned from the community.
10+
We pledge to act and interact in ways that contribute to an open, welcoming,
11+
diverse, inclusive, and healthy community.
612

7-
Our community strives to:
8-
* Be friendly and patient: Remember you might not be communicating in someone else’s primary spoken or programming language, and others may not have your level of understanding.
9-
* Be welcoming: Our community welcomes and supports people of all backgrounds and identities. This includes, but is not limited to members of any race, ethnicity, culture, national origin, color, immigration status, social and economic class, educational level, sex, sexual orientation, gender identity and expression, age, size, family status, political belief, religion, and mental and physical ability.
10-
* Be respectful: We are a world-wide community of professionals, and we conduct ourselves professionally. Disagreement is no excuse for poor behavior and poor manners. Disrespectful and unacceptable behavior includes, but is not limited to:
11-
* Violent threats or language.
12-
* Discriminatory or derogatory jokes and language.
13-
* Posting sexually explicit or violent material.
14-
* Posting, or threatening to post, people’s personally identifying information (“doxing”).
15-
* Insults, especially those using discriminatory terms or slurs.
16-
* Behavior that could be perceived as sexual attention.
17-
* Advocating for or encouraging any of the above behaviors.
18-
* Understand disagreements: Disagreements, both social and technical, are useful learning opportunities. Seek to understand others’ viewpoints and resolve differences constructively.
13+
## Our Standards
1914

20-
This code is not exhaustive or complete. It serves to capture our common understanding of a productive, collaborative environment. We expect the code to be followed in spirit as much as in the letter.
15+
Examples of behavior that contributes to a positive environment for our
16+
community include:
2117

22-
# Scope
18+
* Demonstrating empathy and kindness toward other people
19+
* Being respectful of differing opinions, viewpoints, and experiences
20+
* Giving and gracefully accepting constructive feedback
21+
* Accepting responsibility and apologizing to those affected by our mistakes,
22+
and learning from the experience
23+
* Focusing on what is best not just for us as individuals, but for the
24+
overall community
2325

24-
This code of conduct applies to all repositories and communities for Semmle open source projects, regardless of whether or not the repository explicitly calls out its use of this code. The code also applies in public spaces when an individual is representing the Semmle open source community. Examples include using an official project email address, posting via an official social media account, or acting as an appointed representative at an online or offline event.
26+
Examples of unacceptable behavior include:
2527

28+
* The use of sexualized language or imagery, and sexual attention or
29+
advances of any kind
30+
* Trolling, insulting or derogatory comments, and personal or political attacks
31+
* Public or private harassment
32+
* Publishing others' private information, such as a physical or email
33+
address, without their explicit permission
34+
* Other conduct which could reasonably be considered inappropriate in a
35+
professional setting
2636

27-
# Reporting Code of Conduct Issues
28-
We encourage members of the community to resolve issues on their own whenever possible. This builds a broader and deeper understanding and ultimately a healthier interaction. In the event that an issue cannot be resolved locally, please feel free to report your concerns by contacting [email protected].
29-
In your report please include:
30-
* Your contact information.
31-
* Names (real, usernames or pseudonyms) of any individuals involved. If there are additional witnesses, please include them as well.
32-
* Your account of what occurred, and if you believe the incident is ongoing. If there is a publicly available record (e.g. a mailing list archive or a public chat log), please include a link or attachment.
33-
* Any additional information that may be helpful.
37+
## Enforcement Responsibilities
3438

35-
All reports will be reviewed by a multi-person team and will result in a response that is deemed necessary and appropriate to the circumstances. Where additional perspectives are needed, the team may seek insight from others with relevant expertise or experience. The confidentiality of the person reporting the incident will be kept at all times. Involved parties are never part of the review team.
39+
Community leaders are responsible for clarifying and enforcing our standards of
40+
acceptable behavior and will take appropriate and fair corrective action in
41+
response to any behavior that they deem inappropriate, threatening, offensive,
42+
or harmful.
3643

37-
Anyone asked to stop unacceptable behavior is expected to comply immediately. If an individual engages in unacceptable behavior, the review team may take any action they deem appropriate, including a permanent ban from the community.
44+
Community leaders have the right and responsibility to remove, edit, or reject
45+
comments, commits, code, wiki edits, issues, and other contributions that are
46+
not aligned to this Code of Conduct, and will communicate reasons for moderation
47+
decisions when appropriate.
3848

39-
*This text is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/) license. It is based on a template established by the [TODO Group](http://todogroup.org/) and variants thereof used by numerous other large communities (e.g., [Microsoft](https://microsoft.github.io/codeofconduct/), [Facebook](https://code.fb.com/codeofconduct/), [Yahoo](https://yahoo.github.io/codeofconduct), [Twitter](https://github.com/twitter/code-of-conduct), [GitHub](https://blog.github.com/2015-07-20-adopting-the-open-code-of-conduct/)) and the Scope section from the [Contributor Covenant version 1.4](http://contributor-covenant.org/version/1/4/).*
49+
## Scope
50+
51+
This Code of Conduct applies within all community spaces, and also applies when
52+
an individual is officially representing the community in public spaces.
53+
Examples of representing our community include using an official e-mail address,
54+
posting via an official social media account, or acting as an appointed
55+
representative at an online or offline event.
56+
57+
## Enforcement
58+
59+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
60+
reported to the community leaders responsible for enforcement at
61+
62+
All complaints will be reviewed and investigated promptly and fairly.
63+
64+
All community leaders are obligated to respect the privacy and security of the
65+
reporter of any incident.
66+
67+
## Enforcement Guidelines
68+
69+
Community leaders will follow these Community Impact Guidelines in determining
70+
the consequences for any action they deem in violation of this Code of Conduct:
71+
72+
### 1. Correction
73+
74+
**Community Impact**: Use of inappropriate language or other behavior deemed
75+
unprofessional or unwelcome in the community.
76+
77+
**Consequence**: A private, written warning from community leaders, providing
78+
clarity around the nature of the violation and an explanation of why the
79+
behavior was inappropriate. A public apology may be requested.
80+
81+
### 2. Warning
82+
83+
**Community Impact**: A violation through a single incident or series
84+
of actions.
85+
86+
**Consequence**: A warning with consequences for continued behavior. No
87+
interaction with the people involved, including unsolicited interaction with
88+
those enforcing the Code of Conduct, for a specified period of time. This
89+
includes avoiding interactions in community spaces as well as external channels
90+
like social media. Violating these terms may lead to a temporary or
91+
permanent ban.
92+
93+
### 3. Temporary Ban
94+
95+
**Community Impact**: A serious violation of community standards, including
96+
sustained inappropriate behavior.
97+
98+
**Consequence**: A temporary ban from any sort of interaction or public
99+
communication with the community for a specified period of time. No public or
100+
private interaction with the people involved, including unsolicited interaction
101+
with those enforcing the Code of Conduct, is allowed during this period.
102+
Violating these terms may lead to a permanent ban.
103+
104+
### 4. Permanent Ban
105+
106+
**Community Impact**: Demonstrating a pattern of violation of community
107+
standards, including sustained inappropriate behavior, harassment of an
108+
individual, or aggression toward or disparagement of classes of individuals.
109+
110+
**Consequence**: A permanent ban from any sort of public interaction within
111+
the community.
112+
113+
## Attribution
114+
115+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
116+
version 2.0, available at
117+
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
118+
119+
Community Impact Guidelines were inspired by [Mozilla's code of conduct
120+
enforcement ladder](https://github.com/mozilla/diversity).
121+
122+
[homepage]: https://www.contributor-covenant.org
123+
124+
For answers to common questions about this code of conduct, see the FAQ at
125+
https://www.contributor-covenant.org/faq. Translations are available at
126+
https://www.contributor-covenant.org/translations.

CONTRIBUTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ If you have an idea for a query that you would like to share with other CodeQL u
2020
* Python: `python/ql/src`
2121

2222
Each language-specific directory contains further subdirectories that group queries based on their `@tags` or purpose.
23-
- Experimental queries and libraries are stored in the `experimental` subdirectory within each language-specific directory in the [CodeQL repository](https://github.com/Semmle/ql). For example, experimental Java queries and libraries are stored in `java/ql/src/experimental` and any corresponding tests in `java/ql/test/experimental`.
23+
- Experimental queries and libraries are stored in the `experimental` subdirectory within each language-specific directory in the [CodeQL repository](https://github.com/github/codeql). For example, experimental Java queries and libraries are stored in `java/ql/src/experimental` and any corresponding tests in `java/ql/test/experimental`.
2424
- The structure of an `experimental` subdirectory mirrors the structure of its parent directory.
2525
- Select or create an appropriate directory in `experimental` based on the existing directory structure of `experimental` or its parent directory.
2626

@@ -36,7 +36,7 @@ If you have an idea for a query that you would like to share with other CodeQL u
3636

3737
3. **Formatting**
3838

39-
- The queries and libraries must be [autoformatted](https://help.semmle.com/codeql/codeql-for-vscode/reference/editor.html#autoformatting).
39+
- The queries and libraries must be autoformatted, for example using the "Format Document" command in [CodeQL for Visual Studio Code](https://help.semmle.com/codeql/codeql-for-vscode/procedures/about-codeql-for-vscode.html).
4040

4141
4. **Compilation**
4242

README.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,20 @@ You can use the [interactive query console](https://lgtm.com/help/lgtm/using-que
99

1010
## Contributing
1111

12-
We welcome contributions to our standard library and standard checks. Do you have an idea for a new check, or how to improve an existing query? Then please go ahead and open a pull request! Before you do, though, please take the time to read our [contributing guidelines](CONTRIBUTING.md). You can also consult our [style guides](https://github.com/Semmle/ql/tree/master/docs) to learn how to format your code for consistency and clarity, how to write query metadata, and how to write query help documentation for your query.
12+
We welcome contributions to our standard library and standard checks. Do you have an idea for a new check, or how to improve an existing query? Then please go ahead and open a pull request! Before you do, though, please take the time to read our [contributing guidelines](CONTRIBUTING.md). You can also consult our [style guides](https://github.com/github/codeql/tree/master/docs) to learn how to format your code for consistency and clarity, how to write query metadata, and how to write query help documentation for your query.
1313

1414
## License
1515

1616
The code in this repository is licensed under the [MIT License](LICENSE) by [GitHub](https://github.com).
17+
18+
## Visual Studio Code integration
19+
20+
If you use Visual Studio Code to work in this repository, there are a few integration features to make development easier.
21+
22+
### CodeQL for Visual Studio Code
23+
24+
You can install the [CodeQL for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-codeql) extension to get syntax highlighting, IntelliSense, and code navigation for the QL language, as well as unit test support for testing CodeQL libraries and queries.
25+
26+
### Tasks
27+
28+
The `.vscode/tasks.json` file defines custom tasks specific to working in this repository. To invoke one of these tasks, select the `Terminal | Run Task...` menu option, and then select the desired task from the dropdown. You can also invoke the `Tasks: Run Task` command from the command palette.

0 commit comments

Comments
 (0)