Introduce PublishDocsRules (Part1)

So we can build docs from already released artifacts; also it allow us
to create config for different subprojects etc

Test: ./gradlew publicDocsTask
Change-Id: I09fc7364747fdf184db31a262493b9a070686674
diff --git a/docs-fake/build.gradle b/docs-fake/build.gradle
new file mode 100644
index 0000000..cb5b1c1
--- /dev/null
+++ b/docs-fake/build.gradle
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+plugins {
+    id("SupportAndroidTestAppPlugin")
+}
+
+// replace all tests etc with empty task, so we don't run anything
+// it is more effective then task.enabled = false, because we avoid executing deps as well
+def reentrance = false
+project.tasks.whenTaskAdded { task ->
+    if (task instanceof org.gradle.api.tasks.testing.Test || task.name.startsWith("assemble")) {
+        if (!reentrance) {
+            reentrance = true
+            project.tasks.replace(task.name)
+            reentrance = false
+        }
+    }
+}
+
+android {
+    sourceSets {
+        main {
+            manifest.srcFile "AndroidManifest.xml"
+        }
+    }
+    flavorDimensions("library-group")
+}
+
+
+supportTestApp {
+    minSdkVersion = 'P'
+}
\ No newline at end of file