Building android_device will build all the partitions

Test: CI and unit tests.
Bug: 388341885
Change-Id: Ieb8f8b611b4770d589f095a1d0cc3db314edd103
diff --git a/filesystem/android_device.go b/filesystem/android_device.go
index 19e93ae..758c79e 100644
--- a/filesystem/android_device.go
+++ b/filesystem/android_device.go
@@ -86,6 +86,25 @@
 
 func (a *androidDevice) GenerateAndroidBuildActions(ctx android.ModuleContext) {
 	a.buildTargetFilesZip(ctx)
+	var deps []android.Path
+	ctx.VisitDirectDepsWithTag(filesystemDepTag, func(m android.Module) {
+		imageOutput, ok := android.OtherModuleProvider(ctx, m, android.OutputFilesProvider)
+		if !ok {
+			ctx.ModuleErrorf("Partition module %s doesn't set OutputfilesProvider", m.Name())
+		}
+		if len(imageOutput.DefaultOutputFiles) != 1 {
+			ctx.ModuleErrorf("Partition module %s should provide exact 1 output file", m.Name())
+		}
+		deps = append(deps, imageOutput.DefaultOutputFiles[0])
+	})
+	out := android.PathForModuleOut(ctx, "out")
+	ctx.Build(pctx, android.BuildParams{
+		Rule:      android.Touch,
+		Output:    out,
+		Implicits: deps,
+	})
+	ctx.SetOutputFiles(android.Paths{out}, "")
+	ctx.CheckbuildFile(out)
 }
 
 func (a *androidDevice) buildTargetFilesZip(ctx android.ModuleContext) {