tech.guitarrapc.cóm

Technical updates

PowerShell Team の GitHub リポジトリへの開発移行 と DSC Res Kit の公開

久々に記事を書きます。

MicrosoftはGitHubにて多くの製品を公開しています。中にはCodePlexなどから移行したRoslynから、公開されてなかったMSBuild、そしてDNXやASP.NETまで。すごくうれしいですよね。そしてとても助かります。

https://github.com/dotnet/roslyn

https://github.com/Microsoft/msbuild

https://github.com/aspnet/DNX

https://github.com/aspnet/home

翻ってPowerShell Teamからの公開は乏しくHardware-Management-Module程度のものでした。

https://tech.guitarrapc.com/entry/2014/09/08/064019

しかし、PowerShell Teamが徐々にGitHubへ移行する兆しがあります。今回はそのお話。

DSC Resource Kit の GitHub 移行

これまでは、ScriptCenterでのみ公開されていました。

たびたび触れていますが、バージョンが変わるたびにリンクも変わり大変つらいものがありました。

https://gallery.technet.microsoft.com/scriptcenter/DSC-Resource-Kit-All-c449312d

GitHubに開発が移行し、各DSC Resourceがそれぞれのリポジトリとして公開されています。*1

https://github.com/PowerShell

Commitログに Transfer development to GitHub とあるので期待、ですね。

公開された範囲

PowerShell.exeやISEをはじめとする、PowerShell Coreは一切でていません。

今回追加で公開されたのは、DSCに関連するものと、PSScriptAnalyzerのみです。

種類 備考
DSC Resource 従来 ScriptCenter で公開されていたDSC Resourceへのリンク(Submoduleになっています)
xDSCResourceDesigner 従来 ScriptCenter で公開されていたDSC Resource作成ヘルパモジュール
DscResource.Tests 詳細不明ですが、DSCResource の公開前チェック用ヘルパに見えますね
各種DSCResource リソース一つにつき、1リポジトリになって居ます。
OneGetProviderResource OneGetを使ったNuGetやPSModule のDSC制御リソース
PSScriptAnalyzer PowerShell の静的コード解析ができます

なぜGitHub に移行できたのか

かは、分かりません。どこにも出てませんし。

ただ、移行した範囲が、すでにScriptCenterで公開されていたものだけなので、単純にGitHubへの移行リスクも手間も小さかったのはないかと容易に予想できます。

公開されたDSC Resource自体、C# ではなくPowerShellでかかれたものばかりなので、実質コード見えてますしね!

そういう意味では、PSScriptAnalyzerはC# を主体にして書かれているので「今後に期待」です。

まとめ

少なくともこれで、ForkしてSubModuleで参照できますし、ソース管理が圧倒的に楽になりますね!

この勢いで、PowerShell Coreに関しても公開されるとうれしいにゃぁ *2

別に全部のPowerShell開発がGitHubに移行したわけじゃないのは当然です。

*1:なんて贅沢な....

*2:ないだろうにゃぁ...しょぼん