Java
processing

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

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

準備

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

processing-library-template-gradle

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

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

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);
}

スクリーンショット 2018-03-08 18.30.43.png

テンプレートをコピー

mkdir helloP5Lib
cd helloP5Lib
git clone https://github.com/endoh0509/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

ビルドの設定

settings.gradle
rootProject.name='helloP5Lib'
build.gradle
group 'helloP5Lib'

ライブラリの実装

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

rm -rf src/main/java/processing
mkdir -p src/main/java/hello/p5/lib
touch src/main/java/hello/p5/lib/Hello.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);
    }
}

ライブラリのビルド

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

gradle -q

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

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と表示されていたらオリジナルライブラリの完成です。