Skip to content

GlossaryDataAdapter の relativize が別ドライブ・リポジトリ外パスで壊れる #1109

Description

@irof

事象

Glossary データ生成時の root.relativize(path) が、パスの前提が崩れると IllegalArgumentException を投げうる。

該当箇所

main (a3ad929) 時点: jig-core/src/main/java/org/dddjava/jig/adapter/datajs/GlossaryDataAdapter.java:79-82

typeSourcePaths.typeMap().forEach((typeId, path) ->
        map.put(typeId.fqn(), root.relativize(path).toString().replace('\\', '/')));

失敗シナリオ

  • Windows でソースと git リポジトリが別ドライブにある場合や、相対/絶対パスが混在した場合に例外が飛び、Glossary データ生成全体が失敗する
  • リポジトリ外のソースでは ../.. を含むパスが出力され、blob URL の連結が壊れる

修正案

relativize 可能か(同一ルート・リポジトリ配下か)を事前判定し、対象外はマップから除外する。


🤖 この issue は Claude Code のコードレビューにより作成されました。

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions