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