-
Notifications
You must be signed in to change notification settings - Fork 21
Expand file tree
/
Copy pathrepo.toml
More file actions
289 lines (242 loc) · 10.9 KB
/
Copy pathrepo.toml
File metadata and controls
289 lines (242 loc) · 10.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
# SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: LicenseRef-NvidiaProprietary
#
# NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
# property and proprietary rights in and to this material, related
# documentation and any modifications thereto. Any use, reproduction,
# disclosure or distribution of this material and related documentation
# without an express license agreement from NVIDIA CORPORATION or
# its affiliates is strictly prohibited.
[repo]
# Use the Kit Template repo configuration as a base. Only override things specific to the repo.
import_configs = [
"${root}/_repo/deps/repo_kit_tools/kit-template/repo.toml",
"${root}/_repo/deps/repo_kit_tools/kit-template/repo-external-app.toml",
# Kit-CAE specific schemas
"${root}/repo_schemas.toml",
]
# Repository Name
name = "kit-cae"
[repo_build]
# These are necessary to avoid a repo_build failure where the source/apps directory
# is expected to always exist.
# Also ensure Kit version is selected before fetch (generates required packman XML files).
fetch."platform:linux-x86_64".before_pull_commands = [
["mkdir", "--parents", "${root}/source/apps"],
["${root}/repo.sh", "select_kit_version", "--auto", "--quiet"],
]
# Mute this command, don't emit to console.
# Also ensure Kit version is selected before fetch (generates required packman XML files).
fetch."platform:windows-x86_64".before_pull_commands = [
["powershell", "-Command", "New-Item -ItemType Directory -Path ${root}/source/apps -ErrorAction SilentlyContinue", ";", "Write-Host 'Done'"],
["${root}/repo.bat", "select_kit_version", "--auto", "--quiet"],
]
fetch."token:cache==true".after_pull_commands = []
# List of packman dependency files to pull (in order), with target-platform passed in as a key.
fetch.packman_target_files_to_pull = [
"${root}/tools/deps/kit-sdk.packman.xml",
"${root}/tools/deps/kit-sdk-deps.packman.xml",
"${root}/tools/deps/kit-cae-deps.packman.xml",
]
# Generate schema source code after dependencies are pulled, then run extension precache
# Note: Schema compilation is now handled by premake (via repo_build), so we only generate here
# This replaces the base template's after_pull_commands, so we must include precache_exts
fetch."platform:linux-x86_64".after_pull_commands = [
["${root}/_build/target-deps/python/bin/python3", "${root}/tools/use_local_dependencies.py"],
["${root}/repo.sh", "schema", "-c", "${config}", "--generate-only", "--no-warn"],
["${root}/repo.sh", "precache_exts", "-c", "${config}"],
]
fetch."platform:windows-x86_64".after_pull_commands = [
["${root}/_build/target-deps/python/python.exe", "${root}/tools/use_local_dependencies.py"],
["${root}/repo.bat", "schema", "-c", "${config}", "--generate-only", "--no-warn"],
["${root}/repo.bat", "precache_exts", "-c", "${config}"],
]
[repo_build.build]
enabled = true
[repo_build.post_build]
# Configure plugInfo.json files after build completes
# This must run after premake builds the schemas and copies them to extension directories
"platform:linux-x86_64".commands = [
["${root}/repo.sh", "schema", "-c", "${config}", "--pluginfo-only", "--no-warn"],
]
"platform:windows-x86_64".commands = [
["${root}/repo.bat", "schema", "-c", "${config}", "--pluginfo-only", "--no-warn"],
]
[repo_build.msbuild]
# If set to true will attempt to link to host's Visual Studio and Windows SDK installations.
# This is needed if C++ compilation is needed on Windows, and repo_build.build.enabled is set to true.
link_host_toolchain = true
# Filter on Visual Studio version e.g.: Visual Studio 2022. Empty string will match all years and prioritize the newest.
# You can manually set the version to a specific version e.g "vs2022" or "vs2019".
# Alternatively, you pass it as a command line argument as follows:
# > repo.bat --set-token vs_version=vs2019 build ..., or
# > repo.bat --set-token vs_version=vs2022 build ...
vs_version = ""
"token:vs_version!=null".vs_version = "${vs_version}"
# Visual Studio path; This will be used if the user would like to point to a specific VS installation rather than rely on heuristic locating.
# vs_path = "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\"
# Filter specifically to "Enterprise", "Professional", or "Community" editions of Visual Studio
# vs_edition = "Community"
# Filter by Visual Studio installations that have installed this version of the MSVC compiler.
# msvc_version = "v142"
# Filter by Visual Studio installations that ship with MSBuild of this major version.
# msbuild_version = "17"
# Windows SDK version
# winsdk_version = "10.0.17763.0"
# Windows SDK path; This will prevent needing to dynamically locate an installation by guesswork.
# winsdk_path = "C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.17763.0"
# Disable linbuild until we have a public image available.
[repo_build.docker]
enabled = false
[repo_build.fetch.pip]
# List of pip files to pip install from (in order)
files_to_pull = [
"${root}/tools/deps/pip.toml"
]
# Do not gather Python dependency licenses
# this has to be disabled since it depends on internal tools
licensing_enabled = false
# Do not try to publish a pip cache to S3
publish_pip_cache = false
########################################################################################################################
# Extensions precacher
########################################################################################################################
[repo_precache_exts]
# Extension search folders (extends base template to include Kit-CAE extensions/apps)
ext_folders = [
"${root}/source/extensions",
"${root}/source/legacy_extensions",
"${root}/source/apps",
]
# Apps to run and precache
apps = [
"${root}/source/apps/kit_cae_editor.kit",
"${root}/source/apps/kit_cae_streaming.kit"
]
registries = [
{ name = "kit/default", url = "https://ovextensionsprod.blob.core.windows.net/exts/kit/prod/${kit_version_major}/shared" },
{ name = "kit/sdk", url = "https://ovextensionsprod.blob.core.windows.net/exts/kit/prod/sdk/${kit_version_short}/${kit_git_hash}" },
]
########################################################################################################################
# Packaging
########################################################################################################################
[repo_package.packages.fat_package]
root = "_build/$${platform}/$${config}"
archive_name = "${conf:repo.name}-fat"
# omniverse_flow_version_scheme sets package name to the format:
# archive_name@{build_version}+{gitbranch}.{builder_id}.{githash}.{build_environment}.{host_platform}.{archive_format}
# e.g. kit-cae-thin@2024.1.0+custom-app-stuff.0.12345678.local.linux-x86_64.zip
omniverse_flow_version_scheme=true
package_per_config = true # By default we only build + package release.
append_config = true # Set to true to append release/debug config to package name.
archive_format = "zip" # We support "7z", "zip", "tar.gz", "tar.bz2"
windows_max_path_length = 0
files = [
["**"],
]
files_exclude = [
["_*/**"],
[".*/**"],
["**/*.pdb"],
["**/*.exp"],
["baseapp/**"],
["extsbuild/**"],
["schemas/**"],
["cache/**"],
["data/**"],
["logs/**"],
["apps/kit.portable"],
["**/__pycache__"],
["**/_repo/**"],
]
"linux-x86_64".files_strip = []
[repo_package.packages.thin_package]
root = "_build/$${platform}/$${config}"
archive_name = "${conf:repo.name}-thin"
omniverse_flow_version_scheme=true
package_per_config = true
append_config = true
archive_format = "zip"
windows_max_path_length = 0
files = [
["**"],
]
files_exclude = [
["_*/**"],
[".*/**"],
["**/*.pdb"],
["**/*.exp"],
["kit/**"],
["extscache/**"],
["extsbuild/**"],
["baseapp/**"],
["schemas/**"],
["cache/**"],
["data/**"],
["logs/**"],
["apps/kit.portable"],
["**/__pycache__"],
["**/_repo/**"],
["**/pip_prebundle/vtk*"],
["**/pip_prebundle/vtkmodules*"],
["**/pip_prebundle/h5py*"],
["PACKAGE-INFO.yaml"],
]
"linux-x86_64".files_strip = []
########################################################################################################################
# Template tool configuration
########################################################################################################################
[repo_kit_template]
extension_templates_config = "templates/templates.toml"
########################################################################################################################
# Application launching configuration
########################################################################################################################
[repo_launch]
type_ordering = [
"ApplicationTemplate",
"ApplicationLayerTemplate",
]
########################################################################################################################
# Application Launching
########################################################################################################################
[repo_launch_app]
enabled = true
########################################################################################################################
# Application Packaging
########################################################################################################################
[repo_package_app]
enabled = true
########################################################################################################################
# Application Containerization
########################################################################################################################
[repo_kit_package_container]
package_cmd = "_package"
enabled = true
gui_cli = true
auto_generate = true
########################################################################################################################
# Configure tools in repo_cae_tools
########################################################################################################################
[repo_schema]
dependencies_packman_xml = [
# for Kit-SDK itself
"${root}/tools/deps/kit-sdk.packman.xml",
# for schema generation dependencies
"${root}/tools/deps/kit-sdk-schema-deps.packman.xml",
]
[repo_pip_download]
requirements_files = [
"${root}/tools/deps/requirements.txt",
]
# Kit Version Configuration Tool
# Override any of these settings to customize paths for your repository.
# See tools/repo_cae_tools/repo_tools.toml for detailed documentation of each option.
[repo_select_kit_version]
enabled = true
# Uncomment and customize these paths if defaults don't match your repository structure:
# versions_config_file = "${root}/tools/kit-versions.json"
# tracking_file = "${root}/.kit_selection.json"
[repo_precompile_kernels]
enabled = true
devices = ["cuda", "cpu"]
json = "${root}/aot_config.json"