digitalmars.D.announce - Vulkan ErupteD breaking changes and transition strategy
- Peter Particle (38/38) Mar 25 2018 ErupteD [0] is deprecated (one of its major modules). The project
- Anton Fediushin (27/67) Mar 26 2018 1. This breaks semver. You shouldn't just use Vulkan's versions.
- Seb (4/17) Mar 26 2018 Also note that SemVer allows to attach meta data:
- Anton Fediushin (4/16) Mar 26 2018 That'll work too, but I'm not sure how dub handles it. Anyway,
- Seb (4/23) Mar 26 2018 It will work fine with dub (it just ignores the meta data).
- ParticlePeter (43/69) Mar 26 2018 First of all, don't worry, don't panic, we will figure it out,
- Anton Fediushin (30/103) Mar 26 2018 After generator is fixed it'll produce new binding which should
- ParticlePeter (55/130) Mar 26 2018 I strongly believe that the generator can be made fail safe, so
- Anton Fediushin (14/54) Mar 26 2018 But then 1.1.71 without `-bugfix.1` will be a binding to vulkan
- ParticlePeter (18/62) Mar 26 2018 Actually, for me it does, afaik we can put whatever into the
- ParticlePeter (9/10) Mar 27 2018 [snip]
ErupteD [0] is deprecated (one of its major modules). The project content is supposed to be replaced completely. Current state was copied into ErupteD-V1 [1] (without deprecation message), neither ErupteD nor ErupteD-V1 will be further developed. The breaking changes and Vulkan 1.1 are implemented in ErupteD-V2 [2]. At some future point ErupteD will be destroyed and recreated with all releases of ErupteD-V2 [3]. Two issues bugged me with the previous design of the binding: 1. versions are not only disconnected from, but also far beyond Vulkan 2. too many dub dependencies - if on windows, than platform foreign ones 1. this is the reason for the involved transition, ErupteD needs to get rid of all releases / version tags to restart with a clean slate. I also extracted the python generator script into its own non-dub project, V-Erupt [5]. It was kind of wired to mix two different purposes into one project version scheme. 2. the new approach does not require dependencies at all (other than phobos / druntime). Platform dependent extensions are implemented in form of a parameterizable mixin template. User is supposed to mix them into his project and take care of the dependencies himself [4]. Platform windows is pre-instantiated, as it relies only on druntime. With this approach dub cache stays clean from foreign platform dependencies and silences version mismatch noise. While at it, I also removed the DerelictUtil dependency and added simple entrypoint loading mechanics. ErupteD-V2 is now fully nothrow nogc and should be -betterC compatible (not tested yet). Moreover, no requirement for dub configurations any more. [0] : https://github.com/ParticlePeter/ErupteD [1] : https://github.com/ParticlePeter/ErupteD-V1 [2] : https://github.com/ParticlePeter/ErupteD-V2 [3] : https://github.com/ParticlePeter/ErupteD-V2#erupted-deprecation-and-upgrade-process [4] : https://github.com/ParticlePeter/ErupteD-V2#platform-extensions [5] : https://github.com/ParticlePeter/V-Erupt
Mar 25 2018
On Sunday, 25 March 2018 at 22:23:06 UTC, Peter Particle wrote:ErupteD [0] is deprecated (one of its major modules). The project content is supposed to be replaced completely. Current state was copied into ErupteD-V1 [1] (without deprecation message), neither ErupteD nor ErupteD-V1 will be further developed. The breaking changes and Vulkan 1.1 are implemented in ErupteD-V2 [2]. At some future point ErupteD will be destroyed and recreated with all releases of ErupteD-V2 [3]. Two issues bugged me with the previous design of the binding: 1. versions are not only disconnected from, but also far beyond Vulkan 2. too many dub dependencies - if on windows, than platform foreign ones 1. this is the reason for the involved transition, ErupteD needs to get rid of all releases / version tags to restart with a clean slate. I also extracted the python generator script into its own non-dub project, V-Erupt [5]. It was kind of wired to mix two different purposes into one project version scheme. 2. the new approach does not require dependencies at all (other than phobos / druntime). Platform dependent extensions are implemented in form of a parameterizable mixin template. User is supposed to mix them into his project and take care of the dependencies himself [4]. Platform windows is pre-instantiated, as it relies only on druntime. With this approach dub cache stays clean from foreign platform dependencies and silences version mismatch noise. While at it, I also removed the DerelictUtil dependency and added simple entrypoint loading mechanics. ErupteD-V2 is now fully nothrow nogc and should be -betterC compatible (not tested yet). Moreover, no requirement for dub configurations any more. [0] : https://github.com/ParticlePeter/ErupteD [1] : https://github.com/ParticlePeter/ErupteD-V1 [2] : https://github.com/ParticlePeter/ErupteD-V2 [3] : https://github.com/ParticlePeter/ErupteD-V2#erupted-deprecation-and-upgrade-process [4] : https://github.com/ParticlePeter/ErupteD-V2#platform-extensions [5] : https://github.com/ParticlePeter/V-Erupt1. This breaks semver. You shouldn't just use Vulkan's versions. If you release 1.0.69 which contains bindings to Vulkan 1.0.69 and there is a bug in the binding which you want to fix, you have to increase PATCH number which results in 1.0.70 which (obviously) is not a binding to Vulkan 1.0.70. Even though you can use PRE-RELEASE part of semver to show users that this is a bugfix release (ie. 1.0.69-bugfix.1) this shouldn't be used because it breaks semver *again* and dub (which follows semver) isn't going to tolerate that. This is a *bad* idea and you shouldn't do that. Just increase MAJOR version and start from there: 2.0.0 - Changing how binding works, Vulkan v1.0.69 2.1.0 - Vulkan 1.0.70 ...And so on. This way semver is followed and you don't have to mess with erupted-v1 and erupted-v2 repos. Also, if you'll stick to your *bad-in-every-way* plan, you *can't* publish erupted-v2 as erupted package on dub registry. You'd have to remove it from registry first, which will break every single package that depends on it. 2. Great! I ended up adding erupted as a git submodule just so I can remove all of the unnecessary dependencies (erupted uses pretty old derelict-util which makes it impossible to use both erupted and last version of derelict-glfw). Erupted-V2 doesn't work for me - when compiling on Linux it fails on some Windows-specific code. I'll open an issue as soon as I get home.
Mar 26 2018
On Monday, 26 March 2018 at 07:04:00 UTC, Anton Fediushin wrote:This is a *bad* idea and you shouldn't do that. Just increase MAJOR version and start from there: 2.0.0 - Changing how binding works, Vulkan v1.0.69 2.1.0 - Vulkan 1.0.70 ...And so on. This way semver is followed and you don't have to mess with erupted-v1 and erupted-v2 repos.Also note that SemVer allows to attach meta data: 2.0.0+1.0.69Build metadata MAY be denoted by appending a plus sign and a series of dot separated identifiers immediately following the patch or pre-release version. Identifiers MUST comprise only ASCII alphanumerics and hyphen [0-9A-Za-z-]. Identifiers MUST NOT be empty. Build metadata SHOULD be ignored when determining version precedence. Thus two versions that differ only in the build metadata, have the same precedence.https://semver.org/#spec-item-10
Mar 26 2018
On Monday, 26 March 2018 at 07:51:31 UTC, Seb wrote:On Monday, 26 March 2018 at 07:04:00 UTC, Anton Fediushin wrote:That'll work too, but I'm not sure how dub handles it. Anyway, even a little note in release description "Vulkan API vX.X.X" should be enough.This is a *bad* idea and you shouldn't do that. Just increase MAJOR version and start from there: 2.0.0 - Changing how binding works, Vulkan v1.0.69 2.1.0 - Vulkan 1.0.70 ...And so on. This way semver is followed and you don't have to mess with erupted-v1 and erupted-v2 repos.Also note that SemVer allows to attach meta data: 2.0.0+1.0.69
Mar 26 2018
On Monday, 26 March 2018 at 09:04:20 UTC, Anton Fediushin wrote:On Monday, 26 March 2018 at 07:51:31 UTC, Seb wrote:It will work fine with dub (it just ignores the meta data). For example, if you do a `dub add-local`, your package version is "+ annotated" with the git commit sha.On Monday, 26 March 2018 at 07:04:00 UTC, Anton Fediushin wrote:That'll work too, but I'm not sure how dub handles it. Anyway, even a little note in release description "Vulkan API vX.X.X" should be enough.This is a *bad* idea and you shouldn't do that. Just increase MAJOR version and start from there: 2.0.0 - Changing how binding works, Vulkan v1.0.69 2.1.0 - Vulkan 1.0.70 ...And so on. This way semver is followed and you don't have to mess with erupted-v1 and erupted-v2 repos.Also note that SemVer allows to attach meta data: 2.0.0+1.0.69
Mar 26 2018
First of all, don't worry, don't panic, we will figure it out, together ;-). Everything will be alright in the end, and if not, its not the end. On Monday, 26 March 2018 at 07:04:00 UTC, Anton Fediushin wrote:1. This breaks semver. You shouldn't just use Vulkan's versions. If you release 1.0.69 which contains bindings to Vulkan 1.0.69 and there is a bug in the binding which you want to fix, you have to increase PATCH number which results in 1.0.70 which (obviously) is not a binding to Vulkan 1.0.70.The bug then is not in ErupteD but in its generator. It needs to be fixed there. The plan was to then move the sem vers to the bug fix release. Never done that, wanted to try it. Buuut, got inspired by a great idea 3 min ago (please read on).Even though you can use PRE-RELEASE part of semver to show users that this is a bugfix release (ie. 1.0.69-bugfix.1) this shouldn't be used because it breaks semver *again* and dub (which follows semver) isn't going to tolerate that.Great idea! Have not considered it. So the Bug fix for version 1.1.70 could be 1.1.71-bugfix.1. How does it screw up dub semver?This is a *bad* idea and you shouldn't do that.Why is it a bad idea, could you elaborate?Just increase MAJOR version and start from there: 2.0.0 - Changing how binding works, Vulkan v1.0.69 2.1.0 - Vulkan 1.0.70 ...And so on. This way semver is followed and you don't have to mess with erupted-v1 and erupted-v2 repos.Thought about that, but there is one issue which I mentioned in the announcement. I experience it as a bad idea to have the generator part of the binding. Both of them have different purpose and should have different version numbers. Meta data is nice approach as in GenVer+VulkanVer, but unfortunately dub upgrade is not triggered if Only vulkanVer increments. Hm...Also, if you'll stick to your *bad-in-every-way* plan, you *can't* publish erupted-v2 as erupted package on dub registry. You'd have to remove it from registry first, which will break every single package that depends on it.Thanks for your nice words all over the place, sun is rising in my hart :-). Well, yeah, I didn't. ErupteD-V2 is published as erupted_v2, and Erupted-V1 as erupted_v1. Hey, I have another awesome idea, you are an the safe side, you just change your dependency to erupted_v1. I hope this is not too much of effort on your side? Sorry for inconvenience. Ah, but wait! Fear not, I read ahead and have a solution for your way of using erupted, just read on.2. Great! I ended up adding erupted as a git submodule just soWouldn't it be possible for you to switch your submodule to ErupteD-V1 then? I mean, that's the reason for repo "mess" and gradual transition.I can remove all of the unnecessary dependencies (erupted uses pretty old derelict-util which makes it impossible to use both erupted and last version of derelict-glfw).Ah, but that was one of the two reason for the breaking change. Btw. I am/was using diferent versioned derelict-utils and have no problems other than being informed that xcb-d (on windows!) does not use it. What is the "impossible" part you have to face?Erupted-V2 doesn't work for me - when compiling on Linux it fails on some Windows-specific code. I'll open an issue as soon as I get home.I am really sorry for that, I have an idea what might be wrong. Please, if you don't min, post an issue with the error. I hope that in this alpha stage of ErupteD-V2, where some poo poo was expected to hit the fan, it would be ok to move the semvers. Actually, if you use ErupteD as a submodule, why do care about semvers at all? Please be patient we have not reached the end of the transition period, where everything will be all right again [0] at the end, I promise! [0] http://make-everything-ok.com/
Mar 26 2018
On Monday, 26 March 2018 at 09:20:13 UTC, ParticlePeter wrote:First of all, don't worry, don't panic, we will figure it out, together ;-). Everything will be alright in the end, and if not, its not the end. On Monday, 26 March 2018 at 07:04:00 UTC, Anton Fediushin wrote:After generator is fixed it'll produce new binding which should be marked as a new release.1. This breaks semver. You shouldn't just use Vulkan's versions. If you release 1.0.69 which contains bindings to Vulkan 1.0.69 and there is a bug in the binding which you want to fix, you have to increase PATCH number which results in 1.0.70 which (obviously) is not a binding to Vulkan 1.0.70.The bug then is not in ErupteD but in its generator. It needs to be fixed there. The plan was to then move the sem vers to the bug fix release. Never done that, wanted to try it. Buuut, got inspired by a great idea 3 min ago (please read on).Dub isn't going to use pre-release version unless it is specified in user's dub.json. So, if user already has erupted 1.1.70 as a dependency, he will *never* receive 1.1.70-bugfix.1 unless he updates his dub.json. Basic 'dub upgrade' won't work in this case.Even though you can use PRE-RELEASE part of semver to show users that this is a bugfix release (ie. 1.0.69-bugfix.1) this shouldn't be used because it breaks semver *again* and dub (which follows semver) isn't going to tolerate that.Great idea! Have not considered it. So the Bug fix for version 1.1.70 could be 1.1.71-bugfix.1. How does it screw up dub semver?Because it doesn't follow semver meaning that dub won't work correctly.This is a *bad* idea and you shouldn't do that.Why is it a bad idea, could you elaborate?Indeed, metadata change isn't going to trigger an update neither does pre-release. My solution: 1. Add generator as a git submodule (generator could be versioned) 2. Start versioning from 2.0.0 increasing MINOR when new Vulkan version is supported and increasing PATCH when bug fixes happen. Metadata can be added too. This way users are going to always get latest version possible. It'll look like this: 2.0.0+1.0.69 2.0.1+1.0.69 - first bugfix 2.1.0+1.0.70 - new vulkan version 2.1.1+1.0.70 - first bugfix ...And so on.Just increase MAJOR version and start from there: 2.0.0 - Changing how binding works, Vulkan v1.0.69 2.1.0 - Vulkan 1.0.70 ...And so on. This way semver is followed and you don't have to mess with erupted-v1 and erupted-v2 repos.Thought about that, but there is one issue which I mentioned in the announcement. I experience it as a bad idea to have the generator part of the binding. Both of them have different purpose and should have different version numbers. Meta data is nice approach as in GenVer+VulkanVer, but unfortunately dub upgrade is not triggered if Only vulkanVer increments. Hm...I already use erupted-v1. Deprecation messages annoy me.Also, if you'll stick to your *bad-in-every-way* plan, you *can't* publish erupted-v2 as erupted package on dub registry. You'd have to remove it from registry first, which will break every single package that depends on it.Thanks for your nice words all over the place, sun is rising in my hart :-). Well, yeah, I didn't. ErupteD-V2 is published as erupted_v2, and Erupted-V1 as erupted_v1. Hey, I have another awesome idea, you are an the safe side, you just change your dependency to erupted_v1. I hope this is not too much of effort on your side? Sorry for inconvenience. Ah, but wait! Fear not, I read ahead and have a solution for your way of using erupted, just read on.Erupted uses derelict-util 2.something.something and derelict-glfw uses 3.0.0-beta. Because of that dub warns about version mismatch every single time I build my program. Well, that's not impossible to use, but pretty annoying.2. Great! I ended up adding erupted as a git submodule just soWouldn't it be possible for you to switch your submodule to ErupteD-V1 then? I mean, that's the reason for repo "mess" and gradual transition.I can remove all of the unnecessary dependencies (erupted uses pretty old derelict-util which makes it impossible to use both erupted and last version of derelict-glfw).Ah, but that was one of the two reason for the breaking change. Btw. I am/was using diferent versioned derelict-utils and have no problems other than being informed that xcb-d (on windows!) does not use it. What is the "impossible" part you have to face?Because dub can notify about new version. That's why it exists in the first placeErupted-V2 doesn't work for me - when compiling on Linux it fails on some Windows-specific code. I'll open an issue as soon as I get home.I am really sorry for that, I have an idea what might be wrong. Please, if you don't min, post an issue with the error. I hope that in this alpha stage of ErupteD-V2, where some poo poo was expected to hit the fan, it would be ok to move the semvers. Actually, if you use ErupteD as a submodule, why do care about semvers at all?Please be patient we have not reached the end of the transition period, where everything will be all right again [0] at the end, I promise! [0] http://make-everything-ok.com/
Mar 26 2018
On Monday, 26 March 2018 at 09:50:16 UTC, Anton Fediushin wrote:On Monday, 26 March 2018 at 09:20:13 UTC, ParticlePeter wrote:[snip]First of all, don't worry, don't panic, we will figure it out, together ;-). Everything will be alright in the end, and if not, its not the end.I strongly believe that the generator can be made fail safe, so that the produced binding is error free. I will elaborate a little more about the greater plan at the bottom, I just didn't think that anyone is interested in it. [snip]The bug then is not in ErupteD but in its generator. It needs to be fixed there. The plan was to then move the sem vers to the bug fix release. Never done that, wanted to try it. Buuut, got inspired by a great idea 3 min ago (please read on).After generator is fixed it'll produce new binding which should be marked as a new release.Here I was hoping for a little more attentive reading, the bugfix (if any bugs happen in the end) for v1.1.70 would be v1.1.71 (as in "point seven ONE") -bugfix.1. I would hope for community colaboration to always use prerelease. Not sure if this is the best idea, as it cannot be specified in dub dependency afaics, but only on dub upgrade. That might actually be expecting to much from users. I'll think about it.Great idea! Have not considered it. So the Bug fix for version 1.1.70 could be 1.1.71-bugfix.1. How does it screw up dub semver?Dub isn't going to use pre-release version unless it is specified in user's dub.json. So, if user already has erupted 1.1.70 as a dependency, he will *never* receive 1.1.70-bugfix.1 unless he updates his dub.json. Basic 'dub upgrade' won't work in this case.Dah, yes it does! As explained above at least :-) [snip]Because it doesn't follow semver meaning that dub won't work correctly.This is a *bad* idea and you shouldn't do that.Why is it a bad idea, could you elaborate?Indeed, metadata change isn't going to trigger an update neither does pre-release. My solution: 1. Add generator as a git submodule (generator could be versioned) 2. Start versioning from 2.0.0 increasing MINOR when new Vulkan version is supported and increasing PATCH when bug fixes happen. Metadata can be added too. This way users are going to always get latest version possible. It'll look like this: 2.0.0+1.0.69 2.0.1+1.0.69 - first bugfix 2.1.0+1.0.70 - new vulkan version 2.1.1+1.0.70 - first bugfix ...And so on.Hm, don't like it. The generator part is not changing when releasing a new vulkan version, but its version has to be incremented to triger an update. The generator itself should be incremented only if he produces buggy code. Actually this is part of my 1. explenation.Dah again, no it cannot. Could it be that you are talking about DEPRECATED ErupteD? Please compare [0] and [1], and their project names. [snip]I already use erupted-v1. Deprecation messages annoy me.Also, if you'll stick to your *bad-in-every-way* plan, you *can't* publish erupted-v2 as erupted package on dub registry. You'd have to remove it from registry first, which will break every single package that depends on it.Thanks for your nice words all over the place, sun is rising in my hart :-). Well, yeah, I didn't. ErupteD-V2 is published as erupted_v2, and Erupted-V1 as erupted_v1. Hey, I have another awesome idea, you are an the safe side, you just change your dependency to erupted_v1. I hope this is not too much of effort on your side? Sorry for inconvenience. Ah, but wait! Fear not, I read ahead and have a solution for your way of using erupted, just read on.Yeah sounds different than impossible, doesn't it? But as said, that is 2. reason of my breaking change.Ah, but that was one of the two reason for the breaking change. Btw. I am/was using diferent versioned derelict-utils and have no problems other than being informed that xcb-d (on windows!) does not use it. What is the "impossible" part you have to face?Erupted uses derelict-util 2.something.something and derelict-glfw uses 3.0.0-beta. Because of that dub warns about version mismatch every single time I build my program. Well, that's not impossible to use, but pretty annoying.Sorry, here I cannot follow any more, so why are you using it then as a submodule again? The GREATER Plan - as promised ------------------------------ I want to evolve and learn more about techniques which I have never touched before. This is already great I would think. But fun aside, I would like to look into full automation. 1.) get informed about vulkan-docs updates, trigger automated build process with V-Erupt. Is this possible? Don't know, want to find out. 2.) setup auto testing for ErupteD-V2. If fail, get informed. Else apply version tag, the same as vulkan-docs. Is this possible? Don't know, want to find out. This sounds pretty fail safe to me, unless I screw up the test system. The not so great plan - as compromise ------------------------------------- Until I have that system running, I would also upgrade ErupteD-V1 to the latest Vulkan versions, possibly using your suggestion. Have to think about my prefered way, but attach the actual vulkan version as meta data. Seb, not ignoring you, but I felt I replied to your comment in my previous message as well. Sadly change of meta data is not triggering an update. [0] https://github.com/ParticlePeter/ErupteD/blob/master/source/erupted/types.d [1] https://github.com/ParticlePeter/ErupteD-V1/blob/master/source/erupted/types.dBecause dub can notify about new version. That's why it exists in the first placeErupted-V2 doesn't work for me - when compiling on Linux it fails on some Windows-specific code. I'll open an issue as soon as I get home.I am really sorry for that, I have an idea what might be wrong. Please, if you don't min, post an issue with the error. I hope that in this alpha stage of ErupteD-V2, where some poo poo was expected to hit the fan, it would be ok to move the semvers. Actually, if you use ErupteD as a submodule, why do care about semvers at all?
Mar 26 2018
On Monday, 26 March 2018 at 11:13:03 UTC, ParticlePeter wrote:I strongly believe that the generator can be made fail safe, so that the produced binding is error free. I will elaborate a little more about the greater plan at the bottom, I just didn't think that anyone is interested in it.Well, I am interested in it - Vulkan is cool and so is D.Here I was hoping for a little more attentive reading, the bugfix (if any bugs happen in the end) for v1.1.70 would be v1.1.71 (as in "point seven ONE") -bugfix.1. I would hope for community colaboration to always use prerelease. Not sure if this is the best idea, as it cannot be specified in dub dependency afaics, but only on dub upgrade. That might actually be expecting to much from users. I'll think about it.But then 1.1.71 without `-bugfix.1` will be a binding to vulkan v1.1.71? That doesn't make any sense.Dah again, no it cannot. Could it be that you are talking about DEPRECATED ErupteD? Please compare [0] and [1], and their project names.I'm talking about erupted-v1.Erupted_v1 has a configuration which uses old derelict-util. Even though I use derelict-glfw to load vulkan, dub downloads both old derelict-util and the new one used by derelict-glfw. This results in warnings because versions mismatch (erupted wants old one while derelict-glfw uses newest). I opened an issue about erupted-v2 on linux as well: https://github.com/ParticlePeter/Erupted-V2/issues/1Sorry, here I cannot follow any more, so why are you using it then as a submodule again?Because dub can notify about new version. That's why it exists in the first placeErupted-V2 doesn't work for me - when compiling on Linux it fails on some Windows-specific code. I'll open an issue as soon as I get home.I am really sorry for that, I have an idea what might be wrong. Please, if you don't min, post an issue with the error. I hope that in this alpha stage of ErupteD-V2, where some poo poo was expected to hit the fan, it would be ok to move the semvers. Actually, if you use ErupteD as a submodule, why do care about semvers at all?The GREATER Plan - as promised ------------------------------ I want to evolve and learn more about techniques which I have never touched before. This is already great I would think. But fun aside, I would like to look into full automation. 1.) get informed about vulkan-docs updates, trigger automated build process with V-Erupt. Is this possible? Don't know, want to find out.I think it is possible.2.) setup auto testing for ErupteD-V2. If fail, get informed. Else apply version tag, the same as vulkan-docs. Is this possible? Don't know, want to find out.It is possible but tests are required. More tests - better.
Mar 26 2018
On Monday, 26 March 2018 at 12:22:25 UTC, Anton Fediushin wrote:On Monday, 26 March 2018 at 11:13:03 UTC, ParticlePeter wrote:[snip]Actually, for me it does, afaik we can put whatever into the pre-release names, so this would work for me: v1.1.71-bugfix.1.1.70.1 It informs me that v1.1.71 is on its way but we are fixing 1.1.70 bugs before that.Here I was hoping for a little more attentive reading, the bugfix (if any bugs happen in the end) for v1.1.70 would be v1.1.71 (as in "point seven ONE") -bugfix.1. I would hope for community colaboration to always use prerelease. Not sure if this is the best idea, as it cannot be specified in dub dependency afaics, but only on dub upgrade. That might actually be expecting to much from users. I'll think about it.But then 1.1.71 without `-bugfix.1` will be a binding to vulkan v1.1.71? That doesn't make any sense.I think you have old ErupteD modules in your ErupteD-V1 source directory. Please try to remove them and re-fetch E-V1. [snip]Dah again, no it cannot. Could it be that you are talking about DEPRECATED ErupteD? Please compare [0] and [1], and their project names.I'm talking about erupted-v1.That's not what I meant. I don't understand why you use ErupteD as dub project AND as submodule. I don't see the advantage of this approach. More specific, if you rely on dub informing you that a new version is out, why use it as a submodule?Erupted_v1 has a configuration which uses old derelict-util. Even though I use derelict-glfw to load vulkan, dub downloads both old derelict-util and the new one used by derelict-glfw. This results in warnings because versions mismatch (erupted wants old one while derelict-glfw uses newest).Sorry, here I cannot follow any more, so why are you using it then as a submodule again?move the semvers. Actually, if you use ErupteD as a submodule, why do care about semvers at all?Because dub can notify about new version. That's why it exists in the first placeI opened an issue about erupted-v2 on linux as well: https://github.com/ParticlePeter/Erupted-V2/issues/1Fixed, but the next issue is waiting already. Maybe not the best idea after all. Anyway, lets try the pre-rlease suggestion :-)That's the plan, and that's the reason ErupteD-V1 exists as fallback.The GREATER Plan - as promised ------------------------------ I want to evolve and learn more about techniques which I have never touched before. This is already great I would think. But fun aside, I would like to look into full automation. 1.) get informed about vulkan-docs updates, trigger automated build process with V-Erupt. Is this possible? Don't know, want to find out.I think it is possible.2.) setup auto testing for ErupteD-V2. If fail, get informed. Else apply version tag, the same as vulkan-docs. Is this possible? Don't know, want to find out.It is possible but tests are required. More tests - better.
Mar 26 2018
On Sunday, 25 March 2018 at 22:23:06 UTC, Peter Particle wrote:ErupteD [0] is deprecated (one of its major modules).[snip] Rewind and Undo --------------- I must apologize for the mess I have created, ErupteD is un-deprecated again. It will be further developed until ErupteD-V2 has a proper automation and testing system in place. There will be a separate announcement, when ErupteD v2.0.0 reaches vulkan 1.1 status.
Mar 27 2018