Conversation
Summary of ChangesHello @alexey1312, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly expands the project's platform compatibility by introducing full Windows support. It integrates Windows build processes into the existing CI/CD pipelines, making the build system more robust and unified. Key changes include adapting dependencies and code for Windows-specific behaviors, particularly around Xcode project handling and Foundation imports, and updating documentation to reflect these new capabilities. The overall impact is a broader reach for the project, enabling development and deployment on Windows environments. Highlights
Changelog
Ignored Files
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request effectively adds Windows CI support by introducing conditional compilation for platform-specific dependencies like XcodeProj and updating build configurations. The switch from os(Linux) checks to canImport(FoundationNetworking) is a great improvement for cross-platform compatibility.
My main feedback is on a recurring style issue: in several files, the code inside new #if canImport(...) blocks is unnecessarily indented. While this doesn't break the build, it reduces readability. I've left comments with suggestions to fix the indentation in the affected files.
- Add Windows build to ci.yml and release.yml using Swift 6.3 - Replace Stencil with swift-jinja for cross-platform compatibility - Add JinjaSupport shared module for template rendering - Make XcodeProj conditional (#if !os(Windows)) in Package.swift - Wrap XcodeProjectWriter in #if canImport(XcodeProj) (6 export files) - Use #if canImport(FoundationNetworking) instead of #if os(Linux) - Pin swift-resvg to 0.45.1-swift.15 (Windows artifactbundle) - Delete standalone windows-test.yml - Update docs: CLAUDE.md, linux-compat.md, README.md Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
20e6f14 to
9a2f350
Compare
Description
ci.ymlandrelease.ymlusing Swift 6.3 (compnerd/gha-setup-swift)windows-test.yml, integrate Windows into main CI/release workflows#if !os(Windows)in Package.swift)#if canImport(XcodeProj)across 6 export files#if canImport(FoundationNetworking)instead of#if os(Linux)for cross-platform imports0.45.1-swift.15(Windows artifactbundle with correctresvg.libnaming)Additional notes
libprefix for.libfiles)exfig-windows-x64.zipwithExFig.exeand resource bundles