1*6777b538SAndroid Build Coastguard Worker# Copyright 2024 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Worker"""Top-level presubmit for //third_party/rust 6*6777b538SAndroid Build Coastguard Worker 7*6777b538SAndroid Build Coastguard WorkerSee https://www.chromium.org/developers/how-tos/depottools/presubmit-scripts 8*6777b538SAndroid Build Coastguard Workerfor more details about the presubmit API built into depot_tools. 9*6777b538SAndroid Build Coastguard Worker""" 10*6777b538SAndroid Build Coastguard Worker 11*6777b538SAndroid Build Coastguard WorkerPRESUBMIT_VERSION = '2.0.0' 12*6777b538SAndroid Build Coastguard Worker 13*6777b538SAndroid Build Coastguard Workerdef CheckCargoVet(input_api, output_api): 14*6777b538SAndroid Build Coastguard Worker vet_args = ['check'] 15*6777b538SAndroid Build Coastguard Worker 16*6777b538SAndroid Build Coastguard Worker # Hermetic and idempotent. 17*6777b538SAndroid Build Coastguard Worker vet_args += ['--locked', '--frozen', '--no-minimize-exemptions'] 18*6777b538SAndroid Build Coastguard Worker 19*6777b538SAndroid Build Coastguard Worker run_cargo_vet_path = input_api.os_path.join( 20*6777b538SAndroid Build Coastguard Worker input_api.PresubmitLocalPath(), 21*6777b538SAndroid Build Coastguard Worker '..', '..', 'tools', 'crates', 'run_cargo_vet.py') 22*6777b538SAndroid Build Coastguard Worker cmd_name = '//tools/crates/run_cargo_vet.py check' 23*6777b538SAndroid Build Coastguard Worker test_cmd = input_api.Command( 24*6777b538SAndroid Build Coastguard Worker name=cmd_name, 25*6777b538SAndroid Build Coastguard Worker cmd=[input_api.python3_executable, run_cargo_vet_path] + vet_args, 26*6777b538SAndroid Build Coastguard Worker kwargs={}, 27*6777b538SAndroid Build Coastguard Worker message=output_api.PresubmitPromptWarning) 28*6777b538SAndroid Build Coastguard Worker if input_api.verbose: 29*6777b538SAndroid Build Coastguard Worker print('Running ' + cmd_name) 30*6777b538SAndroid Build Coastguard Worker return input_api.RunTests([test_cmd]) 31*6777b538SAndroid Build Coastguard Worker 32