Skip to content

Refactors project to allow ease of adding more modules to the project#3

Closed
pablobaxter wants to merge 12 commits into
statsig-io:mainfrom
pablobaxter:refactor-project
Closed

Refactors project to allow ease of adding more modules to the project#3
pablobaxter wants to merge 12 commits into
statsig-io:mainfrom
pablobaxter:refactor-project

Conversation

@pablobaxter

@pablobaxter pablobaxter commented Mar 10, 2022

Copy link
Copy Markdown
Contributor

This PR will do the following:

  • Refactors the modules so that they utilize a settings.gradle file, making it easier to add more modules.
  • Creates several project specific plugins to provide a common configuration for android application and library modules.
  • Updates the Android Gradle Plugin for the library to 7.1.2. This change will require Java 11 to be used to build this project.
  • Moves the library to android-sdk module.
  • Moves version location to the android-sdk module's gradle.properties file. This is automatically set for the project on evaluation.
  • Updates several dependencies and test dependencies
  • Fixes testLogging so that it is properly set.
  • Adds a new statsig-publish plugin centralize publishing configuration for any new modules.

Things to consider:

  • This may affect any automation set by Statsig. If you were using ./gradlew :library for any gradle tasks, instead use ./gradlew :android-sdk.
  • For publishing to the build directory, the command would be ./gradlew :android-sdk:publishReleasePublicationToStatsigBuildRepository.
  • The published artifacts are now AAR, sources jar, javadoc jar, and the POM file.
  • The published AAR is no longer "fat". It now utilizes Maven to pull any dependent libraries when this library is consumed.

Thoughts for the future:

  • Given that javadocs are now generated, consider using Dokka to create different types of docs.
  • Users should now be able to see the source code when "peeking" into the library classes instead of the .class generated sources. Having proper documentation written would be highly beneficial here.

@pablobaxter

Copy link
Copy Markdown
Contributor Author

@tore-statsig CI had been failing due to invalid key, which is probably looking for the key you guys have on your end. Updated the PR to match the latest release (v4.4.0).

@pablobaxter pablobaxter closed this Oct 3, 2023
@pablobaxter pablobaxter deleted the refactor-project branch October 3, 2023 05:31
statsig-kong Bot pushed a commit that referenced this pull request May 20, 2026
### TL;DR
Allow updating eventLoggingApi at runtime.

### Why make this change?
Feature request to support a cutover between two logging endpoints

### What changed?
* Added `eventLoggingAPI` to `StatsigRuntimeMutableOptions` and updated `StatsigOptions` accordingly
* Added `setApi()` to `StatsigLogger` and updated `api` field from val to var
* Added logic for the logging api change to `StatsigClient`
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