gradleで生成される依存ライブラリの並び順をlibrary名でソートする方法
は、以下の記述をbuild.gradleに追加してください。
eclipse { classpath { file { whenMerged { classpath -> def libs = classpath.entries.findAll { it.kind == 'lib' } libs = libs.collect { lib -> def baseDir = project.projectDir.getAbsolutePath().replace('\\', '/') if (lib.path.startsWith(baseDir)) { lib.path = lib.path.replace(baseDir, ".") } return lib } libs.sort(new Comparator<Library>() { public int compare(Library lib1, Library lib2) { String basename1 = new File(lib1.path).getName() String basename2 = new File(lib2.path).getName() return basename1.compareTo(basename2) } }) def others = classpath.entries.findAll { it.kind != 'lib' } classpath.entries = others + libs } } } }
ただし、eclipseにgradleプロジェクトとして認識させると.classpath
を使わずにプラグインの機能を使うようになってしまうため並び順が制御できなくなる。
gradleプロジェクトとしてeclipseに認識させていない場合、以下が不便です。