// -*- c++ -*-
#pragma once

#include <vector>
#include <string>

class Task
{
public:
	virtual bool dirty() = 0;
	virtual int run() = 0;
	virtual int clean() = 0 ;
	virtual std::vector<std::string> depends() const = 0;
	virtual std::string target() const = 0;
};