this weekend, ted neward wrote some dispirited comments about microsoft's decision to release msbuild in light of nant's community acceptance. now his point is larger than just the decision to release msbuild, and dare has commented on the larger issue here. but the quandary he describes is sure to be a common one faced by many nant users. specifically, he writes:
So if I need a custom build task to do ASP.NET deployment, do I build a NAnt task knowing its lifetime is probably scoped to this Whidbey beta cycle? Or do I build a MSBuild task knowing that it'll probably be two years before it's really useful, and that it's entirely likely that I'll have to rewrite it at least once or twice in the meantime?
i expect task authors to ask exactly these questions and frankly i think it's in the interest of both nant and msbuild to make sure we're providing solid answers. but i thought to myself: “there's a way to resolve this easily: write a task that works in nant and msbuild.” the idea isn't far fetched, as the interfaces are quite similar. to my surprise, i found john lam already did this for an ftp task and noted the following:
[N]Ant tasks can easily port to MSBuild and vice-versa. Today I just built an FTP task that works in both MSBuild and NAnt.
to be sure, there is a bit of maintenance involved in supporting both the nant and msbuild interfaces, but in general this should work without too much effort. have any others out there tried this? are you interested in seeing me write a task that works in both nant and msbuild?
jeff.