Dependencies.vala 1.2 KB

1234567891011121314151617181920
  1. using Invercargill;
  2. namespace Usm {
  3. public class Dependencies {
  4. public Set<ResourceRef> runtime { get; set; }
  5. public Set<ResourceRef> build { get; set; }
  6. public Set<ResourceRef> manage { get; set; }
  7. public Set<ResourceRef>? acquire { get; set; }
  8. public static PropertyMapper<Dependencies> get_mapper() {
  9. return PropertyMapper.build_for<Dependencies>(cfg => {
  10. cfg.map_many<string>("runtime", o => o.runtime.select<string>(i => i.to_string()), (o, v) => o.runtime = v.convert<ResourceRef>(i => new ResourceRef(i)).to_set());
  11. cfg.map_many<string>("build", o => o.build.select<string>(i => i.to_string()), (o, v) => o.build = v.convert<ResourceRef>(i => new ResourceRef(i)).to_set());
  12. cfg.map_many<string>("manage", o => o.manage.select<string>(i => i.to_string()), (o, v) => o.manage = v.convert<ResourceRef>(i => new ResourceRef(i)).to_set());
  13. cfg.map_many<string>("acquire", o => o.manage.select<string>(i => i.to_string()), (o, v) => o.manage = v.convert<ResourceRef>(i => new ResourceRef(i)).to_set(), false);
  14. cfg.set_constructor(() => new Dependencies());
  15. });
  16. }
  17. }
  18. }