このページの内容

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とエディターのサポート

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クライアント。

リッチアプリケーション

  • Griffon - JVMでデスクトップアプリケーションを開発するためのアプリケーションフレームワーク。
  • GroovyFx - JavaFX 2.0向け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向け軽量・高性能アプリケーションプラットフォーム。

コード分析

トランスパイラー

  • Grooscript - GroovyコードをJavascriptへ変換する。

静的Web

  • Grain - Groovy向け静的Webサイト構築フレームワーク。
  • Gaiden - Markdownを使ったドキュメント作成を簡単にするツール。

言語ユーティリティ

  • Functionalgroovy - Groovyにおける関数型プログラミング。
  • Groovy-stream - Streams(遅延Groovyジェネレーター)向けの流暢なビルダーを提供するクラスコレクション。
  • Flipside - シンプルなGroovyオプションライブラリ。
  • groovy-common-extensions - 拡張システムを通じ、Groovy言語で一般的に有用な機能を追加できる。
  • groovy-extra-list-behaviour - 拡張システムを通じてListsへ追加メソッドを加える。
  • GPerfUtils - コードのパフォーマンスを検証するGroovyベースツール。
    • gprof - Groovy向けプロファイリングモジュール。
    • gbench - 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ライブラリ。

ルールエンジン

  • grules - データ前処理向けルールエンジン。
  • n-cube - ハイパースペースとして構築された、ルールエンジン、決定表、決定木、テンプレートエンジン、エンタープライズスプレッドシート。

リソース

公式リソース

ブラウザーで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 - ユニットテスト形式の小さな演習コレクション。

コアコミッターのブログ

カンファレンス

寄稿

このリポジトリをフォークし、このファイルを編集してプルリクエストを送ってください。

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

クレジット

世にあるすべてのawesome-*リポジトリと、これこれのようなアグリゲーターへ。