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",
"ui/actionbarcompat/ActionBarCompat-ShareActionProvider",
"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/CardEmulation",
"connectivity/nfc/CardReader",
"sensors/BatchStepSensor",
"ui/graphics/DisplayingBitmaps",
"ui/transition/AdapterTransition",
"ui/transition/BasicTransition",
"ui/transition/CustomTransition",
"ui/transition/FragmentTransition",
"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/EmbeddedApp",
"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",
]

List<String> taskNames = [
    "clean",
    "refresh",
    "build",
    "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]
        })
    }
}

