text: #!/usr/bin/env python
  # Copyright 2019 The Flutter Authors. All rights reserved.
  # Use of this source code is governed by a BSD-style license that can be
  # found in the LICENSE file.
  
  import argparse
  import os
  import sys
  import json
  
  THIS_DIR = os.path.abspath(os.path.dirname(__file__))
  
  # The template for the POM file.
  POM_FILE_CONTENT = '''<?xml version="1.0" encoding="UTF-8"?>
  <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <modelVersion>4.0.0</modelVersion>
    <groupId>io.flutter</groupId>
    <artifactId>{0}</artifactId>
    <version>{1}</version>
    <packaging>jar</packaging>
    <dependencies>
      {2}
    </dependencies>
  </project>
  '''
  
  POM_DEPENDENCY = '''
      <dependency>
        <groupId>{0}</groupId>
        <artifactId>{1}</artifactId>
        <version>{2}</version>
        <scope>compile</scope>
      </dependency>
  '''
  
  def main():
    with open (os.path.join(THIS_DIR, 'files.json')) as f:
      dependencies = json.load(f)
  
    parser = argparse.ArgumentParser(description='Generate the POM file for the engine artifacts')
    parser.add_argument('--engine-artifact-id', type=str, required=True,
                        help='The artifact id. e.g. android_arm_release')
    parser.add_argument('--engine-version', type=str, required=True,
                        help='The engine commit hash')
    parser.add_argument('--destination', type=str, required=True,
                        help='The destination directory absolute path')
    parser.add_argument('--include-embedding-dependencies', type=bool,
                        help='Include the dependencies for the embedding')
  
    args = parser.parse_args()
    engine_artifact_id = args.engine_artifact_id
    engine_version = args.engine_version
    artifact_version = '1.0.0-' + engine_version
    out_file_name = '%s.pom' % engine_artifact_id
  
    pom_dependencies = ''
    if args.include_embedding_dependencies:
      for dependency in dependencies:
        if not dependency['provides']:
          # Don't include transitive dependencies since they aren't used by the embedding.
          continue
        group_id, artifact_id, version = dependency['maven_dependency'].split(':')
        pom_dependencies += POM_DEPENDENCY.format(group_id, artifact_id, version)
  
    # Write the POM file.
    with open(os.path.join(args.destination, out_file_name), 'w') as f:
      f.write(POM_FILE_CONTENT.format(engine_artifact_id, artifact_version, pom_dependencies))
  
  if __name__ == '__main__':
    sys.exit(main())
  