Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Adds tools/json_injector #55309

Closed
wants to merge 22 commits into from
Closed
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
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ xcuserdata
.project
.settings/
.vscode/
!.vscode/extensions.json

# packages file containing multi-root paths
.packages.generated
Expand Down
17 changes: 0 additions & 17 deletions .vscode/extensions.json

This file was deleted.

2 changes: 1 addition & 1 deletion ci/licenses_golden/excluded_files
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
../../../flutter/.github
../../../flutter/.gitignore
../../../flutter/.style.yapf
../../../flutter/.vscode
../../../flutter/AUTHORS
../../../flutter/CODEOWNERS
../../../flutter/CONTRIBUTING.md
Expand Down Expand Up @@ -50,6 +49,7 @@
../../../flutter/display_list/utils/dl_accumulation_rect_unittests.cc
../../../flutter/display_list/utils/dl_matrix_clip_tracker_unittests.cc
../../../flutter/docs
../../../flutter/engine.code-workspace
../../../flutter/examples
../../../flutter/flow/README.md
../../../flutter/flow/diff_context_unittests.cc
Expand Down
2 changes: 1 addition & 1 deletion ci/licenses_golden/tool_signature
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
Signature: 53025d1261891c38c7bccb158862e09f
Signature: 8859e172e060ecb45aa665c3119d5d25

258 changes: 258 additions & 0 deletions engine.code-workspace
Original file line number Diff line number Diff line change
@@ -0,0 +1,258 @@
{
"folders": [
{
"path": "."
}
],
"settings": {
"files.associations": {
"optional": "cpp",
"__bit_reference": "cpp",
"__bits": "cpp",
"__config": "cpp",
"__debug": "cpp",
"__errc": "cpp",
"__hash_table": "cpp",
"__locale": "cpp",
"__mutex_base": "cpp",
"__node_handle": "cpp",
"__nullptr": "cpp",
"__split_buffer": "cpp",
"__string": "cpp",
"__threading_support": "cpp",
"__tree": "cpp",
"__tuple": "cpp",
"any": "cpp",
"array": "cpp",
"atomic": "cpp",
"bitset": "cpp",
"cctype": "cpp",
"chrono": "cpp",
"cinttypes": "cpp",
"clocale": "cpp",
"cmath": "cpp",
"codecvt": "cpp",
"compare": "cpp",
"complex": "cpp",
"concepts": "cpp",
"condition_variable": "cpp",
"csignal": "cpp",
"cstdarg": "cpp",
"cstddef": "cpp",
"cstdint": "cpp",
"cstdio": "cpp",
"cstdlib": "cpp",
"cstring": "cpp",
"ctime": "cpp",
"cwchar": "cpp",
"cwctype": "cpp",
"deque": "cpp",
"exception": "cpp",
"forward_list": "cpp",
"fstream": "cpp",
"future": "cpp",
"initializer_list": "cpp",
"iomanip": "cpp",
"ios": "cpp",
"iosfwd": "cpp",
"iostream": "cpp",
"istream": "cpp",
"limits": "cpp",
"list": "cpp",
"locale": "cpp",
"map": "cpp",
"memory": "cpp",
"mutex": "cpp",
"new": "cpp",
"numeric": "cpp",
"ostream": "cpp",
"queue": "cpp",
"random": "cpp",
"ratio": "cpp",
"regex": "cpp",
"set": "cpp",
"span": "cpp",
"sstream": "cpp",
"stack": "cpp",
"stdexcept": "cpp",
"streambuf": "cpp",
"string": "cpp",
"string_view": "cpp",
"strstream": "cpp",
"system_error": "cpp",
"tuple": "cpp",
"type_traits": "cpp",
"typeinfo": "cpp",
"unordered_map": "cpp",
"unordered_set": "cpp",
"valarray": "cpp",
"variant": "cpp",
"vector": "cpp",
"algorithm": "cpp",
"filesystem": "cpp",
"memory_resource": "cpp",
"bit": "cpp",
"charconv": "cpp",
"format": "cpp",
"functional": "cpp",
"iterator": "cpp",
"utility": "cpp",
"__assert": "cpp",
"*.inc": "cpp",
"__verbose_abort": "cpp",
"*.def": "cpp",
"*.hpp11": "cpp",
"__functional_base": "cpp",
"shared_mutex": "cpp",
"coroutine": "cpp",
"hash_map": "cpp",
"hash_set": "cpp",
"thread": "cpp",
"propagate_const": "cpp",
"*.gen": "cpp",
"simd": "cpp",
"barrier": "cpp",
"cuchar": "cpp",
"latch": "cpp",
"numbers": "cpp",
"scoped_allocator": "cpp",
"semaphore": "cpp",
"typeindex": "cpp",
"__std_stream": "cpp",
"*.ipp": "cpp",
"csetjmp": "cpp",
"cfenv": "cpp"
},
"C_Cpp.default.includePath": [
"${default}",
"${workspaceFolder}/..",
"${workspaceFolder}",
],
"dotnet.defaultSolution": "disable",
"dart.showTodos": false,
"testMate.cpp.test.advancedExecutables": [
{
"name": "impeller_unittests_arm64",
"pattern": "../out/host_debug_unopt_arm64/impeller_unittests",
"runTask": {
"before": [
"impeller_unittests_arm64"
]
},
"gtest": {
"prependTestRunningArgs": [
"--enable_playground"
]
}
}
],
"testMate.cpp.debug.configTemplate": {
"type": "cppvsdbg",
"linux": {
"type": "cppdbg",
"MIMode": "gdb"
},
"darwin": {
"type": "cppdbg",
"MIMode": "lldb",
"setupCommands": [
{
"description": "Source map",
"text": "settings set target.source-map \"flutter/\" \"${workspaceFolder}\"",
"ignoreFailures": false
}
],
},
"win32": {
"type": "cppvsdbg"
},
"program": "${exec}",
"args": "${argsArray}",
"cwd": "${cwd}",
"env": "${envObj}",
"environment": "${envObjArray}",
"sourceFileMap": "${sourceFileMapObj}",
}
},
"tasks": {
"version": "2.0.0",
"tasks": [
{
"label": "impeller_unittests_arm64",
"type": "shell",
"command": "./flutter/bin/et",
"args": [
"build",
"-c",
"host_debug_unopt_arm64",
"//flutter/impeller:impeller_unittests"
],
"options": {
"cwd": "${workspaceFolder}/.."
},
"problemMatcher": [
"$gcc"
],
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared",
"clear": true
},
"group": {
"kind": "build",
}
}
]
},
"extensions": {
"recommendations": [
// C++ TestMate
"matepek.vscode-catch2-test-adapter",
// Uses github-styled markdown preview, which supports more features than the default markdown preview.
"bierner.github-markdown-preview",
// Flutter and Dart extensions.
"Dart-Code.dart-code",
// Supports C/C++ in the engine.
// See https://github.com/flutter/engine/blob/main/docs/contributing/Setting-up-the-Engine-development-environment.md#vscode-with-cc-intellisense-cc
"llvm-vs-code-extensions.vscode-clangd",
// Auto-formats C/C++ code.
// https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#cc
"xaver.clang-format",
]
},
"launch": {
"version": "0.2.0",
"configurations": [
{
"name": "impeller_unittests_arm64",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/../out/host_debug_unopt_arm64/impeller_unittests",
"args": [
"--enable_playground",
],
"stopAtEntry": false,
"cwd": "${workspaceFolder}/../out/host_debug_unopt_arm64",
"environment": [],
"externalConsole": false,
"MIMode": "lldb",
"setupCommands": [
{
"description": "Enable pretty-printing for lldb",
"text": "settings set target.pretty-printing true",
"ignoreFailures": true
},
{
"description": "Source map",
"text": "settings set target.source-map \"flutter/\" \"${workspaceFolder}\"",
"ignoreFailures": false
}
],
"preLaunchTask": "impeller_unittests_arm64",
}
],
"compounds": []
}
}
25 changes: 25 additions & 0 deletions tools/json_injector/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# json_injector

## Description

This is a tool to manipulate json files. It's main purpose is to reduce
redundancy in VSCode workspaces.

It can inject missing keys from one json file into another, treat List\<Map\>s as
Maps for the purpose of merging and apply templates.

## Usage

The following invocation will update //engine.code-workspace, injecting the json
data from `injectors/engine.code-workspace` and also applying the templates at
`./injectors/engine-templates.json`. List\<Map\>s who have the key named
'label' will be treated as Maps whose key is "label".

```shell
dart run bin/main.dart \
--input ~/dev/engine/src/flutter/engine.code-workspace \
--injector injectors/engine.code-workspace \
--output ~/dev/engine/src/flutter/engine.code-workspace \
--name-key label \
--templates injectors/engine-templates.json
```
Loading