7digital/SevenDigital.Api.Wrapper

Decide on a strategy for doing async and tidy up and merge branches

raoulmillais opened this issue · 4 comments

Is anyone actually using these are they left over from the WP7 port? @AnthonySteele is maintaining a branch for dot net 4.5 with async/await support which looks like it will be a much more pleasant way of doing async. If we're not using them, then we should cull them. We should also start thinking about how we can most easily maintain both these usage patterns, and whether or not that involves including the dotnet45 variations branch in master.

7digital.com does not use PleaseAsync(Action<T> callback)
IMHO this is reasonable code if you're on .Net 4.0 or less and need to do async. But we don't. So it is a candidate for culling as far as we are concerned.

Maintaining the divergent dotnet45 branch is an overhead. Merging from master is just conflict-city. Cherry-picking all the commits seems to work OK.

The alternative is to treat the dotnet45 branch as a proof of concept, abandon it, and reapply the same principles when the time comes to use it in anger. However

  1. It could potentially provide uitlity to external coders wanting to write win8 style apps now.
  2. We'll still need to maintain the existing .net 3.5 wrapper then, so the same merge hassles will still be present.

If people don't mind the divergence, and are willing to cherry-pick what they consider must have functionality between 2 branches, we could tag, create a "legacy" branch for the 3.5 version (just in case changes need to be made) and make 4.5 master?

Maybe there's not that much more maintenance needs to be done on the 3.5 version?

We're still using the current master branch, and developing it heavily. If it goes for a few weeks without changes I'll believe that there's not that much more maintenance needs to be done.

The situation now is that the async_dotnet45 branch is still being maintained.
Other async code and branches are gone.