Groovy で作成された実用的な小さなアプリケーションがあります。現時点では、コマンド ラインでテストできますが、Jenkins サーバーと統合する必要があります。そのため、Gradle と統合して、Jenkins が読み取れる標準形式でテスト出力を生成することを考えました。(私はGroovy、Gradle、Jenkins、およびJVM環境全般に不慣れであることを考慮してください)。
現時点では、すべてのテストはMyTest
、拡張された単一のクラス内に存在しますGroovyTestCase
。次のような小さなbashスクリプトで実行できます
#! /bin/bash
DIR=$( cd "$( dirname "$0" )" && pwd )
LIBS="$DIR/lib/*"
groovy -cp "$LIBS" path/to/MyTest.groovy
このレイアウトには気に入らない点が複数あります。
- まず、テストを複数のクラスに分けてテストスイートに結合したいのですが、テストケースはGroovyで自動実行できるという利点がありました
- 第二に、私が言ったように、Jenkins によって消費されるテスト レポートを取得できるようにしたいと考えています。
- 第 3 に、必要なすべての jar を
lib
ディレクトリに配置することが適切な方法であるかどうかはわかりません。おそらくそうではありません。
Gradle はまさに私が必要としているツールのようです。しかし、私が見つけたすべてのドキュメントは、Java、Ant、Maven、およびエコシステム全体に関する以前の知識を前提としています。
実用的な Gradle プロジェクトを作成するための基本的な手順は何ですか?
ここで提案されているようにディレクトリ構造を再編成しましたが、依存関係を宣言する方法がわかりません。たとえば、このbuild.gradleで
apply plugin: 'groovy'
repositories {
mavenCentral()
}
dependencies {
groovy group: 'org.codehaus.groovy', name: 'groovy', version: '1.8.0'
runtime group: 'org.apache.log4j', name: 'log4j', version: '1.2.0'
}
私はエラーを取得します
unable to resolve class org.apache.log4j.Level
@ line 5, column 1.
import org.apache.log4j.Level
^
リポジトリを次のように変更すると
repositories {
mavenCentral()
flatDir { dirs 'lib' }
}
ディレクトリから取得するには、取得log4j
しますlib
A problem occurred evaluating root project 'alfred'.
Cause: Could not find method flatDir() for arguments [build_3urmo05tgpv3e97u7h8ij47i3$_run_closure1_closure3@64c7f7c4] on root project 'alfred'.