Feedback on Átila's Vision for D

Atila Neves atila.neves at
Wed Oct 30 14:01:06 UTC 2019

On Wednesday, 30 October 2019 at 12:11:12 UTC, Andre Pany wrote:
> On Monday, 21 October 2019 at 09:45:08 UTC, Jacob Carlborg 
> wrote:
>> On Friday, 18 October 2019 at 16:07:43 UTC, Atila Neves wrote:
>>> [...]
>> Dub needs a Git tag and it needs to follow semantic 
>> versioning, otherwise Dub will ignore it. The tags for the 
>> compiler do not follow semantic versioning. There's no 
>> technical reason. It's just that the compiler releases doesn't 
>> follow the semantic versioning model. Any release can break 
>> anything, basically.
>> I suggested a workaround until the compiler properly follows 
>> the semantic versioning model. Which is to add two tags for 
>> each new release. One that we already add today. The other one 
>> would be explicitly intended only for the library and would be 
>> `0.x.0` and we increment `x` by one for each release. Since 
>> the `0.x.y` versions have special meaning, it's for the 
>> initial development. Semantic versioning says:
>> "Anything MAY change at any time. The public API SHOULD NOT be 
>> considered stable."
>> Nothing happened with that with that suggestion.
>> --
>> /Jacob Carlborg
> Officially, yes, dub relies on git tags. Unofficially you can 
> set the version attribute in dub.json / dub.sdl.
> This works quite well in my scenario, where the build system 
> needs to know the version of the package and in a later step 
> will create itself the git tag.
> Kind regards
> Andre

Weirdly enough dub writes out a dub.json (even if the original 
was dub.sdl) in the ~/.dub folder it downloads the package into, 
adding to it a version tag even if not present in the original. 
It never occurred to me that one could add it to get the version, 
but I wonder how the repository deals with that.

More information about the Digitalmars-d mailing list