Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WEB-INF配下を明示指定でスキャンできるWebInfSourceScannerを新設 #106

Merged
merged 2 commits into from
Jul 15, 2024

Conversation

mitonize
Copy link
Collaborator

Webアプリケーションのコンテキスト内のリソースを走査してライブラリファイルを検出するためのSourceScanner実装。
走査対象は WEB-INF配下のリソースで、lib内のJARファイルも走査対象となる。

ServiceProviderの設定ファイルで以下のように設定することで、走査対象のライブラリファイルを指定することができる。
設定は記述順で評価され、最初に合致したものが採用される。

includeexclude/WEB-INF/を基準としてライブラリファイル(tld,mld)を検出対象(include)または除外対象(exclude)するためのGlobパターンを指定する。記述順に評価され最初に合致したもので判定される。
どちらのパターンも指定されない場合はinclude="**/*.{tld,mld}"のみが指定されたものとみなす。

includeJarexcludeJarで走査対象JARファイルのWEB-INF/libを基準としたファイル名部分のGlobパターンを指定する。
どちらのパターンも指定されない場合は includeJar="*.jar" のみが指定されたものとみなす。

includeInJarMetaInfexcludeInJarMetaInfで読み込み対象とするライブラリファイルパスのJARファイル内のMETA-INFを基準としたGlobパターンを指定する。
どちらのパターンも指定されない場合は includeInJarMetaInf="*.{tld,mld}" のみが指定されたものとみなす。

記述例

<scanner class="org.seasar.mayaa.impl.builder.library.scanner.WebInfSourceScanner">
  <parameter name="exclude" value="{classes,lib}/"/>
  <parameter name="include" value="**/*.{tld,mld}"/>
  <parameter name="includeJar" value="taglibs-*.jar"/>
  <parameter name="excludeInJarMetaInf" value="#123;x,sql,scriptfree,fn,permittedTaglibs#125;*"/>
  <parameter name="includeInJarMetaInf" value="*.tld"/>
</scanner>
Key Description
include 読み込み対象とするライブラリファイルパスのWEB-INFを基準としたGlobパターン
exclude 読み込み対象外とするライブラリファイルパスのWEB-INFを基準としたGlobパターン
includeJar 走査対象JARファイルのWEB-INF/libを基準としたファイル名部分のGlobパターン
excludeJar 走査対象外のJARファイルのWEB-INF/libを基準としたファイル名部分のGlobパターン
includeInJarMetaInf 読み込み対象とするライブラリファイルパスのJARファイル内のMETA-INFを基準としたGlobパターン
excludeInJarMetaInf 読み込み対象外とするライブラリファイルパスのJARファイル内のMETA-INFを基準としたGlobパターン

@mitonize mitonize added this to the v1.3.0 milestone Jul 15, 2024
@mitonize mitonize merged commit 0eb9594 into master Jul 15, 2024
1 check passed
@mitonize mitonize deleted the feature/add_library_scanner_from_webinf branch July 22, 2024 14:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant