I've tried to reproduce this now with DUB master, but for me the second run always outputs this:

WARNING: A deprecated branch based version specification is used for the depende
ncy derelict. Please use numbered versions instead. Also note that you can still
 use the dub.selections.json file to override a certain dependency to use a bran
ch instead.
Configuration 'library' of package derelict contains no source files. Please add
 {"targetType": "none"} to it's package description to avoid building it.
Target derelict:util ~master is up to date. Use --force to rebuild.
Target derelict:assimp3 ~master is up to date. Use --force to rebuild.
Target derelict:opengl3 ~master is up to date. Use --force to rebuild.
Target derelict:sdl2 ~master is up to date. Use --force to rebuild.
Target derelict:freeimage ~master is up to date. Use --force to rebuild.
Target derelict:freetype ~master is up to date. Use --force to rebuild.
Target derelict:sfml2 ~master is up to date. Use --force to rebuild.
Target derelict:ode ~master is up to date. Use --force to rebuild.
Target derelict:openal ~master is up to date. Use --force to rebuild.
Target derelict:freeglut ~master is up to date. Use --force to rebuild.
Target derelict:ogg ~master is up to date. Use --force to rebuild.
Target derelict:alure ~master is up to date. Use --force to rebuild.
Target derelict:physfs ~master is up to date. Use --force to rebuild.
Target derelict:lua ~master is up to date. Use --force to rebuild.
Target derelict:assimp ~master is up to date. Use --force to rebuild.
Target derelict:pq ~master is up to date. Use --force to rebuild.
Target derelict:tcod ~master is up to date. Use --force to rebuild.
Target derelict:devil ~master is up to date. Use --force to rebuild.
Target derelict:glfw3 ~master is up to date. Use --force to rebuild.
Target test 0.0.1 is up to date. Use --force to rebuild.
Running .\test.exe
Edit source/app.d to start your project.

My dub.json looks like this:

{
	"name": "test",
	"dependencies": {
		"derelict": "~master"
	}
}