2012年10月31日水曜日

Gistを行番号つきでBloggerに表示

2012.12.28 追記:いつのまにかGistのスニペット自体に行番号が埋め込まれるようになっていたので、下記の設定は解除しました。

このBlog(Blogger)でもGistに登録したスニペットを埋め込んで表示しているが、デフォルトでは行番号が表示されないのが不便。『satomacoto: Gistで書いたコードを行番号つきでBloggerに埋め込む 』を参考に、行番号を表示するよう修正してみた。実際の表示例は、以下の通り。

手順は上記リンクの通りだが、HTML/Javascriptガジェットの登録方法が分からず、少し悩んだのでメモ。(追記:上記リンク内にも下記手順の画像がありましたが、小さくて見逃していました)

  • Bloggerの管理画面から「レイアウト」を選択
  • レイアウト上の「ガジェットを追加」 をクリック
    • ポップアップウインドウが表示される
  • 「基本」−「HTML/JavaScript」にある「+」をクリック
  • 「HTML/JavaScriptの設定」−「コンテンツ」に<script>タグで囲まれたJavaScriptを記述して「保存」をクリック

上記手順の後に、「レイアウト」画面で「配置を保存」をクリックすると、保存したJavaScriptが反映される。

Gradleで外部依存関係を指定する

Gradleにおける外部依存関係とは、プロジェクトが依存する外部モジュールを指す。例えば、Javaプロジェクトにおいて、ソースのコンパイル時や実行時に必要となるjarファイルがある場合、Javaプロジェクトはこれらのjarファイルと外部依存関係を持つことになる。

Gradleで外部依存関係を指定する方法は、具体的には以下の通り。


上記の例では、dependenciesプロパティ(5行目)で外部依存関係を指定している。compileはjava pluginで定義されているconfigurationでコンパイル時および実行時に必要な外部モジュールを指す。

外部モジュールは、‘group:name:version’という書式で指定する。group, name, versionはそれぞれMavenのgroupId, artifactId, version(これらの詳細は、Maven - Guide to Naming Conventionsを参照)に相当する。

外部依存関係として指定された外部モジュールは、reositoriesプロパティに定義したリポジトリから検索される。リポジトリについては、『dev-xconnecting: GradleでMavenリポジトリを使う』を参照のこと。

関連リンク

  • Gradle本家ユーザガイド
    • Gradle User Guide
      • 7.2.2. External dependenciesから必要(または理解度)に応じてリンクをたどっていくとよい

2012年10月30日火曜日

GradleでカスタムAntタスクを使用する

Gradleでは標準のAntタスクだけでなく、カスタムAntタスクを使用することもできる。具体的には、以下の通り。


configurationsプロパティにconifgurationを独自に定義するのがミソ。ここでは、taskdefという名前のconfigurationを作成している。

dependenciesプロパティにカスタムAntタスクが依存するモジュール(ここではJava2HTML Toolのjava2htmlタスク)を記述する際に、このtaskdefというconfigurationを使用する。

ant.taskdefでカスタムAntタスクを定義する方法は、GroovyでAntBuilderを使用する場合と同じ(というか、AntBuilderそのもの)だが、classpathを指定する際に、conifgurationのasPathプロパティを使用する。

関連リンク

Gradleからantタスクを呼び出す

GroovyではAntBuilderというクラスを使ってAntタスクを呼び出せるが、Gradleではこのクラスをantプロパティとして参照できる。具体的には、以下の通り。
task << hello{
    ant.echo('hello')
}

関連リンク

2012年10月29日月曜日

Gradleからbuild.xmlのAnt targetを呼び出す

Gradleでは、build.xmlに定義されたAntのターゲットをGradleのタスクとして実行できる。

例えば、以下のようなAntのbuild.xmlがあるとする。
<project basedir="." default="hello">
    <target name="hello">
        <echo>hello</echo>
    </target>
</project>
このbuild.xmlをGradleにインポートする。具体的には、build.gradleに以下のように記述する。
ant.importBuild 'build.xml'
これにより、GradleのhelloタスクとしてAntのhelloターゲットを実行することができる。

ただし、build.gradleにhelloタスクがすでに存在する場合、タスク名が衝突してしまう。この場合、以下のようなAntのビルドファイル(ファイル名は任意、ここではwrapper.xmlとする)を用意する。
<project default="">
    <include file="build.xml" as="antwrapper" />
</project>
このビルドファイルをbuild.gradleにインポートする。
ant.importBuild 'wrapper.xml'
これにより、AntのhelloターゲットをGradleのantwrapper.helloタスクとして実行できる。

2012年10月26日金曜日

GradleでMavenリポジトリを使う

GradleでMavenリポジトリを使うには、以下のように記述する。

依存関係の解決にはrepositories内に記述したMavenリポジトリを使用する。複数のリポジトリを記述した場合、上から順に依存関係の解決を試み、最初にモジュール(jar)が見つかったMavenリポジトリを使用する。

なお、モジュールはユーザディレクトリにある.gradleフォルダ内にダウンロードされる。Mavenリポジトリを参照しているからといって、Mavenのローカルリポジトリ(.m2フォルダ)にダウンロードされる訳ではない。また、Mavenのローカルリポジトリから依存関係を解決する場合も、.m2フォルダのモジュールを直接参照はせず、.gradleフォルダにコピーされたモジュールを参照する。

関連リンク

2012年10月24日水曜日

Eclipse + Gradle STS SupportでGroovy用のGradleプロジェクトを作成

Eclipse + Gradle STS Support上でGroovy用のGradleプロジェクトを作成しようとしたが、新規Gradleプロジェクトを作成するウィザードにはGroovy用のプロジェクトを作る機能が存在しない。とりあえずJava用のプロジェクトも作成してみたが、プロジェクト作成に数十秒もかかってしまう上、それを手直ししてGroovy用のプロジェクトにするのもかなり手間がかかる。

あれこれ試行錯誤した結果、当面は以下の手順でGroovy用のGladleプロジェクトを作成することにする。

前提

 

作成手順

Eclipseで新規プロジェクト(一般プロジェクト)を作成し、プロジェクト直下に、以下のbuild.gradleを配置する。(なお、このbuild.gradleは『IT検証ラボ - ビルドツールの移行性、MavenからGradleへの乗り換えは容易か:ITpro』の図33をGroovy用に修正したものです。)


コマンドラインでプロジェクトのディレクトリに移動し、上記のbuild.gradleに定義したmkdirsタスクを実行。
gradle mkdirs
プロジェクトを右クリックし、「Refresh」を選択する。これで先ほど作成したsrcディレクトリがEclipse上で認識される。

最後に、プロジェクトを右クリックし、「Configure」-「Convert to Gradle Project」を選択すると、Groovy用のGladleプロジェクトとして認識される。