www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - GuiDub

reply Jacob <JJ12343 gmail.com> writes:
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
next sibling parent reply Rikki Cattermole <alphaglosined gmail.com> writes:
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
parent reply Jacob <JJ12343 gmail.com> writes:
On Tuesday, 29 September 2015 at 03:28:41 UTC, Rikki Cattermole 
wrote:
 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.
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.
Sep 28 2015
parent reply Jacob <JJ12343 gmail.com> writes:
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:
 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.
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.
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", } }
Sep 28 2015
next sibling parent reply =?UTF-8?Q?S=c3=b6nke_Ludwig?= <sludwig rejectedsoftware.com> writes:
Am 29.09.2015 um 07:17 schrieb Jacob:
 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:
 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.
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.
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.",
Looks quite gigantic for a minimal 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",
      }
 }
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
parent reply ponce <contact gam3sfrommars.fr> writes:
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
parent Kagamin <spam here.lot> writes:
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
prev sibling next sibling parent reply ponce <contact gam3sfrommars.fr> writes:
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
parent reply Jacob <JJ12343 gmail.com> writes:
On Tuesday, 29 September 2015 at 07:53:12 UTC, ponce wrote:
 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.
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
parent John Colvin <john.loughran.colvin gmail.com> writes:
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 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.
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.
Oct 04 2015
prev sibling parent reply ponce <contact gam3sfrommars.fr> writes:
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
parent wobbles <grogan.colin gmail.com> writes:
On Tuesday, 29 September 2015 at 07:59:38 UTC, ponce wrote:
 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.
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?)
Sep 29 2015
prev sibling next sibling parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
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
next sibling parent reply =?UTF-8?Q?S=c3=b6nke_Ludwig?= <sludwig rejectedsoftware.com> writes:
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
next sibling parent Jonathan M Davis <jmdavisProg gmx.com> writes:
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:
 (...)

 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.
Awesome! - Jonathan M Davis
Sep 29 2015
prev sibling next sibling parent reply Jacob Carlborg <doob me.com> writes:
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
parent =?UTF-8?Q?S=c3=b6nke_Ludwig?= <sludwig rejectedsoftware.com> writes:
Am 29.09.2015 um 15:52 schrieb Jacob Carlborg:
 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.
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.
Oct 05 2015
prev sibling parent Jonas Drewsen <nospam4321 hotmail.com> writes:
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
prev sibling parent Jacob Carlborg <doob me.com> writes:
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
prev sibling next sibling parent wobbles <grogan.colin gmail.com> writes:
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
prev sibling parent BBasile <bb.temp gmx.com> writes:
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