lidavidm commented on a change in pull request #125:
URL: https://github.com/apache/arrow-cookbook/pull/125#discussion_r788059313



##########
File path: java/ext/javadoctest.py
##########
@@ -0,0 +1,57 @@
+import subprocess
+import os
+from sphinx.ext.doctest import TestcodeDirective, TestoutputDirective, 
DocTestBuilder, Any, Dict, doctest, sphinx
+from sphinx.locale import __
+from subprocess import Popen, PIPE
+
+class JavaDocTestBuilder(DocTestBuilder):
+    """
+    Runs java test snippets in the documentation.
+    """
+    name = 'javadoctest'
+    epilog = __('Java testing of doctests in the sources finished, look at the 
'
+                'results in %(outdir)s/output.txt.')
+    def compile(self, code: str, name: str, type: str, flags: Any, 
dont_inherit: bool) -> Any:
+        # go to project that contains all your arrow maven dependencies
+        dir_arrow_maven_project = 
os.path.dirname(os.getcwd())+'/java/source/demo'
+
+        # create list of all arrow jar dependencies
+        proc_mvn_dependency = subprocess.Popen(['mvn', '-q', 
'dependency:build-classpath', '-DincludeTypes=jar', 
'-Dmdep.outputFile=.cp.tmp'], cwd=dir_arrow_maven_project, 
stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
+        stdout_mvn, stderr_mvn = proc_mvn_dependency.communicate()
+        if not os.path.exists(dir_arrow_maven_project + '/.cp.tmp'):

Review comment:
       Sounds good.
   
   We don't really care about the stderr, stdout here it seems, so it seems we 
can just use `subprocess.run` instead to be more concise. Or otherwise, we 
should raise an error that includes the stdout/stderr for debugging.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to