Automating the world one-liner at a time…
If so SPEAK UP NOW. The Windows SDK team is looking for feedback on whether this would be useful. Check out their request for feedback at: Influence the future of Windows sdk - Powershell based build environment
Jeffrey Snover [MSFT] Windows Management Partner Architect Visit the Windows PowerShell Team blog at: http://blogs.msdn.com/PowerShell Visit the Windows PowerShell ScriptCenter at: http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx
PingBack from http://msdnrss.thecoderblogs.com/2008/03/11/do-you-want-a-powershell-based-build-environment/
Thanks for the pointer Jeffrey! I already answered in Nanda's blog, and yes, I do think this is a big deal. For us developers, if we don't have a full build environment, then using powershell all the time doesn't make any sense.
I actually have it already on my profile scripts (I look for 3.5/2008 first and if not found fall back to 2.0/2005, so i can use it on all my machines), and now I can use powershell 100% of the time and not even look back to cmd.exe :)
Please replace those SharePoint workflow Post build bat files with ps1's. Build my WSP's with PowerShell, not BAT files. If you prefer to deal only with VS 2008 but not VS 2005 SP1, I'm OK with that.
(Follow-on to previous response). Go visit CodePlex and see how many "add-ons" to SharePoint are needed to create a decent development environmnet (even VS 2008!) and you'll get some good ideas how to harness PowerShell for making Visual Studio a better SharePoint custom workflow development environment.
I really could've used it 1.5 years ago. Since then I've rolled my own PowerShell build process. It's a beauty: a single XML-driven process where a single 'build' can:
- pull source code from multiple, different source repositories and/or external (UNC) locations;
- compile different sections of code using different framework versions (NANT does the compilation work, the script handles the necessary environment variables, library paths, etc.);
- purge files based on regex patterns;
- run on different machine setups (the necessary constants separated in their own XML file);
- logs everything, zips up the package, grabs the appropriate deploy script and drops in it our deploy folder, ready to roll!
Being able to put everything in XML format and read it so easily within PowerShell made it a dream. We're up to 37 separate 'applications' - all our .bat files are gone. Woo-hoo!
Granted, there were some headaches. PowerShell doesn't play well with PSEXEC, which we use for 'remote' (build-machine) builds. I learned more than I want to about stdout issues with PSEXEC, VSS ss.exe, WinZip, etc. and couldn't use *-Transcript for logging as a result, a big bummer. I'm hoping the remote capabilities of PS v2 will help here down the road.
Also, having native access within PowerShell to more services would really help. How about a SQL provider for SQL Server 2005? VSS provider? There are a lot of VSS users out here still, alas.
These nitpicks aside, PowerShell kicks ass and has made my job much, much easier. Great work, Jeffrey!
I attempted to leave a comment on Nanda's blog but I'm not seeing it. My comment is: MSBuild is a comprehensive build engine that is part of the Framework. It's good at what it does. I can't say I love XML for this kind of thing but does have its advantages. Second, what unmet need is being provided by implementing it in PowerShell? I suspect PowerShell CmdLets invoking MSBuild would be nice and all that is really needed
Of course - they need to make a Powershell Task part of the MSBuild Base task lists!
Yes, it would be nice to use shell-expressions in msbuild
most definitely. the more applications built for powershell, the better for powershell users and the .net framework itself.
Yes, I would very much love it. I don't want QA department to manage some of their testing using NUnit. I want them to be able to change scripts instead of compiled application for their testing.
Jeffrey Snover (PowerShell Architect) pointed to Nanda's post asking for feedback for the Windows
Make it so!
I want rather a Windows Forkflow based Powershell build environment:))
i.e., if we had the possibility to visually insert the ps cmdlets via drag-drop into visual studio's WF builder, that would make script writing a lot easier!
I would very much like a framework like Watir for PowerShell along with build environment.
Yes! A powershell build environment would be awesome!