generate_jars_for_test.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import os
  2. import subprocess
  3. import sys
  4. """Generate JARs used to test the java_prebuilt rule."""
  5. chip_root = os.getenv('PW_PROJECT_ROOT')
  6. test_dir = chip_root + '/build/chip/java/tests'
  7. tmp_dir = '/tmp/chip_java_build_test'
  8. def generateJar(source_file, output_name):
  9. tmp_classes_dir = tmp_dir + '/classes'
  10. os.makedirs(tmp_dir, exist_ok=True)
  11. os.makedirs(tmp_dir + '/classes', exist_ok=True)
  12. javac_runner_command = [
  13. 'python3',
  14. chip_root + '/build/chip/java/javac_runner.py',
  15. '--classdir',
  16. tmp_classes_dir,
  17. '--outfile',
  18. tmp_dir + '/prebuilt_jar.classlist',
  19. '--build-config',
  20. test_dir + '/empty_build_config.json',
  21. '--',
  22. '-d',
  23. tmp_classes_dir,
  24. source_file,
  25. ]
  26. subprocess.check_call(javac_runner_command)
  27. jar_runner_command = [
  28. 'python3',
  29. chip_root + '/build/chip/java/jar_runner.py',
  30. 'cf',
  31. test_dir + '/' + output_name,
  32. '-C',
  33. tmp_classes_dir,
  34. '.',
  35. ]
  36. subprocess.check_call(jar_runner_command)
  37. def main():
  38. generateJar(test_dir + '/IncludedInJar.java', 'prebuilt_jar.jar')
  39. generateJar(test_dir + '/IncludedInChildJar.java', 'child_jar.jar')
  40. if __name__ == '__main__':
  41. sys.exit(main())