List samples = [ "security/keystore/BasicAndroidKeyStore", "connectivity/sync/BasicSyncAdapter", "connectivity/network/NetworkConnect", "connectivity/network/BasicNetworking", "connectivity/bluetooth/BluetoothLeGatt", "content/multiuser/AppRestrictions", "content/contacts/BasicContactables", "content/documentsUi/StorageClient", "content/documentsUi/StorageProvider", "views/TextLinkify", "input/gestures/BasicGestureDetect", "input/multitouch/BasicMultitouch", "testing/ActivityInstrumentation", "media/MediaRecorder", "media/BasicMediaRouter", "media/BasicMediaDecoder", "ui/holo/BorderlessButtons", "ui/accessibility/BasicAccessibility", "ui/lists/CustomChoiceList", "ui/views/TextSwitcher", "ui/views/HorizontalPaging", "ui/actionbarcompat/ActionBarCompat-Basic", "ui/actionbarcompat/ActionBarCompat-Styled", "ui/actionbarcompat/ActionBarCompat-ListPopupMenu", "notification/BasicNotifications", "notification/CustomNotifications", "ui/actionbar/DoneBar", "ui/graphics/PdfRendererBasic", "ui/window/BasicImmersiveMode", "ui/window/AdvancedImmersiveMode", "ui/window/ImmersiveMode", "background/alarms/RepeatingAlarm", "renderScript/BasicRenderScript", "renderScript/RenderScriptIntrinsic", "ui/views/SlidingTabs/SlidingTabsBasic", "ui/views/SlidingTabs/SlidingTabsColors", "connectivity/nfc/BeamLargeFiles", "connectivity/nfc/CardEmulation", "connectivity/nfc/CardReader", "sensors/BatchStepSensor", "ui/graphics/DisplayingBitmaps", "ui/transition/BasicTransition", "ui/transition/CustomTransition", "ui/views/SwipeRefreshLayout/SwipeRefreshLayoutBasic", "ui/views/SwipeRefreshLayout/SwipeRefreshListFragment", "ui/views/SwipeRefreshLayout/SwipeRefreshMultipleViews", "media/MediaBrowserService", "media/MediaRouter", "media/MediaEffects", "admin/BasicManagedProfile", "media/Camera2Basic", "media/Camera2Video", "ui/activityscenetransition/ActivitySceneTransitionBasic", "ui/views/NavigationDrawer", "ui/views/Elevation/ElevationBasic", "ui/views/Elevation/ElevationDrag", "ui/views/Clipping/ClippingBasic", "ui/views/FloatingActionButton/FloatingActionButtonBasic", "ui/views/RevealEffect/RevealEffectBasic", "background/JobScheduler", "ui/views/RecyclerView", "ui/views/CardView", "notification/LNotifications", "notification/MessagingService", "ui/DrawableTinting", "ui/Interpolator", "media/HdrViewfinder", "ui/activitytasks/DocumentCentricApps", "ui/activitytasks/DocumentCentricRelinquishIdentity", "admin/AppRestrictionEnforcer", "admin/AppRestrictionSchema", "connectivity/bluetooth/BluetoothChat", "wearable/wear/AgendaData", "wearable/wear/DataLayer", "wearable/wear/DelayedConfirmation", "wearable/wear/ElizaChat", "wearable/wear/FindMyPhone", "wearable/wear/Flashlight", "wearable/wear/Geofencing", "wearable/wear/GridViewPager", "wearable/wear/JumpingJack", "wearable/wear/Notifications", "wearable/wear/Quiz", "wearable/wear/RecipeAssistant", "wearable/wear/SkeletonWearableApp", "wearable/wear/SpeedTracker", "wearable/wear/SynchronizedNotifications", "wearable/wear/Timer", "wearable/wear/WatchViewStub", "wearable/wear/WatchFace", "content/webview/PermissionRequest", "content/documentsUi/DirectorySelection", "system/AppUsageStatistics", "media/ScreenCapture", "admin/NfcProvisioning", "admin/DeviceOwner", "wearable/wear/XYZTouristAttractions", "connectivity/bluetooth/BluetoothAdvertisements", "wearable/wear/AlwaysOn", "security/ConfirmCredential", "security/FingerprintDialog", "system/RuntimePermissions", "system/RuntimePermissionsBasic", "wearable/wear/RuntimePermissionsWear", "notification/ActiveNotifications", "media/Camera2Raw", "content/AutoBackupForApps", "ui/window/MultiWindowPlayground", "content/documentsUi/ScopedDirectoryAccess", "security/DirectBoot", "content/DirectShare", "media/MidiScope", "media/MidiSynth", "security/AsymmetricFingerprintDialog", "wearable/wear/WearSpeakerSample", "wearable/wear/WearDrawers", "ui/window/DragAndDropAcrossApps", "wearable/wear/WearNotifications", "system/AppShortcuts", "input/keyboard/CommitContentSampleApp", "input/keyboard/CommitContentSampleIME", "content/ShareActionProvider", "wearable/wear/WearVerifyRemoteApp", "wearable/wear/WearHighBandwidthNetworking", "content/documentsUi/ContentProviderPaging", "notification/NotificationChannels", "media/PictureInPicture", "input/autofill/AutofillFramework", "views/EmojiCompat", "ui/fonts/DownloadableFonts", "wearable/wear/WearComplicationProvidersTestSuite", ] List taskNames = [ "clean", "refresh", "assembleDebug", "build", "check", "connectedCheck", "deviceCheck", "emitAnt", "emitGradle", "emitBrowseable", "emitGradleZip", ] taskNames.each { taskName -> def task = project.hasProperty(taskName) ? project.tasks[taskName] : project.task(taskName) println task samples.each { sample -> File sampleDir = new File(sample) task.dependsOn project.task([type: GradleBuild], "${sample}_${taskName}", { buildFile = "${sample}/build.gradle" dir = sample tasks = [taskName] }) } }