On Fri, 08 Aug 2014 11:24:56 GMT, John Colvin wrote:

On Fri, 25 Jul 2014 11:35:23 GMT, John Colvin wrote:

% cat dub.json
{
	"name": "dubtest",
	"description": "A minimal D application.",
	"copyright": "Copyright © 2014, john",
	"authors": ["john"],
	"targetType": "executable",
            "configurations":
	[
		{
			"name": "a",
			"dependencies": { "derelict-util": ">=1.0.2" }
		},
		{
			"name": "b"
		}
	]
}
% dub describe --config=a > a.json
% dub describe --config=b > b.json
% diff b.json a.json                   
112c112
< 	"configuration": "b",
---
> 	"configuration": "a",


Any further insight into this? Am I just misunderstanding what dub describe should do?

Okay, dependencies are currently handled specially, so that IDEs can always display the whole dependency tree. But they obviously should have a flag that specifies if a certain dependency is actually to be used (e.g. "dependencies": { "derelict-util": ">=1.0.2", "active": false })*.

But apart from that, build settings should be output correctly. For example this:

"configurations": [
	{
		"name": "a",
		"dependencies": { "derelict-util": ">=1.0.2" },
		"versions": ["TestA"]
	},
	{
		"name": "b",
		"versions": ["TestB"]
	}
]

will output different versions depending on the configuration.

* Added a ticket: #393