Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kotlinプロジェクトを”再現可能”に保つ: Gradleのlockfileと応用例の紹介

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →

Kotlinプロジェクトを”再現可能”に保つ: Gradleのlockfileと応用例の紹介

After.kt 2025 #2 発表資料

Avatar for omelette-alpaca

omelette-alpaca

November 19, 2025

More Decks by omelette-alpaca

Other Decks in Programming

Transcript

  1. 01. Introduction 1.1 About LINE Digital Frontier [PR] 1.2 About

    Me 02. Lockfileの背景 2.1 About Pain 2.2 Example Agenda 2.3 Direct & Root Cause 03. Gradle lockfileについて 3.1 Lockfile Adoption Rate 3.2 About Gradle Lockfile 04. Lockfileの処理について 4.1 Gradle Process 4.2 Detail 05. Gradle lockfileの実践 5.1 Problem: Multi-Project 5.2 Solution: Multi-Project 5.3 Problem: Lockfile Management 5.4. Solution: Lockfile Management 06. Lockfileの応用例1: SBOM管理 6.1 What is SBOM ? 6.2 Why SBOM ? 6.3 How SBOM ? 6.4 Lockfile x Trivy 07. Lockfileの応用例2: 脆弱性スキャン 7.1 What is Security Scan ? 7.2 How Security Scan ? 7.3 Lockfile x OSV-Scanner 08. Lockfileの応用例3: 自動更新 8.1 About Auto Update 8.2 How Auto Update 8.3 About Renovate 8.4 Lockfile x Renovate 09. Conclusion 9.1 Summary
  2. 01. Introduction 1.1 About LINE Digital Frontier [PR] 1.2 About

    Me 02. Lockfileの背景 2.1 About Pain 2.2 Example Agenda 2.3 Direct & Root Cause 03. Gradle lockfileについて 3.1 Lockfile Adoption Rate 3.2 About Gradle Lockfile 04. Lockfileの処理について 4.1 Gradle Process 4.2 Detail 05. Gradle lockfileの実践 5.1 Problem: Multi-Project 5.2 Solution: Multi-Project 5.3 Problem: Lockfile Management 5.4. Solution: Lockfile Management 06. Lockfileの応用例1: SBOM管理 6.1 What is SBOM ? 6.2 Why SBOM ? 6.3 How SBOM ? 6.4 Lockfile x Trivy 07. Lockfileの応用例2: 脆弱性スキャン 7.1 What is Security Scan ? 7.2 How Security Scan ? 7.3 Lockfile x OSV-Scanner 08. Lockfileの応用例3: 自動更新 8.1 About Auto Update 8.2 How Auto Update 8.3 About Renovate 8.4 Lockfile x Renovate 09. Conclusion 9.1 Summary
  3. PR

  4. 01. Introduction 1.1 About LINE Digital Frontier [PR] 1.2 About

    Me 02. Lockfileの背景 2.1 About Pain 2.2 Example Agenda 2.3 Direct & Root Cause 03. Gradle lockfileについて 3.1 Lockfile Adoption Rate 3.2 About Gradle Lockfile 04. Lockfileの処理について 4.1 Gradle Process 4.2 Detail 05. Gradle lockfileの実践 5.1 Problem: Multi-Project 5.2 Solution: Multi-Project 5.3 Problem: Lockfile Management 5.4. Solution: Lockfile Management 06. Lockfileの応用例1: SBOM管理 6.1 What is SBOM ? 6.2 Why SBOM ? 6.3 How SBOM ? 6.4 Lockfile x Trivy 07. Lockfileの応用例2: 脆弱性スキャン 7.1 What is Security Scan ? 7.2 How Security Scan ? 7.3 Lockfile x OSV-Scanner 08. Lockfileの応用例3: 自動更新 8.1 About Auto Update 8.2 How Auto Update 8.3 About Renovate 8.4 Lockfile x Renovate 09. Conclusion 9.1 Summary
  5. 01. Introduction 1.1 About LINE Digital Frontier [PR] 1.2 About

    Me 02. Lockfileの背景 2.1 About Pain 2.2 Example Agenda 2.3 Direct & Root Cause 05. Gradle lockfileの実践 5.1 Problem: Multi-Project 5.2 Solution: Multi-Project 5.3 Problem: Lockfile Management 5.4. Solution: Lockfile Management 06. Lockfileの応用例1: SBOM管理 6.1 What is SBOM ? 6.2 Why SBOM ? 6.3 How SBOM ? 6.4 Lockfile x Trivy 07. Lockfileの応用例2: 脆弱性スキャン 7.1 What is Security Scan ? 7.2 How Security Scan ? 7.3 Lockfile x OSV-Scanner 08. Lockfileの応用例3: 自動更新 8.1 About Auto Update 8.2 How Auto Update 8.3 About Renovate 8.4 Lockfile x Renovate 09. Conclusion 9.1 Summary 03. Gradle lockfileについて 3.1 Lockfile Adoption Rate 3.2 About Gradle Lockfile 04. Lockfileの処理について 4.1 Gradle Process 4.2 Detail
  6. About Gradle lockfile (1) • Dependency Locking • (ex. “go.sum”

    , “package-lock.json”) • Gradle公式の機能 • Gradle 5.0 (2018年) から存在
  7. 01. Introduction 1.1 About LINE Digital Frontier [PR] 1.2 About

    Me 02. Lockfileの背景 2.1 About Pain 2.2 Example Agenda 2.3 Direct & Root Cause 03. Gradle lockfileについて 3.1 Lockfile Adoption Rate 3.2 About Gradle Lockfile 04. Lockfileの処理について 4.1 Gradle Process 4.2 Detail 05. Gradle lockfileの実践 5.1 Problem: Multi-Project 5.2 Solution: Multi-Project 5.3 Problem: Lockfile Management 5.4. Solution: Lockfile Management 06. Lockfileの応用例1: SBOM管理 6.1 What is SBOM ? 6.2 Why SBOM ? 6.3 How SBOM ? 6.4 Lockfile x Trivy 07. Lockfileの応用例2: 脆弱性スキャン 7.1 What is Security Scan ? 7.2 How Security Scan ? 7.3 Lockfile x OSV-Scanner 08. Lockfileの応用例3: 自動更新 8.1 About Auto Update 8.2 How Auto Update 8.3 About Renovate 8.4 Lockfile x Renovate 09. Conclusion 9.1 Summary
  8. 01. Introduction 1.1 About LINE Digital Frontier [PR] 1.2 About

    Me 02. Lockfileの背景 2.1 About Pain 2.2 Example Agenda 2.3 Direct & Root Cause 03. Gradle lockfileについて 3.1 Lockfile Adoption Rate 3.2 About Gradle Lockfile 04. Lockfileの処理について 4.1 Gradle Process 4.2 Detail 05. Gradle lockfileの実践 5.1 Problem: Multi-Project 5.2 Solution: Multi-Project 5.3 Problem: Lockfile Management 5.4. Solution: Lockfile Management 06. Lockfileの応用例1: SBOM管理 6.1 What is SBOM ? 6.2 Why SBOM ? 6.3 How SBOM ? 6.4 Lockfile x Trivy 07. Lockfileの応用例2: 脆弱性スキャン 7.1 What is Security Scan ? 7.2 How Security Scan ? 7.3 Lockfile x OSV-Scanner 08. Lockfileの応用例3: 自動更新 8.1 About Auto Update 8.2 How Auto Update 8.3 About Renovate 8.4 Lockfile x Renovate 09. Conclusion 9.1 Summary
  9. 01. Introduction 1.1 About LINE Digital Frontier [PR] 1.2 About

    Me 02. Lockfileの背景 2.1 About Pain 2.2 Example Agenda 2.3 Direct & Root Cause 03. Gradle lockfileについて 3.1 Lockfile Adoption Rate 3.2 About Gradle Lockfile 04. Lockfileの処理について 4.1 Gradle Process 4.2 Detail 05. Gradle lockfileの実践 5.1 Problem: Multi-Project 5.2 Solution: Multi-Project 5.3 Problem: Lockfile Management 5.4. Solution: Lockfile Management 06. Lockfileの応用例1: SBOM管理 6.1 What is SBOM ? 6.2 Why SBOM ? 6.3 How SBOM ? 6.4 Lockfile x Trivy 07. Lockfileの応用例2: 脆弱性スキャン 7.1 What is Security Scan ? 7.2 How Security Scan ? 7.3 Lockfile x OSV-Scanner 08. Lockfileの応用例3: 自動更新 8.1 About Auto Update 8.2 How Auto Update 8.3 About Renovate 8.4 Lockfile x Renovate 09. Conclusion 9.1 Summary
  10. What is SBOM ? • SBOM (Software Bill of Materials)

    = ソフトウェア部品表 • SPDX, CycloneDXなどのフォーマットがある • Kotlinプロジェクトでは依存ライブラリの一覧 [1]: 出典: 「SBOM 導入・運用の手引き」 https://www.ipa.go.jp/jinzai/ics/core_human_resource/final_project/2024/sbom.html
  11. 01. Introduction 1.1 About LINE Digital Frontier [PR] 1.2 About

    Me 02. Lockfileの背景 2.1 About Pain 2.2 Example Agenda 2.3 Direct & Root Cause 03. Gradle lockfileについて 3.1 Lockfile Adoption Rate 3.2 About Gradle Lockfile 04. Lockfileの処理について 4.1 Gradle Process 4.2 Detail 05. Gradle lockfileの実践 5.1 Problem: Multi-Project 5.2 Solution: Multi-Project 5.3 Problem: Lockfile Management 5.4. Solution: Lockfile Management 06. Lockfileの応用例1: SBOM管理 6.1 What is SBOM ? 6.2 Why SBOM ? 6.3 How SBOM ? 6.4 Lockfile x Trivy 07. Lockfileの応用例2: 脆弱性スキャン 7.1 What is Security Scan ? 7.2 How Security Scan ? 7.3 Lockfile x OSV-Scanner 08. Lockfileの応用例3: 自動更新 8.1 About Auto Update 8.2 How Auto Update 8.3 About Renovate 8.4 Lockfile x Renovate 09. Conclusion 9.1 Summary
  12. 01. Introduction 1.1 About LINE Digital Frontier [PR] 1.2 About

    Me 02. Lockfileの背景 2.1 About Pain 2.2 Example Agenda 2.3 Direct & Root Cause 03. Gradle lockfileについて 3.1 Lockfile Adoption Rate 3.2 About Gradle Lockfile 04. Lockfileの処理について 4.1 Gradle Process 4.2 Detail 05. Gradle lockfileの実践 5.1 Problem: Multi-Project 5.2 Solution: Multi-Project 5.3 Problem: Lockfile Management 5.4. Solution: Lockfile Management 06. Lockfileの応用例1: SBOM管理 6.1 What is SBOM ? 6.2 Why SBOM ? 6.3 How SBOM ? 6.4 Lockfile x Trivy 07. Lockfileの応用例2: 脆弱性スキャン 7.1 What is Security Scan ? 7.2 How Security Scan ? 7.3 Lockfile x OSV-Scanner 08. Lockfileの応用例3: 自動更新 8.1 About Auto Update 8.2 How Auto Update 8.3 About Renovate 8.4 Lockfile x Renovate 09. Conclusion 9.1 Summary
  13. 01. Introduction 1.1 About LINE Digital Frontier [PR] 1.2 About

    Me 02. Lockfileの背景 2.1 About Pain 2.2 Example Agenda 2.3 Direct & Root Cause 03. Gradle lockfileについて 3.1 Lockfile Adoption Rate 3.2 About Gradle Lockfile 04. Lockfileの処理について 4.1 Gradle Process 4.2 Detail 05. Gradle lockfileの実践 5.1 Problem: Multi-Project 5.2 Solution: Multi-Project 5.3 Problem: Lockfile Management 5.4. Solution: Lockfile Management 06. Lockfileの応用例1: SBOM管理 6.1 What is SBOM ? 6.2 Why SBOM ? 6.3 How SBOM ? 6.4 Lockfile x Trivy 07. Lockfileの応用例2: 脆弱性スキャン 7.1 What is Security Scan ? 7.2 How Security Scan ? 7.3 Lockfile x OSV-Scanner 08. Lockfileの応用例3: 自動更新 8.1 About Auto Update 8.2 How Auto Update 8.3 About Renovate 8.4 Lockfile x Renovate 09. Conclusion 9.1 Summary
  14. TL;DR (3 lines) • Gradle lockfileの背景と概要 • Gradle lockfileの詳細と実践 •

    Lockfileの応用例: • SBOM管理 with Trivy • 脆弱性スキャン with OSV-Scanner • ライブラリの自動更新 with Renovate