mirror of
https://github.com/KhronosGroup/SPIRV-Tools
synced 2024-11-21 11:10:04 +00:00
Setup gclient and presubmit file.
This CL adds the necessary files to use gclient and the depot_tools with the SPIRV-Tools directory. This allows doing things like `git cl format` to format code pre-upload and `git cl presubmit -uf` to run presubmit checks over the code. The dependencies are all added to the DEPS file and will be auto-downloaded. They are all pin'd to specific revisions so everyone has the same checkout. Clang is included in the checkout so it will be consistent over usages. Use clang-format
This commit is contained in:
parent
ba602c9059
commit
185406439f
@ -2,4 +2,5 @@
|
||||
Language: Cpp
|
||||
BasedOnStyle: Google
|
||||
DerivePointerAlignment: false
|
||||
SortIncludes: true
|
||||
...
|
||||
|
6
.gitignore
vendored
6
.gitignore
vendored
@ -1,13 +1,15 @@
|
||||
/build*
|
||||
.clang_complete
|
||||
.ycm_extra_conf.py*
|
||||
compile_commands.json
|
||||
/build*
|
||||
/external/googletest
|
||||
/external/SPIRV-Headers
|
||||
/external/spirv-headers
|
||||
/external/effcee
|
||||
/external/re2
|
||||
/TAGS
|
||||
/.clang_complete
|
||||
/third_party/llvm-build/
|
||||
/tools/clang/
|
||||
/utils/clang-format-diff.py
|
||||
|
||||
# Vim
|
||||
|
@ -71,7 +71,7 @@ if(("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") OR ("${CMAKE_CXX_COMPILER_ID}" MAT
|
||||
set(COMPILER_IS_LIKE_GNU TRUE)
|
||||
endif()
|
||||
if(${COMPILER_IS_LIKE_GNU})
|
||||
set(SPIRV_WARNINGS -Wall -Wextra -Wnon-virtual-dtor -Wno-missing-field-initializers)
|
||||
set(SPIRV_WARNINGS -Wall -Wextra -Wnon-virtual-dtor -Wno-missing-field-initializers -Wno-self-assign)
|
||||
|
||||
option(SPIRV_WARN_EVERYTHING "Enable -Weverything" ${SPIRV_WARN_EVERYTHING})
|
||||
if(${SPIRV_WARN_EVERYTHING})
|
||||
|
85
DEPS
Normal file
85
DEPS
Normal file
@ -0,0 +1,85 @@
|
||||
use_relative_paths = True
|
||||
|
||||
vars = {
|
||||
'chromium_git': 'https://chromium.googlesource.com',
|
||||
'github': 'https://github.com',
|
||||
|
||||
'buildtools_revision': 'ab7b6a7b350dd15804c87c20ce78982811fdd76f',
|
||||
'clang_revision': 'abe5e4f9dc0f1df848c7a0efa05256253e77a7b7',
|
||||
'effcee_revision': '04b624799f5a9dbaf3fa1dbed2ba9dce2fc8dcf2',
|
||||
'googletest_revision': '98a0d007d7092b72eea0e501bb9ad17908a1a036',
|
||||
're2_revision': '6cf8ccd82dbaab2668e9b13596c68183c9ecd13f',
|
||||
'spirv_headers_revision': '3ce3e49d73b8abbf2ffe33f829f941fb2a40f552',
|
||||
}
|
||||
|
||||
deps = {
|
||||
'buildtools':
|
||||
Var('chromium_git') + '/chromium/buildtools.git@' +
|
||||
Var('buildtools_revision'),
|
||||
|
||||
'external/spirv-headers':
|
||||
Var('github') + '/KhronosGroup/SPIRV-Headers.git@' +
|
||||
Var('spirv_headers_revision'),
|
||||
|
||||
'external/googletest':
|
||||
Var('github') + '/google/googletest.git@' + Var('googletest_revision'),
|
||||
|
||||
'external/effcee':
|
||||
Var('github') + '/google/effcee.git@' + Var('effcee_revision'),
|
||||
|
||||
'external/re2':
|
||||
Var('github') + '/google/re2.git@' + Var('re2_revision'),
|
||||
|
||||
'tools/clang':
|
||||
Var('chromium_git') + '/chromium/src/tools/clang@' + Var('clang_revision')
|
||||
}
|
||||
|
||||
recursedeps = [
|
||||
# buildtools provides clang_format, libc++, and libc++api
|
||||
'buildtools',
|
||||
]
|
||||
|
||||
hooks = [
|
||||
# Pull clang-format binaries using checked-in hashes.
|
||||
{
|
||||
'name': 'clang_format_win',
|
||||
'pattern': '.',
|
||||
'action': [ 'download_from_google_storage',
|
||||
'--no_resume',
|
||||
'--platform=win32',
|
||||
'--no_auth',
|
||||
'--bucket', 'chromium-clang-format',
|
||||
'-s', 'SPIRV-Tools/buildtools/win/clang-format.exe.sha1',
|
||||
],
|
||||
},
|
||||
{
|
||||
'name': 'clang_format_mac',
|
||||
'pattern': '.',
|
||||
'action': [ 'download_from_google_storage',
|
||||
'--no_resume',
|
||||
'--platform=darwin',
|
||||
'--no_auth',
|
||||
'--bucket', 'chromium-clang-format',
|
||||
'-s', 'SPIRV-Tools/buildtools/mac/clang-format.sha1',
|
||||
],
|
||||
},
|
||||
{
|
||||
'name': 'clang_format_linux',
|
||||
'pattern': '.',
|
||||
'action': [ 'download_from_google_storage',
|
||||
'--no_resume',
|
||||
'--platform=linux*',
|
||||
'--no_auth',
|
||||
'--bucket', 'chromium-clang-format',
|
||||
'-s', 'SPIRV-Tools/buildtools/linux64/clang-format.sha1',
|
||||
],
|
||||
},
|
||||
{
|
||||
# Pull clang
|
||||
'name': 'clang',
|
||||
'pattern': '.',
|
||||
'action': ['python',
|
||||
'SPIRV-Tools/tools/clang/scripts/update.py'
|
||||
],
|
||||
},
|
||||
]
|
49
PRESUBMIT.py
Normal file
49
PRESUBMIT.py
Normal file
@ -0,0 +1,49 @@
|
||||
# Copyright (c) 2018 The Khronos Group Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
"""Presubmit script for SPIRV-Tools.
|
||||
|
||||
See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts
|
||||
for more details about the presubmit API built into depot_tools.
|
||||
"""
|
||||
|
||||
LINT_FILTERS = [
|
||||
"-build/include",
|
||||
"-build/include_order",
|
||||
"-build/include_what_you_use",
|
||||
"-build/namespaces",
|
||||
"-readability/braces",
|
||||
"-readability/casting",
|
||||
"-readability/fn_size",
|
||||
"-readability/todo",
|
||||
"-runtime/explicit",
|
||||
"-runtime/references",
|
||||
"-whitespace/blank_line",
|
||||
"-whitespace/ending_newline",
|
||||
"-whitespace/line_length",
|
||||
"-whitespace/newline",
|
||||
"-whitespace/operators",
|
||||
"-whitespace/parens",
|
||||
"-whitespace/semicolon",
|
||||
"-whitespace/todo"
|
||||
]
|
||||
|
||||
|
||||
def CheckChangeOnUpload(input_api, output_api):
|
||||
results = []
|
||||
results += input_api.canned_checks.CheckPatchFormatted(input_api, output_api)
|
||||
results += input_api.canned_checks.CheckChangeLintsClean(
|
||||
input_api, output_api, None, LINT_FILTERS)
|
||||
|
||||
return results
|
2
codereview.settings
Normal file
2
codereview.settings
Normal file
@ -0,0 +1,2 @@
|
||||
# This file is used by git cl to get repository specific information.
|
||||
CODE_REVIEW_SERVER: github.com
|
Loading…
Reference in New Issue
Block a user