|
45 | 45 |
|
46 | 46 | 2. Update `pom.xml` paths if needed (should be self-contained under `java/`). |
47 | 47 |
|
48 | | -3. Verify `mvn verify` works from `java/` directory locally. |
49 | | - |
50 | | -4. Add `justfile` targets for Java: |
51 | | - |
52 | | - ```just |
53 | | - format-java: |
54 | | - @echo "=== Formatting Java code ===" |
55 | | - @cd java && mvn spotless:apply |
56 | | -
|
57 | | - lint-java: |
58 | | - @echo "=== Linting Java code ===" |
59 | | - @cd java && mvn spotless:check |
60 | | -
|
61 | | - test-java: |
62 | | - @echo "=== Testing Java code ===" |
63 | | - @cd java && mvn verify |
64 | | -
|
65 | | - install-java: install-nodejs install-test-harness |
66 | | - @echo "=== Installing Java dependencies ===" |
67 | | - @cd java && mvn dependency:go-offline |
68 | | - ``` |
69 | | - |
70 | | -5. Update top-level `format`, `lint`, `test`, `install` recipes to include Java. |
| 48 | +3. Verify `mvn clean verify` works from `java/` directory locally. Make necessary changes so the test infrastructure is copied locally, rather than checked out. |
71 | 49 |
|
72 | 50 | ### Phase 2: CI Workflows |
73 | 51 |
|
@@ -378,7 +356,7 @@ What changes is the **mechanism**: instead of polling a remote repository, the w |
378 | 356 | | **Composite Action:** `test-report` | `.github/actions/test-report/` | Test report generation | Yes | |
379 | 357 | | **Scripts:** `release/`, `ci/`, `build/`, `reference-impl-sync/` | `.github/scripts/` | Release, CI, sync automation | Yes — **path rewrites** | |
380 | 358 | | **Dependabot:** `dependabot.yml` | `.github/` | Maven + GitHub Actions updates | Merge into monorepo's `dependabot.yaml` | |
381 | | -| **CODEOWNERS** | `.github/` | ~~`@github/copilot-sdk-java` | Merge into monorepo's CODEOWNERS~~ | |
| 359 | +| **CODEOWNERS** | `.github/` | ~~`@github/copilot-sdk-java` | Merge into monorepo's CODEOWNERS~~ | |
382 | 360 | | **Issue Templates:** bug, documentation, feature, maintenance | `.github/ISSUE_TEMPLATE/` | Issue forms | Assess whether monorepo issue triage covers this | |
383 | 361 | | **PR Template** | `.github/pull_request_template.md` | PR form | Merge or keep per-language | |
384 | 362 | | **Release Config** | `.github/release.yml` | Auto-generated release notes config | Merge | |
@@ -422,9 +400,9 @@ What changes is the **mechanism**: instead of polling a remote repository, the w |
422 | 400 | | # | Risk | Impact | Mitigation | |
423 | 401 | | --- | --------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | |
424 | 402 | | M1 | **Codegen `package.json` merge** | Java codegen has its own `@github/copilot` dependency; monorepo codegen gets it from `nodejs/node_modules` | Align Java codegen to use the same dependency source. May need to add `generate:java` script to monorepo's `scripts/codegen/package.json`. | |
425 | | -| M2 | ~~**GitHub Pages conflict**~~ | ~~Java deploys versioned docs to Pages. Monorepo may have its own Pages setup.~~ | ~~Use subdirectory deployment or a separate Pages branch for Java.~~ | |
| 403 | +| M2 | ~~**GitHub Pages conflict**~~ | ~~Java deploys versioned docs to Pages. Monorepo may have its own Pages setup.~~ | ~~Use subdirectory deployment or a separate Pages branch for Java.~~ | |
426 | 404 | | M3 | **Branch protection / required checks** | New `java-sdk-tests` check may not be in the required list | Add to branch protection after first successful run. | |
427 | | -| M4 | **CODEOWNERS team permissions** | `@github/copilot-sdk-java` team may not have write access to `github/copilot-sdk` | Verify team access and add to repo collaborators. See https://github.com/github/copilot-sdk-partners/issues/89 | |
| 405 | +| M4 | **CODEOWNERS team permissions** | `@github/copilot-sdk-java` team may not have write access to `github/copilot-sdk` | Verify team access and add to repo collaborators. See https://github.com/github/copilot-sdk-partners/issues/89 | |
428 | 406 | | M5 | **`copilot-setup-steps.yml` bloat** | Adding JDK + Maven makes agent setup slower for non-Java tasks | Acceptable trade-off; other languages already add their tools. Could consider conditional setup but that's over-engineering. | |
429 | 407 | | M6 | **gh-aw version mismatch** | Java repo uses gh-aw `v0.68.3` setup action pinned at `v0.71.5`; monorepo uses `v0.64.2` reference in docs | Align gh-aw versions. Use the newer version. Recompile all `.lock.yml` files. | |
430 | 408 |
|
@@ -545,7 +523,7 @@ What changes is the **mechanism**: instead of polling a remote repository, the w |
545 | 523 | | **Codegen** | Own `java.ts` + own `@github/copilot` dep | Shared codegen scripts + shared dep | Needs reconciliation | |
546 | 524 | | **CI runner** | JDK 17 + JDK 25 (smoke test) | Node 22, Python 3.12, Go 1.24, .NET 10, Rust 1.94 | Just another tool in `copilot-setup-steps.yml` | |
547 | 525 | | **Publishing** | Maven Central (GPG + Sonatype) | npm, PyPI, NuGet, crates.io, Go tags | Completely different mechanism | |
548 | | -| **Docs hosting** | ~~GitHub Pages (Maven site)~~ | ~~Not clear if monorepo has its own~~ | ~~Potential conflict~~ | |
| 526 | +| **Docs hosting** | ~~GitHub Pages (Maven site)~~ | ~~Not clear if monorepo has its own~~ | ~~Potential conflict~~ | |
549 | 527 | | **Reference impl tracking** | `.lastmerge` + scheduled sync + agentic merge skill | N/A (they ARE the reference impl) | `.lastmerge` stores monorepo SHA; sync becomes intra-repo but is still needed because Java maintainers ≠ .NET/Node maintainers | |
550 | 528 |
|
551 | 529 | --- |
|
0 commit comments