Awesome Groovy
Groovyを扱う資料や関連プロジェクトをまとめたAwesomeリストです。
ビルドツール、セットアップ、CI
- Gradle - JVM向けの強力なビルドシステム。
- GMavenPlus - Groovy向けMavenプラグインであるGMavenの書き直し。
- SDKMAN - ソフトウェア開発キットマネージャー(以前はGVMとして知られていた)。
- skeletal - パッケージ化されたテンプレートを使うシンプルなプロジェクト作成ツール(Lazybonesの後継)。
- Lazybones - パッケージ化されたプロジェクトテンプレートを使うシンプルなプロジェクト作成ツール。
- Jenkins job-dsl-plugin - Jenkinsジョブ向けGroovy DSL。
- travis-groovy - travis-ciでGroovyスクリプトを実行する。
- Android Groovy Shell - スマートフォン上でGroovyスクリプトを直接コーディング・実行する。
IDEとエディターのサポート
- IntelliJ IDEA - Javaプラットフォーム向けで最もインテリジェントなIDE。
- Groovy Grails Tool Suite - Groovy・Grailsアプリケーションの開発、デバッグ、実行に最適化されたEclipseベースIDE。
- Groovy Web Console - オンラインGroovyコンソール。
- LightTable Plugin - LightTableサポート。
- SpaceVim - SpaceVimの
lang#groovyレイヤー。 - Sublime Text 2/3 - Sublime TextからGroovyスクリプトを実行する。
Webフレームワーク
- Grails - Groovy言語を基にした強力なWebアプリケーションフレームワーク。
- Micronaut - Grailsチームが作成した新しいマイクロサービスフレームワーク。
- Spring-Boot - Spring Bootは、単独で実行できる本番品質のSpringベースアプリケーションを簡単に作成する。コーディング言語としてGroovyを使える。
- Gaelyk - Google App Engine Java向け軽量Groovyツールキット。
- Glide - Google App Engine上で優れたアプリを素早く作成する。
- Ratpack - JVM Webアプリケーション向けツールキット。
- gServ - コンテナー(Tomcat、JBossなど)なしでSPA・RESTベースのマイクロサービスを作るGroovyツールキット。
データベース
- GORM - Grails ORM。Grailsなしでも単独で使える。
- Gmongo - mongodb Javaドライバー向けGroovyラッパー。
- Gstorm - Groovyスクリプトで使う、シンプルなデータベース・CSVファイル向けシンプルなORM。
- Tayra - MongoDB向け増分バックアップツール。
- Groovy-liquibase - Liquibase向けのもう一つのGroovy DSL。
- Effigy - Groovyアノテーション駆動のJDBC行マッピングフレームワーク(放棄済み)。
- elasticsearch-groovy - Elasticsearch Groovyクライアント。
リッチアプリケーション
HTTP
- Http-Builder - HTTPBuilderはJVMからHTTPベースのリソースを操作する最も簡単な方法。
- HTTP Builder NG - HTTPリクエストを行うためのモダンなGroovy DSL。
- HTTP Builder NG Gradle Plugin - Gradleビルド設定でHTTP Builder NGサポートを提供するGradleプラグイン。
- AsyncRestClient - RESTClientとRxGroovyの力を組み合わせ、非同期HTTP呼び出しを行う。
- Groovy-wslite - Groovy向け軽量SOAP・REST Webサービスクライアント。
- Hyperpoet - Groovy向け、使いやすくカスタマイズ可能なHTTPクライアント。
テスト
- Spock - エンタープライズ対応のテスト・仕様フレームワーク。
- Geb - とてもGroovyなブラウザー自動化。
- Betamax - テストでWebサービスやREST APIなどの外部HTTPリソースをモックするツール。
- HTTP Mock Server - Groovyクロージャーを使ってHTTPリクエストをモックできる。
- Ersatz Mock Server - 設定可能なレスポンスでクライアントコードをテストする、シンプルで表現力のあるシミュレートHTTPサーバー。
- Dru - Data Reconstruction Utilityは外部ソースのJSON、YMLからデータを読み込み、GORM、DynamoDB、単純なPOJOのテストを容易にする。
- Gru - Grails・Spring MVCのネイティブユニットテストをサポートし、任意のHTTPバックエンドの統合・半統合テストを実行するGroovy HTTPテストフレームワーク。
並行処理
- GPars - JVM向けGPars並行・並列処理フレームワーク。
- RxGroovy - Groovy向けRxJavaバインディング。
- Vertx - Vert.xはJVM向け軽量・高性能アプリケーションプラットフォーム。
コード分析
- CodeNarc - Groovy向け静的分析ツール。
- Sonar-Groovy - SonarQube Groovyプラグイン。
トランスパイラー
- Grooscript - GroovyコードをJavascriptへ変換する。
静的Web
言語ユーティリティ
- Functionalgroovy - Groovyにおける関数型プログラミング。
- Groovy-stream - Streams(遅延Groovyジェネレーター)向けの流暢なビルダーを提供するクラスコレクション。
- Flipside - シンプルなGroovyオプションライブラリ。
- groovy-common-extensions - 拡張システムを通じ、Groovy言語で一般的に有用な機能を追加できる。
- groovy-extra-list-behaviour - 拡張システムを通じてListsへ追加メソッドを加える。
- GPerfUtils - コードのパフォーマンスを検証するGroovyベースツール。
- Fuzzy-CSV - 別のサービス・ライブラリで利用される前に、表形式データを整形・処理するのに便利なシンプル軽量データ処理ライブラリ。
データ処理
- Nextflow - データ駆動計算パイプライン向けGroovy DSL。
ファイルシステムユーティリティ
- Groovy-Vfs - Apache VFS2上のGroovy向けDSL。
- Directree - テキストファイルでディレクトリツリーを作成するシンプルなDSL。
DSL
- document-builder - PDFまたはWord文書向けGroovyドキュメントビルダー。
- spreadsheet-builder - MS Excel OfficeOpenXML文書(XSLX)を作る便利な方法を提供するスプレッドシートビルダー。
- GroovyCSV - Groovy向けシンプルなCSV解析ライブラリ。
- Groogle - GoogleサービスAPIを使うために書かれたGroovy DSL。
スクリプティングツール
- EasyDokkaPlugin - Java・Kotlin向けDokkaドキュメントエンジンでドキュメントを生成するGradleスクリプトプラグイン。
- GradleMavenPush - GradleアーティファクトをMavenリポジトリへアップロードするGradleスクリプトプラグイン。
- picocli - CLI用パーサーライブラリ・フレームワーク。ANSI色の使用方法ヘルプ、自動補完、ネストしたサブコマンドなどを備える。
- sshoogr - SSH経由でリモートサーバーを操作するDSLライブラリ。
ルールエンジン
リソース
公式リソース
- The official groovy home - Groovyの新しいホーム。
- Groovy’s source - GitHubにミラーリングされたGroovyのソースコード。
- Groovy mailing lists - 新しいメーリングリストに注意。
- Official Documentation - Groovyドキュメントの決定版ソース。
ブラウザーでGroovyを試す
Groovyコード例
- MrHaKi’s Goodness - 「Groovy Goodness」、「Grails Goodness」、Gradle Goodness」というタイトルのエントリーに注目。
- PLEAC Groovy - Groovyは32言語中3言語の一つで、PLEACの例を100%完了している。
最新情報を追う
- Groovy Calamari - Groovyエコシステムに関する週刊厳選出版物。
- Groovy Weekly - Groovy週刊ニュースレター。
- Grails Diary - Grails開発者にとくに役立つ。
- Groovy Podcast - Ken KousenとBaruch SadogurskyがGroovyエコシステムのニュース・知見を語る。
対話型学習
- Groovy-Koans - ユニットテスト形式の小さな演習コレクション。
コアコミッターのブログ
カンファレンス
- Community Over Code - Groovyトラックがある。
- Greachconf(終了)
- GR8Conf Europe(終了)
- GR8Conf USA(終了)
寄稿
このリポジトリをフォークし、このファイルを編集してプルリクエストを送ってください。
awesome.groovyスクリプトの使用
awesome.groovyスクリプトを使うと、GitHub上のawesomeプロジェクトを検索し、プロジェクト名、リポジトリURL、Markdown形式の説明をあらかじめ入力したエントリーを生成できます。必要なのは、README.md内のMarkdownリストで適切なグループに配置することだけです。
例
言語がgroovyで名前にgparsを含むリポジトリを見つけるには
./awesome.groovy -l groovy gparsユーザー「kdabir」のリポジトリで名前にglideを含むものを見つけるには
./awesome.groovy -u kdabir glide名前にglideを含むリポジトリを見つけるには
./awesome.groovy glideリポジトリをダウンロードするのが面倒な場合は、次の簡単な方法があります:
groovy "https://git.io/awesome" -l groovy glide