Merge "Allocate OutputPath.String in PathForOutput" am: 041ac6f2ce

Change-Id: I5b6ebdb4807101e2ad9358e3b62b0ced2d896b4b
This commit is contained in:
Automerger Merge Worker
2020-01-30 18:11:45 +00:00

View File

@@ -843,10 +843,12 @@ func (p SourcePath) OverlayPath(ctx ModuleContext, path Path) OptionalPath {
// OutputPath is a Path representing an intermediates file path rooted from the build directory // OutputPath is a Path representing an intermediates file path rooted from the build directory
type OutputPath struct { type OutputPath struct {
basePath basePath
fullPath string
} }
func (p OutputPath) withRel(rel string) OutputPath { func (p OutputPath) withRel(rel string) OutputPath {
p.basePath = p.basePath.withRel(rel) p.basePath = p.basePath.withRel(rel)
p.fullPath = filepath.Join(p.fullPath, rel)
return p return p
} }
@@ -870,7 +872,9 @@ func PathForOutput(ctx PathContext, pathComponents ...string) OutputPath {
if err != nil { if err != nil {
reportPathError(ctx, err) reportPathError(ctx, err)
} }
return OutputPath{basePath{path, ctx.Config(), ""}} fullPath := filepath.Join(ctx.Config().buildDir, path)
path = fullPath[len(fullPath)-len(path):]
return OutputPath{basePath{path, ctx.Config(), ""}, fullPath}
} }
// PathsForOutput returns Paths rooted from buildDir // PathsForOutput returns Paths rooted from buildDir
@@ -885,7 +889,7 @@ func PathsForOutput(ctx PathContext, paths []string) WritablePaths {
func (p OutputPath) writablePath() {} func (p OutputPath) writablePath() {}
func (p OutputPath) String() string { func (p OutputPath) String() string {
return filepath.Join(p.config.buildDir, p.path) return p.fullPath
} }
// Join creates a new OutputPath with paths... joined with the current path. The // Join creates a new OutputPath with paths... joined with the current path. The