use explicit versions for flatfoot

This CL moves flatfoot libs to 1.0.0 if SL depends on them.
Also generated the api.txt for these libraries.

Bug: 65022193
Bug: 36069458
Test: checked generated zip file
Change-Id: I405d939e3d0b335a17bbed02eab1792ab6516612
diff --git a/app-toolkit/init.gradle b/app-toolkit/init.gradle
index e476129..aeb9718 100644
--- a/app-toolkit/init.gradle
+++ b/app-toolkit/init.gradle
@@ -84,7 +84,7 @@
 def zipFlatfootDocsTask = rootProject.tasks.create(name : "createFlatfootDocsArchive", type : Zip) {
     from rootProject.docsDir
     destinationDir distDir
-    baseName = String.format("flatfoot-docs-%s", LibraryVersions.FLATFOOT.toString())
+    baseName = "flatfoot-docs"
 }
 
 buildServerAnchorTask.dependsOn zipFlatfootDocsTask
@@ -110,16 +110,17 @@
         return
     }
 
-    def mavenGroup = project.getPath().split(":")[1]
+    def projectPath = project.getPath().split(":")
+    def mavenGroup = projectPath[1]
     def finalGroup = rootProject.flatfootProjectGroups[mavenGroup]
 
     if (finalGroup == null) {
         return
     }
-    project.group = finalGroup
-    if (!project.version) {
-        project.version = LibraryVersions.FLATFOOT.toString()
+    if (projectPath.size() == 2) {// root project.
+        return
     }
+    project.group = finalGroup
 
     if (project.getPath().contains("integration-tests")) {
         // disable upload tasks
@@ -128,6 +129,21 @@
                 task.enabled = false
             }
         }
+    } else {
+        def checkApi = project.tasks.create("checkVersion") {
+            doFirst {
+                if (project.version == null
+                        || project.version == LibraryVersions.SUPPORT_LIBRARY.toString()) {
+                    throw new GradleException("bad version for $project with $project.version")
+                }
+            }
+        }
+
+        project.tasks.whenTaskAdded { task ->
+            if (task instanceof Upload) {
+                task.dependsOn checkApi
+            }
+        }
     }
 
     project.plugins.whenPluginAdded { plugin ->