SDK 6.2.2が出てた
年末に出てたらしい。 https://sdkrepo.atlassian.com/win-signed/
ということで、6.2.2にしてサンプルプロジェクトを作ってみた。気になるところはpom.xmlのここ
<properties> <confluence.version>5.9.3</confluence.version> <confluence.data.version>5.7.4</confluence.data.version> <amps.version>6.2.1</amps.version> <plugin.testrunner.version>1.2.3</plugin.testrunner.version> <atlassian.spring.scanner.version>1.2.6</atlassian.spring.scanner.version> <!-- This key is used to keep the consistency between the key in atlassian-plugin.xml and the key to generate bundle. --> <atlassian.plugin.key>${project.groupId}.${project.artifactId}</atlassian.plugin.key> </properties>
んー、5.9.3なのにデータバージョンが5.7.4ってどうなんだろうとか思ったけど、Go2Groupの人が Why confluence.version and confluence.data.version are different? - Atlassian Answersと言っているのでとりあえずいいかっていう感じで。
んが。。。。
ここだけ変えてもSDK Confluenceが5.9.3にならない。5.8.8という微妙なバージョンになっている。Server版5.8系の最終は5.8.18だから別に5.8の安定板ということでもないし・・・・手元のmavenリポジトリには5.8.9が最終だし。。。
他に増えた個所は・・・
と探していると、なんかこの辺りが増えてる・・・
<build> <plugins> <plugin> <groupId>com.atlassian.maven.plugins</groupId> <artifactId>maven-confluence-plugin</artifactId> <version>${amps.version}</version> <extensions>true</extensions> <configuration> <productVersion>${confluence.version}</productVersion> <productDataVersion>${confluence.data.version}</productDataVersion> <enableQuickReload>true</enableQuickReload> <enableFastdev>false</enableFastdev> <instructions> <Atlassian-Plugin-Key>${atlassian.plugin.key}</Atlassian-Plugin-Key> <!-- Add package to export here --> <Export-Package> junoe.jp.api, </Export-Package> <!-- Add package import here --> <Import-Package> org.springframework.osgi.*;resolution:="optional", org.eclipse.gemini.blueprint.*;resolution:="optional", * </Import-Package> <!-- Ensure plugin is spring powered - see https://extranet.atlassian.com/x/xBS9hQ --> <Spring-Context>*</Spring-Context> </instructions> </configuration> </plugin> <plugin> <groupId>com.atlassian.plugin</groupId> <artifactId>atlassian-spring-scanner-maven-plugin</artifactId> <version>1.2.6</version> <executions> <execution> <goals> <goal>atlassian-spring-scanner</goal> </goals> <phase>process-classes</phase> </execution> </executions> <configuration> <scannedDependencies> <dependency> <groupId>com.atlassian.plugin</groupId> <artifactId>atlassian-spring-scanner-external-jar</artifactId> </dependency> </scannedDependencies> <verbose>false</verbose> </configuration> </plugin> </plugins> </build>
んー、なんなんだろう。。。そもそも、さっき増やしたところの atlassian.spring.scanner.version/ atlassian.plugin.keyというプロパティが増えているのも気になる。。。
ということで、このbuildを増やして再度atlas-run
すると、ちゃんと5.9.3になった。
んだけど、別のプロジェクトでこのpomのbulid部分を足さなくてもpropertyだけ変えてatlas-runしたらそれはそれでうまくいっている・・・・。
んー、よくわからないな。
いや、実はその前にダミープロジェクトを作ってatrus-runした時にcom/atlassian/confluence/confluence-webapp/5.9.3/confluence-webapp-5.9.3.warをダウンロードしていますっていうのがあったので、なんかうまくwarがダウンロードできてなかっただけかもしれない。
さらに言うと
<atlassian.spring.scanner.version>1.2.6</atlassian.spring.scanner.version> <atlassian.plugin.key>${project.groupId}.${project.artifactId}</atlassian.plugin.key>
の部分が無くても問題なく起動した。
んーん。。。
プラグインのインストールが失敗する
駄目なんですよこれが・・・。
エラー見てると、
2016-01-04 18:22:08,908 ERROR [UpmAsynchronousTaskManager:thread-1] [atlassian.plugin.manager.PluginEnabler] actualEnable Unable to enable plugin jp.junoe.confluence.plugins.conf2dita -- url: /confluence/rest/plugins/1.0/ | userName: admin com.atlassian.plugin.osgi.container.OsgiContainerException: Cannot start plugin: jp.junoe.confluence.plugins.conf2dita at com.atlassian.plugin.osgi.factory.OsgiPlugin.enableInternal(OsgiPlugin.java:407) ... Caused by: org.osgi.framework.BundleException: Unresolved constraint in bundle jp.junoe.confluence.plugins.conf2dita [242]: Unable to resolve 242.0: missing requirement [242.0] osgi.wiring.package; (osgi.wiring.package=com.saxonica.validate) at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3974) at org.apache.felix.framework.Felix.startBundle(Felix.java:2037) at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:955) at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:942) at com.atlassian.plugin.osgi.factory.OsgiPlugin.enableInternal(OsgiPlugin.java:388) ... 21 more
とかなっててどうにもならない。
なんか、QuickReloadっていうどうもディレクトリ構成とかファイルが変わったら自動でPluginをインストールしてくれるっぽい機能が入ったみたいで、pom.xmlから
<enableQuickReload>true</enableQuickReload> <enableFastdev>false</enableFastdev> <instructions> <Atlassian-Plugin-Key>${atlassian.plugin.key}</Atlassian-Plugin-Key> <!-- Add package to export here --> <Export-Package> junoe.jp.api, </Export-Package> <!-- Add package import here --> <Import-Package> org.springframework.osgi.*;resolution:="optional", org.eclipse.gemini.blueprint.*;resolution:="optional", * </Import-Package> <!-- Ensure plugin is spring powered - see https://extranet.atlassian.com/x/xBS9hQ --> <Spring-Context>*</Spring-Context> </instructions>
を削除したらうまくいった。んー。。。。。
com.atlassian.sal のバージョンでハマる
なぜか、ひとつだけsalのバージョンでハマった。
普通にSDK6.2.2でatlas-create-confluence-plugin-moduleでラインセンスユニットを追加すると、salは2.4.0が追加されるのだが、これだと
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'myPluginComponent' defined in URL [bundle://249.0:0/META-INF/spring/atlassian-plugins-components.xml]: Unsatisfied dependency expressed through constructor argument with index 0 of type [com.atlassian.sal.api.ApplicationProperties]:
みたいなエラーが出てしまったので、
<dependency> <groupId>com.atlassian.sal</groupId> <artifactId>sal-api</artifactId> <version>3.0.5</version> <scope>provided</scope> </dependency>
と、3.0.5にアップしてみたらうまくいった。