| List<String> 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", |
| ] |
| |
| List<String> 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] |
| }) |
| } |
| } |