Skip to main content

Command Palette

Search for a command to run...

Swift 5.9からの `swift package init` の変更点

Updated
1 min read

先日、 swift package init コマンドを使った際にswift 5.9に合わせた変更点に気づきました。

情報があまりなく、私自身が戸惑ったこともあり、コマンドを実行する時の--typeを基準にどういった変更があったのか概要をまとめたいと思います。

Init template cleanup #6144

Swift Fromsでの議論によると、狙いとしてはシンプルなユースケースへの最適化にあるようです。

system-modulemanifestと、empty

これまであった、 system-modulemanifestがなくなりました。

ただ、これまでmanifestが担っていた役割をemptyが担うようになったので、 これまでのemptyがなくなり、manifestの名称がemptyに変更されたとも言えます。

executable でテストが生成されなくなった

これまで、executableを指定していた際にテスト周りのファイルが生成されていたのが、生成されなくなりました。

既存の swift package initの使い方の説明に反して、手元で実行してもテストファイルが生成されなかったのが、私が変更に気づいたきっかけでした。

これまであったlibraryと後述する追加されたmacroを利用する際には、テストファイルも生成されます。

toolが追加

基本的にはexecutableに近いのですが、Swift Argument Parserも同時に用意されるようになりました。CLIツール向けですね。

Add support for creating a macro package #6250

Swift 5.9で追加されたmacroも作成できるようになりました。

Add templates for build tool plugins and command plugins #6111

Swift 5.6から使えるSwift Package Manager自身のプラグイン、build tool pluginとcommand pluginも作成できるようになりました。

More from this blog

swift-collectionsのSortedCollectionsを試す方法

swift-collectionsを読み込む際にmainブランチを指定する 2024年4月14日現在のswift-collectionsのリリースバージョン1.1.0では、SortedCollectionsが含まれていません(取り除かれました…)。そのため、SortedCollectionsを利用するにはリリースブランチではなく、mainブランチを利用する必要があります。 package.swiftで指定する場合は、下記のようにdependenciesでブランチを指定します。 // swift-...

Apr 14, 20241 min read

アルゴ式: 961 Q4. 二部グラフ判定 (DFS ver.) (Swift)

Q4. 二部グラフ判定 (DFS ver.) なんとか毎日問題は解いていたけれども、ブログは空いてしまった Bool?に対してSwitch文を書こうとしたけれども、Optionalの場合は、.some()を挟むというので方針を変更 提出したコードはその名残が残ってしまった 提出はしていないけれども簡単な修正もした このブログを書いている際に、改めてSwitch分で書いたりもした(1, 2) 提出 AC

Jun 18, 20221 min read

Continuous Tumbling

123 posts

Learning Swift/Swift UI, and competitive programming. (he/him)