On Sun, Mar 24, 2019 at 2:40 AM Rob Wilton (rwilton) <[email protected]>
wrote:

> Hi Andy,
>
>
>
> Yes we are currently implementing the module version field, although that
> may change depending on what different the final solution ends up being.
>
>
>
> Support for import-by-version is less critical for us, and hence
> implementation would lag.
>
>
>
> In terms of the issue that you raise:
>
> -        I would expect that a compiler that understands semver to
> preload the semver extension, possibly allow with other common YANG type
> files, extensions).
>
> -        For a compile that doesn’t understand semver then it would just
> ignore the extension, which should be fine.
>
>
>

Try to find even 1 compiler in the world that works this way.
Yes you can specially hack the extension implementation as if it were a
built-in keyword.

I agree that it would be nice if this extension was part of the core YANG
> language, but I don’t think that is necessarily required.
>
>
>

I don't think any of semver is required for anything.
IMO it provides a minor improvement to  people familiar with the
MAJOR.MINOR.PATCH numbering.
This improvement is lost as soon as extra letters are added and the string
is no longer familiar.

Import-by-semver seems like it is part of the base module (no if-feature on
the extension-stmt is even possible)
so skipping the implementation of it needs a deviation (oh wait, YANG 1.1
can't do that either).


Thanks,
>
> Rob
>
>
Andy


>
>
>
>
> *From:* netmod <[email protected]> *On Behalf Of *Andy Bierman
> *Sent:* 23 March 2019 19:01
> *To:* NetMod WG <[email protected]>
> *Subject:* [netmod] import-by-semver issue
>
>
>
> Hi,
>
>
>
> I am wondering if there are implementations of this draft:
>
>
>
> https://tools.ietf.org/html/draft-verdt-netmod-yang-semver-00
>
>
>
>
>
> Specifically, implementation of the  'version' extension
>
>
>
> https://tools.ietf.org/html/draft-verdt-netmod-yang-semver-00#section-3
>
>
>
>
>
> IMO it is a really bad idea to put the semantics of how to import modules
>
> in one of the modules that is imported.  Your example shows ietf-semver
>
> imported first with no extension, but it could be last with a version
> extension.
>
>
>
>           // all other imports, then last....
>
>
>
>     import ietf-semver {
>
>       prefix "semver";
>
>       semver:version 1.1.2;
>
>     }
>
>
> Translation unit parsing is something that needs to be built into the
> compiler.
>
> This should be part of YANG 1.2 if it is done.
>
>
>
>   import example-module {
>
>      prefix exmod;
>
>      version 1.2.0+;
>
>    }
>
>
>
> To a compiler writer, the difference is huge. (ietf-semver extensions need
> to
>
> be built-in statements in YANG, at least 'version')
>
>
>
> BTW, all the import examples are missing the mandatory prefix-stmt
>
>
>
>
>
> Andy
>
>
>
_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to