Newer
Older
dub_jkp / source / dub / generators / generator.d
@Matthias Dondorff Matthias Dondorff on 23 Jan 2013 891 bytes Fixed startup.
/**
	Generator for project files
	
	Copyright: © 2012 Matthias Dondorff
	License: Subject to the terms of the MIT license, as written in the included LICENSE.txt file.
	Authors: Matthias Dondorff
*/
module dub.generators.generator;

import dub.dub;
import dub.packagemanager;
import dub.generators.visuald;
import vibe.core.log;
import std.exception;

/// A project generator generates projects :-/
interface ProjectGenerator
{
	void generateProject();
}

/// Creates a project generator.
ProjectGenerator createProjectGenerator(string projectType, Application app, PackageManager mgr) {
	enforce(app !is null, "app==null, Need an application to work on!");
	enforce(mgr !is null, "mgr==null, Need a package manager to work on!");
	switch(projectType) { 
		default: return null;
		case "VisualD": 
			logTrace("Generating VisualD generator.");
			return new VisualDGenerator(app, mgr);
	}
}