Skip to content

Conversation

KhaledChehabeddine
Copy link

@KhaledChehabeddine KhaledChehabeddine commented Sep 4, 2025

Description

  • Add Package.swift with modern Swift 6.1 toolchain support
  • Set up SwiftSebuf library target with extensible architecture
  • Include Xcode scheme configurations for development workflow
  • Add comprehensive .gitignore for Swift build artifacts
  • Establish foundation for native Swift protobuf oneof helper implementation

Related Issue

Fixes #(issue number)

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Performance improvement
  • Code refactoring

How Has This Been Tested?

  • Unit tests pass (go test ./...)
  • Integration tests pass
  • Golden file tests updated (if applicable) - UPDATE_GOLDEN=1 go test -run TestExhaustiveGoldenFiles
  • Test coverage meets threshold (85%)
  • Manual testing performed

Test Configuration

  • Go version:
  • OS:
  • Protoc version:

Checklist

  • My code follows the project's style guidelines (go fmt ./...)
  • I have performed a self-review of my code
  • I have commented my code where necessary
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • I have updated CLAUDE.md if this changes how the codebase works

Breaking Changes

Screenshots/Examples

Additional Notes

- Add Package.swift with modern Swift 6.1 toolchain support
- Set up SwiftSebuf library target with extensible architecture
- Include Xcode scheme configurations for development workflow
- Add comprehensive .gitignore for Swift build artifacts
- Establish foundation for native Swift protobuf oneof helper implementation

This creates the foundation for migrating from Go-based generator to native
Swift implementation using Apple's SwiftProtobuf framework for better
compatibility and maintainability.
- Add SwiftProtobuf 1.31.0 for native protobuf generation support
- Add SwiftArgumentParser 1.6.1 for CLI interface
- Include SwiftProtobufPluginLibrary for protoc plugin development
- Add Package.resolved for dependency version locking
- Configure target dependencies for SwiftSebuf library

This enables native Swift implementation of protobuf oneof helpers
using Apple's official SwiftProtobuf framework and plugin library.
- Add native Swift implementation using SwiftProtobuf framework
- Create Go wrapper that builds and executes Swift binary for protoc integration
- Implement OneofHelperGenerator with proper Swift protobuf naming conventions
- Add SebufCommand with ArgumentParser for CLI interface
- Include Generator base class for extensible protoc plugin architecture
- Add SwiftProtobuf typealiases for cleaner code organization
- Update Package.swift with executable product and macOS platform requirement
- Remove boilerplate SwiftSebuf.swift in favor of modular structure

This native implementation provides:
- Perfect compatibility with Swift protobuf naming conventions
- Automatic Swift binary building and execution from Go wrapper
- Extensible architecture for future protoc plugin implementations
- Direct use of Apple's SwiftProtobufPluginLibrary for native integration
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant