-
Notifications
You must be signed in to change notification settings - Fork 252
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ensure that all post-build checks have skip policies. #1405
Open
BillyONeal
wants to merge
5
commits into
microsoft:main
Choose a base branch
from
BillyONeal:policy-all-checks
base: main
Could not load branches
Branch not found: {{ refName }}
Could not load tags
Nothing to show
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Depends on microsoft/vcpkg#38629 Depends on microsoft/vcpkg-docs#319 Also audited for: * Consistently following the 'IDE error format' pointing to portfile.cmake. * Consistently referring to the correct skip policy in the error message where applicable. * Printing paths and other information relative to ${CURRENT_PACKAGES_DIR} or similar as appropriate. * Debug before release. * Don't duplicate messages when a problem happens for both debug and release. Drive by bugfix: if (!build_info.policies.is_enabled(BuildPolicy::ONLY_RELEASE_CRT)) { error_count += check_crt_linkage_of_libs( build_info, false, debug_libs, debug_lib_info.value_or_exit(VCPKG_LINE_INFO), msg_sink); } was wrong; ONLY_RELEASE_CRT should mean 'these should all be release', not 'we aren't even going to look at debug'. It is fixed to: error_count += check_crt_linkage_of_libs(build_info.crt_linkage, build_info.policies.is_enabled(BuildPolicy::ONLY_RELEASE_CRT), debug_libs, debug_lib_info.value_or_exit(VCPKG_LINE_INFO), msg_sink); here. Drive-by bugfix: EMPTY_INCLUDE_FOLDER should not block CMAKE_HELPER_PORT from checking that the include folder is, in fact, empty. Drive-by bugfix: if (!violations.empty()) { msg_sink.println_warning(msgPortBugRestrictedHeaderPaths); print_paths(msg_sink, violations); msg_sink.println(msgPortBugRestrictedHeaderPaths); // <-- duplicate! return LintStatus::PROBLEM_DETECTED; } Drive-by bugfix: There were duplicate checks for the lib/cmake and debug/lib/cmake directories which even printed the same message; these have been merged. Drive-by bugfix: The existing copyright check emitted nonsense output that included full absolute paths like: warning: The software license must be available at ${CURRENT_PACKAGES_DIR}/share/cmdline/copyright. vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/D:/b/cmdline//LICENSE") since at least microsoft#1116 That check has been basically rewritten to use vcpkg_install_copyright if there's only one src directory, and otherwise give up and print them all Drive-by bugfix: Several of the outdated CRTs didn't have the debug versions listed. Also, P was duplicated and there was no R for VC6. Drive-by bugfix: https://github.com/microsoft/vcpkg-tool/pull/1368/files#diff-9a4355abe0b8aae1ff2cd6cc86c0e4ce6bc4e6b7c469eb41332da0325cd20c88R984 broke usage text for header-only libs by adding an extra paren.
BillyONeal
added a commit
to LilyWangLL/vcpkg-tool
that referenced
this pull request
May 14, 2024
BillyONeal
added a commit
that referenced
this pull request
May 14, 2024
* Fix wrong Header-only usage message * Cherry pick tests from #1405 --------- Co-authored-by: Lily Wang <v-lilywang@microsoft.com> Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Depends on microsoft/vcpkg#38629Depends on microsoft/vcpkg-docs#319Also audited for:
portfile.cmake
.${CURRENT_PACKAGES_DIR}
or similar as appropriate.Drive by bugfix:
was wrong;
ONLY_RELEASE_CRT
should mean 'these should all be release', not 'we aren't even going to look at debug'.It is fixed to:
here.
Drive-by bugfix:
EMPTY_INCLUDE_FOLDER
should not blockCMAKE_HELPER_PORT
from checking that the include folder is, in fact, empty.Drive-by bugfix:
Drive-by bugfix:
There were duplicate checks for the
lib/cmake
anddebug/lib/cmake
directories which even printed the same message; these have been merged.Drive-by bugfix:
The existing copyright check emitted nonsense output that included full absolute paths like:
warning: The software license must be available at ${CURRENT_PACKAGES_DIR}/share/cmdline/copyright. vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/D:/b/cmdline//LICENSE")
since at least #1116 That check has been basically rewritten to use
vcpkg_install_copyright
if there's only one src directory, and otherwise give up and print them allDrive-by bugfix:
Several of the outdated CRTs didn't have the debug versions listed. Also, P was duplicated and there was no R for VC6.
Drive-by bugfix:This was merged in #1403https://github.com/microsoft/vcpkg-tool/pull/1368/files#diff-9a4355abe0b8aae1ff2cd6cc86c0e4ce6bc4e6b7c469eb41332da0325cd20c88R984 broke usage text for header-only libs by adding an extra paren.