Xi Ge
e937184b99
swift-api-checker.py: add framework search path for XCTest
2020-04-03 16:32:00 -07:00
Xi Ge
419b14772c
swift-api-checker.py: add -swift-only flag when checking ABI stability
...
The existing logic of ABI checking only works for Swift symbols. We need to
add this flag so the script can work with Swift overlays.
rdar://60786484
2020-04-03 16:24:05 -07:00
Xi Ge
0aea09fa14
ABI checker: remove assert-only decls from the generated stdlib ABI baseline
...
rdar://59772479
2020-03-02 14:01:53 -08:00
Xi Ge
71a73a9551
test: update ABI/API baselines for stdlib
2020-02-24 12:23:24 -08:00
Jordan Rose
998d2ed739
[CMake] Include API checker nil baseline even when not building all ( #27098 )
2019-09-10 09:26:26 -07:00
Xi Ge
75b3dfb865
cmake: using PROGRAMS instead of providing permission bits for swift-api-checker.py
2019-09-06 17:14:49 -07:00
Xi Ge
1d5aaa8509
cmake: ensure swift-api-dhecker.py is executable in the toolchain
2019-09-06 14:52:29 -07:00
Xi Ge
d8b611d060
ABI/API checker: teach the tool to diagnose against a builtin empty baseline
...
Framework authors may be interested in comparing the current framework build
against an empty baseline to find public APIs without @available attributes. This
change makes such exercise easier.
2019-09-04 11:07:39 -07:00
Xi Ge
115569f0de
swift-api-checker.py: introduce a sub directory under framework name for ABI baselines
...
In case we need to also include framework API baselines in the future, we should have
an additional layer of directory for ABI baseline files.
2019-09-03 10:50:13 -07:00
Xi Ge
cc6a246deb
Revert "Revert "swift-api-digester: teach the tool to find framework-specific baselines from relative path""
2019-09-01 09:19:43 -07:00
eeckstein
63a3cee0bf
Revert "swift-api-digester: teach the tool to find framework-specific baselines from relative path"
2019-09-01 09:51:06 +02:00
Xi Ge
178e5d5ecf
swift-api-digester: teach the tool to find framework-specific baselines from relative path
...
The framework baselines are installed at 'lib/swift/FrameworkABIBaseline' and the
tool is inside 'bin'. This patch teaches the executable to locate baselines
from the relative path.
In addition, this patch moves the stdlib ABI/API baselines to the canonical
location so we don't have to check the stability of the stdlib using a
different mechanism from other Swift frameworks.
2019-08-30 23:14:03 -07:00
Xi Ge
4f7ade9e8a
cmake: symlink framework ABI baseline data into the build directory
...
When running the ABI checker from the build artifact, the executable
should be able to find baselines in the same relative paths as if
it's running from a toolchain.
2019-08-30 14:44:15 -07:00
Xi Ge
d09329676b
swift-api-checker.py: teach the script to generate target-specific baseline for a single module
...
This allows us to generate baselines for the Swift stdlib using an Xcode release.
2019-08-30 12:42:10 -07:00
Xi Ge
cdd4eed3ea
swift-api-checker.py: remove unnecessary framework search paths
2019-08-26 11:30:53 -07:00
Xi Ge
eab0c55b16
swift-api-checker.py: allow users to specify json file names when dumping framework content
2019-08-26 10:57:58 -07:00
Xi Ge
6e45f89381
cmake: set up installing framework ABI baselines into toolchain
2019-08-22 17:00:29 -07:00
Xi Ge
1857a37e3b
Merge pull request #26773 from nkcsgexi/abort-compiler-error
...
ABI/API checker: abort after error occurs while importing a module
2019-08-21 19:01:55 -07:00
Xi Ge
d4bfae8595
ABI/API checker: abort after error occurs while importing a module
2019-08-21 15:57:39 -07:00
Xi Ge
7a19538cb0
swift-api-checker: pass down --catalyst to infer-imports.py when looking for them
2019-08-21 11:48:10 -07:00
Xi Ge
6562fa47a3
Merge pull request #26748 from nkcsgexi/fixed-modules-swift
...
swift-api-checker: rename existing fixed-module lists to fixed-clang-modules
2019-08-20 16:25:54 -07:00
Xi Ge
362ece8445
swift-api-checker: add support for invoking low-level executable using iosmac target
2019-08-20 15:39:09 -07:00
Xi Ge
d388bac43a
swift-api-checker: rename existing fixed-module lists to fixed-clang-modules
...
This patch also adds fixed-swift-modules to hard-code CreateML, which could
not be found in the regular framework search path.
2019-08-20 12:19:46 -07:00
Xi Ge
756be16664
swift-api-checker: teach infer-imports to find all catalyst-supporting Swift frameworks
2019-08-20 10:51:30 -07:00
Xi Ge
3914452ecf
Revert "Revert "swift-api-checker: update target triples for the tool to use""
2019-08-01 11:48:27 -07:00
Mishal Shah
f4f3113d38
Revert "swift-api-checker: update target triples for the tool to use"
2019-08-01 11:10:31 -07:00
Xi Ge
79554093a4
swift-api-checker: update target triples for the tool to use
2019-07-31 18:13:48 -07:00
Xi Ge
2908c491f6
swift-api-checker: teach the script to collect all frameworks with Swift overlay in SDKs
2019-07-08 13:14:07 -07:00
Xi Ge
5d906e643a
swift-api-checker: teach the script to dump entire SDK content to files separated by modules
2019-07-03 12:56:19 -07:00
Xi Ge
4ac14ea0d5
swift-api-checker: print framework names when diagnosing breakages
2019-06-17 16:19:40 -07:00
Xi Ge
06c958e6af
swift-api-checker: teach the script to collect Swift only frameworks from the SDK.
...
This will only include frameworks like SwiftUI, Combine, etc.
Related: rdar://48456712
2019-06-13 12:36:56 -07:00
Argyrios Kyrtzidis
ea978d9dc3
[api_checker/infer-imports.py] Look for Swift-only frameworks as well
2019-06-12 17:11:44 -07:00
Xi Ge
f5853ba44f
swift-api-digester: avoid adding MissingMemberDecl to the json file
...
We explicitly ignore these ABI placeholders to fix an unreachable hit.
2019-05-22 18:09:42 -07:00
Xi Ge
f7881eed66
cmake: specify only one component toolchain-tools for swift-api-digester
2019-05-14 15:04:11 -07:00
Alex Langford
3d9a28925b
[CMake] Modify swift_install_in_component to support cmake install components
...
CMake supports the notion of installation components. Right now we have some
custom code for supporting swift components. I think that for installation
purposes, it would be nice to use the CMake component system.
This should be a non-functional change. We should still only be generating
install rules for targets and files in components we want to install, and we
still use the install ninja target to install everything.
2019-04-19 14:06:11 -07:00
Xi Ge
f720459b0c
Merge pull request #23664 from nkcsgexi/install-oss-digester
...
cmake: install swift-api-digester and swift-api-checker into the OSS toolchain. SR-10220
2019-03-29 14:26:34 -07:00
Xi Ge
db0f39fc9a
cmake: install swift-api-digester and swift-api-checker into the OSS toolchain. SR-10220
2019-03-29 11:47:17 -07:00
Xi Ge
dc3261f14b
swift-api-checker: avoiding empty file for fixed module list. rdar://49382586
2019-03-28 15:37:21 -07:00
Xi Ge
246bfbcc4c
linting
2019-03-21 20:29:33 -07:00
Xi Ge
80330d6ee4
swift-api-checker: allow the script to take additional flags to pass down to the executable
2019-03-21 17:25:01 -07:00
Xi Ge
c280dab306
Merge pull request #23447 from nkcsgexi/diagnose-api-checker
...
swift-api-checker: teach the script to also diagnose the breakages between two previous dumps
2019-03-20 17:38:46 -07:00
Xi Ge
6a502aaefd
swift-api-checker: allow users to specify the path of a swift-api-digester
2019-03-20 14:49:16 -07:00
Xi Ge
51bd604a1a
swift-api-checker: teach the script to also diagnose the breakages between two previous dumps
2019-03-20 12:26:35 -07:00
Xi Ge
5c0013e371
cmake: install swift-api-checker into the tools component.
2019-03-20 11:24:33 -07:00
Xi Ge
6c0e0ee4f5
utils: add a convenient python wrapper for swift-api-digester
...
Based on the same concept of swift-api-dump, this python wrapper
provides framework authors a convenient way to generate baseline or
diagnose ABI/API breakages from an existing toolchain where it has
swift-api-digester installed.
cmake installation part will be added in a separate PR.
rdar://problem/29649661
2019-03-19 17:48:16 -07:00