mojohaus/xml-maven-plugin

Add "catalogHandling" setting on all mojo

rosslamont opened this issue · 10 comments

This particularly relates to catalogs, but could be broadened.

The current implementation will attempt to resolve a schema by catalogue if one is specified, but if that fails, then it will attempt the original URL. Because that often is a network access, then the build can become exposed to a source of non-determinism.

A strict flag would require that if a catalog where used, then urls not found in the catalog would result in an error.

Patches welcome.

@jochenw, thanks for merging all my other changes.

I'll have a go at this in a couple of weeks when the kids are back at school, then perhaps I can ask for a release?

I'd like to see this one going in first, because catalog resolving has always been an issue.

I'm not sure what the feature should be called - "strict" was simply a starting point, but I think we should use something more specific. Ideas? I'm thinking "net-isolated", but I don't like that much either.

Suggestion: Option name="catalogHandling", possible values="open" (Use catalog, if possible, but enable collecting to the net, default), or "binding" (Catalog is mandatory, connecting to the net is unsupported).

Nice to have: Specifying catalog entries from the POM.

I like that approach, what if the values were "pass-through" (or "passThrough") and "strict".

We could also have "local" which allows file: urls to be resolved. Overkill?

As long as that's not the default: Okay.

Not sure why this is still open - it should have auto-closed with the PR. I'll close it in a few days if there are no comments.

Comments can be added later, so lets close it now. Thank you!