[DOLTENG-30] 新規プロジェクト作成ウィザードで作成した pom.xml の Servlet/JSP 等の依存ライブラリに <scope>provided</scope> が付くようにしました Created: 30/Aug/08  Updated: 11/Mar/09  Resolved: 11/Mar/09

Status: Resolved
Project: Dolteng
Component/s: None
Affects Version/s: 0.31.0
Fix Version/s: 0.37.0

Type: Improvement Priority: Major
Reporter: koichik Assignee: r_ikeda
Resolution: Fixed Votes: 0
Labels: None


 Description   

新規プロジェクト作成ウィザードで作成した pom.xml の Servlet/JSP 等の依存ライブラリに <scope>provided</scope> が付くようにしました



 Comments   
Comment by r_ikeda [ 07/Mar/09 ]

org.seasar.dolteng.projectsのplugin.xmlのmaven属性で指定できるようです。
現在groupId、artifactId、versionのみ指定されていますが、
以下、scopeを指定できるようにするpatchです。

Index: src/main/java/org/seasar/dolteng/projects/handler/impl/ClasspathHandler.java
===================================================================
--- src/main/java/org/seasar/dolteng/projects/handler/impl/ClasspathHandler.java	(revision 247)
+++ src/main/java/org/seasar/dolteng/projects/handler/impl/ClasspathHandler.java	(working copy)
@@ -121,7 +121,7 @@
                 String maven = entry.attribute.get("maven");
                 if (maven != null) {
                     String[] data = maven.split("[ ]*,[ ]*");
-                    if (data.length == 3) {
+                    if (data.length == 3 || data.length == 4) {
                         Element dependency = document
                                 .createElement("dependency");
                         Element groupId = document.createElement("groupId");
@@ -135,6 +135,11 @@
                         dependency.appendChild(groupId);
                         dependency.appendChild(artifactId);
                         dependency.appendChild(version);
+                        if (data.length == 4) {
+                            Element scope = document.createElement("scope");
+                            scope.appendChild(document.createTextNode(data[3]));
+                            dependency.appendChild(scope);
+                        }
                         dependencies.appendChild(dependency);
                     } else {
                         DoltengCore.log("invalid maven attribute("
@@ -189,4 +194,4 @@
         }
         return document;
     }
-}
\ No newline at end of file
+}
Comment by koichik [ 07/Mar/09 ]

ありがとうございます.
いっそのことコミッタになっていただけませんか?(^^;

Comment by r_ikeda [ 07/Mar/09 ]

koichikさん
はい、喜んで

Comment by Anonymous [ 08/Mar/09 ]

ありがとうございます!
それでは以下の情報を koichik あっとまーく improvement.jp までお知らせください (まだ Seasar プロジェクトのコミッタではありませんよね?).

氏名・ハンドルネーム:
連絡先メールアドレス:
ブログ/ホームページのURL:
希望アカウント名
第一希望:
第二希望:

Comment by Anonymous [ 08/Mar/09 ]

以下で報告されているように,<scope> だけでなく <exclusions> も含められた方がいいと思いますが,

http://d.hatena.ne.jp/scalar/20090304/1236153638

現在の maven 属性を利用した方法では限界があるように思います.
ここは次のように書けるといいような.

<entry kind="file" path="${libPath}/struts-1.2.9.jar" />
    <groupId>struts</groupId>
    <artifactId>struts</artifactId>
    <version>1.2.9</version>
    <exclusions>
        <exclusion>
            <groupId>xalan</groupId>
            <artifactId>xalan</artifactId>
        </exclusion>
    </exclusions>
</entry>

<entry> の子要素をそのまま pom.xml に反映させるということです.dicon 系のハンドラがそのようになっているので可能なはず.

Comment by r_ikeda [ 09/Mar/09 ]

手元の環境でentryの子要素で指定できるよう機能追加できました。
maven属性での指定方法もとりあえず残しておいて、entryに子要素が
あったら上書きされるような動作で考えてます。
JIRAにファイル添付する方法がわからないので必要があればMLの方にパッチ上げます。

Comment by koichik [ 09/Mar/09 ]

素早い!!
コミッタの手続きが済んだら直接コミットしてください.
太一がメールに気づいてないみたいですが...

Comment by r_ikeda [ 10/Mar/09 ]

コミットしました。
http://svn.seasar.org/browse?view=rev&root=sandbox.dolteng&revision=248

Comment by koichik [ 11/Mar/09 ]

maven 属性で指定していた情報も全部子要素で指定するようにした.
行数が 5 割増しになるけどこの方が明確でいいだろうということで.
http://svn.seasar.org/browse/?view=rev&root=sandbox.dolteng&revision=249

Comment by r_ikeda [ 11/Mar/09 ]

SAStruts+Mayaaの場合にもexclusionsを指定するよう修正しました。
http://svn.seasar.org/browse?view=rev&root=sandbox.dolteng&revision=250

Comment by r_ikeda [ 11/Mar/09 ]

対応しました。

Comment by r_ikeda [ 11/Mar/09 ]

要約を変更

Comment by r_ikeda [ 11/Mar/09 ]

要約変更

Generated at Thu Apr 09 09:34:52 JST 2020 using JIRA 7.9.2#79002-sha1:3bb15b68ecd99a30eb364c4c1a393359bcad6278.