Embulkのコアの開発者の方が
諸般の事情でEmbulk内のgradleのバージョンを上げたい時に作業をする手順です。
プラグイン内のgradleは、embulk migrate
でアップデートされるので本作業は不要です。
gradleの導入
brew install gradle
新しいgradleラッパーの生成
もしかするとEmbulk内の./gradlew wrapper --gradle-version 2.XX
でも大丈夫かも(未確認)
gradle wrapper --gradle-version 2.10
:wrapper
BUILD SUCCESSFUL
Total time: 1.068 secs
生成されたファイルの確認
上記コマンドで次のファイルが生成されます。
.
|-- gradle
| `-- wrapper
| |-- gradle-wrapper.jar
| `-- gradle-wrapper.properties
|-- gradlew
`-- gradlew.bat
ファイルのコピー
それぞれ次の場所にコピーします。
- gradle
- lib/embulk/data/new/java/gradlew
- gradlew
- gradle.bat
- lib/embulk/data/new/java/gradle
- gradle.bat
- gradle/wrapper/gradle-wrapper.jar
- lib/embulk/data/new/java/gradle/wrapper/gradle-wrapper.jar
- gradle/wrapper/gradle-wrapper.jar
- gradle/wrapper/gradle-wrapper.properties
- lib/embulk/data/new/java/gradle/wrapper/gradle-wrapper.properties
- gradle/wrapper/gradle-wrapper.properties
gradlew, gradlew.batは内容が一緒で、入れ替え不要の場合もあると思います。
if文の修正
embulk migrate
した時にgradle-wrapper.jar
と、gradle-wrapper.properties
を置き換えするようにmigrator.match
の部分を修正します。
lib/embulk/command/embulk_migrate_plugin.rb
# upgrade gradle version
if migrator.match("gradle/wrapper/gradle-wrapper.properties", /gradle-2\.\d-/)
# gradle < 2.10 (\d matches one digit)
require 'embulk/data/package_data'
data = PackageData.new("new", migrator.path)
migrator.write "gradle/wrapper/gradle-wrapper.properties", data.content("java/gradle/wrapper/gradle-wrapper.properties")
migrator.write "gradle/wrapper/gradle-wrapper.jar", data.bincontent("java/gradle/wrapper/gradle-wrapper.jar")
end
プルリクエスト
プルリクエストをしてください。