Processingライブラリを簡単に作る

こちらに移行しました。

https://blog.enkatsu.org/post/p5library-gradle-template/

<!--

Processingライブラリを作ろうとすると、
パスの設定とかめんどくさい作業が多いです。
そこで、Gradleを使って簡単にライブラリを作れるテンプレートを作ったので紹介したいと思います。

# 準備

まずはGradleをインストールしましょう。
Macの場合は`brew install gradle`でインストールできます。

# [processing-library-template-gradle](https://github.com/enkatsu/processing-library-template-gradle)

## processing-library-template-gradleを使ったライブラリの作り方

今回は`helloP5Lib`というライブラリを作る想定で書いていきます。
クラスは`hello.p5.lib`パッケージの`Hello`クラスのみです。
このライブラリの使い方はこんな感じです。

```java:Sample.pde
import hello.p5.lib.*;
Hello hello;

void setup() {
    size(300, 300);
    hello = new Hello(this, "Taro");
}
void draw() {
    background(0);
    hello.draw(100, 100);
}
```

<img width="300" alt="スクリーンショット 2018-03-08 18.30.43.png" src="https://qiita-image-store.s3.amazonaws.com/0/80816/1e2d89bd-27a3-8ac4-27c3-07aefb6fa619.png">

## テンプレートをダウンロード


**追記**

現在は https://github.com/enkatsu/processing-library-template-gradle をテンプレートリポジトリに設定しているので、 `Use this template` から新しいリポジトリを複製して作業することをおすすめします。
その場合は、下記の `git clone` するURLは複製したものに置き換えてください。

```bash
mkdir helloP5Lib
cd helloP5Lib
git clone https://github.com/enkatsu/processing-library-template-gradle.git .
```

この時のディレクトリ構造はこんな感じです。

```
.
├── LICENSE
├── README.md
├── build.gradle
├── examples # ライブラリのサンプルスケッチ
│   └── HelloLibrary
│       └── HelloLibrary.pde
├── gradlew
├── gradlew.bat
├── settings.gradle
└── src
    └── main
        └── java # 実際にライブラリのソースコードを書くところ
            └── processing
                └── library
                    └── template
                        └── Sample.java
```

## ビルドの設定

```gradle:settings.gradle
rootProject.name='helloP5Lib'
```

```gradle:build.gradle
group 'helloP5Lib'
```

## ライブラリの実装

次に`src/main/java/`以下を編集してライブラリの中身を書いていきます。

```bash
rm -rf src/main/java/processing
mkdir -p src/main/java/hello/p5/lib
touch src/main/java/hello/p5/lib/Hello.java
```

```java:Hello.java
package hello.p5.lib;

import processing.core.*;

public class Hello {
    PApplet app;
    String name;
    public Hello(PApplet app, String name) {
        this.app = app;
        this.name = name;
    }
    public void draw(float x, float y) {
        app.text(this.name, x, y);
    }
}
```

## ライブラリのビルド

ビルドは以下のコマンドです。

```bash
gradle -q
```

リファレンスはこんな感じで出力できます。

```bash
gradle javadoc
```

この時点でのディレクトリ構造はこんな感じです。

```
.
├── LICENSE
├── README.md
├── build.gradle
├── examples
│   └── HelloLibrary
│       └── HelloLibrary.pde
├── gradlew
├── gradlew.bat
├── library # ビルドされたライブラリ
│   ├── classes
│   │   └── java
│   │       └── main
│   │           └── hello
│   │               └── p5
│   │                   └── lib
│   │                       └── Hello.class
│   ├── processingLibraryTemplate.jar
│   └── tmp
│       ├── compileJava
│       ├── jar
│       │   └── MANIFEST.MF
│       └── javadoc
│           └── javadoc.options
├── reference # 出力されたリファレンス
│   └── javadoc
├── settings.gradle
└── src
    └── main
        └── java
            └── hello
                └── p5
                    └── lib
                        └── Hello.java
```

## Processingにインストールして使う


`helloP5Lib`ディレクトリを`processing/libraries`以下にごっそりコピーしたら完了です。
Processingを再起動して`Sketch > Import library`に表示されるか確認してみましょう。
`helloP5Lib`と表示されていたらオリジナルライブラリの完成です。

-->