summaryrefslogtreecommitdiff
path: root/android/paths.go
diff options
context:
space:
mode:
Diffstat (limited to 'android/paths.go')
-rw-r--r--android/paths.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/android/paths.go b/android/paths.go
index 024432eae..c841372dc 100644
--- a/android/paths.go
+++ b/android/paths.go
@@ -118,6 +118,9 @@ type Path interface {
type WritablePath interface {
Path
+ // return the path to the build directory.
+ buildDir() string
+
// the writablePath method doesn't directly do anything,
// but it allows a struct to distinguish between whether or not it implements the WritablePath interface
writablePath()
@@ -848,7 +851,12 @@ func (p OutputPath) WithoutRel() OutputPath {
return p
}
+func (p OutputPath) buildDir() string {
+ return p.config.buildDir
+}
+
var _ Path = OutputPath{}
+var _ WritablePath = OutputPath{}
// PathForOutput joins the provided paths and returns an OutputPath that is
// validated to not escape the build dir.
@@ -1151,6 +1159,13 @@ type InstallPath struct {
baseDir string // "../" for Make paths to convert "out/soong" to "out", "" for Soong paths
}
+func (p InstallPath) buildDir() string {
+ return p.config.buildDir
+}
+
+var _ Path = InstallPath{}
+var _ WritablePath = InstallPath{}
+
func (p InstallPath) writablePath() {}
func (p InstallPath) String() string {
@@ -1302,6 +1317,10 @@ type PhonyPath struct {
func (p PhonyPath) writablePath() {}
+func (p PhonyPath) buildDir() string {
+ return p.config.buildDir
+}
+
var _ Path = PhonyPath{}
var _ WritablePath = PhonyPath{}