1313# See the License for the specific language governing permissions and
1414# limitations under the License.
1515# ==============================================================================
16- """Generate TensorFlow Lite Java reference docs for TensorFlow.org."""
16+ """Generate TensorFlow Java reference docs for TensorFlow.org."""
1717from __future__ import absolute_import
1818from __future__ import division
1919from __future__ import print_function
2020
2121import pathlib
2222import shutil
2323import tempfile
24+ from git import Repo
2425
2526from absl import app
2627from absl import flags
2728
2829from tensorflow_docs .api_generator import gen_java
2930
3031FLAGS = flags .FLAGS
32+ NDARRAY_VERSION = 'v1.0.0'
3133
3234# These flags are required by infrastructure, not all of them are used.
3335flags .DEFINE_string ('output_dir' , '/tmp/java_api/' ,
4850TOOLS_DIR = pathlib .Path (__file__ ).resolve ().parent
4951REPO_ROOT = TOOLS_DIR .parent
5052
53+
54+ def checkout_ndarray ():
55+ repo_url = 'https://github.com/tensorflow/java-ndarray'
56+ local_repo_path = REPO_ROOT / 'ndarray'
57+ if not pathlib .Path (local_repo_path ).exists ():
58+ local_repo = Repo .clone_from (repo_url , local_repo_path )
59+ else :
60+ local_repo = Repo (local_repo_path )
61+ local_repo .remotes ['origin' ].fetch ()
62+ local_repo .git .checkout (NDARRAY_VERSION )
63+
64+
5165def overlay (from_root , to_root ):
5266 for from_path in pathlib .Path (from_root ).rglob ('*' ):
5367 relpath = from_path .relative_to (from_root )
@@ -58,24 +72,28 @@ def overlay(from_root, to_root):
5872 else :
5973 to_path .mkdir (exist_ok = True )
6074
75+
6176def main (unused_argv ):
77+ checkout_ndarray ()
6278 merged_source = pathlib .Path (tempfile .mkdtemp ())
6379 (merged_source / 'java/org' ).mkdir (parents = True )
6480
65- shutil .copytree (REPO_ROOT / 'tensorflow-core/tensorflow-core-api/src/main/java/org/tensorflow/' ,
66- merged_source / 'java/org/tensorflow' )
67- overlay (REPO_ROOT / 'tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow' ,
68- merged_source / 'java/org/tensorflow' )
69- shutil .copytree (REPO_ROOT / 'tensorflow-framework/src/main/java/org/tensorflow/framework' ,
70- merged_source / 'java/org/tensorflow/framework' )
71- shutil .copytree (REPO_ROOT / 'ndarray/src/main/java/org/tensorflow/ndarray' ,
72- merged_source / 'java/org/tensorflow/ndarray' )
81+ shutil .copytree (REPO_ROOT / 'tensorflow-core/tensorflow-core-api/src/main/java/org/tensorflow/' , merged_source / 'java/org/tensorflow' )
82+ overlay (REPO_ROOT / 'tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow' , merged_source / 'java/org/tensorflow' )
83+ shutil .copytree (REPO_ROOT / 'tensorflow-core/tensorflow-core-native/src/gen/java/org/tensorflow/proto' , merged_source / 'java/org/tensorflow/proto' )
84+ shutil .copytree (REPO_ROOT / 'tensorflow-core/tensorflow-core-native/src/main/java/org/tensorflow/exceptions' , merged_source / 'java/org/tensorflow/exceptions' )
85+ shutil .copytree (REPO_ROOT / 'tensorflow-core/tensorflow-core-native/src/gen/java/org/tensorflow/internal/c_api' , merged_source / 'java/org/tensorflow/internal/c_api' )
86+ shutil .copytree (REPO_ROOT / 'tensorflow-framework/src/main/java/org/tensorflow/framework' , merged_source / 'java/org/tensorflow/framework' )
87+ shutil .copytree (REPO_ROOT / 'ndarray/ndarray/src/main/java/org/tensorflow/ndarray' , merged_source / 'java/org/tensorflow/ndarray' )
7388
7489 gen_java .gen_java_docs (
7590 package = 'org.tensorflow' ,
7691 source_path = merged_source / 'java' ,
7792 output_dir = pathlib .Path (FLAGS .output_dir ),
78- site_path = pathlib .Path (FLAGS .site_path ))
93+ site_path = pathlib .Path (FLAGS .site_path ),
94+ # Uncomment for local testing:
95+ # script_path=pathlib.Path(REPO_ROOT/'tools/run-javadoc-for-tf-local.sh'),
96+ )
7997
8098
8199if __name__ == '__main__' :
0 commit comments