[Cuis] Cuis-Features

Ken Dickey Ken.Dickey at whidbey.com
Fri Jul 5 17:50:24 CDT 2013


On Fri, 05 Jul 2013 14:26:15 -0300
Juan Vuletich <juan at jvuletich.org> wrote:


> Cuis doesn't follow Semantic Versioning. 
...
> But I think we can agree on using "semantic versioning" like 
> version.revision numbers for packages and Features. Then we'd only 
> indicate dependence on version number (not revision).

I see.  So requirements would not use revisions.  OK by me.

> > Many packages are/will-be simple and requiring revision 0 is fine forever, but some will be complex enough that revision matters.  [IMHO]
> 
> Mhhh. Not sure. To me, asking for SomeFeature-1.0 is not the same as 
> asking for SomeFeature-1.*, as the former is a specific release while 
> the latter matches a whole series.

The prototype code just has version as equal-or-less and revision as equal-or-more.  So a revision of 0 is a * but without the cost of pattern matching.  For me, revision 0 means any revision greater than or equal to zero.

I see that this is not clear from the interface. 

> > The constructors could certainly have short forms with the obvious default(s).  I would expect the following to be the same invocation:
> >
> >    (Feature named: #Sound) require.
> >    (Feature named: #Sound version: 1) require.
> >    (Feature named: #Sound version: 1 revision: 0) require.
> 
> No, to me, default is nil or *, i.e. "anyone will do", while 1 or 0 are 
> specific.

I think I see where you may be heading.

Perhaps using the current interface for fixed (equality) requirement and better naming for ranges:

  (Feature named: #MrCool version: 2) "versionEqualTo:"
  (Feature named: #MsCool versionRange: 1 to: 3)
  (Feature named: #TooCool version: 3 revisionAtOrAbove: 15)
  (Feature named: #ImCoolToo versionRange: 3 to: 4 revisionAtOrAbove: 15)

The idea being to avoid the need for a pattern language for version/revision specs and hide the details in the implementation.

This would certainly be a more useful/clear interface.  

Hey, I would be less confused. ;^)

Cheers,
-KenD
-- 
Ken [dot] Dickey [at] whidbey [dot] com




More information about the Cuis mailing list