-
Notifications
You must be signed in to change notification settings - Fork 0
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
バージョンチェック処理でキャッシュが有効になっていないようにみえる #4
Comments
もしくはキャッシュとは無関係に前回チェックした時間などを記録していて一定時間経っていれば確認しているのかもしれない。 |
まずは maven のバージョンチェックの処理の振る舞いから調べる。 |
必ずしもすべてのパッケージにあるわけではないが、こんな metadata をもっている。 $ cat path/to/.m2/repository/org/apache/logging/log4j/log4j-api/maven-metadata-central.xml
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<versioning>
<latest>2.16.0</latest>
<release>2.16.0</release>
<versions>
...
<version>2.13.0</version>
<version>2.13.1</version>
<version>2.13.2</version>
<version>2.13.3</version>
<version>2.14.0</version>
<version>2.14.1</version>
<version>2.15.0</version>
<version>2.16.0</version>
</versions>
<lastUpdated>20211214184914</lastUpdated>
</versioning>
</metadata> |
ドキュメントを探してもどこに書いてあるのか全然わからない。直接 versions-maven-plugin のソースを読む。 |
このログを出力しているのは DefaultRepositoryMetadataManager にみえる。
|
DefaultRepositoryMetadataManager がどうやって呼び出されるかを調べればいいはず。 |
ソースだけではわからないのでデバッグログを眺めてみる。 $ ./mvnw versions:use-latest-releases -DgenerateBackupPoms=false -DallowMajorUpdates=false -X | tee versoins-debug.log |
デバッグログはこんな感じ。
|
ログにある github をチェックしにいくのは |
versions-maven-plugin のソース上はバージョンチェックの処理のタイミングを制御しているようにはみえない。おそらく maven 本体がなんらかの条件でバージョンチェックをスキップする制御があるんだと推測する。 |
DefaultUpdateCheckManager.isUpdateRequired でポリシーが最終チェック日付を確認している。これやな。 return ( lastCheckDate == null ) || policy.checkOutOfDate( lastCheckDate ); |
ArtifactRepositoryPolicy という仕組みがある。これを調べればよさそう。 |
この release 設定のポリシーだと思う。デフォルトが
https://maven.apache.org/ref/3.6.3/maven-settings/settings.html |
ビルドキャッシュは関係ないので日次で待ち時間が長くなることへの対応は #5 で検討する。 |
#2 でビルドキャッシュで任意のディレクトリを除外対象とした。しかし、同じ action のワークフローで最実行するときはキャッシュが有効になっているようにみえるが、実際の運用で action を呼び出す初回にはキャッシュが有効になっていないようにみえる。ワークフローの初回実行時にどういった振る舞いになっているのかを確認する。
The text was updated successfully, but these errors were encountered: