@NotNull @Override public <P extends JpsElementProperties> JpsModuleSourceRoot addSourceRoot( @NotNull JpsModuleSourceRootType<P> rootType, @NotNull String url, @NotNull P properties) { final JpsModuleSourceRootImpl root = new JpsModuleSourceRootImpl(url, rootType); myContainer.getChild(JpsModuleSourceRootKind.ROOT_COLLECTION_KIND).addChild(root); root.setProperties(rootType, properties); return root; }
@Override public void removeSourceRoot(@NotNull JpsModuleSourceRootType rootType, @NotNull String url) { final JpsElementCollectionImpl<JpsModuleSourceRootImpl> roots = myContainer.getChild(JpsModuleSourceRootKind.ROOT_COLLECTION_KIND); for (JpsModuleSourceRootImpl root : roots.getElements()) { if (root.getRootType().equals(rootType) && root.getUrl().equals(url)) { roots.removeChild(root); break; } } }