Commit Graph

257 Commits

Author SHA1 Message Date
Ben Langmuir
dbd474ee50 Merge pull request #90 from benlangmuir/perf-slow
Workaround perf test running too many iterations
2019-03-06 18:00:38 -08:00
Ben Langmuir
2b930e512f Workaround perf test running too many iterations 2019-03-06 16:21:50 -08:00
Ben Langmuir
079057f92f Merge pull request #88 from benlangmuir/decency
[editors] Add alternative swift syntax spec to sublime config
swift-DEVELOPMENT-SNAPSHOT-2019-03-04-a
2019-03-01 10:48:16 -08:00
Ben Langmuir
0299247ed1 [editors] Add alternative swift syntax spec to sublime config
This seems to be a commonly used syntax package for swift, so add it to
the config so it will work without troubleshooting.
2019-03-01 10:40:01 -08:00
Ben Langmuir
6a634a0739 Merge pull request #87 from benlangmuir/power
[test] Make swiftpm test robust against host triple differences
2019-03-01 10:11:08 -08:00
Ben Langmuir
59a5bf7468 [test] Make swiftpm test robust against host triple differences
Hardcoding the triples was silly; the only interesting platform
difference is about which parts have a version number on macOS and which
do not.
2019-03-01 09:55:56 -08:00
Mishal Shah
9f044b9ed6 Merge pull request #85 from benlangmuir/undo-optimism
Undo optimisim around requiring clangd during testing
swift-DEVELOPMENT-SNAPSHOT-2019-02-26-a swift-DEVELOPMENT-SNAPSHOT-2019-02-19-a
2019-02-15 18:52:18 -08:00
Ben Langmuir
4ee3761892 Undo optimisim around requiring clangd during testing
While the toolchains build clangd now, not all the bots are building it,
so we cannot require it yet.
2019-02-15 18:35:54 -08:00
Ben Langmuir
5c0ac9dff8 Merge pull request #84 from benlangmuir/tcup
Update recommended toolchain to 2019-02-14-a
2019-02-15 18:02:53 -08:00
Ben Langmuir
3b8aec62b6 [swiftpm] Update to latest master 2019-02-15 17:57:27 -08:00
Ben Langmuir
48b602e6c9 Update status of clangd in the toolchain
We have clangd in the toolchain now, and it's sufficient to pass our
minimal tests.  Unfortunately it's hitting frequent assertion failures
during editing, so not marking as supported yet.
2019-02-15 17:49:38 -08:00
Ben Langmuir
3fd959a881 Update recommended toolchain to 2019-02-14-a 2019-02-15 17:49:27 -08:00
Ben Langmuir
0d3d9ac004 Merge pull request #83 from benlangmuir/static
[swiftpm] Statically link to libSwiftPM
swift-DEVELOPMENT-SNAPSHOT-2019-02-14-a
2019-02-06 14:48:35 -08:00
Ben Langmuir
986d058e8e [swiftpm] Statically link to libSwiftPM
Switch to using the swiftpm library with automatic linkage, which in
practice means we will statically link to libSwiftPM using the standard
build. This change allows us to install the sourcekit-lsp binary without
also installing a copy of libSwiftPM.dylib (and since swiftpm isn't
using a stable ABI we couldn't share that with anything). Previously
this was blocked by conflicts between the llvm code in llbuild and in
indexstore-db, but this has been resolved.
2019-02-06 13:52:07 -08:00
Ben Langmuir
6825e99f23 [swiftpm] Update to latest master 2019-02-06 13:51:42 -08:00
Ben Langmuir
0b48baf5dd [indexstore-db] Update to latest master 2019-02-06 13:40:27 -08:00
Ben Langmuir
160bcaa312 Merge pull request #82 from benlangmuir/measure-less
[test] Disable another `measure` method missed previously on Linux
2019-02-04 14:41:24 -08:00
Ben Langmuir
9914ae44e6 [test] Disable another measure method missed previously on Linux
On macOS since there is an override, both `measure` methods funnel
through one entry point, but on other platforms they are not `open`, so
we need to shadow all of them.
2019-02-04 14:33:11 -08:00
Ben Langmuir
64194770ac Merge pull request #81 from benlangmuir/describe-path
Use AbsolutePath.pathString instead of description
2019-02-01 18:08:15 -08:00
Ben Langmuir
77351820ce Use AbsolutePath.pathString instead of description
Per review feedback; pathString is semantically the string we want,
while description is for creating a human-readable string.
2019-02-01 18:05:11 -08:00
Ben Langmuir
0b368e778a Merge pull request #80 from benlangmuir/update-swiftpm
[swiftpm] Update to latest master
2019-02-01 16:50:59 -08:00
Ben Langmuir
7f697fa14a [swiftpm] Update to latest master
* import Utility -> import SPMUtility
* AbsolutePath.asString -> path.description or "\(path)"
2019-02-01 16:47:04 -08:00
Ben Langmuir
1ee87626aa Merge pull request #79 from benlangmuir/cli-rejection
Reject unknown command-line argument values
2019-02-01 10:50:36 -08:00
Ben Langmuir
7586ffa2e7 Parity between SOURCEKIT_LOGGING and --log-level
* Allow overly large numerical values in --log-level
* Allow setting level by string (e.g. "debug") in env var
2019-02-01 10:22:04 -08:00
Ben Langmuir
d8ff528925 Make --log-level option reject unknown values
Don't silently fallback to the default value. Incidentally, parse
numerical log levels in addition to strings.
2019-02-01 10:22:04 -08:00
Ben Langmuir
93dc6a4328 [support] Split LogLevel into its own file
It's starting to accumulate conformances that are distracting from the
rest of the logging code.
2019-02-01 10:22:04 -08:00
Ben Langmuir
90bb0ff2db Make --configuration option reject unknown values
Don't just silently fallback to .debug if it's unknown.
2019-02-01 10:22:03 -08:00
Ben Langmuir
67e4e996fe Merge pull request #78 from benlangmuir/fix-build-path-config-better
Change configuration build path to be absolute
2019-02-01 09:56:45 -08:00
Ben Langmuir
eba9508fb7 [test] Add a test for BuildSetup 2019-02-01 09:40:39 -08:00
Ben Langmuir
80951b9e67 Change configuration build path to be absolute
While specifying the build path relative to something might be a useful
idea in principle, we would need a clearer story for how it is specified
and resolved. When passing a path to a command-line argument, it should
be resolved relative to the CWD, not to the package root by default.
Incidentally, it doesn't really make sense to have a global default,
since different build systems are likely to want different defaults. For
now, simplify this configuration to an optional absolute path (passing a
relative path on the command line will resolve relative to the CWD).
Each build system can interpret `nil` as its preferred default.
2019-02-01 09:05:24 -08:00
Ben Langmuir
8b69fad8af Remove unnecessary Foundation imports 2019-02-01 08:44:45 -08:00
Ben Langmuir
5873380d04 Merge pull request #77 from benlangmuir/unbreak-default-build-dir
Fix relative path assertion failure
2019-01-31 20:01:37 -08:00
Ben Langmuir
7f9ecbb97a Fix relative path assertion failure
This isn't a full fix (we should handle this more gracefully in
general), but at least the default value will work now.
2019-01-31 18:30:33 -08:00
Ben Langmuir
76d7a2caf5 Merge pull request #65 from krzyzanowskim/cli-arguments
Command line arguments
2019-01-30 11:55:41 -08:00
Marcin Krzyzanowski
17e82ff1be 2 spaces indent. 2019-01-30 20:43:00 +01:00
Marcin Krzyzanowski
1ce580352b Puts parsing errors to stderr 2019-01-30 20:38:47 +01:00
Marcin Krzyzanowski
fd4d495aba Build flag parse only the next argument and append all values together 2019-01-30 19:42:50 +01:00
Marcin Krzyzanowski
b5e3f5f733 Log error and exit(1) on parse errors 2019-01-30 19:36:40 +01:00
Ben Langmuir
8017a633ff Merge pull request #75 from benlangmuir/perfkill
[test] Disable performance metrics unless ENABLE_PERF_TESTS is defined
2019-01-23 16:34:39 -08:00
Ben Langmuir
e47c7db081 [test] Disable performance metrics unless ENABLE_PERF_TESTS is defined
When running in debug, or in continuous integration that is not setup
for performance testing, default to not collecting performance metrics
to avoid failures due to slow or high-variability tests (default
max_stddev = 10% in xctest). Instead, run the measured block once and
skip the timing code. This has the nice side effect of speeding up test
runs in debug builds.
2019-01-23 16:25:50 -08:00
Ben Langmuir
e8909fd9b4 Merge pull request #74 from benlangmuir/depsup
Update dependencies to latest master
2019-01-23 11:34:31 -08:00
Ben Langmuir
fadc5f100e Merge pull request #73 from benlangmuir/tc-plus-plus
Update recommended toolchain to 2019-01-22-a
2019-01-23 11:34:18 -08:00
Ben Langmuir
b1342ab69c Update dependencies to latest master 2019-01-23 11:20:48 -08:00
Ben Langmuir
af05e94bb0 [test] Update generated files with new toolchain 2019-01-23 11:17:16 -08:00
Ben Langmuir
bd0f4a08ee Update recommended toolchain to 2019-01-22-a 2019-01-23 11:14:03 -08:00
Ben Langmuir
bf42a68ea9 Merge pull request #67 from DavidGoldman/master
Allow multiple Xcode toolchains in the registry
2019-01-22 11:16:13 -08:00
David Goldman
6c93c92f4d Allow multiple Xcode toolchains in the registry
1) Toolchain ID is no longer unique; XcodeDefault toolchains may be
   registered multiple times as long as their path is different
   (e.g. different Xcode versions). At the moment no other toolchain
   may be duplicated.
2) `BuildSystem` specifies a `Toolchain` directly instead of a
   Toolchain identifier.
3) New methods to access Toolchains in the registry:
   - All toolchain(s) with the given identifier
   - Toolchain (if any) for the given path
2019-01-22 14:12:50 -05:00
Ben Langmuir
ed5575bfd4 Merge pull request #71 from benlangmuir/build-script-helper
[build-script] Add build-script-helper.py
2019-01-17 16:40:00 -08:00
Ben Langmuir
1daaa24275 [build-script] Add build-script-helper.py
This is a lightweight wrapper for `swift build` and `swift test` to
facilitate building indexstore-db along with a swift toolchain using the
swift `build-script`.
2019-01-17 16:32:21 -08:00
Ben Langmuir
7a1448d2ed [test] Do not overwrite SOURCEKIT_TOOLCHAIN_PATH during tests
We want this to be available for setting the toolchain to test with, so
use a different variable name for testing env-variable checking.
2019-01-15 14:27:28 -08:00