ラベル Gradle の投稿を表示しています。 すべての投稿を表示
ラベル Gradle の投稿を表示しています。 すべての投稿を表示

2017年9月29日金曜日

GradleでOracle Maven RepositoryからJDBCドライバを取得する方法

$HOME/.gradle/gradle.propertiesにOTNのアカウント情報を設定

OTNの自分のアカウント情報を設定する。
otn_user=hoge
otn_password=fuga

build.gradleにOracle Maven Repositoryの情報を追加

mavenリポジトリの設定とともに、credentialsを使用してリポジトリにアクセスするためのユーザ名とパスワードを指定する。
ユーザ名とパスワードは、gradle.propertiesに設定したものを参照する。
  maven {
  url "https://www.oracle.com/content/secure/maven/content"
  credentials {
    username otn_user
    password otn_password
  }
}

JDBCドライバの追加

使いたいバージョンを設定する。
compile 'com.oracle.jdbc:ojdbc8:12.2.0.1'

dependenciesで確認

参照できました。(UCPも落ちてくるのか)
\--- com.oracle.jdbc:ojdbc8:12.2.0.1
     \--- com.oracle.jdbc:ucp:12.2.0.1
          \--- com.oracle.jdbc:ojdbc8:12.2.0.1 (*)

2017年8月4日金曜日

Java9でJMockit

Java9でのJMockitについて


build.gradleの定義

dependencies {
  testCompile 'org.jmockit:jmockit:1.33'
  testCompile 'junit:junit:4.12'
}

何も設定をせずにテストを実行すると

jmockitのライブラリを-javaagentに設定するか、システムプロパティにjdk.attach.allowAttachSelfを設定してください例外が発生します。
Caused by: java.lang.IllegalStateException: Running on JDK 9 requires
 -javaagent:/jmockit-1.n.jar or -Djdk.attach.allowAttachSelf

テスト実行時のシステムプロパティを追加する

Gradleのテストタスク実行時に、上の例外で指定されたシステムプロパティを設定します。
test {
  jvmArgs "-Djdk.attach.allowAttachSelf"
}

システムプロパティ追加後にテストを実行

このようにテストが正常に実行されます。
➜  java9 ./gradlew clean test

BUILD SUCCESSFUL in 2s
3 actionable tasks: 3 executed

gradle実行時にワーニングログが出力される場合

Gradle実行時にこのようなワーニングが出力される場合があります。
その場合は、Gradleのバージョンを4.1以上(現時点では4.1-rc-2が最新)にします。
➜  java9 ./gradlew clean test
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.gradle.internal.reflect.JavaMethod
WARNING: Please consider reporting this to the maintainers of org.gradle.internal.reflect.JavaMethod
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

2016年4月26日火曜日

[Gradle]依存ライブラリのバージョンの固定化

この場合、junitのバージョンは4.11に固定化される。
どこかのライブラリが新しいバージョンを落とそうとしても、強制的に4.11になる。

configurations.all {
    resolutionStrategy { 
        force 'junit:junit:4.11'
    }
}

2016年4月3日日曜日

Gradleのタスクに指定できるオプションを調べる方法

Gradleのhelpタスクで、そのタスクに指定できるオプションを見ることができる。

使い方

helpタスクのオプションのtaskに対して調べたいタスク名を指定する。
gradlew help --task タスク名

実行結果

dependencyInsightタスクのhelpを見てみた結果。
このタスクは2つのオプションを指定できることなんかがわかる。
$ ./gradlew help --task dependencyInsight
:help
Detailed task information for dependencyInsight

Path
     :dependencyInsight

Type
     DependencyInsightReportTask (org.gradle.api.tasks.diagnostics.DependencyInsightReportTask)

Options
     --configuration     Looks for the dependency in given configuration.

     --dependency     Shows the details of given dependency.

Description
     Displays the insight into a specific dependency in root project 'spring-boot-in-action'.

Group
     help