Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c575f083 authored by Colin Cross's avatar Colin Cross Committed by android-build-merger
Browse files

Add OutputPath.ReplaceExtension() am: 8854a5a8 am: 7e071999

am: 99c844b3

Change-Id: I7aec1ef6ac6c511a6b2be6665da80d8b8b42ab62
parents 927d5d07 99c844b3
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -697,6 +697,16 @@ func (p OutputPath) Join(ctx PathContext, paths ...string) OutputPath {
	return p.withRel(path)
}

// ReplaceExtension creates a new OutputPath with the extension replaced with ext.
func (p OutputPath) ReplaceExtension(ctx PathContext, ext string) OutputPath {
	if strings.Contains(ext, "/") {
		reportPathErrorf(ctx, "extension %q cannot contain /", ext)
	}
	ret := PathForOutput(ctx, pathtools.ReplaceExtension(p.path, ext))
	ret.rel = p.rel
	return ret
}

// PathForIntermediates returns an OutputPath representing the top-level
// intermediates directory.
func PathForIntermediates(ctx PathContext, paths ...string) OutputPath {
+12 −0
Original line number Diff line number Diff line
@@ -691,3 +691,15 @@ func TestPathForSource(t *testing.T) {
		})
	}
}

func ExampleOutputPath_ReplaceExtension() {
	ctx := &configErrorWrapper{
		config: TestConfig("out", nil),
	}
	p := PathForOutput(ctx, "system/framework/boot.art")
	p2 := p.ReplaceExtension(ctx, "oat")
	fmt.Println(p, p2)

	// Output:
	// out/system/framework/boot.art out/system/framework/boot.oat
}