3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

gradle pluginのソースコードをビルドして動かす

Last updated at Posted at 2015-04-21

既に公開されているpluginのソースコードを拾ってきて少し変更して動かす方法が分からなくてハマったのでメモ。

具体的にはgradle-xcodePluginをちょっと触ろうと思ったんだけどソースコードからだとapply plugin:が上手く出来なくてハマった。

環境

  • gradle 2.3

前置き

buildSrcに入れて動かすとかjarをimportして動かすとか色々あるっぽいのだけど上手く行かなかったので、以下のようにした。

  1. pluginのソースコードをローカルに配置
  2. pluginのビルドを実行
  3. ビルドしたpluginをuploadArchivesでローカルリポジトリとして配置
  4. build.gradleのrepositoryに手順3で配置したパスを追加

やったこと

pluginのソースコードを取得

cd ~/workspace
git clone https://github.com/openbakery/gradle-xcodePlugin

pluginのビルド

cd gradle-xcodePlugin
gradle build

ビルドしたpluginの配置

uploadArchivesというtaskでmaven repositoryにファイルを配置するのがmaven界のしきたりっぽい(?)けど完全に理解してない。

gradle uploadArchives

今回のpluginのbuild.gradleにはこんな感じで書いてある。

workspace/gradle-xcodePlugin/plugin/build.gradle
...
uploadArchives {
  repositories {
    mavenDeployer {
      repository(url: uri('../../repository'))
    }
  }
}
...

この場合はworkspace/repository以下にmaven repositoryぽいものが出来る。

applicationのbuild.gradleの編集

workspace/Appにアプリが配置されていて、直下にbuild.gradleがあるものとすると、以下のようにrepositoriesとdependenciesを指定することでビルドしたpluginを利用することが出来る。

workspace/App/build.gradle
...
buildscript {
  repositories {
    maven {
      url uri('../repository')
    }
    mavenCentral()
  }
  dependencies {
    classpath group: 'org.openbakery', name: 'xcodePlugin', version: '0.10.+'
  }
}

apply plugin: 'xcode'
...

これでgradle taskとかやってpluginのtaskが表示されたら成功。

もう少しスマートなやり方があったら教えて下さい。

参考

Creating a Gradle Custom Plugin with Java
http://stackoverflow.com/questions/17664183/creating-a-gradle-custom-plugin-with-Java

ダメだったその他の方法っぽいやつ
http://gradle.monochromeroad.com/docs/userguide/custom_plugins.html

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?