Blog3この広告は、90日以上更新していないブログに表示しています。珍しく短い間隔でBlogを書いてます。海には行けていないくらいです。newについて書きましたが、Myテンプレートを持つのが良さそう、と書きました。Myテンプレートを持つためにはまずは簡単なテンプレートの作り方を覚えてそれを成長させていくのが良いと思います。いうことで、最もシンプルなテンプレートを作ってみました。Scala入門記の目次はこちらです。テンプレートの作り方Giter8のドキュメントを見るとわかりやすいです。今回作るテンプレートテンプレートの名前は.g8のサフィックスが必要なので、今回はscala-helloworld.g8と名前をつけます。Blog3で紹介したプロジェクトを生成できるようになります。ルール詳しくはドキュメント読めばいいので最低限と思われるものを紹介します。ライセンスドキュメントでCC0を使えと言われているのでREADME.mdで示してみました。ファイルの配置場所Giter8のファイルはsrc/main/g8に配置するのが良いです。することでローカルでテンプレートをテストできるようになります。プロジェクトフィールドプロジェクトを生成する際にパラメータを指定可能にするプロジェクトフィールドと言う仕組みがあります。パラメータはdefault.propertiesに書くと、テンプレート内で$name$という形で使えるようになります。パッケージ名はディレクトリ階層にいい感じで変わってくれたりもしてすごく便利です。他にもCamelCaseなどに置き換えたい場合もかんたんに指定できるようになっています。詳しくはこちらのドキュメントを見ると困ることはないでしょう。テンプレートフィールドのフォーマット生成ファイル今回はsbtプロジェクトを生成するので、build.sbtにビルド定義、src/main/scalaにソースコード、src/test/scalaにテストコードを格納することになります。テンプレートを作る今回はシンプルに以下の構成でファイルを作りました。scala-helloworld.g8/README.mdscala-helloworld.g8/src/main/g8/build.sbtscala-helloworld.g8/src/main/g8/default.propertiesscala-helloworld.g8/src/main/g8/src/main/scala/$package$/$classname$.scalascala-helloworld.g8/src/main/g8/src/test/scala/$package$/$classname$Spec.scala各ファイル内容は載せると冗長なのでこちらをご確認ください。github.comローカルでテストテンプレートができたらgithubなどにpushする前に正しく動作するかテストできます。これはsrc/main/g8にテンプレートを作った場合の特権です。テストsbt-helloworld.g8のあるフォルダで以下のコマンドを呼べばテストできます。file://scala-helloworld.g8うまくいかない場合はフルパスで書くと良いです。file:///path/to/scala-helloworld.g8今回のテンプレートであれば以下のようにプロジェクトの情報を聞かれます。[0.1.0-SNAPSHOT]:とりあえずEnter連打で試して動作確認し、全部変えてみて試す感じが良いと思います。runで動作確認ができます。Blog3をご確認ください。リポジトリにPush動作が確認できればGitHubなどにPushします。GitHubにPushGitHubに公開した場合は以下のようにユーザ名とリポジトリ名でテンプレートを指定できます。thachi/scala-helloworld.g8BitbucketにPushGitHub以外はリポジトリをフルパスで指定することで利用できます。今回はBitbucketで試しましたが、BitbuketのリポジトリはHTTPSはhttps://bitbucket.org/thachi/scala-helloworld.g8.gitSSHはgit@bitbucket.org:thachi/scala-helloworld.g8.gitです。git@bitbucket.org:thachi/scala-helloworld.g8とすることで指定ができます。Bitbucketは無料で非公開なリポジトリも作れるので、公開しないライブラリを使う場合はこちらにテンプレートを置くと便利ですね。newのテンプレートはgiter8のテンプレートを作ればそれが使えます。src/main/g8にファイルを作り、プロジェクトフィールドを駆使して思い通りのプロジェクトが生成できるようにテンプレートを作ります。テンプレートができたらローカルでテストして動作確認し、最後にGitHubやBitbucketなどのgitリポジトリにPushして、利用可能にします。今回は簡単なテンプレートを作りましたが要点は押さえていると思います。newライフを始めてみてはいかがでしょうか。Scala入門記の目次はこちらです。北海道にも短い夏がやってきました。Engineご無沙汰してます。sbtでServlet開発だいぶ時間が開いてしまいましたが元気です。その1ご無沙汰してしまっていました。(1)月別アーカイブ検索リンクはてなブログブログをはじめる(無料)お知らせはてなブログをはじめよう!t_hachinoheさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。