Summary:
When editing swift source files, if no change is made to the public API, an incremental build of that module and dependent modules is quick. But if an edit is made that causes a build failure, the next successful build will rebuild dependent modules.
Steps to Reproduce:
Download and unpack the attached source attached here as a convenience, or download it from GitHub https://github.com/omnigroup/OmniGroup as of d714561.
Open OmniGroup/Workspaces/OmniFrameworks.xcworkspace
Select the Mac Frameworks scheme and My Mac, and build
Open OBLogger.swift
Make a valid, non-API changing edit. For example, duplicate the one line in OBLogS.
Build again
Switch to the Report navigator and show all messages from the build. Note that only one file was compiled (a few other things were copied)
Insert an invalid line in OBLogS; I just added "x"
Build again and hit the expected failure
Remove the invalid line and build again
Switch to the Report navigator and show all messages from the build.
Note that many, many files are built.
In particular, note these extra build steps have happened:
Description
Summary: When editing swift source files, if no change is made to the public API, an incremental build of that module and dependent modules is quick. But if an edit is made that causes a build failure, the next successful build will rebuild dependent modules.
Steps to Reproduce:
OBLogS
.OBLogS
; I just added "x"In particular, note these extra build steps have happened:
Copy OmniBase.swiftdoc Copy OmniBase.swiftmodule Copy OmniBase-Swift.h
Expected Results:
Actual Results:
Version/Build: Xcode 10.2.1 (10E1001)
Configuration: macOS 10.14.5 (18F132)
- Product Version: 10.2.1 Created: 2019-05-24T18:01:44.693985 Originated: 2019-05-24T10:57:00 Open Radar Link: http://www.openradar.me/51113246