opendaylight
startupの作成
archtypeVersion=1.4.1としてスケルトンを作成。
mvn archetype:generate -DarchetypeGroupId=org.opendaylight.controller -DarchetypeArtifactId=opendaylight-startup-archetype -DarchetypeRepository=http://nexus.opendaylight.org/content/repositories/opendaylight.release/ -DarchetypeCatalog=remote -DarchetypeVersion=1.4.1
apiへのdependenciesの追加
利用したい基本的なyangはmdsal.modelで使われ、定義されているのでこの依存関係を書いてあげれば使えるようになるらしい。
api/pom.xmlに以下の依存関係を追加.
<dependencies>
<dependency>
<groupId>org.opendaylight.mdsal.model</groupId>
<artifactId>ietf-yang-types-20130715</artifactId>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.model</groupId>
<artifactId>ietf-topology</artifactId>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.model</groupId>
<artifactId>yang-ext</artifactId>
</dependency>
</dependencies>
featureの修正
featureディレクトリ以下にfeature-X, odl-X-api, odl-X-cli, odl-X-restのXの部分を好きなアプリケーション名に変更する。
<modules>
<module>features-X</module>
<module>odl-X</module>
<module>odl-X-api</module>
<module>odl-X-rest</module>
<module>odl-X-cli</module>
</modules>
featuresのディレクトリはkarafで立ち上げた時にfeature:lisで出てくるfeaturesを規定しているようなので、ここに依存関係で呼び出したいfeatureを記述すればいいようである。今回は、rest経由でapidocを出したかったのでfeature-X-restにodl-restconfとodl-mdsal-apidocsを追記
featre-X-rest/pom.xmlに以下を追加
<dependencies>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>odl-restconf</artifactId>
<type>xml</type>
<classifier>features</classifier>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>odl-mdsal-apidocs</artifactId>
<type>xml</type>
<classifier>features</classifier>
</dependency>
</dependencies>
コンパイル
とりあえず今回は何もjavaのソースコードを書いていないので、以下のオプションをつけてコンパイル
mvn clean install -DskipTests -Dcheckstyle.skip=true