digitalmars.D - GuiDub
- Jacob (12/12) Sep 28 2015 Idea:
- Rikki Cattermole (2/13) Sep 28 2015 Sounds like something an IDE can be used for.
- Jacob (9/32) Sep 28 2015 Could be integrated but not necessary. Something that can
- Jacob (175/209) Sep 28 2015 also
- =?UTF-8?Q?S=c3=b6nke_Ludwig?= (9/189) Sep 29 2015 I'd say that there simply are version conflicts within this huge
- ponce (5/12) Sep 29 2015 I think you said once that the dependency resolution is
- Kagamin (2/4) Sep 29 2015 Exponential algorithmic complexity.
- ponce (16/20) Sep 29 2015 Some advices:
- Jacob (10/33) Oct 04 2015 I was under the impression that dub was sort of the "god
- John Colvin (6/18) Oct 04 2015 I'm 99% sure that your main problem is that a bunch of the
- ponce (3/18) Sep 29 2015 Packages that don't have one version tag are probably
- wobbles (5/24) Sep 29 2015 Yeah, might be worthwhile to mark all of those as such?
- Jonathan M Davis (16/28) Sep 28 2015 I expect that most of the folks around here would just as soon
- =?UTF-8?Q?S=c3=b6nke_Ludwig?= (9/17) Sep 29 2015 It is usable as a library! The API still needs a review pass before it
- Jonathan M Davis (3/28) Sep 29 2015 Awesome!
- Jacob Carlborg (7/11) Sep 29 2015 Ideally the library on the application should be more separated. I see
- =?UTF-8?Q?S=c3=b6nke_Ludwig?= (4/13) Oct 05 2015 dub.commandline is used for example to sport
- Jonas Drewsen (4/8) Oct 05 2015 Now that is awesome!
- Jacob Carlborg (5/10) Sep 29 2015 I have actually thought about that. But more to test writing a GUI in D,...
- wobbles (13/25) Sep 29 2015 Do you when you are initialising a dub project you can run it
- BBasile (3/15) Oct 22 2015 Thanks, seriously. It's very kind of you to give this idea for
Idea: A gui app for dub that you run, it downloads the package info from the repository and you can select a project or create a new one and it will automatically add or remove dependencies? I'm having to browse the repository then manually add the dependencies to the dub.json file... so old school! Also, the app could provide documentation, and other resources(tutorials, etc) related the packages. An app probably could be created in a few days and would make the experience more enjoyable. I'd create it myself but I'm busy at the moment, and it would probably take a big longer than someone more informed.
Sep 28 2015
On 29/09/15 3:47 PM, Jacob wrote:Idea: A gui app for dub that you run, it downloads the package info from the repository and you can select a project or create a new one and it will automatically add or remove dependencies? I'm having to browse the repository then manually add the dependencies to the dub.json file... so old school! Also, the app could provide documentation, and other resources(tutorials, etc) related the packages. An app probably could be created in a few days and would make the experience more enjoyable. I'd create it myself but I'm busy at the moment, and it would probably take a big longer than someone more informed.Sounds like something an IDE can be used for.
Sep 28 2015
On Tuesday, 29 September 2015 at 03:28:41 UTC, Rikki Cattermole wrote:On 29/09/15 3:47 PM, Jacob wrote:Could be integrated but not necessary. Something that can maintain and make it easier to remove, update, and all that. doing it by hand is a pain when you have a lot of libraries added. Also: Error executing command build: Root package test1 contains reference to invalid package gtk-d Yet I used exactly what the dub repository says to use.Idea: A gui app for dub that you run, it downloads the package info from the repository and you can select a project or create a new one and it will automatically add or remove dependencies? I'm having to browse the repository then manually add the dependencies to the dub.json file... so old school! Also, the app could provide documentation, and other resources(tutorials, etc) related the packages. An app probably could be created in a few days and would make the experience more enjoyable. I'd create it myself but I'm busy at the moment, and it would probably take a big longer than someone more informed.Sounds like something an IDE can be used for.
Sep 28 2015
On Tuesday, 29 September 2015 at 04:01:18 UTC, Jacob wrote:On Tuesday, 29 September 2015 at 03:28:41 UTC, Rikki Cattermole wrote:also Error executing command build: Root package test1 contains reference to invalid package derelict-gl3 Error executing command build: Root package test1 contains reference to invalid package derelict-sdl2 Error executing command build: Root package test1 contains reference to invalid package gfm:math Error executing command build: Root package test1 contains reference to invalid package scid Error executing command build: Root package test1 contains reference to invalid package derelict-util Error executing command build: Root package test1 contains reference to invalid package gl3n etc.. It seems like all the packages are invalid!! WTH is going on? I thought dub was suppose to be easy and work? Does anyone actually maintain all this or use it? Cause surely I shouldn't be getting errors like this? I have about 50 packages in my dub.json and they all came from copying the dependency directly(so no mistake on my part). { "name": "test1", "description": "A minimal D application.", "copyright": "Copyright © 2015, Jacob", "authors": ["Jacob"], "dependencies": { "gfm:math": "~>3.0", "dplug": "~>1.1.34", "cerealed": "~>0.6.2", "imageformats": "~>5.1.0", "pathlib": "~>0.3.0", "enumap": "~>0.4.0", "mintegrated": "~>0.2.1", "speech4d": "~>0.1.0", "jsonizer": "~>0.5.1", "dgame": "~>0.6.3", "desil": "~>0.2.1", "derelict-imgui": "~>0.7.0", "derelict-sfml2": "~>3.0.1", "derelict-steamworks": "~>0.0.3", "derelict-util": "~>2.0.3", "derelict-lua": "~>1.2.2", "derelict-ode": "~>1.1.2", "derelict-allegro5": "~>0.0.2", "derelict_extras-mantle": "~>0.2.0", "derelict_extras-fann": "~>4.0.1", "derelict_extras-sndfile": "~>2.0.0", "derelict_extras-bass": "~>2.0.0", "derelict-cl": "~>2.0.0", "derelict-enet": "~>2.0.0", "derelict-assimp3": "~>1.0.1", "derelict-ft": "~>1.0.2", "m3d": "~>0.1.4", "derelict-sass": "~>2.0.0", "derelict-glfw3": "~>1.1.0", "derelict-ogg": "~>1.0.1", "derelict-vorbis": "~>1.0.1", "wave-d": "~>1.0.2", "derelict-physfs": "~>1.0.0", "derelict-il": "~>1.0.0", "directx-d": "~>0.9.1", "freeimage": "~>1.0.1+3.16.0", "clfft": "~>0.1.1", "lock-free": "~>0.1.1", "derelict-alure": "~>1.0.0", "dsfml": "~master", "std_event": "~master", "derelict_extras-glib": "~master", "netstack": "~master", "luad": "~master", "three-d": "~master", "grape": "~master", "civge": "~master", "nitro": "~master", "nitro-gen": "~master", "process-stats": "~master", "llvm-d": "~master", "bzip2": "~>0.1.0", "simd": "~>0.0.2", "cassowary-d": "~>0.0.1", "dcheck": "~>0.1.0", "d-beard": "~>2.0.0", "geneticd": "~>0.1.1", "orderedmap": "~>0.0.2", "stochastic": "~>0.3.0", "maybe-d": "~>0.0.1", "pack-d": "~>0.3.0", "quack": "~>1.0.0", "dshell": "~>0.0.2", "dgui": "~>1.0.1", "djack": "~>0.0.1", "dfl": "~>0.0.1", "moggle": "~>0.0.1", "libhell": "~>0.1.1", "ae": "~>1.0.1", "bloom": "~>0.2.1", "dash": "~>0.12.0-beta2", "dgraph": "~>0.0.1", "opencl": "~>1.1.3", "lua_d_api": "~>0.0.1", "descl": "~>0.5.1", "matte": "~>0.1.0", "hap": "~>1.0.0-rc.2.1", "voxelman": "~>0.4.1", "jin-tree": "~>1.0.2", "plot2kill": "~>0.0.2", "pegged": "~>0.2.1", "stribog": "~>1.4.0", "jack": "~>1.0.1", "allegro": "~>3.0.1+5.1.8", "quantities": "~>0.4.4", "m3": "~>0.0.7", "descore": "~>1.2.7", "dfftw3": "~>1.0.0", "libusb-d": "~>0.1.1", "ctpg": "~>3.0.2", "phobosx": "~>0.7.3", "ddbus": "~>1.0.1", "standardpaths": "~>0.2.0", "dmech": "~>0.2.2", "imaged": "~>1.0.1", "dyaml": "~>0.5.2", "d2dgame": "~>2.0.1", "rcstring": "~>0.0.1", "dstats": "~>1.0.3", "dmathgl": "~>0.1.2", "fixed": "~>1.0.2", "scid": "~>0.3.0", "atmosphere": "~>0.1.7", "sdlang-d": "~>0.9.3", "libcerf": "~>1.4.1", "digitalnet": "~>0.5.0", "entitysysd": "~>1.0.1", "wafom": "~>0.2.1", "memutils": "~>0.4.1", "dproto": "~>1.3.1", "gl3n": "~>1.2.0", "color": "~>0.0.1", "windows-headers": "~>1.0.1", "de_window": "~>0.1.3", "asynchronous": "~>0.4.1", "minimized": "~>0.1.7", "cybuf": "~>1.0.0", "sat": "~>1.0.0", "dlangui": "~>0.6.32", "meatbox": "~>0.1.6", } }On 29/09/15 3:47 PM, Jacob wrote:Could be integrated but not necessary. Something that can maintain and make it easier to remove, update, and all that. doing it by hand is a pain when you have a lot of libraries added. Also: Error executing command build: Root package test1 contains reference to invalid package gtk-d Yet I used exactly what the dub repository says to use.Idea: A gui app for dub that you run, it downloads the package info from the repository and you can select a project or create a new one and it will automatically add or remove dependencies? I'm having to browse the repository then manually add the dependencies to the dub.json file... so old school! Also, the app could provide documentation, and other resources(tutorials, etc) related the packages. An app probably could be created in a few days and would make the experience more enjoyable. I'd create it myself but I'm busy at the moment, and it would probably take a big longer than someone more informed.Sounds like something an IDE can be used for.
Sep 28 2015
Am 29.09.2015 um 07:17 schrieb Jacob:On Tuesday, 29 September 2015 at 04:01:18 UTC, Jacob wrote:Looks quite gigantic for a minimal application ;)On Tuesday, 29 September 2015 at 03:28:41 UTC, Rikki Cattermole wrote:also Error executing command build: Root package test1 contains reference to invalid package derelict-gl3 Error executing command build: Root package test1 contains reference to invalid package derelict-sdl2 Error executing command build: Root package test1 contains reference to invalid package gfm:math Error executing command build: Root package test1 contains reference to invalid package scid Error executing command build: Root package test1 contains reference to invalid package derelict-util Error executing command build: Root package test1 contains reference to invalid package gl3n etc.. It seems like all the packages are invalid!! WTH is going on? I thought dub was suppose to be easy and work? Does anyone actually maintain all this or use it? Cause surely I shouldn't be getting errors like this? I have about 50 packages in my dub.json and they all came from copying the dependency directly(so no mistake on my part). { "name": "test1", "description": "A minimal D application.",On 29/09/15 3:47 PM, Jacob wrote:Could be integrated but not necessary. Something that can maintain and make it easier to remove, update, and all that. doing it by hand is a pain when you have a lot of libraries added. Also: Error executing command build: Root package test1 contains reference to invalid package gtk-d Yet I used exactly what the dub repository says to use.Idea: A gui app for dub that you run, it downloads the package info from the repository and you can select a project or create a new one and it will automatically add or remove dependencies? I'm having to browse the repository then manually add the dependencies to the dub.json file... so old school! Also, the app could provide documentation, and other resources(tutorials, etc) related the packages. An app probably could be created in a few days and would make the experience more enjoyable. I'd create it myself but I'm busy at the moment, and it would probably take a big longer than someone more informed.Sounds like something an IDE can be used for."copyright": "Copyright © 2015, Jacob", "authors": ["Jacob"], "dependencies": { "gfm:math": "~>3.0", "dplug": "~>1.1.34", "cerealed": "~>0.6.2", "imageformats": "~>5.1.0", "pathlib": "~>0.3.0", "enumap": "~>0.4.0", "mintegrated": "~>0.2.1", "speech4d": "~>0.1.0", "jsonizer": "~>0.5.1", "dgame": "~>0.6.3", "desil": "~>0.2.1", "derelict-imgui": "~>0.7.0", "derelict-sfml2": "~>3.0.1", "derelict-steamworks": "~>0.0.3", "derelict-util": "~>2.0.3", "derelict-lua": "~>1.2.2", "derelict-ode": "~>1.1.2", "derelict-allegro5": "~>0.0.2", "derelict_extras-mantle": "~>0.2.0", "derelict_extras-fann": "~>4.0.1", "derelict_extras-sndfile": "~>2.0.0", "derelict_extras-bass": "~>2.0.0", "derelict-cl": "~>2.0.0", "derelict-enet": "~>2.0.0", "derelict-assimp3": "~>1.0.1", "derelict-ft": "~>1.0.2", "m3d": "~>0.1.4", "derelict-sass": "~>2.0.0", "derelict-glfw3": "~>1.1.0", "derelict-ogg": "~>1.0.1", "derelict-vorbis": "~>1.0.1", "wave-d": "~>1.0.2", "derelict-physfs": "~>1.0.0", "derelict-il": "~>1.0.0", "directx-d": "~>0.9.1", "freeimage": "~>1.0.1+3.16.0", "clfft": "~>0.1.1", "lock-free": "~>0.1.1", "derelict-alure": "~>1.0.0", "dsfml": "~master", "std_event": "~master", "derelict_extras-glib": "~master", "netstack": "~master", "luad": "~master", "three-d": "~master", "grape": "~master", "civge": "~master", "nitro": "~master", "nitro-gen": "~master", "process-stats": "~master", "llvm-d": "~master", "bzip2": "~>0.1.0", "simd": "~>0.0.2", "cassowary-d": "~>0.0.1", "dcheck": "~>0.1.0", "d-beard": "~>2.0.0", "geneticd": "~>0.1.1", "orderedmap": "~>0.0.2", "stochastic": "~>0.3.0", "maybe-d": "~>0.0.1", "pack-d": "~>0.3.0", "quack": "~>1.0.0", "dshell": "~>0.0.2", "dgui": "~>1.0.1", "djack": "~>0.0.1", "dfl": "~>0.0.1", "moggle": "~>0.0.1", "libhell": "~>0.1.1", "ae": "~>1.0.1", "bloom": "~>0.2.1", "dash": "~>0.12.0-beta2", "dgraph": "~>0.0.1", "opencl": "~>1.1.3", "lua_d_api": "~>0.0.1", "descl": "~>0.5.1", "matte": "~>0.1.0", "hap": "~>1.0.0-rc.2.1", "voxelman": "~>0.4.1", "jin-tree": "~>1.0.2", "plot2kill": "~>0.0.2", "pegged": "~>0.2.1", "stribog": "~>1.4.0", "jack": "~>1.0.1", "allegro": "~>3.0.1+5.1.8", "quantities": "~>0.4.4", "m3": "~>0.0.7", "descore": "~>1.2.7", "dfftw3": "~>1.0.0", "libusb-d": "~>0.1.1", "ctpg": "~>3.0.2", "phobosx": "~>0.7.3", "ddbus": "~>1.0.1", "standardpaths": "~>0.2.0", "dmech": "~>0.2.2", "imaged": "~>1.0.1", "dyaml": "~>0.5.2", "d2dgame": "~>2.0.1", "rcstring": "~>0.0.1", "dstats": "~>1.0.3", "dmathgl": "~>0.1.2", "fixed": "~>1.0.2", "scid": "~>0.3.0", "atmosphere": "~>0.1.7", "sdlang-d": "~>0.9.3", "libcerf": "~>1.4.1", "digitalnet": "~>0.5.0", "entitysysd": "~>1.0.1", "wafom": "~>0.2.1", "memutils": "~>0.4.1", "dproto": "~>1.3.1", "gl3n": "~>1.2.0", "color": "~>0.0.1", "windows-headers": "~>1.0.1", "de_window": "~>0.1.3", "asynchronous": "~>0.4.1", "minimized": "~>0.1.7", "cybuf": "~>1.0.0", "sat": "~>1.0.0", "dlangui": "~>0.6.32", "meatbox": "~>0.1.6", } }I'd say that there simply are version conflicts within this huge dependency graph (e.g. "meatbox" requires "gl3n" 1.1.0, but another dependency requires 1.0.0). The current dependency resolution algorithm (which is planned to be revamped) is quite bad at outputting good error messages in many situations (technically there often isn't an unambiguous error message, but then it often picks one of the less helpful ones).
Sep 29 2015
On Tuesday, 29 September 2015 at 07:43:10 UTC, Sönke Ludwig wrote:I'd say that there simply are version conflicts within this huge dependency graph (e.g. "meatbox" requires "gl3n" 1.1.0, but another dependency requires 1.0.0). The current dependency resolution algorithm (which is planned to be revamped) is quite bad at outputting good error messages in many situations (technically there often isn't an unambiguous error message, but then it often picks one of the less helpful ones).I think you said once that the dependency resolution is NP-complete. Could you provide a layman description of what is this particular problem? Just curiosity.
Sep 29 2015
On Tuesday, 29 September 2015 at 08:04:57 UTC, ponce wrote:I think you said once that the dependency resolution is NP-complete.Exponential algorithmic complexity.
Sep 29 2015
On Tuesday, 29 September 2015 at 05:17:42 UTC, Jacob wrote:Does anyone actually maintain all this or use it? Cause surely I shouldn't be getting errors like this? I have about 50 packages in my dub.json and they all came from copying the dependency directly(so no mistake on my part).Some advices: - do not use the "umbrella" packages like "dplug" but rather the sub-packages like "dplug:dsp". This will reduce the number of dependencies. - cut the number of dependencies to the minimum. For example you have freeimage AND imaged who overlap quite a bit. More dependencies = more problems. Add them one by one IF they are needed and after evaluating them. - before relying on a dependency, check that it looks maintained, has travis-ci integration, and build. Without editing anything, you can do: dub test thatpackage anywhere and it should download and build the tests. - if given the choice, use a derelict binding vs a statically linked dependency. This will make things a tad easier.
Sep 29 2015
On Tuesday, 29 September 2015 at 07:53:12 UTC, ponce wrote:On Tuesday, 29 September 2015 at 05:17:42 UTC, Jacob wrote:I was under the impression that dub was sort of the "god particle" for building D apps. That it would take care of all this mess. It surely doesn't and hasn't made my life easier! Everyone says to use dub, so I use it and can't even get the packages to import properly. Dub should handle the discrepancies, not me! I'm not smart enough to be able to deal with dependencies of dependencies of dependencies of dependencies with all kinds of versioning issues at each step of the way. Sounds like dub is just a different dll hell.Does anyone actually maintain all this or use it? Cause surely I shouldn't be getting errors like this? I have about 50 packages in my dub.json and they all came from copying the dependency directly(so no mistake on my part).Some advices: - do not use the "umbrella" packages like "dplug" but rather the sub-packages like "dplug:dsp". This will reduce the number of dependencies. - cut the number of dependencies to the minimum. For example you have freeimage AND imaged who overlap quite a bit. More dependencies = more problems. Add them one by one IF they are needed and after evaluating them. - before relying on a dependency, check that it looks maintained, has travis-ci integration, and build. Without editing anything, you can do: dub test thatpackage anywhere and it should download and build the tests. - if given the choice, use a derelict binding vs a statically linked dependency. This will make things a tad easier.
Oct 04 2015
On Sunday, 4 October 2015 at 21:29:36 UTC, Jacob wrote:On Tuesday, 29 September 2015 at 07:53:12 UTC, ponce wrote:I'm 99% sure that your main problem is that a bunch of the packages you're depending on are unmaintained and broken. I don't think it's dub failing you, it's the authors/maintainers of some of the packages. Start with something simple that works and then build up.[...]I was under the impression that dub was sort of the "god particle" for building D apps. That it would take care of all this mess. It surely doesn't and hasn't made my life easier! Everyone says to use dub, so I use it and can't even get the packages to import properly. Dub should handle the discrepancies, not me! I'm not smart enough to be able to deal with dependencies of dependencies of dependencies of dependencies with all kinds of versioning issues at each step of the way. Sounds like dub is just a different dll hell.
Oct 04 2015
On Tuesday, 29 September 2015 at 05:17:42 UTC, Jacob wrote:"dsfml": "~master", "std_event": "~master", "derelict_extras-glib": "~master", "netstack": "~master", "luad": "~master", "three-d": "~master", "grape": "~master", "civge": "~master", "nitro": "~master", "nitro-gen": "~master", "process-stats": "~master", "llvm-d": "~master",Packages that don't have one version tag are probably unmaintained.
Sep 29 2015
On Tuesday, 29 September 2015 at 07:59:38 UTC, ponce wrote:On Tuesday, 29 September 2015 at 05:17:42 UTC, Jacob wrote:Yeah, might be worthwhile to mark all of those as such? And maybe send an email to their owners to ask them to update them (or even better just create a pull request creating the tag automagically?)"dsfml": "~master", "std_event": "~master", "derelict_extras-glib": "~master", "netstack": "~master", "luad": "~master", "three-d": "~master", "grape": "~master", "civge": "~master", "nitro": "~master", "nitro-gen": "~master", "process-stats": "~master", "llvm-d": "~master",Packages that don't have one version tag are probably unmaintained.
Sep 29 2015
On Tuesday, 29 September 2015 at 02:47:32 UTC, Jacob wrote:Idea: A gui app for dub that you run, it downloads the package info from the repository and you can select a project or create a new one and it will automatically add or remove dependencies? I'm having to browse the repository then manually add the dependencies to the dub.json file... so old school! Also, the app could provide documentation, and other resources(tutorials, etc) related the packages. An app probably could be created in a few days and would make the experience more enjoyable. I'd create it myself but I'm busy at the moment, and it would probably take a big longer than someone more informed.I expect that most of the folks around here would just as soon edit the dub.json file, considering that most of the folks around here aren't big fans of IDEs. But if you think that a GUI-based tool to edit dub.json files would be useful, then feel free to write one. I rather doubt that anyone else is going to though. It really isn't that much work to edit a dub.json file, and it's not something that you need to do very often for a project. What would probably be more interesting is if dub were turned into a library (or at least, if it guts were turned into a library, and the command-line tool, dub, then used that library), and then IDEs could manipulate the spec files via that library as well as do builds rather than having to run a command-line tool, though it's not necessarily that big a deal for an IDE to just parse the json or to run dub via the command-line. - Jonathan M Davis
Sep 28 2015
Am 29.09.2015 um 08:20 schrieb Jonathan M Davis:(...) What would probably be more interesting is if dub were turned into a library (or at least, if it guts were turned into a library, and the command-line tool, dub, then used that library), and then IDEs could manipulate the spec files via that library as well as do builds rather than having to run a command-line tool, though it's not necessarily that big a deal for an IDE to just parse the json or to run dub via the command-line.It is usable as a library! The API still needs a review pass before it can be declared stable for 1.0.0, though, because it wasn't initially considered as an external API and is still lacking in some areas, such as documentation. What is missing for IDE based manipulation is just an SDL writer, which is planned for the next release. However, at least initially, that would have to be taken with a grain of salt, as it wouldn't preserve formatting and comments.
Sep 29 2015
On Tuesday, 29 September 2015 at 07:47:31 UTC, Sönke Ludwig wrote:Am 29.09.2015 um 08:20 schrieb Jonathan M Davis:Awesome! - Jonathan M Davis(...) What would probably be more interesting is if dub were turned into a library (or at least, if it guts were turned into a library, and the command-line tool, dub, then used that library), and then IDEs could manipulate the spec files via that library as well as do builds rather than having to run a command-line tool, though it's not necessarily that big a deal for an IDE to just parse the json or to run dub via the command-line.It is usable as a library! The API still needs a review pass before it can be declared stable for 1.0.0, though, because it wasn't initially considered as an external API and is still lacking in some areas, such as documentation. What is missing for IDE based manipulation is just an SDL writer, which is planned for the next release. However, at least initially, that would have to be taken with a grain of salt, as it wouldn't preserve formatting and comments.
Sep 29 2015
On 2015-09-29 09:47, Sönke Ludwig wrote:It is usable as a library! The API still needs a review pass before it can be declared stable for 1.0.0, though, because it wasn't initially considered as an external API and is still lacking in some areas, such as documentation.Ideally the library on the application should be more separated. I see that the library configuration in the dub.json file only excludes app.d. I doubt that the library depends on "dub.commandline", if it does not, then it's not a very good separation. -- /Jacob Carlborg
Sep 29 2015
Am 29.09.2015 um 15:52 schrieb Jacob Carlborg:On 2015-09-29 09:47, Sönke Ludwig wrote:dub.commandline is used for example to sport http://code.dlang.org/docs/commandline The library doesn't depend on it, but it's part of the library.It is usable as a library! The API still needs a review pass before it can be declared stable for 1.0.0, though, because it wasn't initially considered as an external API and is still lacking in some areas, such as documentation.Ideally the library on the application should be more separated. I see that the library configuration in the dub.json file only excludes app.d. I doubt that the library depends on "dub.commandline", if it does not, then it's not a very good separation.
Oct 05 2015
On Tuesday, 29 September 2015 at 07:47:31 UTC, Sönke Ludwig wrote:It is usable as a library! The API still needs a review pass before it can be declared stable for 1.0.0, though, because it wasn't initially considered as an external API and is still lacking in some areas, such as documentation.Now that is awesome! I've had to implement parsing, paths resolving etc. for dub.json myself so far and have always wished there was a library.
Oct 05 2015
On 2015-09-29 08:20, Jonathan M Davis wrote:I expect that most of the folks around here would just as soon edit the dub.json file, considering that most of the folks around here aren't big fans of IDEs. But if you think that a GUI-based tool to edit dub.json files would be useful, then feel free to write one. I rather doubt that anyone else is going to though.I have actually thought about that. But more to test writing a GUI in D, rather than for the functionality. -- /Jacob Carlborg
Sep 29 2015
On Tuesday, 29 September 2015 at 02:47:32 UTC, Jacob wrote:Idea: A gui app for dub that you run, it downloads the package info from the repository and you can select a project or create a new one and it will automatically add or remove dependencies? I'm having to browse the repository then manually add the dependencies to the dub.json file... so old school! Also, the app could provide documentation, and other resources(tutorials, etc) related the packages. An app probably could be created in a few days and would make the experience more enjoyable. I'd create it myself but I'm busy at the moment, and it would probably take a big longer than someone more informed.Do you when you are initialising a dub project you can run it like this? dub init <projName> <list of proj dependencies> e.g. dub init myProj logger vibe-d dexpect will create a project in myProj that has the latest logger,vibe-d and dexpect versions in it's dependencies. Rather than creating a gui, I'd rather time be spent on creating a new command something like dub update dependencies <list-of-dependencies> (Maybe 'update' is the wrong word...) that will simply update the current dub project with the new deps. It'd be trivial to tie a GUI into that then.
Sep 29 2015
On Tuesday, 29 September 2015 at 02:47:32 UTC, Jacob wrote:Idea: A gui app for dub that you run, it downloads the package info from the repository and you can select a project or create a new one and it will automatically add or remove dependencies? I'm having to browse the repository then manually add the dependencies to the dub.json file... so old school! Also, the app could provide documentation, and other resources(tutorials, etc) related the packages. An app probably could be created in a few days and would make the experience more enjoyable. I'd create it myself but I'm busy at the moment, and it would probably take a big longer than someone more informed.Thanks, seriously. It's very kind of you to give this idea for free.
Oct 22 2015