`update` and `require` properties for AA

Jacob Carlborg doob at me.com
Wed Jun 27 13:41:46 UTC 2018


On 2018-06-27 01:22, Seb wrote:
> On Tuesday, 26 June 2018 at 17:12:37 UTC, H. S. Teoh wrote:
>> On Tue, Jun 26, 2018 at 12:54:11PM -0400, Steven Schveighoffer via
>> Digitalmars-d wrote: [...]
>>> 1. The dlang.org repository is backwards -- master generates the docs
>>> for the default dlang.org. I've brought this up before, still don't
>>> understand why we don't use stable for the latest dlang.org.
>>
>> Probably because we want to keep phobos-prerelease up-to-date with git
>> master?
>
> FWIW the docs in the release archives are built from stable.
> The reason is that both stable _and_ master are built on dlang.org, so
> historically no one was interested in doing release management for the
> docs.
>
>> The only sane way to do this IMO is to make the dlang.org makefiles
>> generate multiple versions of the docs, thereby acting as the
>> authoritative source for all dlang.org pages.
>
> It already takes 20 minutes to do a full build of all dlang.org HTML pages.
> Doing it for old versions is a REALLY bad idea as you are susceptible to
> - more random failures (e.g. DUB registry being down)
> - it will take hours for each build
> - it won't be possible to do it in a CI for each PR due to the large
> time required, which means the deployment could be broken without us
> knowing
> - resources might be offline or change (e.g. currently it fetches the
> RSS from the DBlog for the frontpage indexes, this already broke the
> build a few times)
> - building all versions will fail due to newer dependencies or OS-level
> changes (e.g. -fPIC, glibc changes, ...)

An alternative would be to specify for each symbol when it was 
introduced. A simple way would be to just add it to the documentation. 
Or it could be added as a UDA, this would be more flexible. If the 
current docs now which version itself is it could add an option to 
filter out symbols for a given version.

Having it as a UDA could also give other future advantages. For example, 
when building applications on macOS, Apple recommends always using the 
latest SDK even when deploying to older version of the OS. Symbols are 
annotated with in which version of the OS they were introduced. Then the 
compiler will give an error/warning if using a symbol without the proper 
guards and deploying to an older version of the OS. Not sure if this 
would be interesting to us but it shows using a UDA could have advantages.

-- 
/Jacob Carlborg


More information about the Digitalmars-d mailing list