A Rust crate for working with Apple's .pbxproj format.
Installation
Add a dependency on serde-pbx
.
[]
= "0.1"
Usage
Build up your .pbxproj in code! Each call to add_object
returns the ID of the newly-created object, for referencing in downstream steps.
use ;
let mut project = default;
// let's add a built file to this project
let main_swift = project.add_object;
let main_swift_build = project.add_object;
let source_build = project.add_object;
// NB: we have to do lots more stuff in between here - .pbxproj files typically aren't small!
// now, let's finalise this with a project
let debug_project_build = project.add_object;
let project_build_configuration_list = project.add_object;
let project_id = project.add_object;
// and then remember to set the root object too!
project.set_root_object;
let pbx_string = to_string;
write.expect;