diff options
author | 2018-06-13 04:54:12 -0700 | |
---|---|---|
committer | 2018-06-13 04:55:07 -0700 | |
commit | 8f5b096c0aeef427c08398e6c3ecf8befec7fded (patch) | |
tree | 5437902ea618fb273e0f589df9711d66301a2e0f /src/main/java/com/google/devtools/build/lib/rules/cpp | |
parent | 6c282b9ec2d2b11108b038e8551f26fa961c0538 (diff) |
Return Strings from C++ Skylark APIs, not PathFragments
PathFragments are not well supported in Skylark, quite the opposite, the Skylark
team tries hard to not use path fragments if possible. All existing users I
looked into had to convert the PathFragment to string using str() anyway.
Because of that this cl should not break anybody.
RELNOTES: None.
PiperOrigin-RevId: 200372447
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java index 5143691164..615193d837 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java @@ -45,8 +45,7 @@ import javax.annotation.Nullable; /** Information about a C++ compiler used by the <code>cc_*</code> rules. */ @Immutable @AutoCodec -public final class CcToolchainProvider extends ToolchainInfo - implements CcToolchainProviderApi<PathFragment> { +public final class CcToolchainProvider extends ToolchainInfo implements CcToolchainProviderApi { public static final String SKYLARK_NAME = "CcToolchainInfo"; /** An empty toolchain to be returned in the error case (instead of null). */ @@ -289,6 +288,13 @@ public final class CcToolchainProvider extends ToolchainInfo } @Override + public ImmutableList<String> getBuiltInIncludeDirectoriesAsStrings() { + return builtInIncludeDirectories + .stream() + .map(PathFragment::getSafePathString) + .collect(ImmutableList.toImmutableList()); + } + public ImmutableList<PathFragment> getBuiltInIncludeDirectories() { return builtInIncludeDirectories; } @@ -582,8 +588,8 @@ public final class CcToolchainProvider extends ToolchainInfo } @Override - public PathFragment getSysroot() { - return sysroot; + public String getSysroot() { + return sysroot != null ? sysroot.getPathString() : null; } /** |