Skip to content

Conversation

@typotter
Copy link
Collaborator

Summary

Initialize the eppo-kotlin module with build infrastructure. This PR sets up an empty module that compiles but contains no business logic.

Changes

  • Add eppo-kotlin module to settings.gradle
  • Configure build.gradle.kts with all dependencies:
    • kotlinx.serialization for type-safe JSON
    • kotlinx.coroutines for async operations
    • OkHttp for HTTP client
    • DataStore for persistence
    • sdk-common-jvm for shared types (VariationType, AssignmentLogger, etc.)
  • Add Spotless for code formatting
  • Configure ProGuard consumer rules
  • Set namespace: cloud.eppo.kotlin
  • Set Min SDK: 26, Target SDK: 34

Build Verification

./gradlew :eppo-kotlin:assemble
# BUILD SUCCESSFUL ✅

Module Structure

eppo-kotlin/
├── build.gradle.kts        # Build configuration
├── consumer-rules.pro      # ProGuard rules for consumers
├── proguard-rules.pro      # Module ProGuard rules
├── .gitignore
└── src/
    ├── main/kotlin/cloud/eppo/kotlin/    # (empty)
    └── test/kotlin/cloud/eppo/kotlin/    # (empty)

Dependencies

  • Kotlin: 1.9.20 with coroutines (1.7.3)
  • Serialization: kotlinx.serialization-json (1.6.0)
  • Network: OkHttp (4.12.0)
  • Storage: DataStore Preferences (1.1.1)
  • Shared: cloud.eppo:sdk-common-jvm (3.13.1)
  • Testing: JUnit, MockK, Truth, MockWebServer, Robolectric

Next PR

PR 1 will add the foundation layer (data objects, storage, network).

🤖 Generated with Claude Code

Initialize eppo-kotlin module with build infrastructure:
- Add module to settings.gradle
- Configure build.gradle.kts with all dependencies
  - kotlinx.serialization for JSON
  - kotlinx.coroutines for async
  - OkHttp for HTTP
  - DataStore for persistence
  - sdk-common-jvm for shared types
- Add Spotless for code formatting
- Configure ProGuard rules for consumers
- Set namespace: cloud.eppo.kotlin
- Min SDK: 26, Target SDK: 34

Module compiles successfully but contains no business logic yet.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
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.

2 participants