From 1ec4186f4aa097c086458c3618920b2bd692554b Mon Sep 17 00:00:00 2001
From: Sam Gammon <sam@elide.ventures>
Date: Sun, 10 Mar 2024 22:16:50 -0700
Subject: [PATCH 1/5] nit: gitattribute updates

Signed-off-by: Sam Gammon <sam@elide.ventures>
---
 .gitattributes | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.gitattributes b/.gitattributes
index 7db7f7ef..1f857442 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,4 +1,6 @@
 *.pom linguist-detectable linguist-language=XML
+*.xml linguist-detectable linguist-language=XML
+*.module linguist-detectable linguist-language=JSON
 *.kts linguist-detectable linguist-language=Kotlin
 *.jar linguist-detectable linguist-language=Java
 *.yaml linguist-detectable linguist-language=YAML

From b58691ac35a7f362523b25204d6564108c10fbe9 Mon Sep 17 00:00:00 2001
From: Sam Gammon <sam@elide.ventures>
Date: Sun, 10 Mar 2024 22:17:02 -0700
Subject: [PATCH 2/5] nit: fix contributing.md location

Signed-off-by: Sam Gammon <sam@elide.ventures>
---
 .github/CONTRIBUTING.md => CONTRIBUTING.md | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 rename .github/CONTRIBUTING.md => CONTRIBUTING.md (100%)

diff --git a/.github/CONTRIBUTING.md b/CONTRIBUTING.md
similarity index 100%
rename from .github/CONTRIBUTING.md
rename to CONTRIBUTING.md

From 15cf08be0d53b168ad36b9397d67b0cd4afbeb95 Mon Sep 17 00:00:00 2001
From: Sam Gammon <sam@elide.ventures>
Date: Sun, 10 Mar 2024 22:25:26 -0700
Subject: [PATCH 3/5] chore: ci jobs, readme improvements

- chore: ci jobs for build/test
- chore: readme links (top)
- chore: dependency graph upload
- chore: dependency review check
- chore: gradle wrapper check

Signed-off-by: Sam Gammon <sam@elide.ventures>
---
 .github/workflows/check.dependency-review.yml | 24 ++++++++++++++
 .github/workflows/ci.build-test.yml           | 11 +++++++
 .github/workflows/ci.dependency-graph.yml     | 32 +++++++++++++++++++
 .github/workflows/on.pr.yml                   | 11 +++++++
 .github/workflows/on.push.yml                 | 11 +++++++
 README.md                                     |  3 ++
 6 files changed, 92 insertions(+)
 create mode 100644 .github/workflows/check.dependency-review.yml
 create mode 100644 .github/workflows/ci.dependency-graph.yml

diff --git a/.github/workflows/check.dependency-review.yml b/.github/workflows/check.dependency-review.yml
new file mode 100644
index 00000000..bec443a8
--- /dev/null
+++ b/.github/workflows/check.dependency-review.yml
@@ -0,0 +1,24 @@
+name: "Checks: Dependency Review"
+
+"on":
+  workflow_call: {}
+  workflow_dispatch: {}
+
+permissions:
+  contents: read
+
+jobs:
+  dependency-review:
+    name: "Dependency Review"
+    runs-on: ubuntu-latest
+    steps:
+      - name: Harden Runner
+        uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
+        with:
+          egress-policy: audit
+      - name: "Setup: Checkout"
+        uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+        with:
+            persist-credentials: false
+      - name: "Checks: Dependency Review"
+        uses: actions/dependency-review-action@9129d7d40b8c12c1ed0f60400d00c92d437adcce # v4.1.3
diff --git a/.github/workflows/ci.build-test.yml b/.github/workflows/ci.build-test.yml
index f56c38b9..b559b57d 100644
--- a/.github/workflows/ci.build-test.yml
+++ b/.github/workflows/ci.build-test.yml
@@ -20,8 +20,19 @@ jobs:
         uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
         with:
             persist-credentials: false
+            submodules: true
       - name: "Setup: Java 21"
         uses: actions/setup-java@v4
         with:
           java-version: '21'
           distribution: 'zulu'
+      - name: "Setup: Cache"
+        uses: actions/cache@v4
+        with:
+          path: |
+            jdk
+            annotation-tools
+            .m2
+          key: jpms-attic-v1-${{ runner.os }}
+      - name: "Build & Test Repository"
+        run: make TESTS=yes SIGNING=no JAVADOC=no SNAPSHOT=yes
diff --git a/.github/workflows/ci.dependency-graph.yml b/.github/workflows/ci.dependency-graph.yml
new file mode 100644
index 00000000..922b17c7
--- /dev/null
+++ b/.github/workflows/ci.dependency-graph.yml
@@ -0,0 +1,32 @@
+name: "Dependency Graph"
+
+"on":
+  workflow_call: {}
+  workflow_dispatch: {}
+
+permissions:
+  contents: read
+  
+jobs:
+  build-graph:
+    name: "Build Repository"
+    runs-on: ubuntu-latest
+    permissions:
+        contents: write  # needed for graph write  
+    steps:
+      - name: Harden Runner
+        uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
+        with:
+          egress-policy: audit
+      - name: "Setup: Checkout"
+        uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+        with:
+            persist-credentials: false
+      - name: "Setup: Java 21"
+        uses: actions/setup-java@v4
+        with:
+          java-version: '21'
+          distribution: 'zulu'
+      - name: "Build: Maven Dependency Graph"
+        continue-on-error: true
+        uses: advanced-security/maven-dependency-submission-action@bfd2106013da0957cdede0b6c39fb5ca25ae375e # v4.0.2
diff --git a/.github/workflows/on.pr.yml b/.github/workflows/on.pr.yml
index 4919eeb5..92d22cc1 100644
--- a/.github/workflows/on.pr.yml
+++ b/.github/workflows/on.pr.yml
@@ -13,6 +13,17 @@ jobs:
     name: "Build & Test"
     uses: ./.github/workflows/ci.build-test.yml
 
+  build-dependency-graph:
+    name: "Build & Test"
+    uses: ./.github/workflows/ci.dependency-graph.yml
+    permissions:
+      contents: write  # needed for graph write
+
   checks-gradle:
     name: "Checks"
     uses: ./.github/workflows/check.gradle-wrapper.yml
+
+  checks-dependency-review:
+    name: "Checks"
+    needs: [build-dependency-graph]
+    uses: ./.github/workflows/check.dependency-review.yml
diff --git a/.github/workflows/on.push.yml b/.github/workflows/on.push.yml
index 595e546c..fa5a1224 100644
--- a/.github/workflows/on.push.yml
+++ b/.github/workflows/on.push.yml
@@ -13,6 +13,17 @@ jobs:
     name: "Build & Test"
     uses: ./.github/workflows/ci.build-test.yml
 
+  build-dependency-graph:
+    name: "Build & Test"
+    uses: ./.github/workflows/ci.dependency-graph.yml
+    permissions:
+      contents: write  # needed for graph write
+  
   checks-gradle:
     name: "Checks"
     uses: ./.github/workflows/check.gradle-wrapper.yml
+
+  checks-dependency-review:
+    name: "Checks"
+    needs: [build-dependency-graph]
+    uses: ./.github/workflows/check.dependency-review.yml  
diff --git a/README.md b/README.md
index 01da3fa9..41413352 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,9 @@
 
 # JPMS Attic
 
+- [GitHub Repo](https://github.com/javamodules/attic)
+- [Docs](https://jpms.pkg.st)
+
 This repository provides sub-module library overrides for popular Java libraries which don't yet provide JPMS support (at least until some PRs are merged!). There is a Maven repository which contains these artifacts, too, so you can safely use them in your projects.
 
 #### Pending PRs

From c4953abc1ccc651eb6290fc2864464b454b0bf2e Mon Sep 17 00:00:00 2001
From: Sam Gammon <sam@elide.ventures>
Date: Sun, 10 Mar 2024 22:48:55 -0700
Subject: [PATCH 4/5] fixup! use main mvn for maven sample

Signed-off-by: Sam Gammon <sam@elide.ventures>
---
 samples/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/samples/Makefile b/samples/Makefile
index fdf31cc0..5daea119 100644
--- a/samples/Makefile
+++ b/samples/Makefile
@@ -20,4 +20,4 @@ modular-guava-repo/app/build:
 modular-guava-maven: modular-guava-maven/target
 modular-guava-maven/target:
 	@echo "Building Modular Guava sample (Maven, remote repo)..."
-	$(RULE)cd modular-guava-maven && mvnw clean package exec:exec@modular
+	$(RULE)cd modular-guava-maven && mvn clean package exec:exec@modular

From 981e650125a7640194ca5a6daae64fbd638aee8f Mon Sep 17 00:00:00 2001
From: Sam Gammon <sam@elide.ventures>
Date: Sun, 10 Mar 2024 22:52:07 -0700
Subject: [PATCH 5/5] fixup! name of dependency graph job

Signed-off-by: Sam Gammon <sam@elide.ventures>
---
 .github/workflows/ci.dependency-graph.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/ci.dependency-graph.yml b/.github/workflows/ci.dependency-graph.yml
index 922b17c7..8c8f3d1e 100644
--- a/.github/workflows/ci.dependency-graph.yml
+++ b/.github/workflows/ci.dependency-graph.yml
@@ -9,7 +9,7 @@ permissions:
   
 jobs:
   build-graph:
-    name: "Build Repository"
+    name: "Dependency Graph"
     runs-on: ubuntu-latest
     permissions:
         contents: write  # needed for graph write