GradleでEclipseの設定をカスタマイズする

2,3日前にMaven神が荒ぶっておられました。(この辺のやりとり興味あるのですが、どなたかTogetterしてないですかね?)

【追記】mavenからgradleに移行する理由ってあるのかね」という流れだったようです。そこ見逃していました、すいません。


必須条件

  • Gradle 1.0-milestone-8 以上
    • GRADLE-2024 の対応が取り込まれている必要がある

設定方法

build.gradleに、以下(特に後半のwithPropertiesのところ)を追加してみてください。

apply plugin: 'java'
apply plugin: 'eclipse'

...

eclipse.jdt.file {
	withProperties { properties ->
		// 折り返す行数を120まで伸ばす
		properties.put('org.eclipse.jdt.core.formatter.lineSplit', '120')
	}
}

こんな感じで、Eclipse側の設定を追加できます。あとは、折り返しの行数以外の必要な設定も適宜追加してやればいいでしょう。

【追記】普通は一つ一つ設定するより、フォーマッタをファイルに落としておいて、それを読み込むことの方が多いでしょう。ファイルからフォーマッタの設定を読み込むには、以下のような形で実現できます。(例として、フォーマッタファイルはformatter.xmlとして保存されているものとする)

eclipse.jdt.file {
	withProperties { properties ->
		def formatter = new XmlSlurper().parse('formatter.xml')

		formatter.profile.setting.each {
			properties.put(it.@id as String, it.@value as String)
		}
	}
}

.projectや.classpath, .settings/org.eclipse.jdt.core.prefsは同じようなやり方で制御できます。が、それ以外で制御が必要なやつがある場合は、ちょっとやり方を変える必要があるかもしれません。あと、FindBugsとかCheckstyleとかはまた別の設定が必要になるけど、それは何とでも設定できるでしょう、多分。