/yaml-vfs

A gem which can gen VFS YAML file.

Primary LanguageObjective-CMIT LicenseMIT

yaml-vfs

License MIT 

A gem which can gen VFS YAML file.

vfs yamlwriter lets you create clang opt "-ivfsoverlay" ymal file, map virtual path to real path.

  • ✅ It can gen VFS YAML.

Installation

Add this line to your application's Gemfile:

gem 'yaml-vfs'

And then execute:

# bundle install
$ bundle install

Or install it yourself as:

# gem install
$ gem install yaml-vfs

Usage

The command should be executed when your want VFS YAML file.

# write the VFS YAML file to --output-path=<path>
$ vfs yamlwriter --framework-path=<path> --real-headers-dir=<path> --real-modules-dir=<path> --output-path=<path>

# write the VFS YAML file to .
$ vfs yamlwriter --framework-path=<path> --real-headers-dir=<path> --real-modules-dir=<path>

Option && Flags

Usage:

  • vfs yamlwriter --framework-path --real-headers-dir --real-modules-dir [--output-path]

Options:

  • --framework-path=<path>: framework path
  • --real-headers-dir=<path>: real header path
  • --real-modules-dir=<path>: real modules path
  • --output-path=<path>: vfs yaml file output path

Quickstart

To begin gen an yaml VFS file start by create an FileCollector:

require 'yaml_vfs'
modules = ['./module.modulemap', './module.private.modulemap']
headers_path = ['./A.h', './B.h']
vfs = VFS::FileCollector.new('./A.framework', modules, headers_path)
vfs.write_mapping('./vfs_yaml_output_path')

or set use path:

require 'yaml_vfs'
modules = ['./module.modulemap', './module.private.modulemap']
headers_path = ['./A.h', './B.h']
vfs = VFS::FileCollector.new_from_real_headers_dir('./A.framework', './module_path', './headers')
vfs.write_mapping('./vfs_yaml_output_path')

Command Line Tool

Installing the 'yaml-vfs' gem will also install two command-line tool vfs which you can use to generate VFS YAML file.

For more information consult vfs --help or vfs yamlwriter --help.

Contributing

Bug reports and pull requests are welcome on GitHub at yaml-vfs. This project is intended to be a safe, welcoming space for collaboration.

License

The gem is available as open source under the terms of the MIT License.

Code of Conduct

Everyone interacting in the yaml-vfs project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.