diff --git a/.harness/orgs/PROD/projects/Harness_Split/pipelines/androidclientdiffuse.yaml b/.harness/orgs/PROD/projects/Harness_Split/pipelines/androidclientdiffuse.yaml index c9b8111cd..a258c7306 100644 --- a/.harness/orgs/PROD/projects/Harness_Split/pipelines/androidclientdiffuse.yaml +++ b/.harness/orgs/PROD/projects/Harness_Split/pipelines/androidclientdiffuse.yaml @@ -139,9 +139,23 @@ pipeline: # Fetch all branches from remote so diffuse.sh can access them echo "Fetching branches from remote..." git fetch origin --prune > /dev/null 2>&1 - git fetch origin "$SOURCE_BRANCH:$SOURCE_BRANCH" > /dev/null 2>&1 || true - git fetch origin "$TARGET_BRANCH:$TARGET_BRANCH" > /dev/null 2>&1 || true + git fetch origin "$SOURCE_BRANCH" > /dev/null 2>&1 || true + git fetch origin "$TARGET_BRANCH" > /dev/null 2>&1 || true + + # Debug: Show what branches/refs exist + echo "=== Available branches and refs ===" + git branch -r | grep -E "(${SOURCE_BRANCH}|${TARGET_BRANCH})" || true + echo "Current HEAD: $(git rev-parse HEAD)" + echo "origin/${SOURCE_BRANCH}: $(git rev-parse origin/${SOURCE_BRANCH} 2>/dev/null || echo 'NOT FOUND')" + echo "origin/${TARGET_BRANCH}: $(git rev-parse origin/${TARGET_BRANCH} 2>/dev/null || echo 'NOT FOUND')" + + # Use remote branch references (origin/branch-name) for the diffuse script + # This ensures we compare the actual remote branches, not local refs + SOURCE_REF="origin/${SOURCE_BRANCH}" + TARGET_REF="origin/${TARGET_BRANCH}" + echo "✓ Branches fetched" + echo "Will compare: $SOURCE_REF (source) vs $TARGET_REF (target)" # Verify the script exists if [ ! -f "scripts/diffuse.sh" ]; then @@ -154,17 +168,22 @@ pipeline: # Make the script executable chmod +x scripts/diffuse.sh - # Run the diffuse script with branch parameters - echo "Executing: ./scripts/diffuse.sh --source '$SOURCE_BRANCH' --target '$TARGET_BRANCH'" + # Run the diffuse script with remote branch references in verbose mode for debugging + echo "Executing: ./scripts/diffuse.sh --source '$SOURCE_REF' --target '$TARGET_REF' --verbose" # Run and capture output set +e # Don't exit on error - ./scripts/diffuse.sh --source "$SOURCE_BRANCH" --target "$TARGET_BRANCH" > diffuse_output_full.txt 2>&1 + ./scripts/diffuse.sh --source "$SOURCE_REF" --target "$TARGET_REF" --verbose > diffuse_output_full.txt 2>&1 DIFFUSE_EXIT_CODE=$? set -e echo "" echo "=== Diffuse Script Exit Code: $DIFFUSE_EXIT_CODE ===" + + # Show the full verbose output for debugging + echo "=== Full Diffuse Output (for debugging) ===" + cat diffuse_output_full.txt + echo "=== End Full Output ===" # Extract only the comparison tables from the output sed 's/\x1b\[[0-9;]*m//g' diffuse_output_full.txt | \ diff --git a/build.gradle b/build.gradle index 5a398e16b..d36e81704 100644 --- a/build.gradle +++ b/build.gradle @@ -1,3 +1,6 @@ +import com.vanniktech.maven.publish.AndroidFusedLibrary +import org.gradle.api.publish.maven.MavenPublication + buildscript { repositories { google() @@ -5,24 +8,32 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:8.7.3' + classpath 'com.android.tools.build:gradle:9.0.0-alpha13' classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0' - classpath "com.vanniktech:gradle-maven-publish-plugin:0.33.0" + classpath "com.vanniktech:gradle-maven-publish-plugin:0.34.0" } } -apply plugin: 'com.android.library' -apply plugin: 'signing' -apply plugin: 'kotlin-android' +apply plugin: 'com.android.fused-library' apply plugin: 'com.vanniktech.maven.publish' -apply from: 'spec.gradle' -apply from: 'jacoco.gradle' ext { - splitVersion = '5.4.2' + splitVersion = '5.4.3-rc4' jacocoVersion = '0.8.8' } +group = 'io.split.client' +version = splitVersion + +// Centralize repositories and coordinates for all subprojects +allprojects { + repositories { + google() + mavenCentral() + } +} + + // Define exclusions for JaCoCo coverage def coverageExclusions = [ '**/R.class', @@ -33,85 +44,58 @@ def coverageExclusions = [ 'android/**/*.*' ] -android { - compileSdk 33 - targetCompatibility = '1.8' - sourceCompatibility = '1.8' - - buildFeatures { - buildConfig true - } - - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - - defaultConfig { - - minSdk 19 - targetSdk 31 - multiDexEnabled true - - consumerProguardFiles 'split-proguard-rules.pro' - - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - testInstrumentationRunnerArguments clearPackageData: 'true' - - javaCompileOptions { - annotationProcessorOptions { - arguments = ["room.schemaLocation": "$projectDir/schemas".toString()] - } - } - - testOptions { - execution 'ANDROIDX_TEST_ORCHESTRATOR' - } - } +androidFusedLibrary { + namespace = 'io.split.android.android_client' + minSdk { version = release(19) } +} - configurations { - javadocDeps +tasks.configureEach { task -> + if (task.name == 'packageLintJar' || + task.name.contains('LintJar') || + task.name.contains('LintModel')) { + task.enabled = false } +} - - testOptions { - unitTests.returnDefaultValues = true - - // Configure JaCoCo for all test tasks - unitTests.all { - jacoco { - includeNoLocationClasses = true - excludes = ['jdk.internal.*'] +// Manually copy the merged consumer proguard file into the AAR +afterEvaluate { + tasks.named('bundle').configure { + doLast { + def aarFile = file("${buildDir}/outputs/aar/android-client.aar") + def proguardFile = file("${buildDir}/intermediates/merged_consumer_proguard_file/release/mergeReleaseConsumerProguardFiles/proguard.txt") + + if (aarFile.exists() && proguardFile.exists()) { + // Create temp directory to extract AAR + def tempDir = file("${buildDir}/tmp/aar-repack") + tempDir.deleteDir() + tempDir.mkdirs() + + // Extract AAR + copy { + from zipTree(aarFile) + into tempDir + } + + // Copy proguard.txt + copy { + from proguardFile + into tempDir + } + + // Remove lint.jar if it exists (we don't have custom lint rules) + def lintJar = new File(tempDir, 'lint.jar') + if (lintJar.exists()) { + lintJar.delete() + println "Removed empty lint.jar from AAR" + } + + // Repack AAR + ant.zip(destfile: aarFile, basedir: tempDir) + + println "Added consumer ProGuard rules to ${aarFile.name}" } } } - - sourceSets { - String sharedTestDir = 'src/sharedTest/java' - test { - java.srcDirs += 'src/test/kotlin' - java.srcDirs += sharedTestDir - } - androidTest { - java.srcDirs += sharedTestDir - } - } - - buildTypes { - debug { - buildConfigField("String", "SPLIT_VERSION_NAME", "\"${splitVersion}\"") - buildConfigField("String", "FLAGS_SPEC", "\"${flagsSpec}\"") - } - release { - buildConfigField("String", "SPLIT_VERSION_NAME", "\"${splitVersion}\"") - buildConfigField("String", "FLAGS_SPEC", "\"${flagsSpec}\"") - } - } - namespace 'io.split.android.android_client' - lint { - abortOnError false - disable 'InvalidPackage' - } } repositories { @@ -119,78 +103,9 @@ repositories { mavenCentral() } -tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach { - kotlinOptions { - jvmTarget = "1.8" - } -} - dependencies { - - def roomVersion = '2.4.3' - def workVersion = '2.7.1' - def lifecycleVersion = '2.5.1' - def annotationVersion = '1.2.0' - def gsonVersion = '2.10.1' - def guavaVersion = '32.1.3-android' - def snakeYamlVersion = '2.2' - def playServicesVersion = '18.2.0' - def multidexVersion = '2.0.1' - - def jUnitVersion = '4.13.2' - def mockitoVersion = '4.8.0' - def hamcrestVersion = '1.3' - def apacheCommonsVersion = '3.12.0' - def kotlinVer = '1.5.31' - def mockWebServerVersion = '4.12.0' - - def testRulesVersion = '1.4.0' - def jUnitExtVersion = '1.1.3' - def testRunnerVersion = '1.5.1' - def orchestratorVersion = '1.4.2' - - implementation fileTree(include: ['*.jar'], dir: 'libs') - - implementation "androidx.room:room-runtime:$roomVersion" - annotationProcessor "androidx.room:room-compiler:$roomVersion" - - implementation "androidx.work:work-runtime:$workVersion" - - implementation "androidx.lifecycle:lifecycle-process:$lifecycleVersion" - - implementation "androidx.annotation:annotation:$annotationVersion" - - implementation "com.google.code.gson:gson:$gsonVersion" - - implementation "org.yaml:snakeyaml:$snakeYamlVersion" - implementation "com.google.android.gms:play-services-base:$playServicesVersion" - implementation "androidx.multidex:multidex:$multidexVersion" - - // Test - testImplementation "junit:junit:$jUnitVersion" - testImplementation "org.mockito:mockito-core:$mockitoVersion" - testImplementation "org.mockito:mockito-inline:$mockitoVersion" - testImplementation "org.hamcrest:hamcrest-all:$hamcrestVersion" - testImplementation "org.apache.commons:commons-lang3:$apacheCommonsVersion" - testImplementation "com.squareup.okhttp3:mockwebserver:$mockWebServerVersion" - testImplementation "com.squareup.okhttp3:okhttp-tls:$mockWebServerVersion" - testImplementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVer" - testImplementation "org.jetbrains.kotlin:kotlin-test-junit:$kotlinVer" - testImplementation "com.google.guava:guava:$guavaVersion" - - androidTestImplementation "androidx.test:rules:$testRulesVersion" - androidTestImplementation "androidx.test.ext:junit:$jUnitExtVersion" - androidTestImplementation "androidx.test:runner:$testRunnerVersion" - androidTestUtil "androidx.test:orchestrator:$orchestratorVersion" - - androidTestImplementation "com.squareup.okhttp3:mockwebserver:$mockWebServerVersion" - androidTestImplementation "com.squareup.okhttp3:okhttp-tls:$mockWebServerVersion" - androidTestImplementation "androidx.room:room-testing:$roomVersion" - androidTestImplementation "androidx.work:work-testing:$workVersion" - androidTestImplementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVer" - androidTestImplementation "org.jetbrains.kotlin:kotlin-test-junit:$kotlinVer" - androidTestImplementation "com.google.guava:guava:$guavaVersion" - androidTestImplementation "org.mockito:mockito-android:$mockitoVersion" + include project(':main') + include project(':logger') } def splitPOM = { @@ -222,64 +137,240 @@ def splitPOM = { mavenPublishing { coordinates("io.split.client", "android-client", splitVersion) pom(splitPOM) - publishToMavenCentral(false) - signAllPublications() -} - -task sourcesJar(type: Jar) { - archiveClassifier.set("sources") - from android.sourceSets.main.java.srcDirs -} - -task javadoc(type: Javadoc) { - failOnError false - source = android.sourceSets.main.java.srcDirs - classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) - classpath += configurations.javadocDeps } -task javadocJar(type: Jar, dependsOn: javadoc) { -// archiveClassifier = 'javadoc' - archiveClassifier.set("javadoc") - from javadoc.destinationDir +// GPG signing task +tasks.register('signArtifacts') { + description = 'Signs all Maven artifacts with GPG' + group = 'publishing' + + doLast { + def groupPath = project.group.toString().replace('.', '/') + def artifactId = 'android-client' + def versionStr = project.version.toString() + def artifactDir = file("${buildDir}/publishing/mavenCentral/${groupPath}/${artifactId}/${versionStr}") + + println "Signing artifacts in: ${artifactDir}" + + if (!artifactDir.exists()) { + println "WARNING: Artifact directory does not exist: ${artifactDir}" + println "Skipping signing. Run publishAllPublicationsToMavenCentralRepository first." + return + } + + def keyId = project.findProperty('signing.keyId') + def password = project.findProperty('signing.password') + + if (!keyId) { + throw new GradleException("signing.keyId property is not set in gradle.properties") + } + if (!password) { + throw new GradleException("signing.password property is not set in gradle.properties") + } + + println "Using GPG key ID: ${keyId}" + println "Using default GPG keyring" + + def artifactsToSign = [] + artifactDir.eachFile { file -> + def name = file.name + // Sign .aar, .jar, .pom, and .module files + if ((name.endsWith('.aar') || name.endsWith('.jar') || name.endsWith('.pom') || name.endsWith('.module')) && !name.endsWith('.asc')) { + artifactsToSign << file + } + } + + if (artifactsToSign.isEmpty()) { + println "WARNING: No artifacts found to sign in ${artifactDir}" + return + } + + println "Found ${artifactsToSign.size()} artifact(s) to sign:" + artifactsToSign.each { println " - ${it.name}" } + + def gpgCommand = null + def gpgPaths = [ + '/opt/homebrew/bin/gpg', // macOS Homebrew on Apple Silicon - try first + '/usr/local/bin/gpg', + '/usr/bin/gpg', + '/opt/local/bin/gpg' // MacPorts + ] + + for (path in gpgPaths) { + def gpgFile = new File(path) + if (gpgFile.exists() && gpgFile.canExecute()) { + gpgCommand = path + println "Found GPG at: ${gpgCommand}" + break + } + } + + if (gpgCommand == null) { + try { + def process = new ProcessBuilder(['gpg', '--version']) + .redirectErrorStream(true) + .start() + def exitCode = process.waitFor() + if (exitCode == 0) { + gpgCommand = 'gpg' + println "Found GPG in PATH" + } + } catch (Exception e) { + // GPG not in PATH + } + } + + if (gpgCommand == null) { + throw new GradleException("GPG is not installed or not found in common locations.\n" + + "Please install GPG:\n" + + " macOS: brew install gnupg\n" + + " Linux: apt-get install gnupg or yum install gnupg\n" + + "Searched in: ${gpgPaths.join(', ')}\n" + + "If GPG is installed elsewhere, you can configure the path in the task.") + } + + println "Using GPG: ${gpgCommand}" + + artifactsToSign.each { artifact -> + def ascFile = new File(artifact.parentFile, "${artifact.name}.asc") + + // Skip if already signed + if (ascFile.exists()) { + println "Signature already exists for ${artifact.name}, skipping" + return + } + + println "Signing: ${artifact.name}" + + try { + def cmd = [ + gpgCommand, + '--batch', + '--yes', + '--no-tty', + '--passphrase', password, + '--pinentry-mode', 'loopback', + '--local-user', keyId, + '--detach-sign', + '--armor', + artifact.absolutePath + ] + + // Set GPG_TTY to avoid agent issues + def processEnv = new ProcessBuilder().environment() + processEnv.put('GPG_TTY', '') + + def process = new ProcessBuilder(cmd) + .redirectErrorStream(true) + .start() + + def exitCode = process.waitFor() + + if (exitCode != 0) { + def output = process.inputStream.text + throw new GradleException("Failed to sign ${artifact.name}. Exit code: ${exitCode}\nOutput: ${output}") + } + + // Verify the signature was created + if (!ascFile.exists()) { + throw new GradleException("Signature file was not created for ${artifact.name}") + } + + println " ✓ Created signature: ${ascFile.name}" + + // Verify the signature + def verifyCmd = [ + gpgCommand, + '--verify', + ascFile.absolutePath, + artifact.absolutePath + ] + + def verifyProcess = new ProcessBuilder(verifyCmd) + .redirectErrorStream(true) + .start() + + def verifyExitCode = verifyProcess.waitFor() + + if (verifyExitCode == 0) { + println " ✓ Signature verified successfully" + } else { + println " ⚠ Warning: Could not verify signature" + } + + } catch (Exception e) { + throw new GradleException("Failed to sign artifact ${artifact.name}: ${e.message}", e) + } + } + + println "Successfully signed ${artifactsToSign.size()} artifact(s)" + } } -artifacts { - archives sourcesJar - archives javadocJar +// Make signArtifacts run after artifacts are published but before upload +afterEvaluate { + def signTask = tasks.findByName('signArtifacts') + def publishTask = tasks.findByName('publishAllPublicationsToMavenCentralRepository') + + if (signTask && publishTask) { + // signArtifacts depends on publishing (so artifacts exist) + signTask.dependsOn(publishTask) + + // Make publish task finalize with signing + publishTask.finalizedBy(signTask) + + println "Configured signArtifacts task to run after publishAllPublicationsToMavenCentralRepository" + } } -task printReleaseDependenciesToFile { - doLast { - def outputFile = new File("$projectDir/deps.txt") - def processBuilder = new ProcessBuilder("./gradlew", ":android-client:dependencies", "--configuration", "releaseRuntimeClasspath", "-q") - - outputFile.parentFile.mkdirs() - outputFile.text = '' // Clear the file before writing - processBuilder.redirectOutput(outputFile) - processBuilder.directory(project.rootDir) - - try { - Process process = processBuilder.start() - process.waitFor() - - def filteredLines = outputFile.readLines().findAll { !it.contains("BUILD SUCCESSFUL") } - - // Write the filtered content back to the file - outputFile.withPrintWriter { writer -> - filteredLines.each(writer.&println) +afterEvaluate { + def emptySourcesJarTask = tasks.findByName("emptySourcesJar") + if (emptySourcesJarTask != null) { + // Ensure only one sources artifact is published + publishing.publications.withType(MavenPublication) { publication -> + if (publication.name == "maven") { + // Keep only the sources from fusedLibraryComponent + publication.artifacts.removeAll { artifact -> + // Remove artifacts that match the emptySourcesJar task output + try { + def artifactFile = artifact.file + if (artifactFile != null && artifactFile.exists()) { + def emptySourcesFile = emptySourcesJarTask.archiveFile.get().asFile + artifactFile == emptySourcesFile + } else { + artifact.classifier == "sources" && artifact.extension == "jar" && + !publication.artifacts.any { + it != artifact && it.classifier == "sources" && + it.buildDependencies != null + } + } + } catch (Exception e) { + false + } + } } - } catch (Exception e) { - e.printStackTrace() } } -} - -preBuild.dependsOn printReleaseDependenciesToFile -tasks.withType(Test) { - maxParallelForks = Runtime.runtime.availableProcessors().intdiv(2) ?: 1 - forkEvery = 100 - maxHeapSize = "1024m" + // Disable Gradle Module Metadata (.module file) to avoid variant ambiguity + tasks.configureEach { task -> + // Match tasks related to module metadata generation + if (task.name.startsWith('generateMetadataFileFor') || + task.name == 'generateModuleMetadata' || + task.class.name.endsWith('GenerateModuleMetadata')) { + task.enabled = false + } + } + + // Remove empty lint.jar from publication to prevent consumer lint crashes + // The fused library plugin generates an empty lint.jar without proper Lint-Registry-v2 manifest + // This causes lint to crash when consumers use checkDependencies: true + publishing.publications.withType(MavenPublication) { publication -> + if (publication.name == "maven") { + publication.artifacts.removeAll { artifact -> + artifact.file?.name?.endsWith('lint.jar') ?: false + } + } + } } diff --git a/deps.txt b/deps.txt deleted file mode 100644 index a680eefb8..000000000 --- a/deps.txt +++ /dev/null @@ -1,128 +0,0 @@ - ------------------------------------------------------------- -Project ':android-client' ------------------------------------------------------------- - -releaseRuntimeClasspath - Runtime classpath of compilation 'release' (target (androidJvm)). -+--- androidx.room:room-runtime:2.4.3 -| +--- androidx.room:room-common:2.4.3 -| | \--- androidx.annotation:annotation:1.1.0 -> 1.2.0 -| +--- androidx.sqlite:sqlite-framework:2.2.0 -| | +--- androidx.annotation:annotation:1.0.0 -> 1.2.0 -| | \--- androidx.sqlite:sqlite:2.2.0 -| | \--- androidx.annotation:annotation:1.0.0 -> 1.2.0 -| +--- androidx.sqlite:sqlite:2.2.0 (*) -| +--- androidx.arch.core:core-runtime:2.0.1 -> 2.1.0 -| | +--- androidx.annotation:annotation:1.1.0 -> 1.2.0 -| | \--- androidx.arch.core:core-common:2.1.0 -| | \--- androidx.annotation:annotation:1.1.0 -> 1.2.0 -| \--- androidx.annotation:annotation-experimental:1.1.0 -+--- androidx.work:work-runtime:2.7.1 -| +--- androidx.annotation:annotation-experimental:1.0.0 -> 1.1.0 -| +--- com.google.guava:listenablefuture:1.0 -| +--- androidx.lifecycle:lifecycle-livedata:2.1.0 -| | +--- androidx.arch.core:core-runtime:2.1.0 (*) -| | +--- androidx.lifecycle:lifecycle-livedata-core:2.1.0 -| | | +--- androidx.lifecycle:lifecycle-common:2.1.0 -> 2.5.1 -| | | | \--- androidx.annotation:annotation:1.1.0 -> 1.2.0 -| | | +--- androidx.arch.core:core-common:2.1.0 (*) -| | | \--- androidx.arch.core:core-runtime:2.1.0 (*) -| | \--- androidx.arch.core:core-common:2.1.0 (*) -| +--- androidx.startup:startup-runtime:1.0.0 -> 1.1.1 -| | +--- androidx.annotation:annotation:1.1.0 -> 1.2.0 -| | \--- androidx.tracing:tracing:1.0.0 -| | \--- androidx.annotation:annotation:1.1.0 -> 1.2.0 -| +--- androidx.core:core:1.6.0 -| | +--- androidx.annotation:annotation:1.2.0 -| | +--- androidx.annotation:annotation-experimental:1.1.0 -| | +--- androidx.lifecycle:lifecycle-runtime:2.0.0 -> 2.5.1 -| | | +--- androidx.annotation:annotation:1.1.0 -> 1.2.0 -| | | +--- androidx.arch.core:core-common:2.1.0 (*) -| | | +--- androidx.arch.core:core-runtime:2.1.0 (*) -| | | \--- androidx.lifecycle:lifecycle-common:2.5.1 (*) -| | +--- androidx.versionedparcelable:versionedparcelable:1.1.1 -| | | +--- androidx.annotation:annotation:1.1.0 -> 1.2.0 -| | | \--- androidx.collection:collection:1.0.0 -| | | \--- androidx.annotation:annotation:1.0.0 -> 1.2.0 -| | \--- androidx.collection:collection:1.0.0 (*) -| +--- androidx.room:room-runtime:2.2.5 -> 2.4.3 (*) -| +--- androidx.sqlite:sqlite:2.1.0 -> 2.2.0 (*) -| +--- androidx.sqlite:sqlite-framework:2.1.0 -> 2.2.0 (*) -| +--- androidx.core:core:1.1.0 -> 1.6.0 (*) -| \--- androidx.lifecycle:lifecycle-service:2.1.0 -| \--- androidx.lifecycle:lifecycle-runtime:2.1.0 -> 2.5.1 (*) -+--- androidx.lifecycle:lifecycle-process:2.5.1 -| +--- androidx.annotation:annotation:1.2.0 -| +--- androidx.lifecycle:lifecycle-runtime:2.5.1 (*) -| \--- androidx.startup:startup-runtime:1.1.1 (*) -+--- androidx.annotation:annotation:1.2.0 -+--- com.google.code.gson:gson:2.10.1 -+--- org.yaml:snakeyaml:2.2 -+--- com.google.android.gms:play-services-base:18.2.0 -| +--- androidx.collection:collection:1.0.0 (*) -| +--- androidx.core:core:1.2.0 -> 1.6.0 (*) -| +--- androidx.fragment:fragment:1.0.0 -| | +--- androidx.core:core:1.0.0 -> 1.6.0 (*) -| | +--- androidx.legacy:legacy-support-core-ui:1.0.0 -| | | +--- androidx.annotation:annotation:1.0.0 -> 1.2.0 -| | | +--- androidx.core:core:1.0.0 -> 1.6.0 (*) -| | | +--- androidx.legacy:legacy-support-core-utils:1.0.0 -| | | | +--- androidx.annotation:annotation:1.0.0 -> 1.2.0 -| | | | +--- androidx.core:core:1.0.0 -> 1.6.0 (*) -| | | | +--- androidx.documentfile:documentfile:1.0.0 -| | | | | \--- androidx.annotation:annotation:1.0.0 -> 1.2.0 -| | | | +--- androidx.loader:loader:1.0.0 -| | | | | +--- androidx.annotation:annotation:1.0.0 -> 1.2.0 -| | | | | +--- androidx.core:core:1.0.0 -> 1.6.0 (*) -| | | | | +--- androidx.lifecycle:lifecycle-livedata:2.0.0 -> 2.1.0 (*) -| | | | | \--- androidx.lifecycle:lifecycle-viewmodel:2.0.0 -| | | | | \--- androidx.annotation:annotation:1.0.0 -> 1.2.0 -| | | | +--- androidx.localbroadcastmanager:localbroadcastmanager:1.0.0 -| | | | | \--- androidx.annotation:annotation:1.0.0 -> 1.2.0 -| | | | \--- androidx.print:print:1.0.0 -| | | | \--- androidx.annotation:annotation:1.0.0 -> 1.2.0 -| | | +--- androidx.customview:customview:1.0.0 -| | | | +--- androidx.annotation:annotation:1.0.0 -> 1.2.0 -| | | | \--- androidx.core:core:1.0.0 -> 1.6.0 (*) -| | | +--- androidx.viewpager:viewpager:1.0.0 -| | | | +--- androidx.annotation:annotation:1.0.0 -> 1.2.0 -| | | | +--- androidx.core:core:1.0.0 -> 1.6.0 (*) -| | | | \--- androidx.customview:customview:1.0.0 (*) -| | | +--- androidx.coordinatorlayout:coordinatorlayout:1.0.0 -| | | | +--- androidx.annotation:annotation:1.0.0 -> 1.2.0 -| | | | +--- androidx.core:core:1.0.0 -> 1.6.0 (*) -| | | | \--- androidx.customview:customview:1.0.0 (*) -| | | +--- androidx.drawerlayout:drawerlayout:1.0.0 -| | | | +--- androidx.annotation:annotation:1.0.0 -> 1.2.0 -| | | | +--- androidx.core:core:1.0.0 -> 1.6.0 (*) -| | | | \--- androidx.customview:customview:1.0.0 (*) -| | | +--- androidx.slidingpanelayout:slidingpanelayout:1.0.0 -| | | | +--- androidx.annotation:annotation:1.0.0 -> 1.2.0 -| | | | +--- androidx.core:core:1.0.0 -> 1.6.0 (*) -| | | | \--- androidx.customview:customview:1.0.0 (*) -| | | +--- androidx.interpolator:interpolator:1.0.0 -| | | | \--- androidx.annotation:annotation:1.0.0 -> 1.2.0 -| | | +--- androidx.swiperefreshlayout:swiperefreshlayout:1.0.0 -| | | | +--- androidx.annotation:annotation:1.0.0 -> 1.2.0 -| | | | +--- androidx.core:core:1.0.0 -> 1.6.0 (*) -| | | | \--- androidx.interpolator:interpolator:1.0.0 (*) -| | | +--- androidx.asynclayoutinflater:asynclayoutinflater:1.0.0 -| | | | +--- androidx.annotation:annotation:1.0.0 -> 1.2.0 -| | | | \--- androidx.core:core:1.0.0 -> 1.6.0 (*) -| | | \--- androidx.cursoradapter:cursoradapter:1.0.0 -| | | \--- androidx.annotation:annotation:1.0.0 -> 1.2.0 -| | +--- androidx.legacy:legacy-support-core-utils:1.0.0 (*) -| | +--- androidx.annotation:annotation:1.0.0 -> 1.2.0 -| | +--- androidx.loader:loader:1.0.0 (*) -| | \--- androidx.lifecycle:lifecycle-viewmodel:2.0.0 (*) -| +--- com.google.android.gms:play-services-basement:18.1.0 -| | +--- androidx.collection:collection:1.0.0 (*) -| | +--- androidx.core:core:1.2.0 -> 1.6.0 (*) -| | \--- androidx.fragment:fragment:1.0.0 (*) -| \--- com.google.android.gms:play-services-tasks:18.0.2 -| \--- com.google.android.gms:play-services-basement:18.1.0 (*) -\--- androidx.multidex:multidex:2.0.1 - -(*) - Indicates repeated occurrences of a transitive dependency subtree. Gradle expands transitive dependency subtrees only once per project; repeat occurrences only display the root of the subtree, followed by this annotation. - -A web-based, searchable dependency report is available by adding the --scan option. diff --git a/gradle.properties b/gradle.properties index aa8a41b37..5e07a3fe4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,10 +2,11 @@ mavenCentralUsername= mavenCentralPassword= android.useAndroidX=true +android.experimental.fusedLibrarySupport=true android.nonTransitiveRClass=true -android.defaults.buildfeatures.buildconfig=true -android.nonFinalResIds=false +# Removed in AGP 9.0: android.defaults.buildfeatures.buildconfig=true +# Removed in AGP 9.0: android.nonFinalResIds=false kotlin.stdlib.default.dependency=false # Increase heap size for DEX merging to avoid OOM errors @@ -18,4 +19,4 @@ signing.keyId= signing.password= # Path to the file created in the previous step. -signing.secretKeyRingFile= \ No newline at end of file +signing.secretKeyRingFile= diff --git a/gradle/common-android-library.gradle b/gradle/common-android-library.gradle new file mode 100644 index 000000000..de5ee9713 --- /dev/null +++ b/gradle/common-android-library.gradle @@ -0,0 +1,26 @@ +android { + compileSdk 33 + defaultConfig { + minSdk 19 + targetSdk 31 + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } +} + +def kotlinCompileClass = null +try { + kotlinCompileClass = Class.forName('org.jetbrains.kotlin.gradle.tasks.KotlinCompile') +} catch (Throwable ignored) { + // Kotlin plugin not applied in this module; skip Kotlin options configuration +} +if (kotlinCompileClass != null) { + tasks.withType(kotlinCompileClass).configureEach { + kotlinOptions { + jvmTarget = "1.8" + } + } +} + diff --git a/gradle/jacoco-android.gradle b/gradle/jacoco-android.gradle new file mode 100644 index 000000000..e594c5d18 --- /dev/null +++ b/gradle/jacoco-android.gradle @@ -0,0 +1,127 @@ +apply plugin: 'jacoco' + +jacoco { + toolVersion = '0.8.8' +} + +tasks.withType(Test) { + jacoco { + includeNoLocationClasses = true + excludes = ['jdk.internal.*'] + enabled = true + } + systemProperty 'robolectric.enabledSdks', '28,29,30,31,32,33' + finalizedBy jacocoTestReport +} + +tasks.register('jacocoTestReport', JacocoReport) { + dependsOn 'testDebugUnitTest' + + reports { + xml.required = true + html.required = true + csv.required = false + } + + def fileFilter = ['**/R.class', '**/R$*.class', '**/BuildConfig.*', '**/Manifest*.*', '**/*Test*.*', 'android/**/*.*'] + def classDirectoriesFiles = [] + def possibleClassDirs = [ + "${buildDir}/intermediates/javac/debug/classes", + "${buildDir}/intermediates/javac/debug/compileDebugJavaWithJavac/classes", + "${buildDir}/intermediates/runtime_library_classes_dir/debug", + "${buildDir}/intermediates/classes/debug", + "${buildDir}/classes/java/main", + "${buildDir}/tmp/kotlin-classes/debug" + ] + possibleClassDirs.each { dirPath -> + def dir = file(dirPath) + if (dir.exists() && dir.isDirectory()) { + def classDir = fileTree(dir: dirPath, excludes: fileFilter) + if (classDir.files.size() > 0) { + classDirectoriesFiles.add(classDir) + } + } + } + + sourceDirectories.from = files(['src/main/java', 'src/main/kotlin']) + classDirectories.from = files(classDirectoriesFiles) + + def execFiles = fileTree(dir: "$buildDir", includes: [ + 'jacoco/testDebugUnitTest.exec', + 'outputs/unit_test_code_coverage/debugUnitTest/testDebugUnitTest.exec', + 'jacoco/*.exec', + 'outputs/**/**.exec' + ]) + executionData.from = files(execFiles.filter { it.exists() }) + outputs.upToDateWhen { false } + + doFirst { + logger.lifecycle("=== JaCoCo Report Generation ===") + logger.lifecycle("Source directories:") + sourceDirectories.files.each { dir -> + if (dir.exists()) { + logger.lifecycle(" - Found: $dir") + } else { + logger.lifecycle(" - Missing: $dir") + } + } + logger.lifecycle("Class directories:") + classDirectories.files.each { dir -> + logger.lifecycle(" - $dir (${dir.exists() ? 'exists' : 'missing'})") + } + def execDataFiles = executionData.files + logger.lifecycle("Execution data files:") + if (execDataFiles.isEmpty() || !execDataFiles.any { it.exists() }) { + logger.warn(" - No execution data files found - coverage report will be empty") + } else { + execDataFiles.each { file -> + if (file.exists()) { + logger.lifecycle(" - Found: $file (${file.length()} bytes)") + } else { + logger.lifecycle(" - Missing: $file") + } + } + } + logger.lifecycle("================================") + } +} + +task generateJacocoXmlReport { + doLast { + def reportDir = file("${buildDir}/reports/jacoco/jacocoTestReport") + reportDir.mkdirs() + def execFiles = fileTree(dir: "${buildDir}", includes: ['**/*.exec']) + if (execFiles.isEmpty()) { + def reportFile = new File(reportDir, "jacocoTestReport.xml") + reportFile.text = "\n\n" + println "Created empty JaCoCo report at ${reportFile.absolutePath}" + } else { + println "Found JaCoCo exec files: ${execFiles.files}" + } + def reportFile = new File(reportDir, "jacocoTestReport.xml") + if (reportFile.exists()) { + println "\n==== JaCoCo Report Content ====" + println "Report file size: ${reportFile.length()} bytes" + if (reportFile.length() > 0) { + def xmlContent = reportFile.text + println "First 500 chars of report: ${xmlContent.take(500)}..." + def packageCount = (xmlContent =~ / + + diff --git a/src/main/java/io/split/android/client/utils/logger/LogPrinter.java b/logger/src/main/java/io/split/android/client/utils/logger/LogPrinter.java similarity index 100% rename from src/main/java/io/split/android/client/utils/logger/LogPrinter.java rename to logger/src/main/java/io/split/android/client/utils/logger/LogPrinter.java diff --git a/src/main/java/io/split/android/client/utils/logger/LogPrinterImpl.java b/logger/src/main/java/io/split/android/client/utils/logger/LogPrinterImpl.java similarity index 100% rename from src/main/java/io/split/android/client/utils/logger/LogPrinterImpl.java rename to logger/src/main/java/io/split/android/client/utils/logger/LogPrinterImpl.java diff --git a/src/main/java/io/split/android/client/utils/logger/Logger.java b/logger/src/main/java/io/split/android/client/utils/logger/Logger.java similarity index 100% rename from src/main/java/io/split/android/client/utils/logger/Logger.java rename to logger/src/main/java/io/split/android/client/utils/logger/Logger.java diff --git a/src/main/java/io/split/android/client/utils/logger/SplitLogLevel.java b/logger/src/main/java/io/split/android/client/utils/logger/SplitLogLevel.java similarity index 100% rename from src/main/java/io/split/android/client/utils/logger/SplitLogLevel.java rename to logger/src/main/java/io/split/android/client/utils/logger/SplitLogLevel.java diff --git a/src/test/java/io/split/android/client/utils/logger/LogPrinterStub.java b/logger/src/test/java/io/split/android/client/utils/logger/LogPrinterStub.java similarity index 100% rename from src/test/java/io/split/android/client/utils/logger/LogPrinterStub.java rename to logger/src/test/java/io/split/android/client/utils/logger/LogPrinterStub.java diff --git a/src/test/java/io/split/android/client/utils/logger/LoggerTest.java b/logger/src/test/java/io/split/android/client/utils/logger/LoggerTest.java similarity index 100% rename from src/test/java/io/split/android/client/utils/logger/LoggerTest.java rename to logger/src/test/java/io/split/android/client/utils/logger/LoggerTest.java diff --git a/main/.gitignore b/main/.gitignore new file mode 100644 index 000000000..3a11ced48 --- /dev/null +++ b/main/.gitignore @@ -0,0 +1,4 @@ +/build +.gradle +*.iml +.DS_Store diff --git a/main/build.gradle b/main/build.gradle new file mode 100644 index 000000000..3654b45fe --- /dev/null +++ b/main/build.gradle @@ -0,0 +1,104 @@ +plugins { + id 'com.android.library' +} + +apply from: "$rootDir/gradle/common-android-library.gradle" +apply from: "$rootDir/gradle/jacoco-android.gradle" + +android { + namespace 'io.split.android.client.main' + + defaultConfig { + multiDexEnabled true + consumerProguardFiles 'consumer-rules.pro' + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + testInstrumentationRunnerArguments clearPackageData: 'true' + + testOptions { + execution 'ANDROIDX_TEST_ORCHESTRATOR' + } + } + + buildFeatures { + buildConfig true + } + + sourceSets { + test { + java.srcDirs += 'src/sharedTest/java' + } + androidTest { + java.srcDirs += 'src/sharedTest/java' + } + } + + buildTypes { + debug { + buildConfigField("String", "SPLIT_VERSION_NAME", "\"${rootProject.ext.splitVersion}\"") + buildConfigField("String", "FLAGS_SPEC", "\"1.3\"") + } + release { + buildConfigField("String", "SPLIT_VERSION_NAME", "\"${rootProject.ext.splitVersion}\"") + buildConfigField("String", "FLAGS_SPEC", "\"1.3\"") + } + } + + testOptions { + unitTests.returnDefaultValues = true + execution 'ANDROIDX_TEST_ORCHESTRATOR' + } +} + +dependencies { + // Internal module dependencies + api project(':logger') + + // External dependencies + implementation libs.roomRuntime + annotationProcessor libs.roomCompiler + implementation libs.workRuntime + implementation libs.lifecycleProcess + implementation libs.annotation + implementation libs.gson + implementation libs.snakeyaml + implementation libs.playServicesBase + implementation libs.multidex + + // Test dependencies + testImplementation libs.junit4 + testImplementation libs.mockitoCore + testImplementation libs.mockitoInline + testImplementation libs.kotlinStdlib + testImplementation libs.kotlinTest + testImplementation libs.kotlinTestJunit + testImplementation libs.hamcrest + testImplementation libs.commonsLang3 + testImplementation libs.guava + testImplementation libs.okhttpMockwebserver + testImplementation libs.okhttpTls + + // Android Test dependencies + androidTestImplementation libs.androidxTestExtJunit + androidTestImplementation libs.androidxTestRunner + androidTestImplementation libs.androidxTestRules + androidTestImplementation libs.workTesting + androidTestImplementation libs.kotlinStdlib + androidTestImplementation libs.kotlinTest + androidTestImplementation libs.kotlinTestJunit + androidTestImplementation libs.mockitoCore + androidTestImplementation libs.mockitoAndroid + androidTestImplementation libs.okhttpMockwebserver + androidTestImplementation libs.okhttpTls + androidTestImplementation libs.guava + + androidTestUtil libs.androidxTestOrchestrator +} + +// Align Kotlin only for test and androidTest configurations to avoid duplicate classes +configurations.matching { it.name.toLowerCase().contains("test") }.all { + resolutionStrategy { + force "org.jetbrains.kotlin:kotlin-stdlib:1.8.0" + force "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0" + force "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0" + } +} diff --git a/main/consumer-rules.pro b/main/consumer-rules.pro new file mode 100644 index 000000000..b776cf12b --- /dev/null +++ b/main/consumer-rules.pro @@ -0,0 +1,10 @@ +# Consumer ProGuard rules for Split Android SDK +# These rules are automatically applied to apps that depend on this library + +# Suppress warnings for java.beans classes (not available on Android) +# These are referenced by snakeyaml but not actually used on Android +-dontwarn java.beans.BeanInfo +-dontwarn java.beans.FeatureDescriptor +-dontwarn java.beans.IntrospectionException +-dontwarn java.beans.Introspector +-dontwarn java.beans.PropertyDescriptor diff --git a/src/androidTest/AndroidManifest.xml b/main/src/androidTest/AndroidManifest.xml similarity index 100% rename from src/androidTest/AndroidManifest.xml rename to main/src/androidTest/AndroidManifest.xml diff --git a/src/androidTest/assets/attributes_test_split_change.json b/main/src/androidTest/assets/attributes_test_split_change.json similarity index 100% rename from src/androidTest/assets/attributes_test_split_change.json rename to main/src/androidTest/assets/attributes_test_split_change.json diff --git a/src/androidTest/assets/bucket_split_test.json b/main/src/androidTest/assets/bucket_split_test.json similarity index 100% rename from src/androidTest/assets/bucket_split_test.json rename to main/src/androidTest/assets/bucket_split_test.json diff --git a/src/androidTest/assets/lorem_ipsum.txt b/main/src/androidTest/assets/lorem_ipsum.txt similarity index 100% rename from src/androidTest/assets/lorem_ipsum.txt rename to main/src/androidTest/assets/lorem_ipsum.txt diff --git a/src/androidTest/assets/push_msg-ably_error_40012.txt b/main/src/androidTest/assets/push_msg-ably_error_40012.txt similarity index 100% rename from src/androidTest/assets/push_msg-ably_error_40012.txt rename to main/src/androidTest/assets/push_msg-ably_error_40012.txt diff --git a/src/androidTest/assets/push_msg-ably_error_40142.txt b/main/src/androidTest/assets/push_msg-ably_error_40142.txt similarity index 100% rename from src/androidTest/assets/push_msg-ably_error_40142.txt rename to main/src/androidTest/assets/push_msg-ably_error_40142.txt diff --git a/src/androidTest/assets/push_msg-control.txt b/main/src/androidTest/assets/push_msg-control.txt similarity index 100% rename from src/androidTest/assets/push_msg-control.txt rename to main/src/androidTest/assets/push_msg-control.txt diff --git a/src/androidTest/assets/push_msg-largesegment_update.txt b/main/src/androidTest/assets/push_msg-largesegment_update.txt similarity index 100% rename from src/androidTest/assets/push_msg-largesegment_update.txt rename to main/src/androidTest/assets/push_msg-largesegment_update.txt diff --git a/src/androidTest/assets/push_msg-occupancy.txt b/main/src/androidTest/assets/push_msg-occupancy.txt similarity index 100% rename from src/androidTest/assets/push_msg-occupancy.txt rename to main/src/androidTest/assets/push_msg-occupancy.txt diff --git a/src/androidTest/assets/push_msg-segment_updV2.txt b/main/src/androidTest/assets/push_msg-segment_updV2.txt similarity index 100% rename from src/androidTest/assets/push_msg-segment_updV2.txt rename to main/src/androidTest/assets/push_msg-segment_updV2.txt diff --git a/src/androidTest/assets/push_msg-segment_update.txt b/main/src/androidTest/assets/push_msg-segment_update.txt similarity index 100% rename from src/androidTest/assets/push_msg-segment_update.txt rename to main/src/androidTest/assets/push_msg-segment_update.txt diff --git a/src/androidTest/assets/push_msg-segment_update_empty_payload.txt b/main/src/androidTest/assets/push_msg-segment_update_empty_payload.txt similarity index 100% rename from src/androidTest/assets/push_msg-segment_update_empty_payload.txt rename to main/src/androidTest/assets/push_msg-segment_update_empty_payload.txt diff --git a/src/androidTest/assets/push_msg-segment_update_payload.txt b/main/src/androidTest/assets/push_msg-segment_update_payload.txt similarity index 100% rename from src/androidTest/assets/push_msg-segment_update_payload.txt rename to main/src/androidTest/assets/push_msg-segment_update_payload.txt diff --git a/src/androidTest/assets/push_msg-segment_update_payload_generic.txt b/main/src/androidTest/assets/push_msg-segment_update_payload_generic.txt similarity index 100% rename from src/androidTest/assets/push_msg-segment_update_payload_generic.txt rename to main/src/androidTest/assets/push_msg-segment_update_payload_generic.txt diff --git a/src/androidTest/assets/push_msg-split_kill.txt b/main/src/androidTest/assets/push_msg-split_kill.txt similarity index 100% rename from src/androidTest/assets/push_msg-split_kill.txt rename to main/src/androidTest/assets/push_msg-split_kill.txt diff --git a/src/androidTest/assets/push_msg-split_kill_old.txt b/main/src/androidTest/assets/push_msg-split_kill_old.txt similarity index 100% rename from src/androidTest/assets/push_msg-split_kill_old.txt rename to main/src/androidTest/assets/push_msg-split_kill_old.txt diff --git a/src/androidTest/assets/push_msg-split_update-chgnum.txt b/main/src/androidTest/assets/push_msg-split_update-chgnum.txt similarity index 100% rename from src/androidTest/assets/push_msg-split_update-chgnum.txt rename to main/src/androidTest/assets/push_msg-split_update-chgnum.txt diff --git a/src/androidTest/assets/push_msg-split_update.txt b/main/src/androidTest/assets/push_msg-split_update.txt similarity index 100% rename from src/androidTest/assets/push_msg-split_update.txt rename to main/src/androidTest/assets/push_msg-split_update.txt diff --git a/src/androidTest/assets/push_msg-split_update_old_change_nb.txt b/main/src/androidTest/assets/push_msg-split_update_old_change_nb.txt similarity index 100% rename from src/androidTest/assets/push_msg-split_update_old_change_nb.txt rename to main/src/androidTest/assets/push_msg-split_update_old_change_nb.txt diff --git a/src/androidTest/assets/push_token-expired.txt b/main/src/androidTest/assets/push_token-expired.txt similarity index 100% rename from src/androidTest/assets/push_token-expired.txt rename to main/src/androidTest/assets/push_token-expired.txt diff --git a/src/androidTest/assets/simple_split.json b/main/src/androidTest/assets/simple_split.json similarity index 100% rename from src/androidTest/assets/simple_split.json rename to main/src/androidTest/assets/simple_split.json diff --git a/src/androidTest/assets/split.json b/main/src/androidTest/assets/split.json similarity index 100% rename from src/androidTest/assets/split.json rename to main/src/androidTest/assets/split.json diff --git a/src/androidTest/assets/split_changes_1.json b/main/src/androidTest/assets/split_changes_1.json similarity index 100% rename from src/androidTest/assets/split_changes_1.json rename to main/src/androidTest/assets/split_changes_1.json diff --git a/src/androidTest/assets/split_changes_flag_set-0.json b/main/src/androidTest/assets/split_changes_flag_set-0.json similarity index 100% rename from src/androidTest/assets/split_changes_flag_set-0.json rename to main/src/androidTest/assets/split_changes_flag_set-0.json diff --git a/src/androidTest/assets/split_changes_flag_set-1.json b/main/src/androidTest/assets/split_changes_flag_set-1.json similarity index 100% rename from src/androidTest/assets/split_changes_flag_set-1.json rename to main/src/androidTest/assets/split_changes_flag_set-1.json diff --git a/src/androidTest/assets/split_changes_flag_set-2.json b/main/src/androidTest/assets/split_changes_flag_set-2.json similarity index 100% rename from src/androidTest/assets/split_changes_flag_set-2.json rename to main/src/androidTest/assets/split_changes_flag_set-2.json diff --git a/src/androidTest/assets/split_changes_imp_toggle.json b/main/src/androidTest/assets/split_changes_imp_toggle.json similarity index 100% rename from src/androidTest/assets/split_changes_imp_toggle.json rename to main/src/androidTest/assets/split_changes_imp_toggle.json diff --git a/src/androidTest/assets/split_changes_large_segments-0.json b/main/src/androidTest/assets/split_changes_large_segments-0.json similarity index 100% rename from src/androidTest/assets/split_changes_large_segments-0.json rename to main/src/androidTest/assets/split_changes_large_segments-0.json diff --git a/src/androidTest/assets/split_changes_legacy.json b/main/src/androidTest/assets/split_changes_legacy.json similarity index 100% rename from src/androidTest/assets/split_changes_legacy.json rename to main/src/androidTest/assets/split_changes_legacy.json diff --git a/src/androidTest/assets/split_changes_rbs.json b/main/src/androidTest/assets/split_changes_rbs.json similarity index 100% rename from src/androidTest/assets/split_changes_rbs.json rename to main/src/androidTest/assets/split_changes_rbs.json diff --git a/src/androidTest/assets/split_changes_semver.json b/main/src/androidTest/assets/split_changes_semver.json similarity index 100% rename from src/androidTest/assets/split_changes_semver.json rename to main/src/androidTest/assets/split_changes_semver.json diff --git a/src/androidTest/assets/split_dependency.json b/main/src/androidTest/assets/split_dependency.json similarity index 100% rename from src/androidTest/assets/split_dependency.json rename to main/src/androidTest/assets/split_dependency.json diff --git a/src/androidTest/assets/splitchanges_int_test.json b/main/src/androidTest/assets/splitchanges_int_test.json similarity index 100% rename from src/androidTest/assets/splitchanges_int_test.json rename to main/src/androidTest/assets/splitchanges_int_test.json diff --git a/src/androidTest/assets/splitchanges_prerequisites.json b/main/src/androidTest/assets/splitchanges_prerequisites.json similarity index 100% rename from src/androidTest/assets/splitchanges_prerequisites.json rename to main/src/androidTest/assets/splitchanges_prerequisites.json diff --git a/src/androidTest/assets/splitchanges_unsupported_matcher.json b/main/src/androidTest/assets/splitchanges_unsupported_matcher.json similarity index 100% rename from src/androidTest/assets/splitchanges_unsupported_matcher.json rename to main/src/androidTest/assets/splitchanges_unsupported_matcher.json diff --git a/src/androidTest/assets/splits.yaml b/main/src/androidTest/assets/splits.yaml similarity index 100% rename from src/androidTest/assets/splits.yaml rename to main/src/androidTest/assets/splits.yaml diff --git a/src/androidTest/assets/splits1.properties b/main/src/androidTest/assets/splits1.properties similarity index 100% rename from src/androidTest/assets/splits1.properties rename to main/src/androidTest/assets/splits1.properties diff --git a/src/androidTest/assets/splits_test.properties b/main/src/androidTest/assets/splits_test.properties similarity index 100% rename from src/androidTest/assets/splits_test.properties rename to main/src/androidTest/assets/splits_test.properties diff --git a/src/androidTest/assets/splits_yml.yml b/main/src/androidTest/assets/splits_yml.yml similarity index 100% rename from src/androidTest/assets/splits_yml.yml rename to main/src/androidTest/assets/splits_yml.yml diff --git a/src/androidTest/java/fake/HttpClientMock.java b/main/src/androidTest/java/fake/HttpClientMock.java similarity index 100% rename from src/androidTest/java/fake/HttpClientMock.java rename to main/src/androidTest/java/fake/HttpClientMock.java diff --git a/src/androidTest/java/fake/HttpClientStub.java b/main/src/androidTest/java/fake/HttpClientStub.java similarity index 100% rename from src/androidTest/java/fake/HttpClientStub.java rename to main/src/androidTest/java/fake/HttpClientStub.java diff --git a/src/androidTest/java/fake/HttpRequestMock.java b/main/src/androidTest/java/fake/HttpRequestMock.java similarity index 100% rename from src/androidTest/java/fake/HttpRequestMock.java rename to main/src/androidTest/java/fake/HttpRequestMock.java diff --git a/src/androidTest/java/fake/HttpRequestStub.java b/main/src/androidTest/java/fake/HttpRequestStub.java similarity index 100% rename from src/androidTest/java/fake/HttpRequestStub.java rename to main/src/androidTest/java/fake/HttpRequestStub.java diff --git a/src/androidTest/java/fake/HttpResponseMock.java b/main/src/androidTest/java/fake/HttpResponseMock.java similarity index 100% rename from src/androidTest/java/fake/HttpResponseMock.java rename to main/src/androidTest/java/fake/HttpResponseMock.java diff --git a/src/androidTest/java/fake/HttpResponseMockDispatcher.java b/main/src/androidTest/java/fake/HttpResponseMockDispatcher.java similarity index 100% rename from src/androidTest/java/fake/HttpResponseMockDispatcher.java rename to main/src/androidTest/java/fake/HttpResponseMockDispatcher.java diff --git a/src/androidTest/java/fake/HttpResponseStub.java b/main/src/androidTest/java/fake/HttpResponseStub.java similarity index 100% rename from src/androidTest/java/fake/HttpResponseStub.java rename to main/src/androidTest/java/fake/HttpResponseStub.java diff --git a/src/androidTest/java/fake/HttpStreamRequestMock.java b/main/src/androidTest/java/fake/HttpStreamRequestMock.java similarity index 100% rename from src/androidTest/java/fake/HttpStreamRequestMock.java rename to main/src/androidTest/java/fake/HttpStreamRequestMock.java diff --git a/src/androidTest/java/fake/HttpStreamResponseMock.java b/main/src/androidTest/java/fake/HttpStreamResponseMock.java similarity index 100% rename from src/androidTest/java/fake/HttpStreamResponseMock.java rename to main/src/androidTest/java/fake/HttpStreamResponseMock.java diff --git a/src/androidTest/java/fake/LifecycleManagerStub.java b/main/src/androidTest/java/fake/LifecycleManagerStub.java similarity index 100% rename from src/androidTest/java/fake/LifecycleManagerStub.java rename to main/src/androidTest/java/fake/LifecycleManagerStub.java diff --git a/src/androidTest/java/fake/SplitClientStub.java b/main/src/androidTest/java/fake/SplitClientStub.java similarity index 100% rename from src/androidTest/java/fake/SplitClientStub.java rename to main/src/androidTest/java/fake/SplitClientStub.java diff --git a/src/androidTest/java/fake/SplitEventExecutorResourcesMock.java b/main/src/androidTest/java/fake/SplitEventExecutorResourcesMock.java similarity index 100% rename from src/androidTest/java/fake/SplitEventExecutorResourcesMock.java rename to main/src/androidTest/java/fake/SplitEventExecutorResourcesMock.java diff --git a/src/androidTest/java/fake/SyncManagerStub.java b/main/src/androidTest/java/fake/SyncManagerStub.java similarity index 100% rename from src/androidTest/java/fake/SyncManagerStub.java rename to main/src/androidTest/java/fake/SyncManagerStub.java diff --git a/src/androidTest/java/fake/SynchronizerSpyImpl.java b/main/src/androidTest/java/fake/SynchronizerSpyImpl.java similarity index 100% rename from src/androidTest/java/fake/SynchronizerSpyImpl.java rename to main/src/androidTest/java/fake/SynchronizerSpyImpl.java diff --git a/src/androidTest/java/helper/DataSample.kt b/main/src/androidTest/java/helper/DataSample.kt similarity index 100% rename from src/androidTest/java/helper/DataSample.kt rename to main/src/androidTest/java/helper/DataSample.kt diff --git a/src/androidTest/java/helper/DatabaseHelper.java b/main/src/androidTest/java/helper/DatabaseHelper.java similarity index 100% rename from src/androidTest/java/helper/DatabaseHelper.java rename to main/src/androidTest/java/helper/DatabaseHelper.java diff --git a/src/androidTest/java/helper/FileHelper.java b/main/src/androidTest/java/helper/FileHelper.java similarity index 100% rename from src/androidTest/java/helper/FileHelper.java rename to main/src/androidTest/java/helper/FileHelper.java diff --git a/src/androidTest/java/helper/ImpressionListenerHelper.java b/main/src/androidTest/java/helper/ImpressionListenerHelper.java similarity index 100% rename from src/androidTest/java/helper/ImpressionListenerHelper.java rename to main/src/androidTest/java/helper/ImpressionListenerHelper.java diff --git a/src/androidTest/java/helper/IntegrationHelper.java b/main/src/androidTest/java/helper/IntegrationHelper.java similarity index 100% rename from src/androidTest/java/helper/IntegrationHelper.java rename to main/src/androidTest/java/helper/IntegrationHelper.java diff --git a/src/androidTest/java/helper/SplitEventTaskHelper.java b/main/src/androidTest/java/helper/SplitEventTaskHelper.java similarity index 100% rename from src/androidTest/java/helper/SplitEventTaskHelper.java rename to main/src/androidTest/java/helper/SplitEventTaskHelper.java diff --git a/src/androidTest/java/helper/TestableSplitConfigBuilder.java b/main/src/androidTest/java/helper/TestableSplitConfigBuilder.java similarity index 100% rename from src/androidTest/java/helper/TestableSplitConfigBuilder.java rename to main/src/androidTest/java/helper/TestableSplitConfigBuilder.java diff --git a/src/androidTest/java/io/split/android/client/service/impressions/ImpressionPropertiesIntegrationTest.java b/main/src/androidTest/java/io/split/android/client/service/impressions/ImpressionPropertiesIntegrationTest.java similarity index 100% rename from src/androidTest/java/io/split/android/client/service/impressions/ImpressionPropertiesIntegrationTest.java rename to main/src/androidTest/java/io/split/android/client/service/impressions/ImpressionPropertiesIntegrationTest.java diff --git a/src/androidTest/java/io/split/android/client/service/impressions/ImpressionUtilsTest.java b/main/src/androidTest/java/io/split/android/client/service/impressions/ImpressionUtilsTest.java similarity index 100% rename from src/androidTest/java/io/split/android/client/service/impressions/ImpressionUtilsTest.java rename to main/src/androidTest/java/io/split/android/client/service/impressions/ImpressionUtilsTest.java diff --git a/src/androidTest/java/io/split/android/client/service/impressions/observer/DedupeIntegrationTest.java b/main/src/androidTest/java/io/split/android/client/service/impressions/observer/DedupeIntegrationTest.java similarity index 100% rename from src/androidTest/java/io/split/android/client/service/impressions/observer/DedupeIntegrationTest.java rename to main/src/androidTest/java/io/split/android/client/service/impressions/observer/DedupeIntegrationTest.java diff --git a/src/androidTest/java/io/split/android/client/service/impressions/observer/ImpressionsObserverCacheImplIntegrationTest.java b/main/src/androidTest/java/io/split/android/client/service/impressions/observer/ImpressionsObserverCacheImplIntegrationTest.java similarity index 100% rename from src/androidTest/java/io/split/android/client/service/impressions/observer/ImpressionsObserverCacheImplIntegrationTest.java rename to main/src/androidTest/java/io/split/android/client/service/impressions/observer/ImpressionsObserverCacheImplIntegrationTest.java diff --git a/src/androidTest/java/io/split/android/client/service/impressions/observer/ImpressionsObserverTest.java b/main/src/androidTest/java/io/split/android/client/service/impressions/observer/ImpressionsObserverTest.java similarity index 100% rename from src/androidTest/java/io/split/android/client/service/impressions/observer/ImpressionsObserverTest.java rename to main/src/androidTest/java/io/split/android/client/service/impressions/observer/ImpressionsObserverTest.java diff --git a/src/androidTest/java/io/split/android/client/service/impressions/observer/ListenableLruCacheTest.java b/main/src/androidTest/java/io/split/android/client/service/impressions/observer/ListenableLruCacheTest.java similarity index 100% rename from src/androidTest/java/io/split/android/client/service/impressions/observer/ListenableLruCacheTest.java rename to main/src/androidTest/java/io/split/android/client/service/impressions/observer/ListenableLruCacheTest.java diff --git a/src/androidTest/java/tests/database/AttributesDaoTest.java b/main/src/androidTest/java/tests/database/AttributesDaoTest.java similarity index 100% rename from src/androidTest/java/tests/database/AttributesDaoTest.java rename to main/src/androidTest/java/tests/database/AttributesDaoTest.java diff --git a/src/androidTest/java/tests/database/DatabaseInitializationTest.java b/main/src/androidTest/java/tests/database/DatabaseInitializationTest.java similarity index 100% rename from src/androidTest/java/tests/database/DatabaseInitializationTest.java rename to main/src/androidTest/java/tests/database/DatabaseInitializationTest.java diff --git a/src/androidTest/java/tests/database/GeneralInfoDaoTest.java b/main/src/androidTest/java/tests/database/GeneralInfoDaoTest.java similarity index 100% rename from src/androidTest/java/tests/database/GeneralInfoDaoTest.java rename to main/src/androidTest/java/tests/database/GeneralInfoDaoTest.java diff --git a/src/androidTest/java/tests/database/GenericDaoTest.java b/main/src/androidTest/java/tests/database/GenericDaoTest.java similarity index 100% rename from src/androidTest/java/tests/database/GenericDaoTest.java rename to main/src/androidTest/java/tests/database/GenericDaoTest.java diff --git a/src/androidTest/java/tests/database/ImpressionDaoTest.java b/main/src/androidTest/java/tests/database/ImpressionDaoTest.java similarity index 100% rename from src/androidTest/java/tests/database/ImpressionDaoTest.java rename to main/src/androidTest/java/tests/database/ImpressionDaoTest.java diff --git a/src/androidTest/java/tests/database/ImpressionsObserverCacheDaoTest.java b/main/src/androidTest/java/tests/database/ImpressionsObserverCacheDaoTest.java similarity index 100% rename from src/androidTest/java/tests/database/ImpressionsObserverCacheDaoTest.java rename to main/src/androidTest/java/tests/database/ImpressionsObserverCacheDaoTest.java diff --git a/src/androidTest/java/tests/database/MyLargeSegmentDaoTest.java b/main/src/androidTest/java/tests/database/MyLargeSegmentDaoTest.java similarity index 100% rename from src/androidTest/java/tests/database/MyLargeSegmentDaoTest.java rename to main/src/androidTest/java/tests/database/MyLargeSegmentDaoTest.java diff --git a/src/androidTest/java/tests/database/MySegmentDaoTest.java b/main/src/androidTest/java/tests/database/MySegmentDaoTest.java similarity index 100% rename from src/androidTest/java/tests/database/MySegmentDaoTest.java rename to main/src/androidTest/java/tests/database/MySegmentDaoTest.java diff --git a/src/androidTest/java/tests/database/RuleBasedSegmentDaoTest.java b/main/src/androidTest/java/tests/database/RuleBasedSegmentDaoTest.java similarity index 100% rename from src/androidTest/java/tests/database/RuleBasedSegmentDaoTest.java rename to main/src/androidTest/java/tests/database/RuleBasedSegmentDaoTest.java diff --git a/src/androidTest/java/tests/database/SplitDaoTest.java b/main/src/androidTest/java/tests/database/SplitDaoTest.java similarity index 100% rename from src/androidTest/java/tests/database/SplitDaoTest.java rename to main/src/androidTest/java/tests/database/SplitDaoTest.java diff --git a/src/androidTest/java/tests/database/TrackDaoTest.java b/main/src/androidTest/java/tests/database/TrackDaoTest.java similarity index 100% rename from src/androidTest/java/tests/database/TrackDaoTest.java rename to main/src/androidTest/java/tests/database/TrackDaoTest.java diff --git a/src/androidTest/java/tests/database/UniqueKeysDaoTest.java b/main/src/androidTest/java/tests/database/UniqueKeysDaoTest.java similarity index 100% rename from src/androidTest/java/tests/database/UniqueKeysDaoTest.java rename to main/src/androidTest/java/tests/database/UniqueKeysDaoTest.java diff --git a/src/androidTest/java/tests/integration/FlagsSpecInRequestTest.java b/main/src/androidTest/java/tests/integration/FlagsSpecInRequestTest.java similarity index 100% rename from src/androidTest/java/tests/integration/FlagsSpecInRequestTest.java rename to main/src/androidTest/java/tests/integration/FlagsSpecInRequestTest.java diff --git a/src/androidTest/java/tests/integration/InitialChangeNumberTest.java b/main/src/androidTest/java/tests/integration/InitialChangeNumberTest.java similarity index 100% rename from src/androidTest/java/tests/integration/InitialChangeNumberTest.java rename to main/src/androidTest/java/tests/integration/InitialChangeNumberTest.java diff --git a/src/androidTest/java/tests/integration/IntegrationTest.java b/main/src/androidTest/java/tests/integration/IntegrationTest.java similarity index 100% rename from src/androidTest/java/tests/integration/IntegrationTest.java rename to main/src/androidTest/java/tests/integration/IntegrationTest.java diff --git a/src/androidTest/java/tests/integration/LifecyleOnBGTest.java b/main/src/androidTest/java/tests/integration/LifecyleOnBGTest.java similarity index 100% rename from src/androidTest/java/tests/integration/LifecyleOnBGTest.java rename to main/src/androidTest/java/tests/integration/LifecyleOnBGTest.java diff --git a/src/androidTest/java/tests/integration/MySegmentUpdatedTest.java b/main/src/androidTest/java/tests/integration/MySegmentUpdatedTest.java similarity index 100% rename from src/androidTest/java/tests/integration/MySegmentUpdatedTest.java rename to main/src/androidTest/java/tests/integration/MySegmentUpdatedTest.java diff --git a/src/androidTest/java/tests/integration/MySegmentsServerErrorTest.java b/main/src/androidTest/java/tests/integration/MySegmentsServerErrorTest.java similarity index 100% rename from src/androidTest/java/tests/integration/MySegmentsServerErrorTest.java rename to main/src/androidTest/java/tests/integration/MySegmentsServerErrorTest.java diff --git a/src/androidTest/java/tests/integration/ProxyFactoryTest.java b/main/src/androidTest/java/tests/integration/ProxyFactoryTest.java similarity index 100% rename from src/androidTest/java/tests/integration/ProxyFactoryTest.java rename to main/src/androidTest/java/tests/integration/ProxyFactoryTest.java diff --git a/src/androidTest/java/tests/integration/SingleSyncTest.java b/main/src/androidTest/java/tests/integration/SingleSyncTest.java similarity index 100% rename from src/androidTest/java/tests/integration/SingleSyncTest.java rename to main/src/androidTest/java/tests/integration/SingleSyncTest.java diff --git a/src/androidTest/java/tests/integration/SplitChangesCdnBypassTest.java b/main/src/androidTest/java/tests/integration/SplitChangesCdnBypassTest.java similarity index 100% rename from src/androidTest/java/tests/integration/SplitChangesCdnBypassTest.java rename to main/src/androidTest/java/tests/integration/SplitChangesCdnBypassTest.java diff --git a/src/androidTest/java/tests/integration/SplitChangesServerErrorTest.java b/main/src/androidTest/java/tests/integration/SplitChangesServerErrorTest.java similarity index 100% rename from src/androidTest/java/tests/integration/SplitChangesServerErrorTest.java rename to main/src/androidTest/java/tests/integration/SplitChangesServerErrorTest.java diff --git a/src/androidTest/java/tests/integration/SplitChangesTest.java b/main/src/androidTest/java/tests/integration/SplitChangesTest.java similarity index 100% rename from src/androidTest/java/tests/integration/SplitChangesTest.java rename to main/src/androidTest/java/tests/integration/SplitChangesTest.java diff --git a/src/androidTest/java/tests/integration/SplitFactoryFreshInstallTest.java b/main/src/androidTest/java/tests/integration/SplitFactoryFreshInstallTest.java similarity index 100% rename from src/androidTest/java/tests/integration/SplitFactoryFreshInstallTest.java rename to main/src/androidTest/java/tests/integration/SplitFactoryFreshInstallTest.java diff --git a/src/androidTest/java/tests/integration/SplitFetchSpecificSplitTest.java b/main/src/androidTest/java/tests/integration/SplitFetchSpecificSplitTest.java similarity index 100% rename from src/androidTest/java/tests/integration/SplitFetchSpecificSplitTest.java rename to main/src/androidTest/java/tests/integration/SplitFetchSpecificSplitTest.java diff --git a/src/androidTest/java/tests/integration/SplitsTwoDifferentApiKeyTest.java b/main/src/androidTest/java/tests/integration/SplitsTwoDifferentApiKeyTest.java similarity index 100% rename from src/androidTest/java/tests/integration/SplitsTwoDifferentApiKeyTest.java rename to main/src/androidTest/java/tests/integration/SplitsTwoDifferentApiKeyTest.java diff --git a/src/androidTest/java/tests/integration/TrackTest.java b/main/src/androidTest/java/tests/integration/TrackTest.java similarity index 100% rename from src/androidTest/java/tests/integration/TrackTest.java rename to main/src/androidTest/java/tests/integration/TrackTest.java diff --git a/src/androidTest/java/tests/integration/attributes/AttributesIntegrationTest.java b/main/src/androidTest/java/tests/integration/attributes/AttributesIntegrationTest.java similarity index 100% rename from src/androidTest/java/tests/integration/attributes/AttributesIntegrationTest.java rename to main/src/androidTest/java/tests/integration/attributes/AttributesIntegrationTest.java diff --git a/src/androidTest/java/tests/integration/encryption/EncryptionTest.java b/main/src/androidTest/java/tests/integration/encryption/EncryptionTest.java similarity index 100% rename from src/androidTest/java/tests/integration/encryption/EncryptionTest.java rename to main/src/androidTest/java/tests/integration/encryption/EncryptionTest.java diff --git a/src/androidTest/java/tests/integration/fallback/FallbackTreatmentsTest.java b/main/src/androidTest/java/tests/integration/fallback/FallbackTreatmentsTest.java similarity index 100% rename from src/androidTest/java/tests/integration/fallback/FallbackTreatmentsTest.java rename to main/src/androidTest/java/tests/integration/fallback/FallbackTreatmentsTest.java diff --git a/src/androidTest/java/tests/integration/init/InitializationTest.java b/main/src/androidTest/java/tests/integration/init/InitializationTest.java similarity index 100% rename from src/androidTest/java/tests/integration/init/InitializationTest.java rename to main/src/androidTest/java/tests/integration/init/InitializationTest.java diff --git a/src/androidTest/java/tests/integration/largesegments/LargeSegmentTestHelper.java b/main/src/androidTest/java/tests/integration/largesegments/LargeSegmentTestHelper.java similarity index 100% rename from src/androidTest/java/tests/integration/largesegments/LargeSegmentTestHelper.java rename to main/src/androidTest/java/tests/integration/largesegments/LargeSegmentTestHelper.java diff --git a/src/androidTest/java/tests/integration/largesegments/LargeSegmentsStreamingTest.java b/main/src/androidTest/java/tests/integration/largesegments/LargeSegmentsStreamingTest.java similarity index 100% rename from src/androidTest/java/tests/integration/largesegments/LargeSegmentsStreamingTest.java rename to main/src/androidTest/java/tests/integration/largesegments/LargeSegmentsStreamingTest.java diff --git a/src/androidTest/java/tests/integration/largesegments/LargeSegmentsTest.java b/main/src/androidTest/java/tests/integration/largesegments/LargeSegmentsTest.java similarity index 100% rename from src/androidTest/java/tests/integration/largesegments/LargeSegmentsTest.java rename to main/src/androidTest/java/tests/integration/largesegments/LargeSegmentsTest.java diff --git a/src/androidTest/java/tests/integration/matcher/PrerequisitesTest.java b/main/src/androidTest/java/tests/integration/matcher/PrerequisitesTest.java similarity index 99% rename from src/androidTest/java/tests/integration/matcher/PrerequisitesTest.java rename to main/src/androidTest/java/tests/integration/matcher/PrerequisitesTest.java index 9a34f73c9..8701e460a 100644 --- a/src/androidTest/java/tests/integration/matcher/PrerequisitesTest.java +++ b/main/src/androidTest/java/tests/integration/matcher/PrerequisitesTest.java @@ -253,4 +253,3 @@ private String loadSplitChanges() { return IntegrationHelper.loadSplitChanges(mContext, "splitchanges_prerequisites.json"); } } - diff --git a/src/androidTest/java/tests/integration/matcher/SemverMatcherTest.java b/main/src/androidTest/java/tests/integration/matcher/SemverMatcherTest.java similarity index 100% rename from src/androidTest/java/tests/integration/matcher/SemverMatcherTest.java rename to main/src/androidTest/java/tests/integration/matcher/SemverMatcherTest.java diff --git a/src/androidTest/java/tests/integration/matcher/UnsupportedMatcherTest.java b/main/src/androidTest/java/tests/integration/matcher/UnsupportedMatcherTest.java similarity index 100% rename from src/androidTest/java/tests/integration/matcher/UnsupportedMatcherTest.java rename to main/src/androidTest/java/tests/integration/matcher/UnsupportedMatcherTest.java diff --git a/src/androidTest/java/tests/integration/pin/CertPinningTest.java b/main/src/androidTest/java/tests/integration/pin/CertPinningTest.java similarity index 100% rename from src/androidTest/java/tests/integration/pin/CertPinningTest.java rename to main/src/androidTest/java/tests/integration/pin/CertPinningTest.java diff --git a/src/androidTest/java/tests/integration/rbs/OutdatedProxyIntegrationTest.java b/main/src/androidTest/java/tests/integration/rbs/OutdatedProxyIntegrationTest.java similarity index 100% rename from src/androidTest/java/tests/integration/rbs/OutdatedProxyIntegrationTest.java rename to main/src/androidTest/java/tests/integration/rbs/OutdatedProxyIntegrationTest.java diff --git a/src/androidTest/java/tests/integration/rbs/RuleBasedSegmentsIntegrationTest.java b/main/src/androidTest/java/tests/integration/rbs/RuleBasedSegmentsIntegrationTest.java similarity index 100% rename from src/androidTest/java/tests/integration/rbs/RuleBasedSegmentsIntegrationTest.java rename to main/src/androidTest/java/tests/integration/rbs/RuleBasedSegmentsIntegrationTest.java diff --git a/src/androidTest/java/tests/integration/rollout/RolloutCacheManagerIntegrationTest.java b/main/src/androidTest/java/tests/integration/rollout/RolloutCacheManagerIntegrationTest.java similarity index 100% rename from src/androidTest/java/tests/integration/rollout/RolloutCacheManagerIntegrationTest.java rename to main/src/androidTest/java/tests/integration/rollout/RolloutCacheManagerIntegrationTest.java diff --git a/src/androidTest/java/tests/integration/sets/FlagSetsEvaluationTest.java b/main/src/androidTest/java/tests/integration/sets/FlagSetsEvaluationTest.java similarity index 100% rename from src/androidTest/java/tests/integration/sets/FlagSetsEvaluationTest.java rename to main/src/androidTest/java/tests/integration/sets/FlagSetsEvaluationTest.java diff --git a/src/androidTest/java/tests/integration/sets/FlagSetsMultipleFactoryTest.java b/main/src/androidTest/java/tests/integration/sets/FlagSetsMultipleFactoryTest.java similarity index 100% rename from src/androidTest/java/tests/integration/sets/FlagSetsMultipleFactoryTest.java rename to main/src/androidTest/java/tests/integration/sets/FlagSetsMultipleFactoryTest.java diff --git a/src/androidTest/java/tests/integration/sets/FlagSetsPollingTest.java b/main/src/androidTest/java/tests/integration/sets/FlagSetsPollingTest.java similarity index 100% rename from src/androidTest/java/tests/integration/sets/FlagSetsPollingTest.java rename to main/src/androidTest/java/tests/integration/sets/FlagSetsPollingTest.java diff --git a/src/androidTest/java/tests/integration/sets/FlagSetsStreamingTest.java b/main/src/androidTest/java/tests/integration/sets/FlagSetsStreamingTest.java similarity index 100% rename from src/androidTest/java/tests/integration/sets/FlagSetsStreamingTest.java rename to main/src/androidTest/java/tests/integration/sets/FlagSetsStreamingTest.java diff --git a/src/androidTest/java/tests/integration/shared/BaseSharedClientsTest.java b/main/src/androidTest/java/tests/integration/shared/BaseSharedClientsTest.java similarity index 100% rename from src/androidTest/java/tests/integration/shared/BaseSharedClientsTest.java rename to main/src/androidTest/java/tests/integration/shared/BaseSharedClientsTest.java diff --git a/src/androidTest/java/tests/integration/shared/InterdependentSplitsTest.java b/main/src/androidTest/java/tests/integration/shared/InterdependentSplitsTest.java similarity index 100% rename from src/androidTest/java/tests/integration/shared/InterdependentSplitsTest.java rename to main/src/androidTest/java/tests/integration/shared/InterdependentSplitsTest.java diff --git a/src/androidTest/java/tests/integration/shared/MySegmentsBeforeSplitsTest.java b/main/src/androidTest/java/tests/integration/shared/MySegmentsBeforeSplitsTest.java similarity index 100% rename from src/androidTest/java/tests/integration/shared/MySegmentsBeforeSplitsTest.java rename to main/src/androidTest/java/tests/integration/shared/MySegmentsBeforeSplitsTest.java diff --git a/src/androidTest/java/tests/integration/shared/SharedClientsIntegrationTest.java b/main/src/androidTest/java/tests/integration/shared/SharedClientsIntegrationTest.java similarity index 100% rename from src/androidTest/java/tests/integration/shared/SharedClientsIntegrationTest.java rename to main/src/androidTest/java/tests/integration/shared/SharedClientsIntegrationTest.java diff --git a/src/androidTest/java/tests/integration/shared/TestingData.java b/main/src/androidTest/java/tests/integration/shared/TestingData.java similarity index 100% rename from src/androidTest/java/tests/integration/shared/TestingData.java rename to main/src/androidTest/java/tests/integration/shared/TestingData.java diff --git a/src/androidTest/java/tests/integration/shared/TestingHelper.java b/main/src/androidTest/java/tests/integration/shared/TestingHelper.java similarity index 100% rename from src/androidTest/java/tests/integration/shared/TestingHelper.java rename to main/src/androidTest/java/tests/integration/shared/TestingHelper.java diff --git a/src/androidTest/java/tests/integration/streaming/AblyErrorBaseTest.java b/main/src/androidTest/java/tests/integration/streaming/AblyErrorBaseTest.java similarity index 100% rename from src/androidTest/java/tests/integration/streaming/AblyErrorBaseTest.java rename to main/src/androidTest/java/tests/integration/streaming/AblyErrorBaseTest.java diff --git a/src/androidTest/java/tests/integration/streaming/AblyErrorTest.java b/main/src/androidTest/java/tests/integration/streaming/AblyErrorTest.java similarity index 100% rename from src/androidTest/java/tests/integration/streaming/AblyErrorTest.java rename to main/src/androidTest/java/tests/integration/streaming/AblyErrorTest.java diff --git a/src/androidTest/java/tests/integration/streaming/CleanUpDatabaseTest.java b/main/src/androidTest/java/tests/integration/streaming/CleanUpDatabaseTest.java similarity index 100% rename from src/androidTest/java/tests/integration/streaming/CleanUpDatabaseTest.java rename to main/src/androidTest/java/tests/integration/streaming/CleanUpDatabaseTest.java diff --git a/src/androidTest/java/tests/integration/streaming/ControlTest.java b/main/src/androidTest/java/tests/integration/streaming/ControlTest.java similarity index 100% rename from src/androidTest/java/tests/integration/streaming/ControlTest.java rename to main/src/androidTest/java/tests/integration/streaming/ControlTest.java diff --git a/src/androidTest/java/tests/integration/streaming/ImpressionsCountTest.java b/main/src/androidTest/java/tests/integration/streaming/ImpressionsCountTest.java similarity index 100% rename from src/androidTest/java/tests/integration/streaming/ImpressionsCountTest.java rename to main/src/androidTest/java/tests/integration/streaming/ImpressionsCountTest.java diff --git a/src/androidTest/java/tests/integration/streaming/MySegmentsChangeV2MultiClientTest.java b/main/src/androidTest/java/tests/integration/streaming/MySegmentsChangeV2MultiClientTest.java similarity index 100% rename from src/androidTest/java/tests/integration/streaming/MySegmentsChangeV2MultiClientTest.java rename to main/src/androidTest/java/tests/integration/streaming/MySegmentsChangeV2MultiClientTest.java diff --git a/src/androidTest/java/tests/integration/streaming/MySegmentsChangeV2Test.java b/main/src/androidTest/java/tests/integration/streaming/MySegmentsChangeV2Test.java similarity index 100% rename from src/androidTest/java/tests/integration/streaming/MySegmentsChangeV2Test.java rename to main/src/androidTest/java/tests/integration/streaming/MySegmentsChangeV2Test.java diff --git a/src/androidTest/java/tests/integration/streaming/MySegmentsSyncProcessTest.java b/main/src/androidTest/java/tests/integration/streaming/MySegmentsSyncProcessTest.java similarity index 100% rename from src/androidTest/java/tests/integration/streaming/MySegmentsSyncProcessTest.java rename to main/src/androidTest/java/tests/integration/streaming/MySegmentsSyncProcessTest.java diff --git a/src/androidTest/java/tests/integration/streaming/OccupancyBaseTest.java b/main/src/androidTest/java/tests/integration/streaming/OccupancyBaseTest.java similarity index 100% rename from src/androidTest/java/tests/integration/streaming/OccupancyBaseTest.java rename to main/src/androidTest/java/tests/integration/streaming/OccupancyBaseTest.java diff --git a/src/androidTest/java/tests/integration/streaming/OccupancyTest.java b/main/src/androidTest/java/tests/integration/streaming/OccupancyTest.java similarity index 100% rename from src/androidTest/java/tests/integration/streaming/OccupancyTest.java rename to main/src/androidTest/java/tests/integration/streaming/OccupancyTest.java diff --git a/src/androidTest/java/tests/integration/streaming/SdkUpdateStreamingTest.java b/main/src/androidTest/java/tests/integration/streaming/SdkUpdateStreamingTest.java similarity index 100% rename from src/androidTest/java/tests/integration/streaming/SdkUpdateStreamingTest.java rename to main/src/androidTest/java/tests/integration/streaming/SdkUpdateStreamingTest.java diff --git a/src/androidTest/java/tests/integration/streaming/SplitChangeNotificationIntegrationTest.java b/main/src/androidTest/java/tests/integration/streaming/SplitChangeNotificationIntegrationTest.java similarity index 100% rename from src/androidTest/java/tests/integration/streaming/SplitChangeNotificationIntegrationTest.java rename to main/src/androidTest/java/tests/integration/streaming/SplitChangeNotificationIntegrationTest.java diff --git a/src/androidTest/java/tests/integration/streaming/SplitsKillProcessTest.java b/main/src/androidTest/java/tests/integration/streaming/SplitsKillProcessTest.java similarity index 100% rename from src/androidTest/java/tests/integration/streaming/SplitsKillProcessTest.java rename to main/src/androidTest/java/tests/integration/streaming/SplitsKillProcessTest.java diff --git a/src/androidTest/java/tests/integration/streaming/SplitsSyncProcessTest.java b/main/src/androidTest/java/tests/integration/streaming/SplitsSyncProcessTest.java similarity index 100% rename from src/androidTest/java/tests/integration/streaming/SplitsSyncProcessTest.java rename to main/src/androidTest/java/tests/integration/streaming/SplitsSyncProcessTest.java diff --git a/src/androidTest/java/tests/integration/streaming/SseAuthFail4xxTest.java b/main/src/androidTest/java/tests/integration/streaming/SseAuthFail4xxTest.java similarity index 100% rename from src/androidTest/java/tests/integration/streaming/SseAuthFail4xxTest.java rename to main/src/androidTest/java/tests/integration/streaming/SseAuthFail4xxTest.java diff --git a/src/androidTest/java/tests/integration/streaming/SseAuthFail5xxTest.java b/main/src/androidTest/java/tests/integration/streaming/SseAuthFail5xxTest.java similarity index 100% rename from src/androidTest/java/tests/integration/streaming/SseAuthFail5xxTest.java rename to main/src/androidTest/java/tests/integration/streaming/SseAuthFail5xxTest.java diff --git a/src/androidTest/java/tests/integration/streaming/SseConnectionExpiredTokenTest.java b/main/src/androidTest/java/tests/integration/streaming/SseConnectionExpiredTokenTest.java similarity index 100% rename from src/androidTest/java/tests/integration/streaming/SseConnectionExpiredTokenTest.java rename to main/src/androidTest/java/tests/integration/streaming/SseConnectionExpiredTokenTest.java diff --git a/src/androidTest/java/tests/integration/streaming/SseConnectionFail5xxTest.java b/main/src/androidTest/java/tests/integration/streaming/SseConnectionFail5xxTest.java similarity index 100% rename from src/androidTest/java/tests/integration/streaming/SseConnectionFail5xxTest.java rename to main/src/androidTest/java/tests/integration/streaming/SseConnectionFail5xxTest.java diff --git a/src/androidTest/java/tests/integration/streaming/StreamingDisabledInConfigTest.java b/main/src/androidTest/java/tests/integration/streaming/StreamingDisabledInConfigTest.java similarity index 100% rename from src/androidTest/java/tests/integration/streaming/StreamingDisabledInConfigTest.java rename to main/src/androidTest/java/tests/integration/streaming/StreamingDisabledInConfigTest.java diff --git a/src/androidTest/java/tests/integration/streaming/StreamingDisabledTest.java b/main/src/androidTest/java/tests/integration/streaming/StreamingDisabledTest.java similarity index 100% rename from src/androidTest/java/tests/integration/streaming/StreamingDisabledTest.java rename to main/src/androidTest/java/tests/integration/streaming/StreamingDisabledTest.java diff --git a/src/androidTest/java/tests/integration/streaming/StreamingInitializationTest.java b/main/src/androidTest/java/tests/integration/streaming/StreamingInitializationTest.java similarity index 100% rename from src/androidTest/java/tests/integration/streaming/StreamingInitializationTest.java rename to main/src/androidTest/java/tests/integration/streaming/StreamingInitializationTest.java diff --git a/src/androidTest/java/tests/integration/streaming/SyncGuardianIntegrationTest.java b/main/src/androidTest/java/tests/integration/streaming/SyncGuardianIntegrationTest.java similarity index 100% rename from src/androidTest/java/tests/integration/streaming/SyncGuardianIntegrationTest.java rename to main/src/androidTest/java/tests/integration/streaming/SyncGuardianIntegrationTest.java diff --git a/src/androidTest/java/tests/integration/telemetry/TelemetryIntegrationTest.java b/main/src/androidTest/java/tests/integration/telemetry/TelemetryIntegrationTest.java similarity index 100% rename from src/androidTest/java/tests/integration/telemetry/TelemetryIntegrationTest.java rename to main/src/androidTest/java/tests/integration/telemetry/TelemetryIntegrationTest.java diff --git a/src/androidTest/java/tests/integration/telemetry/TelemetryOccupancyTest.java b/main/src/androidTest/java/tests/integration/telemetry/TelemetryOccupancyTest.java similarity index 100% rename from src/androidTest/java/tests/integration/telemetry/TelemetryOccupancyTest.java rename to main/src/androidTest/java/tests/integration/telemetry/TelemetryOccupancyTest.java diff --git a/src/androidTest/java/tests/integration/telemetry/TelemetryStreamingErrorTest.java b/main/src/androidTest/java/tests/integration/telemetry/TelemetryStreamingErrorTest.java similarity index 100% rename from src/androidTest/java/tests/integration/telemetry/TelemetryStreamingErrorTest.java rename to main/src/androidTest/java/tests/integration/telemetry/TelemetryStreamingErrorTest.java diff --git a/src/androidTest/java/tests/integration/toggle/ImpressionsToggleTest.java b/main/src/androidTest/java/tests/integration/toggle/ImpressionsToggleTest.java similarity index 100% rename from src/androidTest/java/tests/integration/toggle/ImpressionsToggleTest.java rename to main/src/androidTest/java/tests/integration/toggle/ImpressionsToggleTest.java diff --git a/src/androidTest/java/tests/integration/userconsent/UserConsentModeDebugTest.kt b/main/src/androidTest/java/tests/integration/userconsent/UserConsentModeDebugTest.kt similarity index 100% rename from src/androidTest/java/tests/integration/userconsent/UserConsentModeDebugTest.kt rename to main/src/androidTest/java/tests/integration/userconsent/UserConsentModeDebugTest.kt diff --git a/src/androidTest/java/tests/integration/userconsent/UserConsentModeNoneTest.kt b/main/src/androidTest/java/tests/integration/userconsent/UserConsentModeNoneTest.kt similarity index 100% rename from src/androidTest/java/tests/integration/userconsent/UserConsentModeNoneTest.kt rename to main/src/androidTest/java/tests/integration/userconsent/UserConsentModeNoneTest.kt diff --git a/src/androidTest/java/tests/integration/userconsent/UserConsentModeOptimizedTest.kt b/main/src/androidTest/java/tests/integration/userconsent/UserConsentModeOptimizedTest.kt similarity index 100% rename from src/androidTest/java/tests/integration/userconsent/UserConsentModeOptimizedTest.kt rename to main/src/androidTest/java/tests/integration/userconsent/UserConsentModeOptimizedTest.kt diff --git a/src/androidTest/java/tests/localhost/LocalhostPropertiesFileParserTest.java b/main/src/androidTest/java/tests/localhost/LocalhostPropertiesFileParserTest.java similarity index 100% rename from src/androidTest/java/tests/localhost/LocalhostPropertiesFileParserTest.java rename to main/src/androidTest/java/tests/localhost/LocalhostPropertiesFileParserTest.java diff --git a/src/androidTest/java/tests/localhost/LocalhostTest.java b/main/src/androidTest/java/tests/localhost/LocalhostTest.java similarity index 100% rename from src/androidTest/java/tests/localhost/LocalhostTest.java rename to main/src/androidTest/java/tests/localhost/LocalhostTest.java diff --git a/src/androidTest/java/tests/service/CompressionTest.java b/main/src/androidTest/java/tests/service/CompressionTest.java similarity index 99% rename from src/androidTest/java/tests/service/CompressionTest.java rename to main/src/androidTest/java/tests/service/CompressionTest.java index 6d1bd87fb..1d5dbd15c 100644 --- a/src/androidTest/java/tests/service/CompressionTest.java +++ b/main/src/androidTest/java/tests/service/CompressionTest.java @@ -126,5 +126,3 @@ private List loadFileContent() { return Arrays.asList(content.split("\n")); } } - - diff --git a/src/androidTest/java/tests/service/EventsManagerTest.java b/main/src/androidTest/java/tests/service/EventsManagerTest.java similarity index 100% rename from src/androidTest/java/tests/service/EventsManagerTest.java rename to main/src/androidTest/java/tests/service/EventsManagerTest.java diff --git a/src/androidTest/java/tests/service/EventsRequestTest.java b/main/src/androidTest/java/tests/service/EventsRequestTest.java similarity index 100% rename from src/androidTest/java/tests/service/EventsRequestTest.java rename to main/src/androidTest/java/tests/service/EventsRequestTest.java diff --git a/src/androidTest/java/tests/service/ImpressionsRequestTest.java b/main/src/androidTest/java/tests/service/ImpressionsRequestTest.java similarity index 100% rename from src/androidTest/java/tests/service/ImpressionsRequestTest.java rename to main/src/androidTest/java/tests/service/ImpressionsRequestTest.java diff --git a/src/androidTest/java/tests/service/MySegmentV2PayloadDecoderTest.java b/main/src/androidTest/java/tests/service/MySegmentV2PayloadDecoderTest.java similarity index 100% rename from src/androidTest/java/tests/service/MySegmentV2PayloadDecoderTest.java rename to main/src/androidTest/java/tests/service/MySegmentV2PayloadDecoderTest.java diff --git a/src/androidTest/java/tests/service/SdkUpdatePollingTest.java b/main/src/androidTest/java/tests/service/SdkUpdatePollingTest.java similarity index 99% rename from src/androidTest/java/tests/service/SdkUpdatePollingTest.java rename to main/src/androidTest/java/tests/service/SdkUpdatePollingTest.java index e04afdbe4..178d2da99 100644 --- a/src/androidTest/java/tests/service/SdkUpdatePollingTest.java +++ b/main/src/androidTest/java/tests/service/SdkUpdatePollingTest.java @@ -382,4 +382,4 @@ private Split parseEntity(SplitEntity entity) { return Json.fromJson(entity.getBody(), Split.class); } -} \ No newline at end of file +} diff --git a/src/androidTest/java/tests/service/SseJwtTokenParserTest.java b/main/src/androidTest/java/tests/service/SseJwtTokenParserTest.java similarity index 100% rename from src/androidTest/java/tests/service/SseJwtTokenParserTest.java rename to main/src/androidTest/java/tests/service/SseJwtTokenParserTest.java diff --git a/src/androidTest/java/tests/service/UniqueKeysIntegrationTest.java b/main/src/androidTest/java/tests/service/UniqueKeysIntegrationTest.java similarity index 100% rename from src/androidTest/java/tests/service/UniqueKeysIntegrationTest.java rename to main/src/androidTest/java/tests/service/UniqueKeysIntegrationTest.java diff --git a/src/androidTest/java/tests/service/UrlSanitizerTest.java b/main/src/androidTest/java/tests/service/UrlSanitizerTest.java similarity index 100% rename from src/androidTest/java/tests/service/UrlSanitizerTest.java rename to main/src/androidTest/java/tests/service/UrlSanitizerTest.java diff --git a/src/androidTest/java/tests/storage/GeneralInfoStorageTest.java b/main/src/androidTest/java/tests/storage/GeneralInfoStorageTest.java similarity index 100% rename from src/androidTest/java/tests/storage/GeneralInfoStorageTest.java rename to main/src/androidTest/java/tests/storage/GeneralInfoStorageTest.java diff --git a/src/androidTest/java/tests/storage/LoadMySegmentsTaskTest.java b/main/src/androidTest/java/tests/storage/LoadMySegmentsTaskTest.java similarity index 100% rename from src/androidTest/java/tests/storage/LoadMySegmentsTaskTest.java rename to main/src/androidTest/java/tests/storage/LoadMySegmentsTaskTest.java diff --git a/src/androidTest/java/tests/storage/LoadSplitTaskTest.java b/main/src/androidTest/java/tests/storage/LoadSplitTaskTest.java similarity index 100% rename from src/androidTest/java/tests/storage/LoadSplitTaskTest.java rename to main/src/androidTest/java/tests/storage/LoadSplitTaskTest.java diff --git a/src/androidTest/java/tests/storage/MySegmentsStorageTest.java b/main/src/androidTest/java/tests/storage/MySegmentsStorageTest.java similarity index 100% rename from src/androidTest/java/tests/storage/MySegmentsStorageTest.java rename to main/src/androidTest/java/tests/storage/MySegmentsStorageTest.java diff --git a/src/androidTest/java/tests/storage/PersistentEventStorageTest.java b/main/src/androidTest/java/tests/storage/PersistentEventStorageTest.java similarity index 100% rename from src/androidTest/java/tests/storage/PersistentEventStorageTest.java rename to main/src/androidTest/java/tests/storage/PersistentEventStorageTest.java diff --git a/src/androidTest/java/tests/storage/PersistentImpressionCountStorageTest.java b/main/src/androidTest/java/tests/storage/PersistentImpressionCountStorageTest.java similarity index 100% rename from src/androidTest/java/tests/storage/PersistentImpressionCountStorageTest.java rename to main/src/androidTest/java/tests/storage/PersistentImpressionCountStorageTest.java diff --git a/src/androidTest/java/tests/storage/PersistentImpressionStorageTest.java b/main/src/androidTest/java/tests/storage/PersistentImpressionStorageTest.java similarity index 100% rename from src/androidTest/java/tests/storage/PersistentImpressionStorageTest.java rename to main/src/androidTest/java/tests/storage/PersistentImpressionStorageTest.java diff --git a/src/androidTest/java/tests/storage/PersistentMyLargeSegmentStorageTest.java b/main/src/androidTest/java/tests/storage/PersistentMyLargeSegmentStorageTest.java similarity index 100% rename from src/androidTest/java/tests/storage/PersistentMyLargeSegmentStorageTest.java rename to main/src/androidTest/java/tests/storage/PersistentMyLargeSegmentStorageTest.java diff --git a/src/androidTest/java/tests/storage/PersistentMySegmentStorageTest.java b/main/src/androidTest/java/tests/storage/PersistentMySegmentStorageTest.java similarity index 100% rename from src/androidTest/java/tests/storage/PersistentMySegmentStorageTest.java rename to main/src/androidTest/java/tests/storage/PersistentMySegmentStorageTest.java diff --git a/src/androidTest/java/tests/storage/PersistentSplitsStorageTest.java b/main/src/androidTest/java/tests/storage/PersistentSplitsStorageTest.java similarity index 100% rename from src/androidTest/java/tests/storage/PersistentSplitsStorageTest.java rename to main/src/androidTest/java/tests/storage/PersistentSplitsStorageTest.java diff --git a/src/androidTest/java/tests/storage/SplitsStorageTest.java b/main/src/androidTest/java/tests/storage/SplitsStorageTest.java similarity index 100% rename from src/androidTest/java/tests/storage/SplitsStorageTest.java rename to main/src/androidTest/java/tests/storage/SplitsStorageTest.java diff --git a/src/androidTest/java/tests/storage/cipher/CBCCipherTest.kt b/main/src/androidTest/java/tests/storage/cipher/CBCCipherTest.kt similarity index 100% rename from src/androidTest/java/tests/storage/cipher/CBCCipherTest.kt rename to main/src/androidTest/java/tests/storage/cipher/CBCCipherTest.kt diff --git a/src/androidTest/java/tests/storage/cipher/KeyManagerTest.java b/main/src/androidTest/java/tests/storage/cipher/KeyManagerTest.java similarity index 100% rename from src/androidTest/java/tests/storage/cipher/KeyManagerTest.java rename to main/src/androidTest/java/tests/storage/cipher/KeyManagerTest.java diff --git a/src/androidTest/java/tests/storage/cipher/provider/LegacyKeyProviderTest.java b/main/src/androidTest/java/tests/storage/cipher/provider/LegacyKeyProviderTest.java similarity index 100% rename from src/androidTest/java/tests/storage/cipher/provider/LegacyKeyProviderTest.java rename to main/src/androidTest/java/tests/storage/cipher/provider/LegacyKeyProviderTest.java diff --git a/src/androidTest/java/tests/storage/cipher/provider/SecureKeyStorageProviderTest.java b/main/src/androidTest/java/tests/storage/cipher/provider/SecureKeyStorageProviderTest.java similarity index 100% rename from src/androidTest/java/tests/storage/cipher/provider/SecureKeyStorageProviderTest.java rename to main/src/androidTest/java/tests/storage/cipher/provider/SecureKeyStorageProviderTest.java diff --git a/src/androidTest/java/tests/workmanager/WMWorkersSetupTest.java b/main/src/androidTest/java/tests/workmanager/WMWorkersSetupTest.java similarity index 100% rename from src/androidTest/java/tests/workmanager/WMWorkersSetupTest.java rename to main/src/androidTest/java/tests/workmanager/WMWorkersSetupTest.java diff --git a/src/androidTest/java/tests/workmanager/WorkManagerWrapperTest.java b/main/src/androidTest/java/tests/workmanager/WorkManagerWrapperTest.java similarity index 100% rename from src/androidTest/java/tests/workmanager/WorkManagerWrapperTest.java rename to main/src/androidTest/java/tests/workmanager/WorkManagerWrapperTest.java diff --git a/main/src/main/AndroidManifest.xml b/main/src/main/AndroidManifest.xml new file mode 100644 index 000000000..9a40236b9 --- /dev/null +++ b/main/src/main/AndroidManifest.xml @@ -0,0 +1,3 @@ + + + diff --git a/src/main/java/io/split/android/client/AlwaysReturnControlSplitClient.java b/main/src/main/java/io/split/android/client/AlwaysReturnControlSplitClient.java similarity index 100% rename from src/main/java/io/split/android/client/AlwaysReturnControlSplitClient.java rename to main/src/main/java/io/split/android/client/AlwaysReturnControlSplitClient.java diff --git a/src/main/java/io/split/android/client/Destroyer.java b/main/src/main/java/io/split/android/client/Destroyer.java similarity index 100% rename from src/main/java/io/split/android/client/Destroyer.java rename to main/src/main/java/io/split/android/client/Destroyer.java diff --git a/src/main/java/io/split/android/client/EvaluationOptions.java b/main/src/main/java/io/split/android/client/EvaluationOptions.java similarity index 100% rename from src/main/java/io/split/android/client/EvaluationOptions.java rename to main/src/main/java/io/split/android/client/EvaluationOptions.java diff --git a/src/main/java/io/split/android/client/EvaluationResult.java b/main/src/main/java/io/split/android/client/EvaluationResult.java similarity index 100% rename from src/main/java/io/split/android/client/EvaluationResult.java rename to main/src/main/java/io/split/android/client/EvaluationResult.java diff --git a/src/main/java/io/split/android/client/Evaluator.java b/main/src/main/java/io/split/android/client/Evaluator.java similarity index 100% rename from src/main/java/io/split/android/client/Evaluator.java rename to main/src/main/java/io/split/android/client/Evaluator.java diff --git a/src/main/java/io/split/android/client/EvaluatorImpl.java b/main/src/main/java/io/split/android/client/EvaluatorImpl.java similarity index 100% rename from src/main/java/io/split/android/client/EvaluatorImpl.java rename to main/src/main/java/io/split/android/client/EvaluatorImpl.java diff --git a/src/main/java/io/split/android/client/EventsTracker.java b/main/src/main/java/io/split/android/client/EventsTracker.java similarity index 100% rename from src/main/java/io/split/android/client/EventsTracker.java rename to main/src/main/java/io/split/android/client/EventsTracker.java diff --git a/src/main/java/io/split/android/client/EventsTrackerImpl.java b/main/src/main/java/io/split/android/client/EventsTrackerImpl.java similarity index 100% rename from src/main/java/io/split/android/client/EventsTrackerImpl.java rename to main/src/main/java/io/split/android/client/EventsTrackerImpl.java diff --git a/src/main/java/io/split/android/client/FeatureFlagFilter.java b/main/src/main/java/io/split/android/client/FeatureFlagFilter.java similarity index 100% rename from src/main/java/io/split/android/client/FeatureFlagFilter.java rename to main/src/main/java/io/split/android/client/FeatureFlagFilter.java diff --git a/src/main/java/io/split/android/client/FilterBuilder.java b/main/src/main/java/io/split/android/client/FilterBuilder.java similarity index 100% rename from src/main/java/io/split/android/client/FilterBuilder.java rename to main/src/main/java/io/split/android/client/FilterBuilder.java diff --git a/src/main/java/io/split/android/client/FilterGrouper.java b/main/src/main/java/io/split/android/client/FilterGrouper.java similarity index 100% rename from src/main/java/io/split/android/client/FilterGrouper.java rename to main/src/main/java/io/split/android/client/FilterGrouper.java diff --git a/src/main/java/io/split/android/client/FlagSetsFilter.java b/main/src/main/java/io/split/android/client/FlagSetsFilter.java similarity index 100% rename from src/main/java/io/split/android/client/FlagSetsFilter.java rename to main/src/main/java/io/split/android/client/FlagSetsFilter.java diff --git a/src/main/java/io/split/android/client/FlagSetsFilterImpl.java b/main/src/main/java/io/split/android/client/FlagSetsFilterImpl.java similarity index 100% rename from src/main/java/io/split/android/client/FlagSetsFilterImpl.java rename to main/src/main/java/io/split/android/client/FlagSetsFilterImpl.java diff --git a/src/main/java/io/split/android/client/ProcessedEventProperties.java b/main/src/main/java/io/split/android/client/ProcessedEventProperties.java similarity index 100% rename from src/main/java/io/split/android/client/ProcessedEventProperties.java rename to main/src/main/java/io/split/android/client/ProcessedEventProperties.java diff --git a/src/main/java/io/split/android/client/PropertyValidatorImpl.java b/main/src/main/java/io/split/android/client/PropertyValidatorImpl.java similarity index 100% rename from src/main/java/io/split/android/client/PropertyValidatorImpl.java rename to main/src/main/java/io/split/android/client/PropertyValidatorImpl.java diff --git a/src/main/java/io/split/android/client/RetryBackoffCounterTimerFactory.java b/main/src/main/java/io/split/android/client/RetryBackoffCounterTimerFactory.java similarity index 100% rename from src/main/java/io/split/android/client/RetryBackoffCounterTimerFactory.java rename to main/src/main/java/io/split/android/client/RetryBackoffCounterTimerFactory.java diff --git a/src/main/java/io/split/android/client/RolloutCacheConfiguration.java b/main/src/main/java/io/split/android/client/RolloutCacheConfiguration.java similarity index 100% rename from src/main/java/io/split/android/client/RolloutCacheConfiguration.java rename to main/src/main/java/io/split/android/client/RolloutCacheConfiguration.java diff --git a/src/main/java/io/split/android/client/ServiceEndpoints.java b/main/src/main/java/io/split/android/client/ServiceEndpoints.java similarity index 100% rename from src/main/java/io/split/android/client/ServiceEndpoints.java rename to main/src/main/java/io/split/android/client/ServiceEndpoints.java diff --git a/src/main/java/io/split/android/client/SplitClient.java b/main/src/main/java/io/split/android/client/SplitClient.java similarity index 100% rename from src/main/java/io/split/android/client/SplitClient.java rename to main/src/main/java/io/split/android/client/SplitClient.java diff --git a/src/main/java/io/split/android/client/SplitClientConfig.java b/main/src/main/java/io/split/android/client/SplitClientConfig.java similarity index 99% rename from src/main/java/io/split/android/client/SplitClientConfig.java rename to main/src/main/java/io/split/android/client/SplitClientConfig.java index 3660ff761..0d5b0ecc8 100644 --- a/src/main/java/io/split/android/client/SplitClientConfig.java +++ b/main/src/main/java/io/split/android/client/SplitClientConfig.java @@ -13,7 +13,7 @@ import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.X509TrustManager; -import io.split.android.android_client.BuildConfig; +import io.split.android.client.main.BuildConfig; import io.split.android.client.impressions.ImpressionListener; import io.split.android.client.network.CertificatePinningConfiguration; import io.split.android.client.network.DevelopmentSslConfig; diff --git a/src/main/java/io/split/android/client/SplitClientFactory.java b/main/src/main/java/io/split/android/client/SplitClientFactory.java similarity index 100% rename from src/main/java/io/split/android/client/SplitClientFactory.java rename to main/src/main/java/io/split/android/client/SplitClientFactory.java diff --git a/src/main/java/io/split/android/client/SplitClientFactoryImpl.java b/main/src/main/java/io/split/android/client/SplitClientFactoryImpl.java similarity index 100% rename from src/main/java/io/split/android/client/SplitClientFactoryImpl.java rename to main/src/main/java/io/split/android/client/SplitClientFactoryImpl.java diff --git a/src/main/java/io/split/android/client/SplitClientImpl.java b/main/src/main/java/io/split/android/client/SplitClientImpl.java similarity index 100% rename from src/main/java/io/split/android/client/SplitClientImpl.java rename to main/src/main/java/io/split/android/client/SplitClientImpl.java diff --git a/src/main/java/io/split/android/client/SplitFactory.java b/main/src/main/java/io/split/android/client/SplitFactory.java similarity index 100% rename from src/main/java/io/split/android/client/SplitFactory.java rename to main/src/main/java/io/split/android/client/SplitFactory.java diff --git a/src/main/java/io/split/android/client/SplitFactoryBuilder.java b/main/src/main/java/io/split/android/client/SplitFactoryBuilder.java similarity index 100% rename from src/main/java/io/split/android/client/SplitFactoryBuilder.java rename to main/src/main/java/io/split/android/client/SplitFactoryBuilder.java diff --git a/src/main/java/io/split/android/client/SplitFactoryHelper.java b/main/src/main/java/io/split/android/client/SplitFactoryHelper.java similarity index 100% rename from src/main/java/io/split/android/client/SplitFactoryHelper.java rename to main/src/main/java/io/split/android/client/SplitFactoryHelper.java diff --git a/src/main/java/io/split/android/client/SplitFactoryImpl.java b/main/src/main/java/io/split/android/client/SplitFactoryImpl.java similarity index 99% rename from src/main/java/io/split/android/client/SplitFactoryImpl.java rename to main/src/main/java/io/split/android/client/SplitFactoryImpl.java index c623119bb..d531fde38 100644 --- a/src/main/java/io/split/android/client/SplitFactoryImpl.java +++ b/main/src/main/java/io/split/android/client/SplitFactoryImpl.java @@ -20,7 +20,7 @@ import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.locks.ReentrantLock; -import io.split.android.android_client.BuildConfig; +import io.split.android.client.main.BuildConfig; import io.split.android.client.api.Key; import io.split.android.client.common.CompressionUtilProvider; import io.split.android.client.events.EventsManagerCoordinator; diff --git a/src/main/java/io/split/android/client/SplitFilter.java b/main/src/main/java/io/split/android/client/SplitFilter.java similarity index 100% rename from src/main/java/io/split/android/client/SplitFilter.java rename to main/src/main/java/io/split/android/client/SplitFilter.java diff --git a/src/main/java/io/split/android/client/SplitManager.java b/main/src/main/java/io/split/android/client/SplitManager.java similarity index 100% rename from src/main/java/io/split/android/client/SplitManager.java rename to main/src/main/java/io/split/android/client/SplitManager.java diff --git a/src/main/java/io/split/android/client/SplitManagerImpl.java b/main/src/main/java/io/split/android/client/SplitManagerImpl.java similarity index 100% rename from src/main/java/io/split/android/client/SplitManagerImpl.java rename to main/src/main/java/io/split/android/client/SplitManagerImpl.java diff --git a/src/main/java/io/split/android/client/SplitResult.java b/main/src/main/java/io/split/android/client/SplitResult.java similarity index 100% rename from src/main/java/io/split/android/client/SplitResult.java rename to main/src/main/java/io/split/android/client/SplitResult.java diff --git a/src/main/java/io/split/android/client/SyncConfig.java b/main/src/main/java/io/split/android/client/SyncConfig.java similarity index 100% rename from src/main/java/io/split/android/client/SyncConfig.java rename to main/src/main/java/io/split/android/client/SyncConfig.java diff --git a/src/main/java/io/split/android/client/TestingConfig.java b/main/src/main/java/io/split/android/client/TestingConfig.java similarity index 92% rename from src/main/java/io/split/android/client/TestingConfig.java rename to main/src/main/java/io/split/android/client/TestingConfig.java index 8bd45a607..359b5e9d0 100644 --- a/src/main/java/io/split/android/client/TestingConfig.java +++ b/main/src/main/java/io/split/android/client/TestingConfig.java @@ -1,6 +1,6 @@ package io.split.android.client; -import io.split.android.android_client.BuildConfig; +import io.split.android.client.main.BuildConfig; import io.split.android.client.service.ServiceConstants; public class TestingConfig { diff --git a/src/main/java/io/split/android/client/TreatmentLabels.java b/main/src/main/java/io/split/android/client/TreatmentLabels.java similarity index 100% rename from src/main/java/io/split/android/client/TreatmentLabels.java rename to main/src/main/java/io/split/android/client/TreatmentLabels.java diff --git a/src/main/java/io/split/android/client/UserConsentManager.java b/main/src/main/java/io/split/android/client/UserConsentManager.java similarity index 100% rename from src/main/java/io/split/android/client/UserConsentManager.java rename to main/src/main/java/io/split/android/client/UserConsentManager.java diff --git a/src/main/java/io/split/android/client/UserConsentManagerImpl.java b/main/src/main/java/io/split/android/client/UserConsentManagerImpl.java similarity index 100% rename from src/main/java/io/split/android/client/UserConsentManagerImpl.java rename to main/src/main/java/io/split/android/client/UserConsentManagerImpl.java diff --git a/src/main/java/io/split/android/client/api/Key.java b/main/src/main/java/io/split/android/client/api/Key.java similarity index 100% rename from src/main/java/io/split/android/client/api/Key.java rename to main/src/main/java/io/split/android/client/api/Key.java diff --git a/src/main/java/io/split/android/client/api/SplitView.java b/main/src/main/java/io/split/android/client/api/SplitView.java similarity index 100% rename from src/main/java/io/split/android/client/api/SplitView.java rename to main/src/main/java/io/split/android/client/api/SplitView.java diff --git a/src/main/java/io/split/android/client/attributes/AttributesManager.java b/main/src/main/java/io/split/android/client/attributes/AttributesManager.java similarity index 100% rename from src/main/java/io/split/android/client/attributes/AttributesManager.java rename to main/src/main/java/io/split/android/client/attributes/AttributesManager.java diff --git a/src/main/java/io/split/android/client/attributes/AttributesManagerFactory.java b/main/src/main/java/io/split/android/client/attributes/AttributesManagerFactory.java similarity index 100% rename from src/main/java/io/split/android/client/attributes/AttributesManagerFactory.java rename to main/src/main/java/io/split/android/client/attributes/AttributesManagerFactory.java diff --git a/src/main/java/io/split/android/client/attributes/AttributesManagerFactoryImpl.java b/main/src/main/java/io/split/android/client/attributes/AttributesManagerFactoryImpl.java similarity index 100% rename from src/main/java/io/split/android/client/attributes/AttributesManagerFactoryImpl.java rename to main/src/main/java/io/split/android/client/attributes/AttributesManagerFactoryImpl.java diff --git a/src/main/java/io/split/android/client/attributes/AttributesManagerImpl.java b/main/src/main/java/io/split/android/client/attributes/AttributesManagerImpl.java similarity index 100% rename from src/main/java/io/split/android/client/attributes/AttributesManagerImpl.java rename to main/src/main/java/io/split/android/client/attributes/AttributesManagerImpl.java diff --git a/src/main/java/io/split/android/client/attributes/AttributesMerger.java b/main/src/main/java/io/split/android/client/attributes/AttributesMerger.java similarity index 100% rename from src/main/java/io/split/android/client/attributes/AttributesMerger.java rename to main/src/main/java/io/split/android/client/attributes/AttributesMerger.java diff --git a/src/main/java/io/split/android/client/attributes/AttributesMergerImpl.java b/main/src/main/java/io/split/android/client/attributes/AttributesMergerImpl.java similarity index 100% rename from src/main/java/io/split/android/client/attributes/AttributesMergerImpl.java rename to main/src/main/java/io/split/android/client/attributes/AttributesMergerImpl.java diff --git a/src/main/java/io/split/android/client/common/CompressionType.java b/main/src/main/java/io/split/android/client/common/CompressionType.java similarity index 100% rename from src/main/java/io/split/android/client/common/CompressionType.java rename to main/src/main/java/io/split/android/client/common/CompressionType.java diff --git a/src/main/java/io/split/android/client/common/CompressionUtilProvider.java b/main/src/main/java/io/split/android/client/common/CompressionUtilProvider.java similarity index 100% rename from src/main/java/io/split/android/client/common/CompressionUtilProvider.java rename to main/src/main/java/io/split/android/client/common/CompressionUtilProvider.java diff --git a/src/main/java/io/split/android/client/dtos/Algorithm.java b/main/src/main/java/io/split/android/client/dtos/Algorithm.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/Algorithm.java rename to main/src/main/java/io/split/android/client/dtos/Algorithm.java diff --git a/src/main/java/io/split/android/client/dtos/AllSegmentsChange.java b/main/src/main/java/io/split/android/client/dtos/AllSegmentsChange.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/AllSegmentsChange.java rename to main/src/main/java/io/split/android/client/dtos/AllSegmentsChange.java diff --git a/src/main/java/io/split/android/client/dtos/BetweenMatcherData.java b/main/src/main/java/io/split/android/client/dtos/BetweenMatcherData.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/BetweenMatcherData.java rename to main/src/main/java/io/split/android/client/dtos/BetweenMatcherData.java diff --git a/src/main/java/io/split/android/client/dtos/BetweenStringMatcherData.java b/main/src/main/java/io/split/android/client/dtos/BetweenStringMatcherData.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/BetweenStringMatcherData.java rename to main/src/main/java/io/split/android/client/dtos/BetweenStringMatcherData.java diff --git a/src/main/java/io/split/android/client/dtos/ChunkHeader.java b/main/src/main/java/io/split/android/client/dtos/ChunkHeader.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/ChunkHeader.java rename to main/src/main/java/io/split/android/client/dtos/ChunkHeader.java diff --git a/src/main/java/io/split/android/client/dtos/Condition.java b/main/src/main/java/io/split/android/client/dtos/Condition.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/Condition.java rename to main/src/main/java/io/split/android/client/dtos/Condition.java diff --git a/src/main/java/io/split/android/client/dtos/ConditionType.java b/main/src/main/java/io/split/android/client/dtos/ConditionType.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/ConditionType.java rename to main/src/main/java/io/split/android/client/dtos/ConditionType.java diff --git a/src/main/java/io/split/android/client/dtos/Counter.java b/main/src/main/java/io/split/android/client/dtos/Counter.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/Counter.java rename to main/src/main/java/io/split/android/client/dtos/Counter.java diff --git a/src/main/java/io/split/android/client/dtos/DataType.java b/main/src/main/java/io/split/android/client/dtos/DataType.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/DataType.java rename to main/src/main/java/io/split/android/client/dtos/DataType.java diff --git a/src/main/java/io/split/android/client/dtos/DependencyMatcherData.java b/main/src/main/java/io/split/android/client/dtos/DependencyMatcherData.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/DependencyMatcherData.java rename to main/src/main/java/io/split/android/client/dtos/DependencyMatcherData.java diff --git a/src/main/java/io/split/android/client/dtos/DeprecatedKeyImpression.java b/main/src/main/java/io/split/android/client/dtos/DeprecatedKeyImpression.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/DeprecatedKeyImpression.java rename to main/src/main/java/io/split/android/client/dtos/DeprecatedKeyImpression.java diff --git a/src/main/java/io/split/android/client/dtos/Event.java b/main/src/main/java/io/split/android/client/dtos/Event.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/Event.java rename to main/src/main/java/io/split/android/client/dtos/Event.java diff --git a/src/main/java/io/split/android/client/dtos/Excluded.java b/main/src/main/java/io/split/android/client/dtos/Excluded.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/Excluded.java rename to main/src/main/java/io/split/android/client/dtos/Excluded.java diff --git a/src/main/java/io/split/android/client/dtos/ExcludedSegment.java b/main/src/main/java/io/split/android/client/dtos/ExcludedSegment.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/ExcludedSegment.java rename to main/src/main/java/io/split/android/client/dtos/ExcludedSegment.java diff --git a/src/main/java/io/split/android/client/dtos/Helper.java b/main/src/main/java/io/split/android/client/dtos/Helper.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/Helper.java rename to main/src/main/java/io/split/android/client/dtos/Helper.java diff --git a/src/main/java/io/split/android/client/dtos/HttpProxyDto.java b/main/src/main/java/io/split/android/client/dtos/HttpProxyDto.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/HttpProxyDto.java rename to main/src/main/java/io/split/android/client/dtos/HttpProxyDto.java diff --git a/src/main/java/io/split/android/client/dtos/Identifiable.java b/main/src/main/java/io/split/android/client/dtos/Identifiable.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/Identifiable.java rename to main/src/main/java/io/split/android/client/dtos/Identifiable.java diff --git a/src/main/java/io/split/android/client/dtos/KeyImpression.java b/main/src/main/java/io/split/android/client/dtos/KeyImpression.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/KeyImpression.java rename to main/src/main/java/io/split/android/client/dtos/KeyImpression.java diff --git a/src/main/java/io/split/android/client/dtos/KeySelector.java b/main/src/main/java/io/split/android/client/dtos/KeySelector.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/KeySelector.java rename to main/src/main/java/io/split/android/client/dtos/KeySelector.java diff --git a/src/main/java/io/split/android/client/dtos/Matcher.java b/main/src/main/java/io/split/android/client/dtos/Matcher.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/Matcher.java rename to main/src/main/java/io/split/android/client/dtos/Matcher.java diff --git a/src/main/java/io/split/android/client/dtos/MatcherCombiner.java b/main/src/main/java/io/split/android/client/dtos/MatcherCombiner.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/MatcherCombiner.java rename to main/src/main/java/io/split/android/client/dtos/MatcherCombiner.java diff --git a/src/main/java/io/split/android/client/dtos/MatcherGroup.java b/main/src/main/java/io/split/android/client/dtos/MatcherGroup.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/MatcherGroup.java rename to main/src/main/java/io/split/android/client/dtos/MatcherGroup.java diff --git a/src/main/java/io/split/android/client/dtos/MatcherType.java b/main/src/main/java/io/split/android/client/dtos/MatcherType.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/MatcherType.java rename to main/src/main/java/io/split/android/client/dtos/MatcherType.java diff --git a/src/main/java/io/split/android/client/dtos/Partition.java b/main/src/main/java/io/split/android/client/dtos/Partition.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/Partition.java rename to main/src/main/java/io/split/android/client/dtos/Partition.java diff --git a/src/main/java/io/split/android/client/dtos/Prerequisite.java b/main/src/main/java/io/split/android/client/dtos/Prerequisite.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/Prerequisite.java rename to main/src/main/java/io/split/android/client/dtos/Prerequisite.java diff --git a/src/main/java/io/split/android/client/dtos/RuleBasedSegment.java b/main/src/main/java/io/split/android/client/dtos/RuleBasedSegment.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/RuleBasedSegment.java rename to main/src/main/java/io/split/android/client/dtos/RuleBasedSegment.java diff --git a/src/main/java/io/split/android/client/dtos/RuleBasedSegmentChange.java b/main/src/main/java/io/split/android/client/dtos/RuleBasedSegmentChange.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/RuleBasedSegmentChange.java rename to main/src/main/java/io/split/android/client/dtos/RuleBasedSegmentChange.java diff --git a/src/main/java/io/split/android/client/dtos/Segment.java b/main/src/main/java/io/split/android/client/dtos/Segment.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/Segment.java rename to main/src/main/java/io/split/android/client/dtos/Segment.java diff --git a/src/main/java/io/split/android/client/dtos/SegmentResponse.java b/main/src/main/java/io/split/android/client/dtos/SegmentResponse.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/SegmentResponse.java rename to main/src/main/java/io/split/android/client/dtos/SegmentResponse.java diff --git a/src/main/java/io/split/android/client/dtos/SegmentsChange.java b/main/src/main/java/io/split/android/client/dtos/SegmentsChange.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/SegmentsChange.java rename to main/src/main/java/io/split/android/client/dtos/SegmentsChange.java diff --git a/src/main/java/io/split/android/client/dtos/SerializableEvent.java b/main/src/main/java/io/split/android/client/dtos/SerializableEvent.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/SerializableEvent.java rename to main/src/main/java/io/split/android/client/dtos/SerializableEvent.java diff --git a/src/main/java/io/split/android/client/dtos/Split.java b/main/src/main/java/io/split/android/client/dtos/Split.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/Split.java rename to main/src/main/java/io/split/android/client/dtos/Split.java diff --git a/src/main/java/io/split/android/client/dtos/SplitChange.java b/main/src/main/java/io/split/android/client/dtos/SplitChange.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/SplitChange.java rename to main/src/main/java/io/split/android/client/dtos/SplitChange.java diff --git a/src/main/java/io/split/android/client/dtos/Status.java b/main/src/main/java/io/split/android/client/dtos/Status.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/Status.java rename to main/src/main/java/io/split/android/client/dtos/Status.java diff --git a/src/main/java/io/split/android/client/dtos/TargetingRulesChange.java b/main/src/main/java/io/split/android/client/dtos/TargetingRulesChange.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/TargetingRulesChange.java rename to main/src/main/java/io/split/android/client/dtos/TargetingRulesChange.java diff --git a/src/main/java/io/split/android/client/dtos/TestImpressions.java b/main/src/main/java/io/split/android/client/dtos/TestImpressions.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/TestImpressions.java rename to main/src/main/java/io/split/android/client/dtos/TestImpressions.java diff --git a/src/main/java/io/split/android/client/dtos/URN.java b/main/src/main/java/io/split/android/client/dtos/URN.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/URN.java rename to main/src/main/java/io/split/android/client/dtos/URN.java diff --git a/src/main/java/io/split/android/client/dtos/UnaryNumericMatcherData.java b/main/src/main/java/io/split/android/client/dtos/UnaryNumericMatcherData.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/UnaryNumericMatcherData.java rename to main/src/main/java/io/split/android/client/dtos/UnaryNumericMatcherData.java diff --git a/src/main/java/io/split/android/client/dtos/UserDefinedLargeSegmentMatcherData.java b/main/src/main/java/io/split/android/client/dtos/UserDefinedLargeSegmentMatcherData.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/UserDefinedLargeSegmentMatcherData.java rename to main/src/main/java/io/split/android/client/dtos/UserDefinedLargeSegmentMatcherData.java diff --git a/src/main/java/io/split/android/client/dtos/UserDefinedSegmentMatcherData.java b/main/src/main/java/io/split/android/client/dtos/UserDefinedSegmentMatcherData.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/UserDefinedSegmentMatcherData.java rename to main/src/main/java/io/split/android/client/dtos/UserDefinedSegmentMatcherData.java diff --git a/src/main/java/io/split/android/client/dtos/WhitelistMatcherData.java b/main/src/main/java/io/split/android/client/dtos/WhitelistMatcherData.java similarity index 100% rename from src/main/java/io/split/android/client/dtos/WhitelistMatcherData.java rename to main/src/main/java/io/split/android/client/dtos/WhitelistMatcherData.java diff --git a/src/main/java/io/split/android/client/events/BaseEventsManager.java b/main/src/main/java/io/split/android/client/events/BaseEventsManager.java similarity index 100% rename from src/main/java/io/split/android/client/events/BaseEventsManager.java rename to main/src/main/java/io/split/android/client/events/BaseEventsManager.java diff --git a/src/main/java/io/split/android/client/events/EventsManagerCoordinator.java b/main/src/main/java/io/split/android/client/events/EventsManagerCoordinator.java similarity index 100% rename from src/main/java/io/split/android/client/events/EventsManagerCoordinator.java rename to main/src/main/java/io/split/android/client/events/EventsManagerCoordinator.java diff --git a/src/main/java/io/split/android/client/events/EventsManagerRegistry.java b/main/src/main/java/io/split/android/client/events/EventsManagerRegistry.java similarity index 100% rename from src/main/java/io/split/android/client/events/EventsManagerRegistry.java rename to main/src/main/java/io/split/android/client/events/EventsManagerRegistry.java diff --git a/src/main/java/io/split/android/client/events/ISplitEventsManager.java b/main/src/main/java/io/split/android/client/events/ISplitEventsManager.java similarity index 100% rename from src/main/java/io/split/android/client/events/ISplitEventsManager.java rename to main/src/main/java/io/split/android/client/events/ISplitEventsManager.java diff --git a/src/main/java/io/split/android/client/events/ListenableEventsManager.java b/main/src/main/java/io/split/android/client/events/ListenableEventsManager.java similarity index 100% rename from src/main/java/io/split/android/client/events/ListenableEventsManager.java rename to main/src/main/java/io/split/android/client/events/ListenableEventsManager.java diff --git a/src/main/java/io/split/android/client/events/SplitEvent.java b/main/src/main/java/io/split/android/client/events/SplitEvent.java similarity index 100% rename from src/main/java/io/split/android/client/events/SplitEvent.java rename to main/src/main/java/io/split/android/client/events/SplitEvent.java diff --git a/src/main/java/io/split/android/client/events/SplitEventTask.java b/main/src/main/java/io/split/android/client/events/SplitEventTask.java similarity index 100% rename from src/main/java/io/split/android/client/events/SplitEventTask.java rename to main/src/main/java/io/split/android/client/events/SplitEventTask.java diff --git a/src/main/java/io/split/android/client/events/SplitEventTaskMethodNotImplementedException.java b/main/src/main/java/io/split/android/client/events/SplitEventTaskMethodNotImplementedException.java similarity index 100% rename from src/main/java/io/split/android/client/events/SplitEventTaskMethodNotImplementedException.java rename to main/src/main/java/io/split/android/client/events/SplitEventTaskMethodNotImplementedException.java diff --git a/src/main/java/io/split/android/client/events/SplitEventsManager.java b/main/src/main/java/io/split/android/client/events/SplitEventsManager.java similarity index 100% rename from src/main/java/io/split/android/client/events/SplitEventsManager.java rename to main/src/main/java/io/split/android/client/events/SplitEventsManager.java diff --git a/src/main/java/io/split/android/client/events/SplitInternalEvent.java b/main/src/main/java/io/split/android/client/events/SplitInternalEvent.java similarity index 100% rename from src/main/java/io/split/android/client/events/SplitInternalEvent.java rename to main/src/main/java/io/split/android/client/events/SplitInternalEvent.java diff --git a/src/main/java/io/split/android/client/events/executors/ClientEventSplitTask.java b/main/src/main/java/io/split/android/client/events/executors/ClientEventSplitTask.java similarity index 100% rename from src/main/java/io/split/android/client/events/executors/ClientEventSplitTask.java rename to main/src/main/java/io/split/android/client/events/executors/ClientEventSplitTask.java diff --git a/src/main/java/io/split/android/client/events/executors/SplitEventExecutor.java b/main/src/main/java/io/split/android/client/events/executors/SplitEventExecutor.java similarity index 100% rename from src/main/java/io/split/android/client/events/executors/SplitEventExecutor.java rename to main/src/main/java/io/split/android/client/events/executors/SplitEventExecutor.java diff --git a/src/main/java/io/split/android/client/events/executors/SplitEventExecutorFactory.java b/main/src/main/java/io/split/android/client/events/executors/SplitEventExecutorFactory.java similarity index 100% rename from src/main/java/io/split/android/client/events/executors/SplitEventExecutorFactory.java rename to main/src/main/java/io/split/android/client/events/executors/SplitEventExecutorFactory.java diff --git a/src/main/java/io/split/android/client/events/executors/SplitEventExecutorResources.java b/main/src/main/java/io/split/android/client/events/executors/SplitEventExecutorResources.java similarity index 100% rename from src/main/java/io/split/android/client/events/executors/SplitEventExecutorResources.java rename to main/src/main/java/io/split/android/client/events/executors/SplitEventExecutorResources.java diff --git a/src/main/java/io/split/android/client/events/executors/SplitEventExecutorResourcesImpl.java b/main/src/main/java/io/split/android/client/events/executors/SplitEventExecutorResourcesImpl.java similarity index 100% rename from src/main/java/io/split/android/client/events/executors/SplitEventExecutorResourcesImpl.java rename to main/src/main/java/io/split/android/client/events/executors/SplitEventExecutorResourcesImpl.java diff --git a/src/main/java/io/split/android/client/events/executors/SplitEventExecutorWithClient.java b/main/src/main/java/io/split/android/client/events/executors/SplitEventExecutorWithClient.java similarity index 100% rename from src/main/java/io/split/android/client/events/executors/SplitEventExecutorWithClient.java rename to main/src/main/java/io/split/android/client/events/executors/SplitEventExecutorWithClient.java diff --git a/src/main/java/io/split/android/client/exceptions/ChangeNumberExceptionWrapper.java b/main/src/main/java/io/split/android/client/exceptions/ChangeNumberExceptionWrapper.java similarity index 100% rename from src/main/java/io/split/android/client/exceptions/ChangeNumberExceptionWrapper.java rename to main/src/main/java/io/split/android/client/exceptions/ChangeNumberExceptionWrapper.java diff --git a/src/main/java/io/split/android/client/exceptions/MySegmentsParsingException.java b/main/src/main/java/io/split/android/client/exceptions/MySegmentsParsingException.java similarity index 100% rename from src/main/java/io/split/android/client/exceptions/MySegmentsParsingException.java rename to main/src/main/java/io/split/android/client/exceptions/MySegmentsParsingException.java diff --git a/src/main/java/io/split/android/client/exceptions/ParentIsControlException.java b/main/src/main/java/io/split/android/client/exceptions/ParentIsControlException.java similarity index 100% rename from src/main/java/io/split/android/client/exceptions/ParentIsControlException.java rename to main/src/main/java/io/split/android/client/exceptions/ParentIsControlException.java diff --git a/src/main/java/io/split/android/client/exceptions/SplitInstantiationException.java b/main/src/main/java/io/split/android/client/exceptions/SplitInstantiationException.java similarity index 100% rename from src/main/java/io/split/android/client/exceptions/SplitInstantiationException.java rename to main/src/main/java/io/split/android/client/exceptions/SplitInstantiationException.java diff --git a/src/main/java/io/split/android/client/factory/FactoryMonitor.java b/main/src/main/java/io/split/android/client/factory/FactoryMonitor.java similarity index 100% rename from src/main/java/io/split/android/client/factory/FactoryMonitor.java rename to main/src/main/java/io/split/android/client/factory/FactoryMonitor.java diff --git a/src/main/java/io/split/android/client/factory/FactoryMonitorImpl.java b/main/src/main/java/io/split/android/client/factory/FactoryMonitorImpl.java similarity index 100% rename from src/main/java/io/split/android/client/factory/FactoryMonitorImpl.java rename to main/src/main/java/io/split/android/client/factory/FactoryMonitorImpl.java diff --git a/src/main/java/io/split/android/client/fallback/FallbackTreatment.java b/main/src/main/java/io/split/android/client/fallback/FallbackTreatment.java similarity index 100% rename from src/main/java/io/split/android/client/fallback/FallbackTreatment.java rename to main/src/main/java/io/split/android/client/fallback/FallbackTreatment.java diff --git a/src/main/java/io/split/android/client/fallback/FallbackTreatmentsCalculator.java b/main/src/main/java/io/split/android/client/fallback/FallbackTreatmentsCalculator.java similarity index 100% rename from src/main/java/io/split/android/client/fallback/FallbackTreatmentsCalculator.java rename to main/src/main/java/io/split/android/client/fallback/FallbackTreatmentsCalculator.java diff --git a/src/main/java/io/split/android/client/fallback/FallbackTreatmentsCalculatorImpl.java b/main/src/main/java/io/split/android/client/fallback/FallbackTreatmentsCalculatorImpl.java similarity index 100% rename from src/main/java/io/split/android/client/fallback/FallbackTreatmentsCalculatorImpl.java rename to main/src/main/java/io/split/android/client/fallback/FallbackTreatmentsCalculatorImpl.java diff --git a/src/main/java/io/split/android/client/fallback/FallbackTreatmentsConfiguration.java b/main/src/main/java/io/split/android/client/fallback/FallbackTreatmentsConfiguration.java similarity index 100% rename from src/main/java/io/split/android/client/fallback/FallbackTreatmentsConfiguration.java rename to main/src/main/java/io/split/android/client/fallback/FallbackTreatmentsConfiguration.java diff --git a/src/main/java/io/split/android/client/fallback/FallbacksSanitizer.java b/main/src/main/java/io/split/android/client/fallback/FallbacksSanitizer.java similarity index 100% rename from src/main/java/io/split/android/client/fallback/FallbacksSanitizer.java rename to main/src/main/java/io/split/android/client/fallback/FallbacksSanitizer.java diff --git a/src/main/java/io/split/android/client/fallback/FallbacksSanitizerImpl.java b/main/src/main/java/io/split/android/client/fallback/FallbacksSanitizerImpl.java similarity index 100% rename from src/main/java/io/split/android/client/fallback/FallbacksSanitizerImpl.java rename to main/src/main/java/io/split/android/client/fallback/FallbacksSanitizerImpl.java diff --git a/src/main/java/io/split/android/client/impressions/DecoratedImpression.java b/main/src/main/java/io/split/android/client/impressions/DecoratedImpression.java similarity index 100% rename from src/main/java/io/split/android/client/impressions/DecoratedImpression.java rename to main/src/main/java/io/split/android/client/impressions/DecoratedImpression.java diff --git a/src/main/java/io/split/android/client/impressions/DecoratedImpressionListener.java b/main/src/main/java/io/split/android/client/impressions/DecoratedImpressionListener.java similarity index 100% rename from src/main/java/io/split/android/client/impressions/DecoratedImpressionListener.java rename to main/src/main/java/io/split/android/client/impressions/DecoratedImpressionListener.java diff --git a/src/main/java/io/split/android/client/impressions/Impression.java b/main/src/main/java/io/split/android/client/impressions/Impression.java similarity index 100% rename from src/main/java/io/split/android/client/impressions/Impression.java rename to main/src/main/java/io/split/android/client/impressions/Impression.java diff --git a/src/main/java/io/split/android/client/impressions/ImpressionListener.java b/main/src/main/java/io/split/android/client/impressions/ImpressionListener.java similarity index 100% rename from src/main/java/io/split/android/client/impressions/ImpressionListener.java rename to main/src/main/java/io/split/android/client/impressions/ImpressionListener.java diff --git a/src/main/java/io/split/android/client/impressions/ImpressionLoggingTask.java b/main/src/main/java/io/split/android/client/impressions/ImpressionLoggingTask.java similarity index 100% rename from src/main/java/io/split/android/client/impressions/ImpressionLoggingTask.java rename to main/src/main/java/io/split/android/client/impressions/ImpressionLoggingTask.java diff --git a/src/main/java/io/split/android/client/impressions/SyncImpressionListener.java b/main/src/main/java/io/split/android/client/impressions/SyncImpressionListener.java similarity index 100% rename from src/main/java/io/split/android/client/impressions/SyncImpressionListener.java rename to main/src/main/java/io/split/android/client/impressions/SyncImpressionListener.java diff --git a/src/main/java/io/split/android/client/lifecycle/SplitLifecycleAware.java b/main/src/main/java/io/split/android/client/lifecycle/SplitLifecycleAware.java similarity index 100% rename from src/main/java/io/split/android/client/lifecycle/SplitLifecycleAware.java rename to main/src/main/java/io/split/android/client/lifecycle/SplitLifecycleAware.java diff --git a/src/main/java/io/split/android/client/lifecycle/SplitLifecycleManager.java b/main/src/main/java/io/split/android/client/lifecycle/SplitLifecycleManager.java similarity index 100% rename from src/main/java/io/split/android/client/lifecycle/SplitLifecycleManager.java rename to main/src/main/java/io/split/android/client/lifecycle/SplitLifecycleManager.java diff --git a/src/main/java/io/split/android/client/lifecycle/SplitLifecycleManagerImpl.java b/main/src/main/java/io/split/android/client/lifecycle/SplitLifecycleManagerImpl.java similarity index 100% rename from src/main/java/io/split/android/client/lifecycle/SplitLifecycleManagerImpl.java rename to main/src/main/java/io/split/android/client/lifecycle/SplitLifecycleManagerImpl.java diff --git a/src/main/java/io/split/android/client/localhost/LocalhostFileParser.java b/main/src/main/java/io/split/android/client/localhost/LocalhostFileParser.java similarity index 100% rename from src/main/java/io/split/android/client/localhost/LocalhostFileParser.java rename to main/src/main/java/io/split/android/client/localhost/LocalhostFileParser.java diff --git a/src/main/java/io/split/android/client/localhost/LocalhostImpressionsListener.java b/main/src/main/java/io/split/android/client/localhost/LocalhostImpressionsListener.java similarity index 100% rename from src/main/java/io/split/android/client/localhost/LocalhostImpressionsListener.java rename to main/src/main/java/io/split/android/client/localhost/LocalhostImpressionsListener.java diff --git a/src/main/java/io/split/android/client/localhost/LocalhostMySegmentsStorageContainer.java b/main/src/main/java/io/split/android/client/localhost/LocalhostMySegmentsStorageContainer.java similarity index 100% rename from src/main/java/io/split/android/client/localhost/LocalhostMySegmentsStorageContainer.java rename to main/src/main/java/io/split/android/client/localhost/LocalhostMySegmentsStorageContainer.java diff --git a/src/main/java/io/split/android/client/localhost/LocalhostPropertiesFileParser.java b/main/src/main/java/io/split/android/client/localhost/LocalhostPropertiesFileParser.java similarity index 100% rename from src/main/java/io/split/android/client/localhost/LocalhostPropertiesFileParser.java rename to main/src/main/java/io/split/android/client/localhost/LocalhostPropertiesFileParser.java diff --git a/src/main/java/io/split/android/client/localhost/LocalhostRuleBasedSegmentsStorage.java b/main/src/main/java/io/split/android/client/localhost/LocalhostRuleBasedSegmentsStorage.java similarity index 100% rename from src/main/java/io/split/android/client/localhost/LocalhostRuleBasedSegmentsStorage.java rename to main/src/main/java/io/split/android/client/localhost/LocalhostRuleBasedSegmentsStorage.java diff --git a/src/main/java/io/split/android/client/localhost/LocalhostRuleBasedSegmentsStorageProvider.java b/main/src/main/java/io/split/android/client/localhost/LocalhostRuleBasedSegmentsStorageProvider.java similarity index 100% rename from src/main/java/io/split/android/client/localhost/LocalhostRuleBasedSegmentsStorageProvider.java rename to main/src/main/java/io/split/android/client/localhost/LocalhostRuleBasedSegmentsStorageProvider.java diff --git a/src/main/java/io/split/android/client/localhost/LocalhostSplitClient.java b/main/src/main/java/io/split/android/client/localhost/LocalhostSplitClient.java similarity index 100% rename from src/main/java/io/split/android/client/localhost/LocalhostSplitClient.java rename to main/src/main/java/io/split/android/client/localhost/LocalhostSplitClient.java diff --git a/src/main/java/io/split/android/client/localhost/LocalhostSplitFactory.java b/main/src/main/java/io/split/android/client/localhost/LocalhostSplitFactory.java similarity index 100% rename from src/main/java/io/split/android/client/localhost/LocalhostSplitFactory.java rename to main/src/main/java/io/split/android/client/localhost/LocalhostSplitFactory.java diff --git a/src/main/java/io/split/android/client/localhost/LocalhostSplitsStorage.java b/main/src/main/java/io/split/android/client/localhost/LocalhostSplitsStorage.java similarity index 100% rename from src/main/java/io/split/android/client/localhost/LocalhostSplitsStorage.java rename to main/src/main/java/io/split/android/client/localhost/LocalhostSplitsStorage.java diff --git a/src/main/java/io/split/android/client/localhost/LocalhostSynchronizer.java b/main/src/main/java/io/split/android/client/localhost/LocalhostSynchronizer.java similarity index 100% rename from src/main/java/io/split/android/client/localhost/LocalhostSynchronizer.java rename to main/src/main/java/io/split/android/client/localhost/LocalhostSynchronizer.java diff --git a/src/main/java/io/split/android/client/localhost/LocalhostYamlFileParser.java b/main/src/main/java/io/split/android/client/localhost/LocalhostYamlFileParser.java similarity index 100% rename from src/main/java/io/split/android/client/localhost/LocalhostYamlFileParser.java rename to main/src/main/java/io/split/android/client/localhost/LocalhostYamlFileParser.java diff --git a/src/main/java/io/split/android/client/localhost/SplitHelper.java b/main/src/main/java/io/split/android/client/localhost/SplitHelper.java similarity index 100% rename from src/main/java/io/split/android/client/localhost/SplitHelper.java rename to main/src/main/java/io/split/android/client/localhost/SplitHelper.java diff --git a/src/main/java/io/split/android/client/localhost/shared/LocalhostSplitClientContainerImpl.java b/main/src/main/java/io/split/android/client/localhost/shared/LocalhostSplitClientContainerImpl.java similarity index 100% rename from src/main/java/io/split/android/client/localhost/shared/LocalhostSplitClientContainerImpl.java rename to main/src/main/java/io/split/android/client/localhost/shared/LocalhostSplitClientContainerImpl.java diff --git a/src/main/java/io/split/android/client/network/Algorithm.java b/main/src/main/java/io/split/android/client/network/Algorithm.java similarity index 100% rename from src/main/java/io/split/android/client/network/Algorithm.java rename to main/src/main/java/io/split/android/client/network/Algorithm.java diff --git a/src/main/java/io/split/android/client/network/AuthenticatedRequest.java b/main/src/main/java/io/split/android/client/network/AuthenticatedRequest.java similarity index 100% rename from src/main/java/io/split/android/client/network/AuthenticatedRequest.java rename to main/src/main/java/io/split/android/client/network/AuthenticatedRequest.java diff --git a/src/main/java/io/split/android/client/network/Authenticator.java b/main/src/main/java/io/split/android/client/network/Authenticator.java similarity index 100% rename from src/main/java/io/split/android/client/network/Authenticator.java rename to main/src/main/java/io/split/android/client/network/Authenticator.java diff --git a/src/main/java/io/split/android/client/network/Base64Decoder.java b/main/src/main/java/io/split/android/client/network/Base64Decoder.java similarity index 100% rename from src/main/java/io/split/android/client/network/Base64Decoder.java rename to main/src/main/java/io/split/android/client/network/Base64Decoder.java diff --git a/src/main/java/io/split/android/client/network/Base64Encoder.java b/main/src/main/java/io/split/android/client/network/Base64Encoder.java similarity index 100% rename from src/main/java/io/split/android/client/network/Base64Encoder.java rename to main/src/main/java/io/split/android/client/network/Base64Encoder.java diff --git a/src/main/java/io/split/android/client/network/BaseHttpResponse.java b/main/src/main/java/io/split/android/client/network/BaseHttpResponse.java similarity index 100% rename from src/main/java/io/split/android/client/network/BaseHttpResponse.java rename to main/src/main/java/io/split/android/client/network/BaseHttpResponse.java diff --git a/src/main/java/io/split/android/client/network/BaseHttpResponseImpl.java b/main/src/main/java/io/split/android/client/network/BaseHttpResponseImpl.java similarity index 100% rename from src/main/java/io/split/android/client/network/BaseHttpResponseImpl.java rename to main/src/main/java/io/split/android/client/network/BaseHttpResponseImpl.java diff --git a/src/main/java/io/split/android/client/network/BasicCredentialsProvider.java b/main/src/main/java/io/split/android/client/network/BasicCredentialsProvider.java similarity index 100% rename from src/main/java/io/split/android/client/network/BasicCredentialsProvider.java rename to main/src/main/java/io/split/android/client/network/BasicCredentialsProvider.java diff --git a/src/main/java/io/split/android/client/network/BearerCredentialsProvider.java b/main/src/main/java/io/split/android/client/network/BearerCredentialsProvider.java similarity index 100% rename from src/main/java/io/split/android/client/network/BearerCredentialsProvider.java rename to main/src/main/java/io/split/android/client/network/BearerCredentialsProvider.java diff --git a/src/main/java/io/split/android/client/network/CertificateChecker.java b/main/src/main/java/io/split/android/client/network/CertificateChecker.java similarity index 100% rename from src/main/java/io/split/android/client/network/CertificateChecker.java rename to main/src/main/java/io/split/android/client/network/CertificateChecker.java diff --git a/src/main/java/io/split/android/client/network/CertificateCheckerHelper.java b/main/src/main/java/io/split/android/client/network/CertificateCheckerHelper.java similarity index 100% rename from src/main/java/io/split/android/client/network/CertificateCheckerHelper.java rename to main/src/main/java/io/split/android/client/network/CertificateCheckerHelper.java diff --git a/src/main/java/io/split/android/client/network/CertificateCheckerImpl.java b/main/src/main/java/io/split/android/client/network/CertificateCheckerImpl.java similarity index 100% rename from src/main/java/io/split/android/client/network/CertificateCheckerImpl.java rename to main/src/main/java/io/split/android/client/network/CertificateCheckerImpl.java diff --git a/src/main/java/io/split/android/client/network/CertificatePin.java b/main/src/main/java/io/split/android/client/network/CertificatePin.java similarity index 100% rename from src/main/java/io/split/android/client/network/CertificatePin.java rename to main/src/main/java/io/split/android/client/network/CertificatePin.java diff --git a/src/main/java/io/split/android/client/network/CertificatePinningConfiguration.java b/main/src/main/java/io/split/android/client/network/CertificatePinningConfiguration.java similarity index 100% rename from src/main/java/io/split/android/client/network/CertificatePinningConfiguration.java rename to main/src/main/java/io/split/android/client/network/CertificatePinningConfiguration.java diff --git a/src/main/java/io/split/android/client/network/CertificatePinningConfigurationProvider.java b/main/src/main/java/io/split/android/client/network/CertificatePinningConfigurationProvider.java similarity index 100% rename from src/main/java/io/split/android/client/network/CertificatePinningConfigurationProvider.java rename to main/src/main/java/io/split/android/client/network/CertificatePinningConfigurationProvider.java diff --git a/src/main/java/io/split/android/client/network/CertificatePinningFailureListener.java b/main/src/main/java/io/split/android/client/network/CertificatePinningFailureListener.java similarity index 100% rename from src/main/java/io/split/android/client/network/CertificatePinningFailureListener.java rename to main/src/main/java/io/split/android/client/network/CertificatePinningFailureListener.java diff --git a/src/main/java/io/split/android/client/network/ChainCleaner.java b/main/src/main/java/io/split/android/client/network/ChainCleaner.java similarity index 100% rename from src/main/java/io/split/android/client/network/ChainCleaner.java rename to main/src/main/java/io/split/android/client/network/ChainCleaner.java diff --git a/src/main/java/io/split/android/client/network/ChainCleanerImpl.java b/main/src/main/java/io/split/android/client/network/ChainCleanerImpl.java similarity index 100% rename from src/main/java/io/split/android/client/network/ChainCleanerImpl.java rename to main/src/main/java/io/split/android/client/network/ChainCleanerImpl.java diff --git a/src/main/java/io/split/android/client/network/DefaultBase64Decoder.java b/main/src/main/java/io/split/android/client/network/DefaultBase64Decoder.java similarity index 100% rename from src/main/java/io/split/android/client/network/DefaultBase64Decoder.java rename to main/src/main/java/io/split/android/client/network/DefaultBase64Decoder.java diff --git a/src/main/java/io/split/android/client/network/DefaultBase64Encoder.java b/main/src/main/java/io/split/android/client/network/DefaultBase64Encoder.java similarity index 100% rename from src/main/java/io/split/android/client/network/DefaultBase64Encoder.java rename to main/src/main/java/io/split/android/client/network/DefaultBase64Encoder.java diff --git a/src/main/java/io/split/android/client/network/DevelopmentSslConfig.java b/main/src/main/java/io/split/android/client/network/DevelopmentSslConfig.java similarity index 100% rename from src/main/java/io/split/android/client/network/DevelopmentSslConfig.java rename to main/src/main/java/io/split/android/client/network/DevelopmentSslConfig.java diff --git a/src/main/java/io/split/android/client/network/HttpClient.java b/main/src/main/java/io/split/android/client/network/HttpClient.java similarity index 100% rename from src/main/java/io/split/android/client/network/HttpClient.java rename to main/src/main/java/io/split/android/client/network/HttpClient.java diff --git a/src/main/java/io/split/android/client/network/HttpClientImpl.java b/main/src/main/java/io/split/android/client/network/HttpClientImpl.java similarity index 100% rename from src/main/java/io/split/android/client/network/HttpClientImpl.java rename to main/src/main/java/io/split/android/client/network/HttpClientImpl.java diff --git a/src/main/java/io/split/android/client/network/HttpException.java b/main/src/main/java/io/split/android/client/network/HttpException.java similarity index 100% rename from src/main/java/io/split/android/client/network/HttpException.java rename to main/src/main/java/io/split/android/client/network/HttpException.java diff --git a/src/main/java/io/split/android/client/network/HttpMethod.java b/main/src/main/java/io/split/android/client/network/HttpMethod.java similarity index 100% rename from src/main/java/io/split/android/client/network/HttpMethod.java rename to main/src/main/java/io/split/android/client/network/HttpMethod.java diff --git a/src/main/java/io/split/android/client/network/HttpOverTunnelExecutor.java b/main/src/main/java/io/split/android/client/network/HttpOverTunnelExecutor.java similarity index 100% rename from src/main/java/io/split/android/client/network/HttpOverTunnelExecutor.java rename to main/src/main/java/io/split/android/client/network/HttpOverTunnelExecutor.java diff --git a/src/main/java/io/split/android/client/network/HttpProxy.java b/main/src/main/java/io/split/android/client/network/HttpProxy.java similarity index 100% rename from src/main/java/io/split/android/client/network/HttpProxy.java rename to main/src/main/java/io/split/android/client/network/HttpProxy.java diff --git a/src/main/java/io/split/android/client/network/HttpRequest.java b/main/src/main/java/io/split/android/client/network/HttpRequest.java similarity index 100% rename from src/main/java/io/split/android/client/network/HttpRequest.java rename to main/src/main/java/io/split/android/client/network/HttpRequest.java diff --git a/src/main/java/io/split/android/client/network/HttpRequestHelper.java b/main/src/main/java/io/split/android/client/network/HttpRequestHelper.java similarity index 100% rename from src/main/java/io/split/android/client/network/HttpRequestHelper.java rename to main/src/main/java/io/split/android/client/network/HttpRequestHelper.java diff --git a/src/main/java/io/split/android/client/network/HttpRequestImpl.java b/main/src/main/java/io/split/android/client/network/HttpRequestImpl.java similarity index 100% rename from src/main/java/io/split/android/client/network/HttpRequestImpl.java rename to main/src/main/java/io/split/android/client/network/HttpRequestImpl.java diff --git a/src/main/java/io/split/android/client/network/HttpResponse.java b/main/src/main/java/io/split/android/client/network/HttpResponse.java similarity index 100% rename from src/main/java/io/split/android/client/network/HttpResponse.java rename to main/src/main/java/io/split/android/client/network/HttpResponse.java diff --git a/src/main/java/io/split/android/client/network/HttpResponseConnectionAdapter.java b/main/src/main/java/io/split/android/client/network/HttpResponseConnectionAdapter.java similarity index 100% rename from src/main/java/io/split/android/client/network/HttpResponseConnectionAdapter.java rename to main/src/main/java/io/split/android/client/network/HttpResponseConnectionAdapter.java diff --git a/src/main/java/io/split/android/client/network/HttpResponseImpl.java b/main/src/main/java/io/split/android/client/network/HttpResponseImpl.java similarity index 100% rename from src/main/java/io/split/android/client/network/HttpResponseImpl.java rename to main/src/main/java/io/split/android/client/network/HttpResponseImpl.java diff --git a/src/main/java/io/split/android/client/network/HttpStreamRequest.java b/main/src/main/java/io/split/android/client/network/HttpStreamRequest.java similarity index 100% rename from src/main/java/io/split/android/client/network/HttpStreamRequest.java rename to main/src/main/java/io/split/android/client/network/HttpStreamRequest.java diff --git a/src/main/java/io/split/android/client/network/HttpStreamRequestImpl.java b/main/src/main/java/io/split/android/client/network/HttpStreamRequestImpl.java similarity index 100% rename from src/main/java/io/split/android/client/network/HttpStreamRequestImpl.java rename to main/src/main/java/io/split/android/client/network/HttpStreamRequestImpl.java diff --git a/src/main/java/io/split/android/client/network/HttpStreamResponse.java b/main/src/main/java/io/split/android/client/network/HttpStreamResponse.java similarity index 100% rename from src/main/java/io/split/android/client/network/HttpStreamResponse.java rename to main/src/main/java/io/split/android/client/network/HttpStreamResponse.java diff --git a/src/main/java/io/split/android/client/network/HttpStreamResponseImpl.java b/main/src/main/java/io/split/android/client/network/HttpStreamResponseImpl.java similarity index 100% rename from src/main/java/io/split/android/client/network/HttpStreamResponseImpl.java rename to main/src/main/java/io/split/android/client/network/HttpStreamResponseImpl.java diff --git a/src/main/java/io/split/android/client/network/LegacyTlsUpdater.java b/main/src/main/java/io/split/android/client/network/LegacyTlsUpdater.java similarity index 100% rename from src/main/java/io/split/android/client/network/LegacyTlsUpdater.java rename to main/src/main/java/io/split/android/client/network/LegacyTlsUpdater.java diff --git a/src/main/java/io/split/android/client/network/PercentEscaper.java b/main/src/main/java/io/split/android/client/network/PercentEscaper.java similarity index 100% rename from src/main/java/io/split/android/client/network/PercentEscaper.java rename to main/src/main/java/io/split/android/client/network/PercentEscaper.java diff --git a/src/main/java/io/split/android/client/network/PinEncoder.java b/main/src/main/java/io/split/android/client/network/PinEncoder.java similarity index 100% rename from src/main/java/io/split/android/client/network/PinEncoder.java rename to main/src/main/java/io/split/android/client/network/PinEncoder.java diff --git a/src/main/java/io/split/android/client/network/PinEncoderImpl.java b/main/src/main/java/io/split/android/client/network/PinEncoderImpl.java similarity index 100% rename from src/main/java/io/split/android/client/network/PinEncoderImpl.java rename to main/src/main/java/io/split/android/client/network/PinEncoderImpl.java diff --git a/src/main/java/io/split/android/client/network/ProxyCacertConnectionHandler.java b/main/src/main/java/io/split/android/client/network/ProxyCacertConnectionHandler.java similarity index 100% rename from src/main/java/io/split/android/client/network/ProxyCacertConnectionHandler.java rename to main/src/main/java/io/split/android/client/network/ProxyCacertConnectionHandler.java diff --git a/src/main/java/io/split/android/client/network/ProxyConfiguration.java b/main/src/main/java/io/split/android/client/network/ProxyConfiguration.java similarity index 100% rename from src/main/java/io/split/android/client/network/ProxyConfiguration.java rename to main/src/main/java/io/split/android/client/network/ProxyConfiguration.java diff --git a/src/main/java/io/split/android/client/network/ProxyCredentialsProvider.java b/main/src/main/java/io/split/android/client/network/ProxyCredentialsProvider.java similarity index 100% rename from src/main/java/io/split/android/client/network/ProxyCredentialsProvider.java rename to main/src/main/java/io/split/android/client/network/ProxyCredentialsProvider.java diff --git a/src/main/java/io/split/android/client/network/ProxySslSocketFactoryProvider.java b/main/src/main/java/io/split/android/client/network/ProxySslSocketFactoryProvider.java similarity index 100% rename from src/main/java/io/split/android/client/network/ProxySslSocketFactoryProvider.java rename to main/src/main/java/io/split/android/client/network/ProxySslSocketFactoryProvider.java diff --git a/src/main/java/io/split/android/client/network/ProxySslSocketFactoryProviderImpl.java b/main/src/main/java/io/split/android/client/network/ProxySslSocketFactoryProviderImpl.java similarity index 100% rename from src/main/java/io/split/android/client/network/ProxySslSocketFactoryProviderImpl.java rename to main/src/main/java/io/split/android/client/network/ProxySslSocketFactoryProviderImpl.java diff --git a/src/main/java/io/split/android/client/network/RawHttpResponseParser.java b/main/src/main/java/io/split/android/client/network/RawHttpResponseParser.java similarity index 100% rename from src/main/java/io/split/android/client/network/RawHttpResponseParser.java rename to main/src/main/java/io/split/android/client/network/RawHttpResponseParser.java diff --git a/src/main/java/io/split/android/client/network/SdkTargetPath.java b/main/src/main/java/io/split/android/client/network/SdkTargetPath.java similarity index 100% rename from src/main/java/io/split/android/client/network/SdkTargetPath.java rename to main/src/main/java/io/split/android/client/network/SdkTargetPath.java diff --git a/src/main/java/io/split/android/client/network/SplitAuthenticatedRequest.java b/main/src/main/java/io/split/android/client/network/SplitAuthenticatedRequest.java similarity index 100% rename from src/main/java/io/split/android/client/network/SplitAuthenticatedRequest.java rename to main/src/main/java/io/split/android/client/network/SplitAuthenticatedRequest.java diff --git a/src/main/java/io/split/android/client/network/SplitAuthenticator.java b/main/src/main/java/io/split/android/client/network/SplitAuthenticator.java similarity index 100% rename from src/main/java/io/split/android/client/network/SplitAuthenticator.java rename to main/src/main/java/io/split/android/client/network/SplitAuthenticator.java diff --git a/src/main/java/io/split/android/client/network/SplitBasicAuthenticator.java b/main/src/main/java/io/split/android/client/network/SplitBasicAuthenticator.java similarity index 100% rename from src/main/java/io/split/android/client/network/SplitBasicAuthenticator.java rename to main/src/main/java/io/split/android/client/network/SplitBasicAuthenticator.java diff --git a/src/main/java/io/split/android/client/network/SplitHttpHeadersBuilder.java b/main/src/main/java/io/split/android/client/network/SplitHttpHeadersBuilder.java similarity index 100% rename from src/main/java/io/split/android/client/network/SplitHttpHeadersBuilder.java rename to main/src/main/java/io/split/android/client/network/SplitHttpHeadersBuilder.java diff --git a/src/main/java/io/split/android/client/network/SplitUrlConnectionAuthenticator.java b/main/src/main/java/io/split/android/client/network/SplitUrlConnectionAuthenticator.java similarity index 100% rename from src/main/java/io/split/android/client/network/SplitUrlConnectionAuthenticator.java rename to main/src/main/java/io/split/android/client/network/SplitUrlConnectionAuthenticator.java diff --git a/src/main/java/io/split/android/client/network/SslProxyTunnelEstablisher.java b/main/src/main/java/io/split/android/client/network/SslProxyTunnelEstablisher.java similarity index 100% rename from src/main/java/io/split/android/client/network/SslProxyTunnelEstablisher.java rename to main/src/main/java/io/split/android/client/network/SslProxyTunnelEstablisher.java diff --git a/src/main/java/io/split/android/client/network/Tls12OnlySocketFactory.java b/main/src/main/java/io/split/android/client/network/Tls12OnlySocketFactory.java similarity index 100% rename from src/main/java/io/split/android/client/network/Tls12OnlySocketFactory.java rename to main/src/main/java/io/split/android/client/network/Tls12OnlySocketFactory.java diff --git a/src/main/java/io/split/android/client/network/TrustManagerProvider.java b/main/src/main/java/io/split/android/client/network/TrustManagerProvider.java similarity index 100% rename from src/main/java/io/split/android/client/network/TrustManagerProvider.java rename to main/src/main/java/io/split/android/client/network/TrustManagerProvider.java diff --git a/src/main/java/io/split/android/client/network/URIBuilder.java b/main/src/main/java/io/split/android/client/network/URIBuilder.java similarity index 100% rename from src/main/java/io/split/android/client/network/URIBuilder.java rename to main/src/main/java/io/split/android/client/network/URIBuilder.java diff --git a/src/main/java/io/split/android/client/network/UnicodeEscaper.java b/main/src/main/java/io/split/android/client/network/UnicodeEscaper.java similarity index 100% rename from src/main/java/io/split/android/client/network/UnicodeEscaper.java rename to main/src/main/java/io/split/android/client/network/UnicodeEscaper.java diff --git a/src/main/java/io/split/android/client/network/UrlEscapers.java b/main/src/main/java/io/split/android/client/network/UrlEscapers.java similarity index 100% rename from src/main/java/io/split/android/client/network/UrlEscapers.java rename to main/src/main/java/io/split/android/client/network/UrlEscapers.java diff --git a/src/main/java/io/split/android/client/network/UrlSanitizer.java b/main/src/main/java/io/split/android/client/network/UrlSanitizer.java similarity index 100% rename from src/main/java/io/split/android/client/network/UrlSanitizer.java rename to main/src/main/java/io/split/android/client/network/UrlSanitizer.java diff --git a/src/main/java/io/split/android/client/network/UrlSanitizerImpl.java b/main/src/main/java/io/split/android/client/network/UrlSanitizerImpl.java similarity index 100% rename from src/main/java/io/split/android/client/network/UrlSanitizerImpl.java rename to main/src/main/java/io/split/android/client/network/UrlSanitizerImpl.java diff --git a/src/main/java/io/split/android/client/service/CleanUpDatabaseTask.java b/main/src/main/java/io/split/android/client/service/CleanUpDatabaseTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/CleanUpDatabaseTask.java rename to main/src/main/java/io/split/android/client/service/CleanUpDatabaseTask.java diff --git a/src/main/java/io/split/android/client/service/ServiceConstants.java b/main/src/main/java/io/split/android/client/service/ServiceConstants.java similarity index 100% rename from src/main/java/io/split/android/client/service/ServiceConstants.java rename to main/src/main/java/io/split/android/client/service/ServiceConstants.java diff --git a/src/main/java/io/split/android/client/service/ServiceFactory.java b/main/src/main/java/io/split/android/client/service/ServiceFactory.java similarity index 100% rename from src/main/java/io/split/android/client/service/ServiceFactory.java rename to main/src/main/java/io/split/android/client/service/ServiceFactory.java diff --git a/src/main/java/io/split/android/client/service/SplitApiFacade.java b/main/src/main/java/io/split/android/client/service/SplitApiFacade.java similarity index 100% rename from src/main/java/io/split/android/client/service/SplitApiFacade.java rename to main/src/main/java/io/split/android/client/service/SplitApiFacade.java diff --git a/src/main/java/io/split/android/client/service/attributes/AttributeTaskFactory.java b/main/src/main/java/io/split/android/client/service/attributes/AttributeTaskFactory.java similarity index 100% rename from src/main/java/io/split/android/client/service/attributes/AttributeTaskFactory.java rename to main/src/main/java/io/split/android/client/service/attributes/AttributeTaskFactory.java diff --git a/src/main/java/io/split/android/client/service/attributes/AttributeTaskFactoryImpl.java b/main/src/main/java/io/split/android/client/service/attributes/AttributeTaskFactoryImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/attributes/AttributeTaskFactoryImpl.java rename to main/src/main/java/io/split/android/client/service/attributes/AttributeTaskFactoryImpl.java diff --git a/src/main/java/io/split/android/client/service/attributes/ClearAttributesInPersistentStorageTask.java b/main/src/main/java/io/split/android/client/service/attributes/ClearAttributesInPersistentStorageTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/attributes/ClearAttributesInPersistentStorageTask.java rename to main/src/main/java/io/split/android/client/service/attributes/ClearAttributesInPersistentStorageTask.java diff --git a/src/main/java/io/split/android/client/service/attributes/LoadAttributesTask.java b/main/src/main/java/io/split/android/client/service/attributes/LoadAttributesTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/attributes/LoadAttributesTask.java rename to main/src/main/java/io/split/android/client/service/attributes/LoadAttributesTask.java diff --git a/src/main/java/io/split/android/client/service/attributes/UpdateAttributesInPersistentStorageTask.java b/main/src/main/java/io/split/android/client/service/attributes/UpdateAttributesInPersistentStorageTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/attributes/UpdateAttributesInPersistentStorageTask.java rename to main/src/main/java/io/split/android/client/service/attributes/UpdateAttributesInPersistentStorageTask.java diff --git a/src/main/java/io/split/android/client/service/events/EventsRecorderTask.java b/main/src/main/java/io/split/android/client/service/events/EventsRecorderTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/events/EventsRecorderTask.java rename to main/src/main/java/io/split/android/client/service/events/EventsRecorderTask.java diff --git a/src/main/java/io/split/android/client/service/events/EventsRecorderTaskConfig.java b/main/src/main/java/io/split/android/client/service/events/EventsRecorderTaskConfig.java similarity index 100% rename from src/main/java/io/split/android/client/service/events/EventsRecorderTaskConfig.java rename to main/src/main/java/io/split/android/client/service/events/EventsRecorderTaskConfig.java diff --git a/src/main/java/io/split/android/client/service/events/EventsRequestBodySerializer.java b/main/src/main/java/io/split/android/client/service/events/EventsRequestBodySerializer.java similarity index 100% rename from src/main/java/io/split/android/client/service/events/EventsRequestBodySerializer.java rename to main/src/main/java/io/split/android/client/service/events/EventsRequestBodySerializer.java diff --git a/src/main/java/io/split/android/client/service/executor/SplitBaseTaskExecutor.java b/main/src/main/java/io/split/android/client/service/executor/SplitBaseTaskExecutor.java similarity index 100% rename from src/main/java/io/split/android/client/service/executor/SplitBaseTaskExecutor.java rename to main/src/main/java/io/split/android/client/service/executor/SplitBaseTaskExecutor.java diff --git a/src/main/java/io/split/android/client/service/executor/SplitClientEventTaskExecutor.java b/main/src/main/java/io/split/android/client/service/executor/SplitClientEventTaskExecutor.java similarity index 100% rename from src/main/java/io/split/android/client/service/executor/SplitClientEventTaskExecutor.java rename to main/src/main/java/io/split/android/client/service/executor/SplitClientEventTaskExecutor.java diff --git a/src/main/java/io/split/android/client/service/executor/SplitSingleThreadTaskExecutor.java b/main/src/main/java/io/split/android/client/service/executor/SplitSingleThreadTaskExecutor.java similarity index 100% rename from src/main/java/io/split/android/client/service/executor/SplitSingleThreadTaskExecutor.java rename to main/src/main/java/io/split/android/client/service/executor/SplitSingleThreadTaskExecutor.java diff --git a/src/main/java/io/split/android/client/service/executor/SplitTask.java b/main/src/main/java/io/split/android/client/service/executor/SplitTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/executor/SplitTask.java rename to main/src/main/java/io/split/android/client/service/executor/SplitTask.java diff --git a/src/main/java/io/split/android/client/service/executor/SplitTaskBatchItem.java b/main/src/main/java/io/split/android/client/service/executor/SplitTaskBatchItem.java similarity index 100% rename from src/main/java/io/split/android/client/service/executor/SplitTaskBatchItem.java rename to main/src/main/java/io/split/android/client/service/executor/SplitTaskBatchItem.java diff --git a/src/main/java/io/split/android/client/service/executor/SplitTaskBatchWrapper.java b/main/src/main/java/io/split/android/client/service/executor/SplitTaskBatchWrapper.java similarity index 100% rename from src/main/java/io/split/android/client/service/executor/SplitTaskBatchWrapper.java rename to main/src/main/java/io/split/android/client/service/executor/SplitTaskBatchWrapper.java diff --git a/src/main/java/io/split/android/client/service/executor/SplitTaskExecutionInfo.java b/main/src/main/java/io/split/android/client/service/executor/SplitTaskExecutionInfo.java similarity index 100% rename from src/main/java/io/split/android/client/service/executor/SplitTaskExecutionInfo.java rename to main/src/main/java/io/split/android/client/service/executor/SplitTaskExecutionInfo.java diff --git a/src/main/java/io/split/android/client/service/executor/SplitTaskExecutionListener.java b/main/src/main/java/io/split/android/client/service/executor/SplitTaskExecutionListener.java similarity index 100% rename from src/main/java/io/split/android/client/service/executor/SplitTaskExecutionListener.java rename to main/src/main/java/io/split/android/client/service/executor/SplitTaskExecutionListener.java diff --git a/src/main/java/io/split/android/client/service/executor/SplitTaskExecutionStatus.java b/main/src/main/java/io/split/android/client/service/executor/SplitTaskExecutionStatus.java similarity index 100% rename from src/main/java/io/split/android/client/service/executor/SplitTaskExecutionStatus.java rename to main/src/main/java/io/split/android/client/service/executor/SplitTaskExecutionStatus.java diff --git a/src/main/java/io/split/android/client/service/executor/SplitTaskExecutor.java b/main/src/main/java/io/split/android/client/service/executor/SplitTaskExecutor.java similarity index 100% rename from src/main/java/io/split/android/client/service/executor/SplitTaskExecutor.java rename to main/src/main/java/io/split/android/client/service/executor/SplitTaskExecutor.java diff --git a/src/main/java/io/split/android/client/service/executor/SplitTaskExecutorImpl.java b/main/src/main/java/io/split/android/client/service/executor/SplitTaskExecutorImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/executor/SplitTaskExecutorImpl.java rename to main/src/main/java/io/split/android/client/service/executor/SplitTaskExecutorImpl.java diff --git a/src/main/java/io/split/android/client/service/executor/SplitTaskFactory.java b/main/src/main/java/io/split/android/client/service/executor/SplitTaskFactory.java similarity index 100% rename from src/main/java/io/split/android/client/service/executor/SplitTaskFactory.java rename to main/src/main/java/io/split/android/client/service/executor/SplitTaskFactory.java diff --git a/src/main/java/io/split/android/client/service/executor/SplitTaskFactoryImpl.java b/main/src/main/java/io/split/android/client/service/executor/SplitTaskFactoryImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/executor/SplitTaskFactoryImpl.java rename to main/src/main/java/io/split/android/client/service/executor/SplitTaskFactoryImpl.java diff --git a/src/main/java/io/split/android/client/service/executor/SplitTaskSerialWrapper.java b/main/src/main/java/io/split/android/client/service/executor/SplitTaskSerialWrapper.java similarity index 100% rename from src/main/java/io/split/android/client/service/executor/SplitTaskSerialWrapper.java rename to main/src/main/java/io/split/android/client/service/executor/SplitTaskSerialWrapper.java diff --git a/src/main/java/io/split/android/client/service/executor/SplitTaskType.java b/main/src/main/java/io/split/android/client/service/executor/SplitTaskType.java similarity index 100% rename from src/main/java/io/split/android/client/service/executor/SplitTaskType.java rename to main/src/main/java/io/split/android/client/service/executor/SplitTaskType.java diff --git a/src/main/java/io/split/android/client/service/executor/TaskWrapper.java b/main/src/main/java/io/split/android/client/service/executor/TaskWrapper.java similarity index 100% rename from src/main/java/io/split/android/client/service/executor/TaskWrapper.java rename to main/src/main/java/io/split/android/client/service/executor/TaskWrapper.java diff --git a/src/main/java/io/split/android/client/service/executor/ThreadFactoryBuilder.java b/main/src/main/java/io/split/android/client/service/executor/ThreadFactoryBuilder.java similarity index 100% rename from src/main/java/io/split/android/client/service/executor/ThreadFactoryBuilder.java rename to main/src/main/java/io/split/android/client/service/executor/ThreadFactoryBuilder.java diff --git a/src/main/java/io/split/android/client/service/executor/parallel/SplitDeferredTaskItem.java b/main/src/main/java/io/split/android/client/service/executor/parallel/SplitDeferredTaskItem.java similarity index 100% rename from src/main/java/io/split/android/client/service/executor/parallel/SplitDeferredTaskItem.java rename to main/src/main/java/io/split/android/client/service/executor/parallel/SplitDeferredTaskItem.java diff --git a/src/main/java/io/split/android/client/service/executor/parallel/SplitParallelTaskExecutor.java b/main/src/main/java/io/split/android/client/service/executor/parallel/SplitParallelTaskExecutor.java similarity index 100% rename from src/main/java/io/split/android/client/service/executor/parallel/SplitParallelTaskExecutor.java rename to main/src/main/java/io/split/android/client/service/executor/parallel/SplitParallelTaskExecutor.java diff --git a/src/main/java/io/split/android/client/service/executor/parallel/SplitParallelTaskExecutorFactory.java b/main/src/main/java/io/split/android/client/service/executor/parallel/SplitParallelTaskExecutorFactory.java similarity index 100% rename from src/main/java/io/split/android/client/service/executor/parallel/SplitParallelTaskExecutorFactory.java rename to main/src/main/java/io/split/android/client/service/executor/parallel/SplitParallelTaskExecutorFactory.java diff --git a/src/main/java/io/split/android/client/service/executor/parallel/SplitParallelTaskExecutorFactoryImpl.java b/main/src/main/java/io/split/android/client/service/executor/parallel/SplitParallelTaskExecutorFactoryImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/executor/parallel/SplitParallelTaskExecutorFactoryImpl.java rename to main/src/main/java/io/split/android/client/service/executor/parallel/SplitParallelTaskExecutorFactoryImpl.java diff --git a/src/main/java/io/split/android/client/service/executor/parallel/SplitParallelTaskExecutorImpl.java b/main/src/main/java/io/split/android/client/service/executor/parallel/SplitParallelTaskExecutorImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/executor/parallel/SplitParallelTaskExecutorImpl.java rename to main/src/main/java/io/split/android/client/service/executor/parallel/SplitParallelTaskExecutorImpl.java diff --git a/src/main/java/io/split/android/client/service/http/HttpFetcher.java b/main/src/main/java/io/split/android/client/service/http/HttpFetcher.java similarity index 100% rename from src/main/java/io/split/android/client/service/http/HttpFetcher.java rename to main/src/main/java/io/split/android/client/service/http/HttpFetcher.java diff --git a/src/main/java/io/split/android/client/service/http/HttpFetcherException.java b/main/src/main/java/io/split/android/client/service/http/HttpFetcherException.java similarity index 100% rename from src/main/java/io/split/android/client/service/http/HttpFetcherException.java rename to main/src/main/java/io/split/android/client/service/http/HttpFetcherException.java diff --git a/src/main/java/io/split/android/client/service/http/HttpFetcherImpl.java b/main/src/main/java/io/split/android/client/service/http/HttpFetcherImpl.java similarity index 98% rename from src/main/java/io/split/android/client/service/http/HttpFetcherImpl.java rename to main/src/main/java/io/split/android/client/service/http/HttpFetcherImpl.java index d45e36f6f..b952ab5c8 100644 --- a/src/main/java/io/split/android/client/service/http/HttpFetcherImpl.java +++ b/main/src/main/java/io/split/android/client/service/http/HttpFetcherImpl.java @@ -8,7 +8,7 @@ import java.net.URI; import java.util.Map; -import io.split.android.android_client.BuildConfig; +import io.split.android.client.main.BuildConfig; import io.split.android.client.ServiceEndpoints; import io.split.android.client.network.HttpClient; import io.split.android.client.network.HttpException; diff --git a/src/main/java/io/split/android/client/service/http/HttpGeneralException.java b/main/src/main/java/io/split/android/client/service/http/HttpGeneralException.java similarity index 100% rename from src/main/java/io/split/android/client/service/http/HttpGeneralException.java rename to main/src/main/java/io/split/android/client/service/http/HttpGeneralException.java diff --git a/src/main/java/io/split/android/client/service/http/HttpRecorder.java b/main/src/main/java/io/split/android/client/service/http/HttpRecorder.java similarity index 100% rename from src/main/java/io/split/android/client/service/http/HttpRecorder.java rename to main/src/main/java/io/split/android/client/service/http/HttpRecorder.java diff --git a/src/main/java/io/split/android/client/service/http/HttpRecorderException.java b/main/src/main/java/io/split/android/client/service/http/HttpRecorderException.java similarity index 100% rename from src/main/java/io/split/android/client/service/http/HttpRecorderException.java rename to main/src/main/java/io/split/android/client/service/http/HttpRecorderException.java diff --git a/src/main/java/io/split/android/client/service/http/HttpRecorderImpl.java b/main/src/main/java/io/split/android/client/service/http/HttpRecorderImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/http/HttpRecorderImpl.java rename to main/src/main/java/io/split/android/client/service/http/HttpRecorderImpl.java diff --git a/src/main/java/io/split/android/client/service/http/HttpRequestBodySerializer.java b/main/src/main/java/io/split/android/client/service/http/HttpRequestBodySerializer.java similarity index 100% rename from src/main/java/io/split/android/client/service/http/HttpRequestBodySerializer.java rename to main/src/main/java/io/split/android/client/service/http/HttpRequestBodySerializer.java diff --git a/src/main/java/io/split/android/client/service/http/HttpResponseParser.java b/main/src/main/java/io/split/android/client/service/http/HttpResponseParser.java similarity index 100% rename from src/main/java/io/split/android/client/service/http/HttpResponseParser.java rename to main/src/main/java/io/split/android/client/service/http/HttpResponseParser.java diff --git a/src/main/java/io/split/android/client/service/http/HttpResponseParserException.java b/main/src/main/java/io/split/android/client/service/http/HttpResponseParserException.java similarity index 100% rename from src/main/java/io/split/android/client/service/http/HttpResponseParserException.java rename to main/src/main/java/io/split/android/client/service/http/HttpResponseParserException.java diff --git a/src/main/java/io/split/android/client/service/http/HttpSseAuthTokenFetcher.java b/main/src/main/java/io/split/android/client/service/http/HttpSseAuthTokenFetcher.java similarity index 100% rename from src/main/java/io/split/android/client/service/http/HttpSseAuthTokenFetcher.java rename to main/src/main/java/io/split/android/client/service/http/HttpSseAuthTokenFetcher.java diff --git a/src/main/java/io/split/android/client/service/http/HttpStatus.java b/main/src/main/java/io/split/android/client/service/http/HttpStatus.java similarity index 100% rename from src/main/java/io/split/android/client/service/http/HttpStatus.java rename to main/src/main/java/io/split/android/client/service/http/HttpStatus.java diff --git a/src/main/java/io/split/android/client/service/http/mysegments/MySegmentsFetcherFactory.java b/main/src/main/java/io/split/android/client/service/http/mysegments/MySegmentsFetcherFactory.java similarity index 100% rename from src/main/java/io/split/android/client/service/http/mysegments/MySegmentsFetcherFactory.java rename to main/src/main/java/io/split/android/client/service/http/mysegments/MySegmentsFetcherFactory.java diff --git a/src/main/java/io/split/android/client/service/http/mysegments/MySegmentsFetcherFactoryImpl.java b/main/src/main/java/io/split/android/client/service/http/mysegments/MySegmentsFetcherFactoryImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/http/mysegments/MySegmentsFetcherFactoryImpl.java rename to main/src/main/java/io/split/android/client/service/http/mysegments/MySegmentsFetcherFactoryImpl.java diff --git a/src/main/java/io/split/android/client/service/impressions/ImpressionHasher.java b/main/src/main/java/io/split/android/client/service/impressions/ImpressionHasher.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/ImpressionHasher.java rename to main/src/main/java/io/split/android/client/service/impressions/ImpressionHasher.java diff --git a/src/main/java/io/split/android/client/service/impressions/ImpressionManager.java b/main/src/main/java/io/split/android/client/service/impressions/ImpressionManager.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/ImpressionManager.java rename to main/src/main/java/io/split/android/client/service/impressions/ImpressionManager.java diff --git a/src/main/java/io/split/android/client/service/impressions/ImpressionManagerConfig.java b/main/src/main/java/io/split/android/client/service/impressions/ImpressionManagerConfig.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/ImpressionManagerConfig.java rename to main/src/main/java/io/split/android/client/service/impressions/ImpressionManagerConfig.java diff --git a/src/main/java/io/split/android/client/service/impressions/ImpressionManagerRetryTimerProvider.java b/main/src/main/java/io/split/android/client/service/impressions/ImpressionManagerRetryTimerProvider.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/ImpressionManagerRetryTimerProvider.java rename to main/src/main/java/io/split/android/client/service/impressions/ImpressionManagerRetryTimerProvider.java diff --git a/src/main/java/io/split/android/client/service/impressions/ImpressionManagerRetryTimerProviderImpl.java b/main/src/main/java/io/split/android/client/service/impressions/ImpressionManagerRetryTimerProviderImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/ImpressionManagerRetryTimerProviderImpl.java rename to main/src/main/java/io/split/android/client/service/impressions/ImpressionManagerRetryTimerProviderImpl.java diff --git a/src/main/java/io/split/android/client/service/impressions/ImpressionUtils.java b/main/src/main/java/io/split/android/client/service/impressions/ImpressionUtils.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/ImpressionUtils.java rename to main/src/main/java/io/split/android/client/service/impressions/ImpressionUtils.java diff --git a/src/main/java/io/split/android/client/service/impressions/ImpressionsCount.java b/main/src/main/java/io/split/android/client/service/impressions/ImpressionsCount.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/ImpressionsCount.java rename to main/src/main/java/io/split/android/client/service/impressions/ImpressionsCount.java diff --git a/src/main/java/io/split/android/client/service/impressions/ImpressionsCountPerFeature.java b/main/src/main/java/io/split/android/client/service/impressions/ImpressionsCountPerFeature.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/ImpressionsCountPerFeature.java rename to main/src/main/java/io/split/android/client/service/impressions/ImpressionsCountPerFeature.java diff --git a/src/main/java/io/split/android/client/service/impressions/ImpressionsCountRecorderTask.java b/main/src/main/java/io/split/android/client/service/impressions/ImpressionsCountRecorderTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/ImpressionsCountRecorderTask.java rename to main/src/main/java/io/split/android/client/service/impressions/ImpressionsCountRecorderTask.java diff --git a/src/main/java/io/split/android/client/service/impressions/ImpressionsCountRequestBodySerializer.java b/main/src/main/java/io/split/android/client/service/impressions/ImpressionsCountRequestBodySerializer.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/ImpressionsCountRequestBodySerializer.java rename to main/src/main/java/io/split/android/client/service/impressions/ImpressionsCountRequestBodySerializer.java diff --git a/src/main/java/io/split/android/client/service/impressions/ImpressionsCounter.java b/main/src/main/java/io/split/android/client/service/impressions/ImpressionsCounter.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/ImpressionsCounter.java rename to main/src/main/java/io/split/android/client/service/impressions/ImpressionsCounter.java diff --git a/src/main/java/io/split/android/client/service/impressions/ImpressionsMode.java b/main/src/main/java/io/split/android/client/service/impressions/ImpressionsMode.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/ImpressionsMode.java rename to main/src/main/java/io/split/android/client/service/impressions/ImpressionsMode.java diff --git a/src/main/java/io/split/android/client/service/impressions/ImpressionsRecorderTask.java b/main/src/main/java/io/split/android/client/service/impressions/ImpressionsRecorderTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/ImpressionsRecorderTask.java rename to main/src/main/java/io/split/android/client/service/impressions/ImpressionsRecorderTask.java diff --git a/src/main/java/io/split/android/client/service/impressions/ImpressionsRecorderTaskConfig.java b/main/src/main/java/io/split/android/client/service/impressions/ImpressionsRecorderTaskConfig.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/ImpressionsRecorderTaskConfig.java rename to main/src/main/java/io/split/android/client/service/impressions/ImpressionsRecorderTaskConfig.java diff --git a/src/main/java/io/split/android/client/service/impressions/ImpressionsRequestBodySerializer.java b/main/src/main/java/io/split/android/client/service/impressions/ImpressionsRequestBodySerializer.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/ImpressionsRequestBodySerializer.java rename to main/src/main/java/io/split/android/client/service/impressions/ImpressionsRequestBodySerializer.java diff --git a/src/main/java/io/split/android/client/service/impressions/ImpressionsTaskFactory.java b/main/src/main/java/io/split/android/client/service/impressions/ImpressionsTaskFactory.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/ImpressionsTaskFactory.java rename to main/src/main/java/io/split/android/client/service/impressions/ImpressionsTaskFactory.java diff --git a/src/main/java/io/split/android/client/service/impressions/KeyImpressionSerializer.java b/main/src/main/java/io/split/android/client/service/impressions/KeyImpressionSerializer.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/KeyImpressionSerializer.java rename to main/src/main/java/io/split/android/client/service/impressions/KeyImpressionSerializer.java diff --git a/src/main/java/io/split/android/client/service/impressions/MemoizedSupplier.java b/main/src/main/java/io/split/android/client/service/impressions/MemoizedSupplier.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/MemoizedSupplier.java rename to main/src/main/java/io/split/android/client/service/impressions/MemoizedSupplier.java diff --git a/src/main/java/io/split/android/client/service/impressions/SaveImpressionsCountTask.java b/main/src/main/java/io/split/android/client/service/impressions/SaveImpressionsCountTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/SaveImpressionsCountTask.java rename to main/src/main/java/io/split/android/client/service/impressions/SaveImpressionsCountTask.java diff --git a/src/main/java/io/split/android/client/service/impressions/StrategyImpressionManager.java b/main/src/main/java/io/split/android/client/service/impressions/StrategyImpressionManager.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/StrategyImpressionManager.java rename to main/src/main/java/io/split/android/client/service/impressions/StrategyImpressionManager.java diff --git a/src/main/java/io/split/android/client/service/impressions/observer/ImpressionsObserver.java b/main/src/main/java/io/split/android/client/service/impressions/observer/ImpressionsObserver.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/observer/ImpressionsObserver.java rename to main/src/main/java/io/split/android/client/service/impressions/observer/ImpressionsObserver.java diff --git a/src/main/java/io/split/android/client/service/impressions/observer/ImpressionsObserverCache.java b/main/src/main/java/io/split/android/client/service/impressions/observer/ImpressionsObserverCache.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/observer/ImpressionsObserverCache.java rename to main/src/main/java/io/split/android/client/service/impressions/observer/ImpressionsObserverCache.java diff --git a/src/main/java/io/split/android/client/service/impressions/observer/ImpressionsObserverCacheImpl.java b/main/src/main/java/io/split/android/client/service/impressions/observer/ImpressionsObserverCacheImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/observer/ImpressionsObserverCacheImpl.java rename to main/src/main/java/io/split/android/client/service/impressions/observer/ImpressionsObserverCacheImpl.java diff --git a/src/main/java/io/split/android/client/service/impressions/observer/ImpressionsObserverImpl.java b/main/src/main/java/io/split/android/client/service/impressions/observer/ImpressionsObserverImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/observer/ImpressionsObserverImpl.java rename to main/src/main/java/io/split/android/client/service/impressions/observer/ImpressionsObserverImpl.java diff --git a/src/main/java/io/split/android/client/service/impressions/observer/ListenableLruCache.java b/main/src/main/java/io/split/android/client/service/impressions/observer/ListenableLruCache.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/observer/ListenableLruCache.java rename to main/src/main/java/io/split/android/client/service/impressions/observer/ListenableLruCache.java diff --git a/src/main/java/io/split/android/client/service/impressions/observer/PeriodicPersistenceTask.java b/main/src/main/java/io/split/android/client/service/impressions/observer/PeriodicPersistenceTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/observer/PeriodicPersistenceTask.java rename to main/src/main/java/io/split/android/client/service/impressions/observer/PeriodicPersistenceTask.java diff --git a/src/main/java/io/split/android/client/service/impressions/observer/PersistentImpressionsObserverCacheStorage.java b/main/src/main/java/io/split/android/client/service/impressions/observer/PersistentImpressionsObserverCacheStorage.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/observer/PersistentImpressionsObserverCacheStorage.java rename to main/src/main/java/io/split/android/client/service/impressions/observer/PersistentImpressionsObserverCacheStorage.java diff --git a/src/main/java/io/split/android/client/service/impressions/observer/SqlitePersistentImpressionsObserverCacheStorage.java b/main/src/main/java/io/split/android/client/service/impressions/observer/SqlitePersistentImpressionsObserverCacheStorage.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/observer/SqlitePersistentImpressionsObserverCacheStorage.java rename to main/src/main/java/io/split/android/client/service/impressions/observer/SqlitePersistentImpressionsObserverCacheStorage.java diff --git a/src/main/java/io/split/android/client/service/impressions/strategy/DebugStrategy.java b/main/src/main/java/io/split/android/client/service/impressions/strategy/DebugStrategy.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/strategy/DebugStrategy.java rename to main/src/main/java/io/split/android/client/service/impressions/strategy/DebugStrategy.java diff --git a/src/main/java/io/split/android/client/service/impressions/strategy/DebugTracker.java b/main/src/main/java/io/split/android/client/service/impressions/strategy/DebugTracker.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/strategy/DebugTracker.java rename to main/src/main/java/io/split/android/client/service/impressions/strategy/DebugTracker.java diff --git a/src/main/java/io/split/android/client/service/impressions/strategy/ImpressionStrategyConfig.java b/main/src/main/java/io/split/android/client/service/impressions/strategy/ImpressionStrategyConfig.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/strategy/ImpressionStrategyConfig.java rename to main/src/main/java/io/split/android/client/service/impressions/strategy/ImpressionStrategyConfig.java diff --git a/src/main/java/io/split/android/client/service/impressions/strategy/ImpressionStrategyProvider.java b/main/src/main/java/io/split/android/client/service/impressions/strategy/ImpressionStrategyProvider.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/strategy/ImpressionStrategyProvider.java rename to main/src/main/java/io/split/android/client/service/impressions/strategy/ImpressionStrategyProvider.java diff --git a/src/main/java/io/split/android/client/service/impressions/strategy/NoneStrategy.java b/main/src/main/java/io/split/android/client/service/impressions/strategy/NoneStrategy.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/strategy/NoneStrategy.java rename to main/src/main/java/io/split/android/client/service/impressions/strategy/NoneStrategy.java diff --git a/src/main/java/io/split/android/client/service/impressions/strategy/NoneTracker.java b/main/src/main/java/io/split/android/client/service/impressions/strategy/NoneTracker.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/strategy/NoneTracker.java rename to main/src/main/java/io/split/android/client/service/impressions/strategy/NoneTracker.java diff --git a/src/main/java/io/split/android/client/service/impressions/strategy/OptimizedStrategy.java b/main/src/main/java/io/split/android/client/service/impressions/strategy/OptimizedStrategy.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/strategy/OptimizedStrategy.java rename to main/src/main/java/io/split/android/client/service/impressions/strategy/OptimizedStrategy.java diff --git a/src/main/java/io/split/android/client/service/impressions/strategy/OptimizedTracker.java b/main/src/main/java/io/split/android/client/service/impressions/strategy/OptimizedTracker.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/strategy/OptimizedTracker.java rename to main/src/main/java/io/split/android/client/service/impressions/strategy/OptimizedTracker.java diff --git a/src/main/java/io/split/android/client/service/impressions/strategy/PeriodicTracker.java b/main/src/main/java/io/split/android/client/service/impressions/strategy/PeriodicTracker.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/strategy/PeriodicTracker.java rename to main/src/main/java/io/split/android/client/service/impressions/strategy/PeriodicTracker.java diff --git a/src/main/java/io/split/android/client/service/impressions/strategy/ProcessStrategy.java b/main/src/main/java/io/split/android/client/service/impressions/strategy/ProcessStrategy.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/strategy/ProcessStrategy.java rename to main/src/main/java/io/split/android/client/service/impressions/strategy/ProcessStrategy.java diff --git a/src/main/java/io/split/android/client/service/impressions/strategy/Utils.java b/main/src/main/java/io/split/android/client/service/impressions/strategy/Utils.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/strategy/Utils.java rename to main/src/main/java/io/split/android/client/service/impressions/strategy/Utils.java diff --git a/src/main/java/io/split/android/client/service/impressions/unique/MTK.java b/main/src/main/java/io/split/android/client/service/impressions/unique/MTK.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/unique/MTK.java rename to main/src/main/java/io/split/android/client/service/impressions/unique/MTK.java diff --git a/src/main/java/io/split/android/client/service/impressions/unique/MTKRequestBodySerializer.java b/main/src/main/java/io/split/android/client/service/impressions/unique/MTKRequestBodySerializer.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/unique/MTKRequestBodySerializer.java rename to main/src/main/java/io/split/android/client/service/impressions/unique/MTKRequestBodySerializer.java diff --git a/src/main/java/io/split/android/client/service/impressions/unique/SaveUniqueImpressionsTask.java b/main/src/main/java/io/split/android/client/service/impressions/unique/SaveUniqueImpressionsTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/unique/SaveUniqueImpressionsTask.java rename to main/src/main/java/io/split/android/client/service/impressions/unique/SaveUniqueImpressionsTask.java diff --git a/src/main/java/io/split/android/client/service/impressions/unique/UniqueKey.java b/main/src/main/java/io/split/android/client/service/impressions/unique/UniqueKey.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/unique/UniqueKey.java rename to main/src/main/java/io/split/android/client/service/impressions/unique/UniqueKey.java diff --git a/src/main/java/io/split/android/client/service/impressions/unique/UniqueKeysRecorderTask.java b/main/src/main/java/io/split/android/client/service/impressions/unique/UniqueKeysRecorderTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/unique/UniqueKeysRecorderTask.java rename to main/src/main/java/io/split/android/client/service/impressions/unique/UniqueKeysRecorderTask.java diff --git a/src/main/java/io/split/android/client/service/impressions/unique/UniqueKeysRecorderTaskConfig.java b/main/src/main/java/io/split/android/client/service/impressions/unique/UniqueKeysRecorderTaskConfig.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/unique/UniqueKeysRecorderTaskConfig.java rename to main/src/main/java/io/split/android/client/service/impressions/unique/UniqueKeysRecorderTaskConfig.java diff --git a/src/main/java/io/split/android/client/service/impressions/unique/UniqueKeysTracker.java b/main/src/main/java/io/split/android/client/service/impressions/unique/UniqueKeysTracker.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/unique/UniqueKeysTracker.java rename to main/src/main/java/io/split/android/client/service/impressions/unique/UniqueKeysTracker.java diff --git a/src/main/java/io/split/android/client/service/impressions/unique/UniqueKeysTrackerImpl.java b/main/src/main/java/io/split/android/client/service/impressions/unique/UniqueKeysTrackerImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/impressions/unique/UniqueKeysTrackerImpl.java rename to main/src/main/java/io/split/android/client/service/impressions/unique/UniqueKeysTrackerImpl.java diff --git a/src/main/java/io/split/android/client/service/mysegments/AllSegmentsResponseParser.java b/main/src/main/java/io/split/android/client/service/mysegments/AllSegmentsResponseParser.java similarity index 100% rename from src/main/java/io/split/android/client/service/mysegments/AllSegmentsResponseParser.java rename to main/src/main/java/io/split/android/client/service/mysegments/AllSegmentsResponseParser.java diff --git a/src/main/java/io/split/android/client/service/mysegments/LoadMySegmentsTask.java b/main/src/main/java/io/split/android/client/service/mysegments/LoadMySegmentsTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/mysegments/LoadMySegmentsTask.java rename to main/src/main/java/io/split/android/client/service/mysegments/LoadMySegmentsTask.java diff --git a/src/main/java/io/split/android/client/service/mysegments/LoadMySegmentsTaskConfig.java b/main/src/main/java/io/split/android/client/service/mysegments/LoadMySegmentsTaskConfig.java similarity index 100% rename from src/main/java/io/split/android/client/service/mysegments/LoadMySegmentsTaskConfig.java rename to main/src/main/java/io/split/android/client/service/mysegments/LoadMySegmentsTaskConfig.java diff --git a/src/main/java/io/split/android/client/service/mysegments/MySegmentUpdateParams.java b/main/src/main/java/io/split/android/client/service/mysegments/MySegmentUpdateParams.java similarity index 100% rename from src/main/java/io/split/android/client/service/mysegments/MySegmentUpdateParams.java rename to main/src/main/java/io/split/android/client/service/mysegments/MySegmentUpdateParams.java diff --git a/src/main/java/io/split/android/client/service/mysegments/MySegmentsBulkSyncTask.java b/main/src/main/java/io/split/android/client/service/mysegments/MySegmentsBulkSyncTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/mysegments/MySegmentsBulkSyncTask.java rename to main/src/main/java/io/split/android/client/service/mysegments/MySegmentsBulkSyncTask.java diff --git a/src/main/java/io/split/android/client/service/mysegments/MySegmentsSyncTask.java b/main/src/main/java/io/split/android/client/service/mysegments/MySegmentsSyncTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/mysegments/MySegmentsSyncTask.java rename to main/src/main/java/io/split/android/client/service/mysegments/MySegmentsSyncTask.java diff --git a/src/main/java/io/split/android/client/service/mysegments/MySegmentsSyncTaskConfig.java b/main/src/main/java/io/split/android/client/service/mysegments/MySegmentsSyncTaskConfig.java similarity index 100% rename from src/main/java/io/split/android/client/service/mysegments/MySegmentsSyncTaskConfig.java rename to main/src/main/java/io/split/android/client/service/mysegments/MySegmentsSyncTaskConfig.java diff --git a/src/main/java/io/split/android/client/service/mysegments/MySegmentsTaskFactory.java b/main/src/main/java/io/split/android/client/service/mysegments/MySegmentsTaskFactory.java similarity index 100% rename from src/main/java/io/split/android/client/service/mysegments/MySegmentsTaskFactory.java rename to main/src/main/java/io/split/android/client/service/mysegments/MySegmentsTaskFactory.java diff --git a/src/main/java/io/split/android/client/service/mysegments/MySegmentsTaskFactoryConfiguration.java b/main/src/main/java/io/split/android/client/service/mysegments/MySegmentsTaskFactoryConfiguration.java similarity index 100% rename from src/main/java/io/split/android/client/service/mysegments/MySegmentsTaskFactoryConfiguration.java rename to main/src/main/java/io/split/android/client/service/mysegments/MySegmentsTaskFactoryConfiguration.java diff --git a/src/main/java/io/split/android/client/service/mysegments/MySegmentsTaskFactoryImpl.java b/main/src/main/java/io/split/android/client/service/mysegments/MySegmentsTaskFactoryImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/mysegments/MySegmentsTaskFactoryImpl.java rename to main/src/main/java/io/split/android/client/service/mysegments/MySegmentsTaskFactoryImpl.java diff --git a/src/main/java/io/split/android/client/service/mysegments/MySegmentsTaskFactoryProvider.java b/main/src/main/java/io/split/android/client/service/mysegments/MySegmentsTaskFactoryProvider.java similarity index 100% rename from src/main/java/io/split/android/client/service/mysegments/MySegmentsTaskFactoryProvider.java rename to main/src/main/java/io/split/android/client/service/mysegments/MySegmentsTaskFactoryProvider.java diff --git a/src/main/java/io/split/android/client/service/mysegments/MySegmentsTaskFactoryProviderImpl.java b/main/src/main/java/io/split/android/client/service/mysegments/MySegmentsTaskFactoryProviderImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/mysegments/MySegmentsTaskFactoryProviderImpl.java rename to main/src/main/java/io/split/android/client/service/mysegments/MySegmentsTaskFactoryProviderImpl.java diff --git a/src/main/java/io/split/android/client/service/mysegments/MySegmentsUpdateTask.java b/main/src/main/java/io/split/android/client/service/mysegments/MySegmentsUpdateTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/mysegments/MySegmentsUpdateTask.java rename to main/src/main/java/io/split/android/client/service/mysegments/MySegmentsUpdateTask.java diff --git a/src/main/java/io/split/android/client/service/mysegments/MySegmentsUpdateTaskConfig.java b/main/src/main/java/io/split/android/client/service/mysegments/MySegmentsUpdateTaskConfig.java similarity index 100% rename from src/main/java/io/split/android/client/service/mysegments/MySegmentsUpdateTaskConfig.java rename to main/src/main/java/io/split/android/client/service/mysegments/MySegmentsUpdateTaskConfig.java diff --git a/src/main/java/io/split/android/client/service/rules/LoadRuleBasedSegmentsTask.java b/main/src/main/java/io/split/android/client/service/rules/LoadRuleBasedSegmentsTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/rules/LoadRuleBasedSegmentsTask.java rename to main/src/main/java/io/split/android/client/service/rules/LoadRuleBasedSegmentsTask.java diff --git a/src/main/java/io/split/android/client/service/rules/ProcessedRuleBasedSegmentChange.java b/main/src/main/java/io/split/android/client/service/rules/ProcessedRuleBasedSegmentChange.java similarity index 100% rename from src/main/java/io/split/android/client/service/rules/ProcessedRuleBasedSegmentChange.java rename to main/src/main/java/io/split/android/client/service/rules/ProcessedRuleBasedSegmentChange.java diff --git a/src/main/java/io/split/android/client/service/rules/RuleBasedSegmentChangeProcessor.java b/main/src/main/java/io/split/android/client/service/rules/RuleBasedSegmentChangeProcessor.java similarity index 100% rename from src/main/java/io/split/android/client/service/rules/RuleBasedSegmentChangeProcessor.java rename to main/src/main/java/io/split/android/client/service/rules/RuleBasedSegmentChangeProcessor.java diff --git a/src/main/java/io/split/android/client/service/rules/RuleBasedSegmentInPlaceUpdateTask.java b/main/src/main/java/io/split/android/client/service/rules/RuleBasedSegmentInPlaceUpdateTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/rules/RuleBasedSegmentInPlaceUpdateTask.java rename to main/src/main/java/io/split/android/client/service/rules/RuleBasedSegmentInPlaceUpdateTask.java diff --git a/src/main/java/io/split/android/client/service/rules/TargetingRulesResponseParser.java b/main/src/main/java/io/split/android/client/service/rules/TargetingRulesResponseParser.java similarity index 100% rename from src/main/java/io/split/android/client/service/rules/TargetingRulesResponseParser.java rename to main/src/main/java/io/split/android/client/service/rules/TargetingRulesResponseParser.java diff --git a/src/main/java/io/split/android/client/service/splits/FeatureFlagProcessStrategy.java b/main/src/main/java/io/split/android/client/service/splits/FeatureFlagProcessStrategy.java similarity index 100% rename from src/main/java/io/split/android/client/service/splits/FeatureFlagProcessStrategy.java rename to main/src/main/java/io/split/android/client/service/splits/FeatureFlagProcessStrategy.java diff --git a/src/main/java/io/split/android/client/service/splits/FilterSplitsInCacheTask.java b/main/src/main/java/io/split/android/client/service/splits/FilterSplitsInCacheTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/splits/FilterSplitsInCacheTask.java rename to main/src/main/java/io/split/android/client/service/splits/FilterSplitsInCacheTask.java diff --git a/src/main/java/io/split/android/client/service/splits/LoadSplitsTask.java b/main/src/main/java/io/split/android/client/service/splits/LoadSplitsTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/splits/LoadSplitsTask.java rename to main/src/main/java/io/split/android/client/service/splits/LoadSplitsTask.java diff --git a/src/main/java/io/split/android/client/service/splits/OutdatedSplitProxyHandler.java b/main/src/main/java/io/split/android/client/service/splits/OutdatedSplitProxyHandler.java similarity index 100% rename from src/main/java/io/split/android/client/service/splits/OutdatedSplitProxyHandler.java rename to main/src/main/java/io/split/android/client/service/splits/OutdatedSplitProxyHandler.java diff --git a/src/main/java/io/split/android/client/service/splits/RuleBasedSegmentInPlaceUpdateTask.java b/main/src/main/java/io/split/android/client/service/splits/RuleBasedSegmentInPlaceUpdateTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/splits/RuleBasedSegmentInPlaceUpdateTask.java rename to main/src/main/java/io/split/android/client/service/splits/RuleBasedSegmentInPlaceUpdateTask.java diff --git a/src/main/java/io/split/android/client/service/splits/SplitChangeProcessor.java b/main/src/main/java/io/split/android/client/service/splits/SplitChangeProcessor.java similarity index 100% rename from src/main/java/io/split/android/client/service/splits/SplitChangeProcessor.java rename to main/src/main/java/io/split/android/client/service/splits/SplitChangeProcessor.java diff --git a/src/main/java/io/split/android/client/service/splits/SplitChangeResponseParser.java b/main/src/main/java/io/split/android/client/service/splits/SplitChangeResponseParser.java similarity index 100% rename from src/main/java/io/split/android/client/service/splits/SplitChangeResponseParser.java rename to main/src/main/java/io/split/android/client/service/splits/SplitChangeResponseParser.java diff --git a/src/main/java/io/split/android/client/service/splits/SplitInPlaceUpdateTask.java b/main/src/main/java/io/split/android/client/service/splits/SplitInPlaceUpdateTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/splits/SplitInPlaceUpdateTask.java rename to main/src/main/java/io/split/android/client/service/splits/SplitInPlaceUpdateTask.java diff --git a/src/main/java/io/split/android/client/service/splits/SplitKillTask.java b/main/src/main/java/io/split/android/client/service/splits/SplitKillTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/splits/SplitKillTask.java rename to main/src/main/java/io/split/android/client/service/splits/SplitKillTask.java diff --git a/src/main/java/io/split/android/client/service/splits/SplitsSyncHelper.java b/main/src/main/java/io/split/android/client/service/splits/SplitsSyncHelper.java similarity index 100% rename from src/main/java/io/split/android/client/service/splits/SplitsSyncHelper.java rename to main/src/main/java/io/split/android/client/service/splits/SplitsSyncHelper.java diff --git a/src/main/java/io/split/android/client/service/splits/SplitsSyncTask.java b/main/src/main/java/io/split/android/client/service/splits/SplitsSyncTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/splits/SplitsSyncTask.java rename to main/src/main/java/io/split/android/client/service/splits/SplitsSyncTask.java diff --git a/src/main/java/io/split/android/client/service/splits/SplitsUpdateTask.java b/main/src/main/java/io/split/android/client/service/splits/SplitsUpdateTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/splits/SplitsUpdateTask.java rename to main/src/main/java/io/split/android/client/service/splits/SplitsUpdateTask.java diff --git a/src/main/java/io/split/android/client/service/splits/TargetingRulesCache.java b/main/src/main/java/io/split/android/client/service/splits/TargetingRulesCache.java similarity index 100% rename from src/main/java/io/split/android/client/service/splits/TargetingRulesCache.java rename to main/src/main/java/io/split/android/client/service/splits/TargetingRulesCache.java diff --git a/src/main/java/io/split/android/client/service/sseauthentication/SseAuthenticationResponseParser.java b/main/src/main/java/io/split/android/client/service/sseauthentication/SseAuthenticationResponseParser.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseauthentication/SseAuthenticationResponseParser.java rename to main/src/main/java/io/split/android/client/service/sseauthentication/SseAuthenticationResponseParser.java diff --git a/src/main/java/io/split/android/client/service/sseclient/BackoffCounter.java b/main/src/main/java/io/split/android/client/service/sseclient/BackoffCounter.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/BackoffCounter.java rename to main/src/main/java/io/split/android/client/service/sseclient/BackoffCounter.java diff --git a/src/main/java/io/split/android/client/service/sseclient/EventStreamParser.java b/main/src/main/java/io/split/android/client/service/sseclient/EventStreamParser.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/EventStreamParser.java rename to main/src/main/java/io/split/android/client/service/sseclient/EventStreamParser.java diff --git a/src/main/java/io/split/android/client/service/sseclient/FixedIntervalBackoffCounter.java b/main/src/main/java/io/split/android/client/service/sseclient/FixedIntervalBackoffCounter.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/FixedIntervalBackoffCounter.java rename to main/src/main/java/io/split/android/client/service/sseclient/FixedIntervalBackoffCounter.java diff --git a/src/main/java/io/split/android/client/service/sseclient/InvalidJwtTokenException.java b/main/src/main/java/io/split/android/client/service/sseclient/InvalidJwtTokenException.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/InvalidJwtTokenException.java rename to main/src/main/java/io/split/android/client/service/sseclient/InvalidJwtTokenException.java diff --git a/src/main/java/io/split/android/client/service/sseclient/ReconnectBackoffCounter.java b/main/src/main/java/io/split/android/client/service/sseclient/ReconnectBackoffCounter.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/ReconnectBackoffCounter.java rename to main/src/main/java/io/split/android/client/service/sseclient/ReconnectBackoffCounter.java diff --git a/src/main/java/io/split/android/client/service/sseclient/SseAuthToken.java b/main/src/main/java/io/split/android/client/service/sseclient/SseAuthToken.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/SseAuthToken.java rename to main/src/main/java/io/split/android/client/service/sseclient/SseAuthToken.java diff --git a/src/main/java/io/split/android/client/service/sseclient/SseAuthenticationResponse.java b/main/src/main/java/io/split/android/client/service/sseclient/SseAuthenticationResponse.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/SseAuthenticationResponse.java rename to main/src/main/java/io/split/android/client/service/sseclient/SseAuthenticationResponse.java diff --git a/src/main/java/io/split/android/client/service/sseclient/SseJwtParser.java b/main/src/main/java/io/split/android/client/service/sseclient/SseJwtParser.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/SseJwtParser.java rename to main/src/main/java/io/split/android/client/service/sseclient/SseJwtParser.java diff --git a/src/main/java/io/split/android/client/service/sseclient/SseJwtToken.java b/main/src/main/java/io/split/android/client/service/sseclient/SseJwtToken.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/SseJwtToken.java rename to main/src/main/java/io/split/android/client/service/sseclient/SseJwtToken.java diff --git a/src/main/java/io/split/android/client/service/sseclient/feedbackchannel/BroadcastedEventListener.java b/main/src/main/java/io/split/android/client/service/sseclient/feedbackchannel/BroadcastedEventListener.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/feedbackchannel/BroadcastedEventListener.java rename to main/src/main/java/io/split/android/client/service/sseclient/feedbackchannel/BroadcastedEventListener.java diff --git a/src/main/java/io/split/android/client/service/sseclient/feedbackchannel/DelayStatusEvent.java b/main/src/main/java/io/split/android/client/service/sseclient/feedbackchannel/DelayStatusEvent.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/feedbackchannel/DelayStatusEvent.java rename to main/src/main/java/io/split/android/client/service/sseclient/feedbackchannel/DelayStatusEvent.java diff --git a/src/main/java/io/split/android/client/service/sseclient/feedbackchannel/PushManagerEventBroadcaster.java b/main/src/main/java/io/split/android/client/service/sseclient/feedbackchannel/PushManagerEventBroadcaster.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/feedbackchannel/PushManagerEventBroadcaster.java rename to main/src/main/java/io/split/android/client/service/sseclient/feedbackchannel/PushManagerEventBroadcaster.java diff --git a/src/main/java/io/split/android/client/service/sseclient/feedbackchannel/PushStatusEvent.java b/main/src/main/java/io/split/android/client/service/sseclient/feedbackchannel/PushStatusEvent.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/feedbackchannel/PushStatusEvent.java rename to main/src/main/java/io/split/android/client/service/sseclient/feedbackchannel/PushStatusEvent.java diff --git a/src/main/java/io/split/android/client/service/sseclient/notifications/ControlNotification.java b/main/src/main/java/io/split/android/client/service/sseclient/notifications/ControlNotification.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/notifications/ControlNotification.java rename to main/src/main/java/io/split/android/client/service/sseclient/notifications/ControlNotification.java diff --git a/src/main/java/io/split/android/client/service/sseclient/notifications/HashingAlgorithm.java b/main/src/main/java/io/split/android/client/service/sseclient/notifications/HashingAlgorithm.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/notifications/HashingAlgorithm.java rename to main/src/main/java/io/split/android/client/service/sseclient/notifications/HashingAlgorithm.java diff --git a/src/main/java/io/split/android/client/service/sseclient/notifications/IncomingNotification.java b/main/src/main/java/io/split/android/client/service/sseclient/notifications/IncomingNotification.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/notifications/IncomingNotification.java rename to main/src/main/java/io/split/android/client/service/sseclient/notifications/IncomingNotification.java diff --git a/src/main/java/io/split/android/client/service/sseclient/notifications/IncomingNotificationType.java b/main/src/main/java/io/split/android/client/service/sseclient/notifications/IncomingNotificationType.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/notifications/IncomingNotificationType.java rename to main/src/main/java/io/split/android/client/service/sseclient/notifications/IncomingNotificationType.java diff --git a/src/main/java/io/split/android/client/service/sseclient/notifications/InstantUpdateChangeNotification.java b/main/src/main/java/io/split/android/client/service/sseclient/notifications/InstantUpdateChangeNotification.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/notifications/InstantUpdateChangeNotification.java rename to main/src/main/java/io/split/android/client/service/sseclient/notifications/InstantUpdateChangeNotification.java diff --git a/src/main/java/io/split/android/client/service/sseclient/notifications/KeyList.java b/main/src/main/java/io/split/android/client/service/sseclient/notifications/KeyList.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/notifications/KeyList.java rename to main/src/main/java/io/split/android/client/service/sseclient/notifications/KeyList.java diff --git a/src/main/java/io/split/android/client/service/sseclient/notifications/MembershipNotification.java b/main/src/main/java/io/split/android/client/service/sseclient/notifications/MembershipNotification.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/notifications/MembershipNotification.java rename to main/src/main/java/io/split/android/client/service/sseclient/notifications/MembershipNotification.java diff --git a/src/main/java/io/split/android/client/service/sseclient/notifications/MySegmentUpdateStrategy.java b/main/src/main/java/io/split/android/client/service/sseclient/notifications/MySegmentUpdateStrategy.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/notifications/MySegmentUpdateStrategy.java rename to main/src/main/java/io/split/android/client/service/sseclient/notifications/MySegmentUpdateStrategy.java diff --git a/src/main/java/io/split/android/client/service/sseclient/notifications/MySegmentsV2PayloadDecoder.java b/main/src/main/java/io/split/android/client/service/sseclient/notifications/MySegmentsV2PayloadDecoder.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/notifications/MySegmentsV2PayloadDecoder.java rename to main/src/main/java/io/split/android/client/service/sseclient/notifications/MySegmentsV2PayloadDecoder.java diff --git a/src/main/java/io/split/android/client/service/sseclient/notifications/NotificationParser.java b/main/src/main/java/io/split/android/client/service/sseclient/notifications/NotificationParser.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/notifications/NotificationParser.java rename to main/src/main/java/io/split/android/client/service/sseclient/notifications/NotificationParser.java diff --git a/src/main/java/io/split/android/client/service/sseclient/notifications/NotificationProcessor.java b/main/src/main/java/io/split/android/client/service/sseclient/notifications/NotificationProcessor.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/notifications/NotificationProcessor.java rename to main/src/main/java/io/split/android/client/service/sseclient/notifications/NotificationProcessor.java diff --git a/src/main/java/io/split/android/client/service/sseclient/notifications/NotificationType.java b/main/src/main/java/io/split/android/client/service/sseclient/notifications/NotificationType.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/notifications/NotificationType.java rename to main/src/main/java/io/split/android/client/service/sseclient/notifications/NotificationType.java diff --git a/src/main/java/io/split/android/client/service/sseclient/notifications/OccupancyNotification.java b/main/src/main/java/io/split/android/client/service/sseclient/notifications/OccupancyNotification.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/notifications/OccupancyNotification.java rename to main/src/main/java/io/split/android/client/service/sseclient/notifications/OccupancyNotification.java diff --git a/src/main/java/io/split/android/client/service/sseclient/notifications/RawNotification.java b/main/src/main/java/io/split/android/client/service/sseclient/notifications/RawNotification.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/notifications/RawNotification.java rename to main/src/main/java/io/split/android/client/service/sseclient/notifications/RawNotification.java diff --git a/src/main/java/io/split/android/client/service/sseclient/notifications/RuleBasedSegmentChangeNotification.java b/main/src/main/java/io/split/android/client/service/sseclient/notifications/RuleBasedSegmentChangeNotification.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/notifications/RuleBasedSegmentChangeNotification.java rename to main/src/main/java/io/split/android/client/service/sseclient/notifications/RuleBasedSegmentChangeNotification.java diff --git a/src/main/java/io/split/android/client/service/sseclient/notifications/SplitKillNotification.java b/main/src/main/java/io/split/android/client/service/sseclient/notifications/SplitKillNotification.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/notifications/SplitKillNotification.java rename to main/src/main/java/io/split/android/client/service/sseclient/notifications/SplitKillNotification.java diff --git a/src/main/java/io/split/android/client/service/sseclient/notifications/SplitsChangeNotification.java b/main/src/main/java/io/split/android/client/service/sseclient/notifications/SplitsChangeNotification.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/notifications/SplitsChangeNotification.java rename to main/src/main/java/io/split/android/client/service/sseclient/notifications/SplitsChangeNotification.java diff --git a/src/main/java/io/split/android/client/service/sseclient/notifications/StreamingError.java b/main/src/main/java/io/split/android/client/service/sseclient/notifications/StreamingError.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/notifications/StreamingError.java rename to main/src/main/java/io/split/android/client/service/sseclient/notifications/StreamingError.java diff --git a/src/main/java/io/split/android/client/service/sseclient/notifications/memberships/MembershipsNotificationProcessor.java b/main/src/main/java/io/split/android/client/service/sseclient/notifications/memberships/MembershipsNotificationProcessor.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/notifications/memberships/MembershipsNotificationProcessor.java rename to main/src/main/java/io/split/android/client/service/sseclient/notifications/memberships/MembershipsNotificationProcessor.java diff --git a/src/main/java/io/split/android/client/service/sseclient/notifications/memberships/MembershipsNotificationProcessorImpl.java b/main/src/main/java/io/split/android/client/service/sseclient/notifications/memberships/MembershipsNotificationProcessorImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/notifications/memberships/MembershipsNotificationProcessorImpl.java rename to main/src/main/java/io/split/android/client/service/sseclient/notifications/memberships/MembershipsNotificationProcessorImpl.java diff --git a/src/main/java/io/split/android/client/service/sseclient/notifications/mysegments/MembershipsNotificationProcessorFactory.java b/main/src/main/java/io/split/android/client/service/sseclient/notifications/mysegments/MembershipsNotificationProcessorFactory.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/notifications/mysegments/MembershipsNotificationProcessorFactory.java rename to main/src/main/java/io/split/android/client/service/sseclient/notifications/mysegments/MembershipsNotificationProcessorFactory.java diff --git a/src/main/java/io/split/android/client/service/sseclient/notifications/mysegments/MembershipsNotificationProcessorFactoryImpl.java b/main/src/main/java/io/split/android/client/service/sseclient/notifications/mysegments/MembershipsNotificationProcessorFactoryImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/notifications/mysegments/MembershipsNotificationProcessorFactoryImpl.java rename to main/src/main/java/io/split/android/client/service/sseclient/notifications/mysegments/MembershipsNotificationProcessorFactoryImpl.java diff --git a/src/main/java/io/split/android/client/service/sseclient/notifications/mysegments/MySegmentsNotificationProcessorConfiguration.java b/main/src/main/java/io/split/android/client/service/sseclient/notifications/mysegments/MySegmentsNotificationProcessorConfiguration.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/notifications/mysegments/MySegmentsNotificationProcessorConfiguration.java rename to main/src/main/java/io/split/android/client/service/sseclient/notifications/mysegments/MySegmentsNotificationProcessorConfiguration.java diff --git a/src/main/java/io/split/android/client/service/sseclient/notifications/mysegments/MySegmentsNotificationProcessorRegistry.java b/main/src/main/java/io/split/android/client/service/sseclient/notifications/mysegments/MySegmentsNotificationProcessorRegistry.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/notifications/mysegments/MySegmentsNotificationProcessorRegistry.java rename to main/src/main/java/io/split/android/client/service/sseclient/notifications/mysegments/MySegmentsNotificationProcessorRegistry.java diff --git a/src/main/java/io/split/android/client/service/sseclient/notifications/mysegments/SyncDelayCalculator.java b/main/src/main/java/io/split/android/client/service/sseclient/notifications/mysegments/SyncDelayCalculator.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/notifications/mysegments/SyncDelayCalculator.java rename to main/src/main/java/io/split/android/client/service/sseclient/notifications/mysegments/SyncDelayCalculator.java diff --git a/src/main/java/io/split/android/client/service/sseclient/notifications/mysegments/SyncDelayCalculatorImpl.java b/main/src/main/java/io/split/android/client/service/sseclient/notifications/mysegments/SyncDelayCalculatorImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/notifications/mysegments/SyncDelayCalculatorImpl.java rename to main/src/main/java/io/split/android/client/service/sseclient/notifications/mysegments/SyncDelayCalculatorImpl.java diff --git a/src/main/java/io/split/android/client/service/sseclient/reactor/MySegmentsUpdateWorker.java b/main/src/main/java/io/split/android/client/service/sseclient/reactor/MySegmentsUpdateWorker.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/reactor/MySegmentsUpdateWorker.java rename to main/src/main/java/io/split/android/client/service/sseclient/reactor/MySegmentsUpdateWorker.java diff --git a/src/main/java/io/split/android/client/service/sseclient/reactor/MySegmentsUpdateWorkerRegistry.java b/main/src/main/java/io/split/android/client/service/sseclient/reactor/MySegmentsUpdateWorkerRegistry.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/reactor/MySegmentsUpdateWorkerRegistry.java rename to main/src/main/java/io/split/android/client/service/sseclient/reactor/MySegmentsUpdateWorkerRegistry.java diff --git a/src/main/java/io/split/android/client/service/sseclient/reactor/MySegmentsUpdateWorkerRegistryImpl.java b/main/src/main/java/io/split/android/client/service/sseclient/reactor/MySegmentsUpdateWorkerRegistryImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/reactor/MySegmentsUpdateWorkerRegistryImpl.java rename to main/src/main/java/io/split/android/client/service/sseclient/reactor/MySegmentsUpdateWorkerRegistryImpl.java diff --git a/src/main/java/io/split/android/client/service/sseclient/reactor/SplitUpdatesWorker.java b/main/src/main/java/io/split/android/client/service/sseclient/reactor/SplitUpdatesWorker.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/reactor/SplitUpdatesWorker.java rename to main/src/main/java/io/split/android/client/service/sseclient/reactor/SplitUpdatesWorker.java diff --git a/src/main/java/io/split/android/client/service/sseclient/reactor/UpdateWorker.java b/main/src/main/java/io/split/android/client/service/sseclient/reactor/UpdateWorker.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/reactor/UpdateWorker.java rename to main/src/main/java/io/split/android/client/service/sseclient/reactor/UpdateWorker.java diff --git a/src/main/java/io/split/android/client/service/sseclient/sseclient/BackoffCounterTimer.java b/main/src/main/java/io/split/android/client/service/sseclient/sseclient/BackoffCounterTimer.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/sseclient/BackoffCounterTimer.java rename to main/src/main/java/io/split/android/client/service/sseclient/sseclient/BackoffCounterTimer.java diff --git a/src/main/java/io/split/android/client/service/sseclient/sseclient/NotificationManagerKeeper.java b/main/src/main/java/io/split/android/client/service/sseclient/sseclient/NotificationManagerKeeper.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/sseclient/NotificationManagerKeeper.java rename to main/src/main/java/io/split/android/client/service/sseclient/sseclient/NotificationManagerKeeper.java diff --git a/src/main/java/io/split/android/client/service/sseclient/sseclient/PushNotificationManager.java b/main/src/main/java/io/split/android/client/service/sseclient/sseclient/PushNotificationManager.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/sseclient/PushNotificationManager.java rename to main/src/main/java/io/split/android/client/service/sseclient/sseclient/PushNotificationManager.java diff --git a/src/main/java/io/split/android/client/service/sseclient/sseclient/PushNotificationManagerDeferredStartTask.java b/main/src/main/java/io/split/android/client/service/sseclient/sseclient/PushNotificationManagerDeferredStartTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/sseclient/PushNotificationManagerDeferredStartTask.java rename to main/src/main/java/io/split/android/client/service/sseclient/sseclient/PushNotificationManagerDeferredStartTask.java diff --git a/src/main/java/io/split/android/client/service/sseclient/sseclient/RetryBackoffCounterTimer.java b/main/src/main/java/io/split/android/client/service/sseclient/sseclient/RetryBackoffCounterTimer.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/sseclient/RetryBackoffCounterTimer.java rename to main/src/main/java/io/split/android/client/service/sseclient/sseclient/RetryBackoffCounterTimer.java diff --git a/src/main/java/io/split/android/client/service/sseclient/sseclient/SseAuthenticationResult.java b/main/src/main/java/io/split/android/client/service/sseclient/sseclient/SseAuthenticationResult.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/sseclient/SseAuthenticationResult.java rename to main/src/main/java/io/split/android/client/service/sseclient/sseclient/SseAuthenticationResult.java diff --git a/src/main/java/io/split/android/client/service/sseclient/sseclient/SseAuthenticator.java b/main/src/main/java/io/split/android/client/service/sseclient/sseclient/SseAuthenticator.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/sseclient/SseAuthenticator.java rename to main/src/main/java/io/split/android/client/service/sseclient/sseclient/SseAuthenticator.java diff --git a/src/main/java/io/split/android/client/service/sseclient/sseclient/SseClient.java b/main/src/main/java/io/split/android/client/service/sseclient/sseclient/SseClient.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/sseclient/SseClient.java rename to main/src/main/java/io/split/android/client/service/sseclient/sseclient/SseClient.java diff --git a/src/main/java/io/split/android/client/service/sseclient/sseclient/SseClientImpl.java b/main/src/main/java/io/split/android/client/service/sseclient/sseclient/SseClientImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/sseclient/SseClientImpl.java rename to main/src/main/java/io/split/android/client/service/sseclient/sseclient/SseClientImpl.java diff --git a/src/main/java/io/split/android/client/service/sseclient/sseclient/SseDisconnectionTimer.java b/main/src/main/java/io/split/android/client/service/sseclient/sseclient/SseDisconnectionTimer.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/sseclient/SseDisconnectionTimer.java rename to main/src/main/java/io/split/android/client/service/sseclient/sseclient/SseDisconnectionTimer.java diff --git a/src/main/java/io/split/android/client/service/sseclient/sseclient/SseHandler.java b/main/src/main/java/io/split/android/client/service/sseclient/sseclient/SseHandler.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/sseclient/SseHandler.java rename to main/src/main/java/io/split/android/client/service/sseclient/sseclient/SseHandler.java diff --git a/src/main/java/io/split/android/client/service/sseclient/sseclient/SseRefreshTokenTimer.java b/main/src/main/java/io/split/android/client/service/sseclient/sseclient/SseRefreshTokenTimer.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/sseclient/SseRefreshTokenTimer.java rename to main/src/main/java/io/split/android/client/service/sseclient/sseclient/SseRefreshTokenTimer.java diff --git a/src/main/java/io/split/android/client/service/sseclient/sseclient/StreamingComponents.java b/main/src/main/java/io/split/android/client/service/sseclient/sseclient/StreamingComponents.java similarity index 100% rename from src/main/java/io/split/android/client/service/sseclient/sseclient/StreamingComponents.java rename to main/src/main/java/io/split/android/client/service/sseclient/sseclient/StreamingComponents.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/FeatureFlagsSynchronizer.java b/main/src/main/java/io/split/android/client/service/synchronizer/FeatureFlagsSynchronizer.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/FeatureFlagsSynchronizer.java rename to main/src/main/java/io/split/android/client/service/synchronizer/FeatureFlagsSynchronizer.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/FeatureFlagsSynchronizerImpl.java b/main/src/main/java/io/split/android/client/service/synchronizer/FeatureFlagsSynchronizerImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/FeatureFlagsSynchronizerImpl.java rename to main/src/main/java/io/split/android/client/service/synchronizer/FeatureFlagsSynchronizerImpl.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/LoadLocalDataListener.java b/main/src/main/java/io/split/android/client/service/synchronizer/LoadLocalDataListener.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/LoadLocalDataListener.java rename to main/src/main/java/io/split/android/client/service/synchronizer/LoadLocalDataListener.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/MySegmentsChangeChecker.java b/main/src/main/java/io/split/android/client/service/synchronizer/MySegmentsChangeChecker.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/MySegmentsChangeChecker.java rename to main/src/main/java/io/split/android/client/service/synchronizer/MySegmentsChangeChecker.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/RecorderSyncHelper.java b/main/src/main/java/io/split/android/client/service/synchronizer/RecorderSyncHelper.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/RecorderSyncHelper.java rename to main/src/main/java/io/split/android/client/service/synchronizer/RecorderSyncHelper.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/RecorderSyncHelperImpl.java b/main/src/main/java/io/split/android/client/service/synchronizer/RecorderSyncHelperImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/RecorderSyncHelperImpl.java rename to main/src/main/java/io/split/android/client/service/synchronizer/RecorderSyncHelperImpl.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/RolloutCacheManager.java b/main/src/main/java/io/split/android/client/service/synchronizer/RolloutCacheManager.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/RolloutCacheManager.java rename to main/src/main/java/io/split/android/client/service/synchronizer/RolloutCacheManager.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/RolloutCacheManagerImpl.java b/main/src/main/java/io/split/android/client/service/synchronizer/RolloutCacheManagerImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/RolloutCacheManagerImpl.java rename to main/src/main/java/io/split/android/client/service/synchronizer/RolloutCacheManagerImpl.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/SplitsChangeChecker.java b/main/src/main/java/io/split/android/client/service/synchronizer/SplitsChangeChecker.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/SplitsChangeChecker.java rename to main/src/main/java/io/split/android/client/service/synchronizer/SplitsChangeChecker.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/SyncGuardian.java b/main/src/main/java/io/split/android/client/service/synchronizer/SyncGuardian.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/SyncGuardian.java rename to main/src/main/java/io/split/android/client/service/synchronizer/SyncGuardian.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/SyncGuardianImpl.java b/main/src/main/java/io/split/android/client/service/synchronizer/SyncGuardianImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/SyncGuardianImpl.java rename to main/src/main/java/io/split/android/client/service/synchronizer/SyncGuardianImpl.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/SyncManager.java b/main/src/main/java/io/split/android/client/service/synchronizer/SyncManager.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/SyncManager.java rename to main/src/main/java/io/split/android/client/service/synchronizer/SyncManager.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/SyncManagerImpl.java b/main/src/main/java/io/split/android/client/service/synchronizer/SyncManagerImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/SyncManagerImpl.java rename to main/src/main/java/io/split/android/client/service/synchronizer/SyncManagerImpl.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/Synchronizer.java b/main/src/main/java/io/split/android/client/service/synchronizer/Synchronizer.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/Synchronizer.java rename to main/src/main/java/io/split/android/client/service/synchronizer/Synchronizer.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/SynchronizerImpl.java b/main/src/main/java/io/split/android/client/service/synchronizer/SynchronizerImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/SynchronizerImpl.java rename to main/src/main/java/io/split/android/client/service/synchronizer/SynchronizerImpl.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/SynchronizerSpy.java b/main/src/main/java/io/split/android/client/service/synchronizer/SynchronizerSpy.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/SynchronizerSpy.java rename to main/src/main/java/io/split/android/client/service/synchronizer/SynchronizerSpy.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/ThreadUtils.java b/main/src/main/java/io/split/android/client/service/synchronizer/ThreadUtils.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/ThreadUtils.java rename to main/src/main/java/io/split/android/client/service/synchronizer/ThreadUtils.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/WorkManagerWrapper.java b/main/src/main/java/io/split/android/client/service/synchronizer/WorkManagerWrapper.java similarity index 99% rename from src/main/java/io/split/android/client/service/synchronizer/WorkManagerWrapper.java rename to main/src/main/java/io/split/android/client/service/synchronizer/WorkManagerWrapper.java index ca3761bca..2b86786fd 100644 --- a/src/main/java/io/split/android/client/service/synchronizer/WorkManagerWrapper.java +++ b/main/src/main/java/io/split/android/client/service/synchronizer/WorkManagerWrapper.java @@ -22,7 +22,7 @@ import java.util.Set; import java.util.concurrent.TimeUnit; -import io.split.android.android_client.BuildConfig; +import io.split.android.client.main.BuildConfig; import io.split.android.client.SplitClientConfig; import io.split.android.client.SplitFilter; import io.split.android.client.network.CertificatePin; diff --git a/src/main/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizer.java b/main/src/main/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizer.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizer.java rename to main/src/main/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizer.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerFactory.java b/main/src/main/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerFactory.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerFactory.java rename to main/src/main/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerFactory.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerFactoryImpl.java b/main/src/main/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerFactoryImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerFactoryImpl.java rename to main/src/main/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerFactoryImpl.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerImpl.java b/main/src/main/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerImpl.java rename to main/src/main/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerImpl.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerRegistry.java b/main/src/main/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerRegistry.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerRegistry.java rename to main/src/main/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerRegistry.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerRegistryImpl.java b/main/src/main/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerRegistryImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerRegistryImpl.java rename to main/src/main/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerRegistryImpl.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsBackgroundSyncScheduleTask.java b/main/src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsBackgroundSyncScheduleTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsBackgroundSyncScheduleTask.java rename to main/src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsBackgroundSyncScheduleTask.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizer.java b/main/src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizer.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizer.java rename to main/src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizer.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerFactory.java b/main/src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerFactory.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerFactory.java rename to main/src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerFactory.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerFactoryImpl.java b/main/src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerFactoryImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerFactoryImpl.java rename to main/src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerFactoryImpl.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerImpl.java b/main/src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerImpl.java rename to main/src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerImpl.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerRegistry.java b/main/src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerRegistry.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerRegistry.java rename to main/src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerRegistry.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerRegistryImpl.java b/main/src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerRegistryImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerRegistryImpl.java rename to main/src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerRegistryImpl.java diff --git a/src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsWorkManagerWrapper.java b/main/src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsWorkManagerWrapper.java similarity index 100% rename from src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsWorkManagerWrapper.java rename to main/src/main/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsWorkManagerWrapper.java diff --git a/src/main/java/io/split/android/client/service/telemetry/TelemetryConfigRecorderTask.java b/main/src/main/java/io/split/android/client/service/telemetry/TelemetryConfigRecorderTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/telemetry/TelemetryConfigRecorderTask.java rename to main/src/main/java/io/split/android/client/service/telemetry/TelemetryConfigRecorderTask.java diff --git a/src/main/java/io/split/android/client/service/telemetry/TelemetryStatsRecorderTask.java b/main/src/main/java/io/split/android/client/service/telemetry/TelemetryStatsRecorderTask.java similarity index 100% rename from src/main/java/io/split/android/client/service/telemetry/TelemetryStatsRecorderTask.java rename to main/src/main/java/io/split/android/client/service/telemetry/TelemetryStatsRecorderTask.java diff --git a/src/main/java/io/split/android/client/service/telemetry/TelemetryTaskFactory.java b/main/src/main/java/io/split/android/client/service/telemetry/TelemetryTaskFactory.java similarity index 100% rename from src/main/java/io/split/android/client/service/telemetry/TelemetryTaskFactory.java rename to main/src/main/java/io/split/android/client/service/telemetry/TelemetryTaskFactory.java diff --git a/src/main/java/io/split/android/client/service/telemetry/TelemetryTaskFactoryImpl.java b/main/src/main/java/io/split/android/client/service/telemetry/TelemetryTaskFactoryImpl.java similarity index 100% rename from src/main/java/io/split/android/client/service/telemetry/TelemetryTaskFactoryImpl.java rename to main/src/main/java/io/split/android/client/service/telemetry/TelemetryTaskFactoryImpl.java diff --git a/src/main/java/io/split/android/client/service/workmanager/BaseSegmentsSyncWorker.java b/main/src/main/java/io/split/android/client/service/workmanager/BaseSegmentsSyncWorker.java similarity index 100% rename from src/main/java/io/split/android/client/service/workmanager/BaseSegmentsSyncWorker.java rename to main/src/main/java/io/split/android/client/service/workmanager/BaseSegmentsSyncWorker.java diff --git a/src/main/java/io/split/android/client/service/workmanager/EventsRecorderWorker.java b/main/src/main/java/io/split/android/client/service/workmanager/EventsRecorderWorker.java similarity index 100% rename from src/main/java/io/split/android/client/service/workmanager/EventsRecorderWorker.java rename to main/src/main/java/io/split/android/client/service/workmanager/EventsRecorderWorker.java diff --git a/src/main/java/io/split/android/client/service/workmanager/HttpClientProvider.java b/main/src/main/java/io/split/android/client/service/workmanager/HttpClientProvider.java similarity index 99% rename from src/main/java/io/split/android/client/service/workmanager/HttpClientProvider.java rename to main/src/main/java/io/split/android/client/service/workmanager/HttpClientProvider.java index ed4a2cdb2..2d7e7119d 100644 --- a/src/main/java/io/split/android/client/service/workmanager/HttpClientProvider.java +++ b/main/src/main/java/io/split/android/client/service/workmanager/HttpClientProvider.java @@ -6,7 +6,7 @@ import java.io.InputStream; import java.nio.charset.StandardCharsets; -import io.split.android.android_client.BuildConfig; +import io.split.android.client.main.BuildConfig; import io.split.android.client.dtos.HttpProxyDto; import io.split.android.client.network.BasicCredentialsProvider; import io.split.android.client.network.BearerCredentialsProvider; diff --git a/src/main/java/io/split/android/client/service/workmanager/ImpressionsRecorderWorker.java b/main/src/main/java/io/split/android/client/service/workmanager/ImpressionsRecorderWorker.java similarity index 100% rename from src/main/java/io/split/android/client/service/workmanager/ImpressionsRecorderWorker.java rename to main/src/main/java/io/split/android/client/service/workmanager/ImpressionsRecorderWorker.java diff --git a/src/main/java/io/split/android/client/service/workmanager/MySegmentsSyncWorker.java b/main/src/main/java/io/split/android/client/service/workmanager/MySegmentsSyncWorker.java similarity index 100% rename from src/main/java/io/split/android/client/service/workmanager/MySegmentsSyncWorker.java rename to main/src/main/java/io/split/android/client/service/workmanager/MySegmentsSyncWorker.java diff --git a/src/main/java/io/split/android/client/service/workmanager/SplitWorker.java b/main/src/main/java/io/split/android/client/service/workmanager/SplitWorker.java similarity index 100% rename from src/main/java/io/split/android/client/service/workmanager/SplitWorker.java rename to main/src/main/java/io/split/android/client/service/workmanager/SplitWorker.java diff --git a/src/main/java/io/split/android/client/service/workmanager/UniqueKeysRecorderWorker.java b/main/src/main/java/io/split/android/client/service/workmanager/UniqueKeysRecorderWorker.java similarity index 100% rename from src/main/java/io/split/android/client/service/workmanager/UniqueKeysRecorderWorker.java rename to main/src/main/java/io/split/android/client/service/workmanager/UniqueKeysRecorderWorker.java diff --git a/src/main/java/io/split/android/client/service/workmanager/splits/FetcherProvider.java b/main/src/main/java/io/split/android/client/service/workmanager/splits/FetcherProvider.java similarity index 100% rename from src/main/java/io/split/android/client/service/workmanager/splits/FetcherProvider.java rename to main/src/main/java/io/split/android/client/service/workmanager/splits/FetcherProvider.java diff --git a/src/main/java/io/split/android/client/service/workmanager/splits/SplitChangeProcessorProvider.java b/main/src/main/java/io/split/android/client/service/workmanager/splits/SplitChangeProcessorProvider.java similarity index 100% rename from src/main/java/io/split/android/client/service/workmanager/splits/SplitChangeProcessorProvider.java rename to main/src/main/java/io/split/android/client/service/workmanager/splits/SplitChangeProcessorProvider.java diff --git a/src/main/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorker.java b/main/src/main/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorker.java similarity index 100% rename from src/main/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorker.java rename to main/src/main/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorker.java diff --git a/src/main/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorkerFilterBuilder.java b/main/src/main/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorkerFilterBuilder.java similarity index 100% rename from src/main/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorkerFilterBuilder.java rename to main/src/main/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorkerFilterBuilder.java diff --git a/src/main/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorkerParams.java b/main/src/main/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorkerParams.java similarity index 100% rename from src/main/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorkerParams.java rename to main/src/main/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorkerParams.java diff --git a/src/main/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorkerTaskBuilder.java b/main/src/main/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorkerTaskBuilder.java similarity index 100% rename from src/main/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorkerTaskBuilder.java rename to main/src/main/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorkerTaskBuilder.java diff --git a/src/main/java/io/split/android/client/service/workmanager/splits/StorageProvider.java b/main/src/main/java/io/split/android/client/service/workmanager/splits/StorageProvider.java similarity index 100% rename from src/main/java/io/split/android/client/service/workmanager/splits/StorageProvider.java rename to main/src/main/java/io/split/android/client/service/workmanager/splits/StorageProvider.java diff --git a/src/main/java/io/split/android/client/service/workmanager/splits/SyncHelperProvider.java b/main/src/main/java/io/split/android/client/service/workmanager/splits/SyncHelperProvider.java similarity index 100% rename from src/main/java/io/split/android/client/service/workmanager/splits/SyncHelperProvider.java rename to main/src/main/java/io/split/android/client/service/workmanager/splits/SyncHelperProvider.java diff --git a/src/main/java/io/split/android/client/shared/BaseSplitClientContainer.java b/main/src/main/java/io/split/android/client/shared/BaseSplitClientContainer.java similarity index 100% rename from src/main/java/io/split/android/client/shared/BaseSplitClientContainer.java rename to main/src/main/java/io/split/android/client/shared/BaseSplitClientContainer.java diff --git a/src/main/java/io/split/android/client/shared/ClientComponentsRegister.java b/main/src/main/java/io/split/android/client/shared/ClientComponentsRegister.java similarity index 100% rename from src/main/java/io/split/android/client/shared/ClientComponentsRegister.java rename to main/src/main/java/io/split/android/client/shared/ClientComponentsRegister.java diff --git a/src/main/java/io/split/android/client/shared/ClientComponentsRegisterImpl.java b/main/src/main/java/io/split/android/client/shared/ClientComponentsRegisterImpl.java similarity index 100% rename from src/main/java/io/split/android/client/shared/ClientComponentsRegisterImpl.java rename to main/src/main/java/io/split/android/client/shared/ClientComponentsRegisterImpl.java diff --git a/src/main/java/io/split/android/client/shared/SplitClientContainer.java b/main/src/main/java/io/split/android/client/shared/SplitClientContainer.java similarity index 100% rename from src/main/java/io/split/android/client/shared/SplitClientContainer.java rename to main/src/main/java/io/split/android/client/shared/SplitClientContainer.java diff --git a/src/main/java/io/split/android/client/shared/SplitClientContainerImpl.java b/main/src/main/java/io/split/android/client/shared/SplitClientContainerImpl.java similarity index 100% rename from src/main/java/io/split/android/client/shared/SplitClientContainerImpl.java rename to main/src/main/java/io/split/android/client/shared/SplitClientContainerImpl.java diff --git a/src/main/java/io/split/android/client/shared/UserConsent.java b/main/src/main/java/io/split/android/client/shared/UserConsent.java similarity index 100% rename from src/main/java/io/split/android/client/shared/UserConsent.java rename to main/src/main/java/io/split/android/client/shared/UserConsent.java diff --git a/src/main/java/io/split/android/client/storage/RolloutDefinitionsCache.java b/main/src/main/java/io/split/android/client/storage/RolloutDefinitionsCache.java similarity index 100% rename from src/main/java/io/split/android/client/storage/RolloutDefinitionsCache.java rename to main/src/main/java/io/split/android/client/storage/RolloutDefinitionsCache.java diff --git a/src/main/java/io/split/android/client/storage/attributes/AttributesStorage.java b/main/src/main/java/io/split/android/client/storage/attributes/AttributesStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/attributes/AttributesStorage.java rename to main/src/main/java/io/split/android/client/storage/attributes/AttributesStorage.java diff --git a/src/main/java/io/split/android/client/storage/attributes/AttributesStorageContainer.java b/main/src/main/java/io/split/android/client/storage/attributes/AttributesStorageContainer.java similarity index 100% rename from src/main/java/io/split/android/client/storage/attributes/AttributesStorageContainer.java rename to main/src/main/java/io/split/android/client/storage/attributes/AttributesStorageContainer.java diff --git a/src/main/java/io/split/android/client/storage/attributes/AttributesStorageContainerImpl.java b/main/src/main/java/io/split/android/client/storage/attributes/AttributesStorageContainerImpl.java similarity index 100% rename from src/main/java/io/split/android/client/storage/attributes/AttributesStorageContainerImpl.java rename to main/src/main/java/io/split/android/client/storage/attributes/AttributesStorageContainerImpl.java diff --git a/src/main/java/io/split/android/client/storage/attributes/AttributesStorageImpl.java b/main/src/main/java/io/split/android/client/storage/attributes/AttributesStorageImpl.java similarity index 100% rename from src/main/java/io/split/android/client/storage/attributes/AttributesStorageImpl.java rename to main/src/main/java/io/split/android/client/storage/attributes/AttributesStorageImpl.java diff --git a/src/main/java/io/split/android/client/storage/attributes/PersistentAttributesStorage.java b/main/src/main/java/io/split/android/client/storage/attributes/PersistentAttributesStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/attributes/PersistentAttributesStorage.java rename to main/src/main/java/io/split/android/client/storage/attributes/PersistentAttributesStorage.java diff --git a/src/main/java/io/split/android/client/storage/attributes/SqLitePersistentAttributesStorage.java b/main/src/main/java/io/split/android/client/storage/attributes/SqLitePersistentAttributesStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/attributes/SqLitePersistentAttributesStorage.java rename to main/src/main/java/io/split/android/client/storage/attributes/SqLitePersistentAttributesStorage.java diff --git a/src/main/java/io/split/android/client/storage/cipher/ApplyCipherTask.java b/main/src/main/java/io/split/android/client/storage/cipher/ApplyCipherTask.java similarity index 100% rename from src/main/java/io/split/android/client/storage/cipher/ApplyCipherTask.java rename to main/src/main/java/io/split/android/client/storage/cipher/ApplyCipherTask.java diff --git a/src/main/java/io/split/android/client/storage/cipher/CBCCipher.java b/main/src/main/java/io/split/android/client/storage/cipher/CBCCipher.java similarity index 100% rename from src/main/java/io/split/android/client/storage/cipher/CBCCipher.java rename to main/src/main/java/io/split/android/client/storage/cipher/CBCCipher.java diff --git a/src/main/java/io/split/android/client/storage/cipher/CBCCipherProvider.java b/main/src/main/java/io/split/android/client/storage/cipher/CBCCipherProvider.java similarity index 100% rename from src/main/java/io/split/android/client/storage/cipher/CBCCipherProvider.java rename to main/src/main/java/io/split/android/client/storage/cipher/CBCCipherProvider.java diff --git a/src/main/java/io/split/android/client/storage/cipher/CipherProvider.java b/main/src/main/java/io/split/android/client/storage/cipher/CipherProvider.java similarity index 100% rename from src/main/java/io/split/android/client/storage/cipher/CipherProvider.java rename to main/src/main/java/io/split/android/client/storage/cipher/CipherProvider.java diff --git a/src/main/java/io/split/android/client/storage/cipher/DBCipher.java b/main/src/main/java/io/split/android/client/storage/cipher/DBCipher.java similarity index 100% rename from src/main/java/io/split/android/client/storage/cipher/DBCipher.java rename to main/src/main/java/io/split/android/client/storage/cipher/DBCipher.java diff --git a/src/main/java/io/split/android/client/storage/cipher/EncryptionMigrationTask.java b/main/src/main/java/io/split/android/client/storage/cipher/EncryptionMigrationTask.java similarity index 100% rename from src/main/java/io/split/android/client/storage/cipher/EncryptionMigrationTask.java rename to main/src/main/java/io/split/android/client/storage/cipher/EncryptionMigrationTask.java diff --git a/src/main/java/io/split/android/client/storage/cipher/KeyManager.java b/main/src/main/java/io/split/android/client/storage/cipher/KeyManager.java similarity index 100% rename from src/main/java/io/split/android/client/storage/cipher/KeyManager.java rename to main/src/main/java/io/split/android/client/storage/cipher/KeyManager.java diff --git a/src/main/java/io/split/android/client/storage/cipher/NoOpCipher.java b/main/src/main/java/io/split/android/client/storage/cipher/NoOpCipher.java similarity index 100% rename from src/main/java/io/split/android/client/storage/cipher/NoOpCipher.java rename to main/src/main/java/io/split/android/client/storage/cipher/NoOpCipher.java diff --git a/src/main/java/io/split/android/client/storage/cipher/ObjectPool.java b/main/src/main/java/io/split/android/client/storage/cipher/ObjectPool.java similarity index 100% rename from src/main/java/io/split/android/client/storage/cipher/ObjectPool.java rename to main/src/main/java/io/split/android/client/storage/cipher/ObjectPool.java diff --git a/src/main/java/io/split/android/client/storage/cipher/ObjectPoolFactory.java b/main/src/main/java/io/split/android/client/storage/cipher/ObjectPoolFactory.java similarity index 100% rename from src/main/java/io/split/android/client/storage/cipher/ObjectPoolFactory.java rename to main/src/main/java/io/split/android/client/storage/cipher/ObjectPoolFactory.java diff --git a/src/main/java/io/split/android/client/storage/cipher/SplitCipher.java b/main/src/main/java/io/split/android/client/storage/cipher/SplitCipher.java similarity index 100% rename from src/main/java/io/split/android/client/storage/cipher/SplitCipher.java rename to main/src/main/java/io/split/android/client/storage/cipher/SplitCipher.java diff --git a/src/main/java/io/split/android/client/storage/cipher/SplitCipherFactory.java b/main/src/main/java/io/split/android/client/storage/cipher/SplitCipherFactory.java similarity index 100% rename from src/main/java/io/split/android/client/storage/cipher/SplitCipherFactory.java rename to main/src/main/java/io/split/android/client/storage/cipher/SplitCipherFactory.java diff --git a/src/main/java/io/split/android/client/storage/cipher/SplitEncryptionLevel.java b/main/src/main/java/io/split/android/client/storage/cipher/SplitEncryptionLevel.java similarity index 100% rename from src/main/java/io/split/android/client/storage/cipher/SplitEncryptionLevel.java rename to main/src/main/java/io/split/android/client/storage/cipher/SplitEncryptionLevel.java diff --git a/src/main/java/io/split/android/client/storage/cipher/provider/KeyProvider.java b/main/src/main/java/io/split/android/client/storage/cipher/provider/KeyProvider.java similarity index 100% rename from src/main/java/io/split/android/client/storage/cipher/provider/KeyProvider.java rename to main/src/main/java/io/split/android/client/storage/cipher/provider/KeyProvider.java diff --git a/src/main/java/io/split/android/client/storage/cipher/provider/LegacyKeyProvider.java b/main/src/main/java/io/split/android/client/storage/cipher/provider/LegacyKeyProvider.java similarity index 100% rename from src/main/java/io/split/android/client/storage/cipher/provider/LegacyKeyProvider.java rename to main/src/main/java/io/split/android/client/storage/cipher/provider/LegacyKeyProvider.java diff --git a/src/main/java/io/split/android/client/storage/cipher/provider/SecureKeyStorageProvider.java b/main/src/main/java/io/split/android/client/storage/cipher/provider/SecureKeyStorageProvider.java similarity index 100% rename from src/main/java/io/split/android/client/storage/cipher/provider/SecureKeyStorageProvider.java rename to main/src/main/java/io/split/android/client/storage/cipher/provider/SecureKeyStorageProvider.java diff --git a/src/main/java/io/split/android/client/storage/common/InBytesSizable.java b/main/src/main/java/io/split/android/client/storage/common/InBytesSizable.java similarity index 100% rename from src/main/java/io/split/android/client/storage/common/InBytesSizable.java rename to main/src/main/java/io/split/android/client/storage/common/InBytesSizable.java diff --git a/src/main/java/io/split/android/client/storage/common/PersistentStorage.java b/main/src/main/java/io/split/android/client/storage/common/PersistentStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/common/PersistentStorage.java rename to main/src/main/java/io/split/android/client/storage/common/PersistentStorage.java diff --git a/src/main/java/io/split/android/client/storage/common/RuleBasedSegmentStorageInitializer.java b/main/src/main/java/io/split/android/client/storage/common/RuleBasedSegmentStorageInitializer.java similarity index 100% rename from src/main/java/io/split/android/client/storage/common/RuleBasedSegmentStorageInitializer.java rename to main/src/main/java/io/split/android/client/storage/common/RuleBasedSegmentStorageInitializer.java diff --git a/src/main/java/io/split/android/client/storage/common/SplitStorageContainer.java b/main/src/main/java/io/split/android/client/storage/common/SplitStorageContainer.java similarity index 100% rename from src/main/java/io/split/android/client/storage/common/SplitStorageContainer.java rename to main/src/main/java/io/split/android/client/storage/common/SplitStorageContainer.java diff --git a/src/main/java/io/split/android/client/storage/common/SqLitePersistentStorage.java b/main/src/main/java/io/split/android/client/storage/common/SqLitePersistentStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/common/SqLitePersistentStorage.java rename to main/src/main/java/io/split/android/client/storage/common/SqLitePersistentStorage.java diff --git a/src/main/java/io/split/android/client/storage/common/Storage.java b/main/src/main/java/io/split/android/client/storage/common/Storage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/common/Storage.java rename to main/src/main/java/io/split/android/client/storage/common/Storage.java diff --git a/src/main/java/io/split/android/client/storage/common/StoragePusher.java b/main/src/main/java/io/split/android/client/storage/common/StoragePusher.java similarity index 100% rename from src/main/java/io/split/android/client/storage/common/StoragePusher.java rename to main/src/main/java/io/split/android/client/storage/common/StoragePusher.java diff --git a/src/main/java/io/split/android/client/storage/db/EventDao.java b/main/src/main/java/io/split/android/client/storage/db/EventDao.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/EventDao.java rename to main/src/main/java/io/split/android/client/storage/db/EventDao.java diff --git a/src/main/java/io/split/android/client/storage/db/EventEntity.java b/main/src/main/java/io/split/android/client/storage/db/EventEntity.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/EventEntity.java rename to main/src/main/java/io/split/android/client/storage/db/EventEntity.java diff --git a/src/main/java/io/split/android/client/storage/db/GeneralInfoDao.java b/main/src/main/java/io/split/android/client/storage/db/GeneralInfoDao.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/GeneralInfoDao.java rename to main/src/main/java/io/split/android/client/storage/db/GeneralInfoDao.java diff --git a/src/main/java/io/split/android/client/storage/db/GeneralInfoEntity.java b/main/src/main/java/io/split/android/client/storage/db/GeneralInfoEntity.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/GeneralInfoEntity.java rename to main/src/main/java/io/split/android/client/storage/db/GeneralInfoEntity.java diff --git a/src/main/java/io/split/android/client/storage/db/ImpressionDao.java b/main/src/main/java/io/split/android/client/storage/db/ImpressionDao.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/ImpressionDao.java rename to main/src/main/java/io/split/android/client/storage/db/ImpressionDao.java diff --git a/src/main/java/io/split/android/client/storage/db/ImpressionEntity.java b/main/src/main/java/io/split/android/client/storage/db/ImpressionEntity.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/ImpressionEntity.java rename to main/src/main/java/io/split/android/client/storage/db/ImpressionEntity.java diff --git a/src/main/java/io/split/android/client/storage/db/ImpressionsCountDao.java b/main/src/main/java/io/split/android/client/storage/db/ImpressionsCountDao.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/ImpressionsCountDao.java rename to main/src/main/java/io/split/android/client/storage/db/ImpressionsCountDao.java diff --git a/src/main/java/io/split/android/client/storage/db/ImpressionsCountEntity.java b/main/src/main/java/io/split/android/client/storage/db/ImpressionsCountEntity.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/ImpressionsCountEntity.java rename to main/src/main/java/io/split/android/client/storage/db/ImpressionsCountEntity.java diff --git a/src/main/java/io/split/android/client/storage/db/MyLargeSegmentDao.java b/main/src/main/java/io/split/android/client/storage/db/MyLargeSegmentDao.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/MyLargeSegmentDao.java rename to main/src/main/java/io/split/android/client/storage/db/MyLargeSegmentDao.java diff --git a/src/main/java/io/split/android/client/storage/db/MyLargeSegmentEntity.java b/main/src/main/java/io/split/android/client/storage/db/MyLargeSegmentEntity.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/MyLargeSegmentEntity.java rename to main/src/main/java/io/split/android/client/storage/db/MyLargeSegmentEntity.java diff --git a/src/main/java/io/split/android/client/storage/db/MySegmentDao.java b/main/src/main/java/io/split/android/client/storage/db/MySegmentDao.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/MySegmentDao.java rename to main/src/main/java/io/split/android/client/storage/db/MySegmentDao.java diff --git a/src/main/java/io/split/android/client/storage/db/MySegmentEntity.java b/main/src/main/java/io/split/android/client/storage/db/MySegmentEntity.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/MySegmentEntity.java rename to main/src/main/java/io/split/android/client/storage/db/MySegmentEntity.java diff --git a/src/main/java/io/split/android/client/storage/db/SegmentDao.java b/main/src/main/java/io/split/android/client/storage/db/SegmentDao.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/SegmentDao.java rename to main/src/main/java/io/split/android/client/storage/db/SegmentDao.java diff --git a/src/main/java/io/split/android/client/storage/db/SegmentEntity.java b/main/src/main/java/io/split/android/client/storage/db/SegmentEntity.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/SegmentEntity.java rename to main/src/main/java/io/split/android/client/storage/db/SegmentEntity.java diff --git a/src/main/java/io/split/android/client/storage/db/SplitDao.java b/main/src/main/java/io/split/android/client/storage/db/SplitDao.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/SplitDao.java rename to main/src/main/java/io/split/android/client/storage/db/SplitDao.java diff --git a/src/main/java/io/split/android/client/storage/db/SplitEntity.java b/main/src/main/java/io/split/android/client/storage/db/SplitEntity.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/SplitEntity.java rename to main/src/main/java/io/split/android/client/storage/db/SplitEntity.java diff --git a/src/main/java/io/split/android/client/storage/db/SplitQueryDao.java b/main/src/main/java/io/split/android/client/storage/db/SplitQueryDao.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/SplitQueryDao.java rename to main/src/main/java/io/split/android/client/storage/db/SplitQueryDao.java diff --git a/src/main/java/io/split/android/client/storage/db/SplitQueryDaoImpl.java b/main/src/main/java/io/split/android/client/storage/db/SplitQueryDaoImpl.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/SplitQueryDaoImpl.java rename to main/src/main/java/io/split/android/client/storage/db/SplitQueryDaoImpl.java diff --git a/src/main/java/io/split/android/client/storage/db/SplitRoomDatabase.java b/main/src/main/java/io/split/android/client/storage/db/SplitRoomDatabase.java similarity index 98% rename from src/main/java/io/split/android/client/storage/db/SplitRoomDatabase.java rename to main/src/main/java/io/split/android/client/storage/db/SplitRoomDatabase.java index 0d9d7cc66..c423f3c86 100644 --- a/src/main/java/io/split/android/client/storage/db/SplitRoomDatabase.java +++ b/main/src/main/java/io/split/android/client/storage/db/SplitRoomDatabase.java @@ -30,7 +30,8 @@ AttributesEntity.class, UniqueKeyEntity.class, ImpressionsObserverCacheEntity.class, MyLargeSegmentEntity.class, RuleBasedSegmentEntity.class }, - version = 7 + version = 7, + exportSchema = false ) public abstract class SplitRoomDatabase extends RoomDatabase { diff --git a/src/main/java/io/split/android/client/storage/db/StorageFactory.java b/main/src/main/java/io/split/android/client/storage/db/StorageFactory.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/StorageFactory.java rename to main/src/main/java/io/split/android/client/storage/db/StorageFactory.java diff --git a/src/main/java/io/split/android/client/storage/db/StorageRecordStatus.java b/main/src/main/java/io/split/android/client/storage/db/StorageRecordStatus.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/StorageRecordStatus.java rename to main/src/main/java/io/split/android/client/storage/db/StorageRecordStatus.java diff --git a/src/main/java/io/split/android/client/storage/db/attributes/AttributesDao.java b/main/src/main/java/io/split/android/client/storage/db/attributes/AttributesDao.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/attributes/AttributesDao.java rename to main/src/main/java/io/split/android/client/storage/db/attributes/AttributesDao.java diff --git a/src/main/java/io/split/android/client/storage/db/attributes/AttributesEntity.java b/main/src/main/java/io/split/android/client/storage/db/attributes/AttributesEntity.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/attributes/AttributesEntity.java rename to main/src/main/java/io/split/android/client/storage/db/attributes/AttributesEntity.java diff --git a/src/main/java/io/split/android/client/storage/db/impressions/observer/ImpressionsObserverCacheDao.java b/main/src/main/java/io/split/android/client/storage/db/impressions/observer/ImpressionsObserverCacheDao.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/impressions/observer/ImpressionsObserverCacheDao.java rename to main/src/main/java/io/split/android/client/storage/db/impressions/observer/ImpressionsObserverCacheDao.java diff --git a/src/main/java/io/split/android/client/storage/db/impressions/observer/ImpressionsObserverCacheEntity.java b/main/src/main/java/io/split/android/client/storage/db/impressions/observer/ImpressionsObserverCacheEntity.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/impressions/observer/ImpressionsObserverCacheEntity.java rename to main/src/main/java/io/split/android/client/storage/db/impressions/observer/ImpressionsObserverCacheEntity.java diff --git a/src/main/java/io/split/android/client/storage/db/impressions/unique/UniqueKeyEntity.java b/main/src/main/java/io/split/android/client/storage/db/impressions/unique/UniqueKeyEntity.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/impressions/unique/UniqueKeyEntity.java rename to main/src/main/java/io/split/android/client/storage/db/impressions/unique/UniqueKeyEntity.java diff --git a/src/main/java/io/split/android/client/storage/db/impressions/unique/UniqueKeysDao.java b/main/src/main/java/io/split/android/client/storage/db/impressions/unique/UniqueKeysDao.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/impressions/unique/UniqueKeysDao.java rename to main/src/main/java/io/split/android/client/storage/db/impressions/unique/UniqueKeysDao.java diff --git a/src/main/java/io/split/android/client/storage/db/rbs/RuleBasedSegmentDao.java b/main/src/main/java/io/split/android/client/storage/db/rbs/RuleBasedSegmentDao.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/rbs/RuleBasedSegmentDao.java rename to main/src/main/java/io/split/android/client/storage/db/rbs/RuleBasedSegmentDao.java diff --git a/src/main/java/io/split/android/client/storage/db/rbs/RuleBasedSegmentEntity.java b/main/src/main/java/io/split/android/client/storage/db/rbs/RuleBasedSegmentEntity.java similarity index 100% rename from src/main/java/io/split/android/client/storage/db/rbs/RuleBasedSegmentEntity.java rename to main/src/main/java/io/split/android/client/storage/db/rbs/RuleBasedSegmentEntity.java diff --git a/src/main/java/io/split/android/client/storage/events/EventsStorage.java b/main/src/main/java/io/split/android/client/storage/events/EventsStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/events/EventsStorage.java rename to main/src/main/java/io/split/android/client/storage/events/EventsStorage.java diff --git a/src/main/java/io/split/android/client/storage/events/PersistentEventsStorage.java b/main/src/main/java/io/split/android/client/storage/events/PersistentEventsStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/events/PersistentEventsStorage.java rename to main/src/main/java/io/split/android/client/storage/events/PersistentEventsStorage.java diff --git a/src/main/java/io/split/android/client/storage/events/SqLitePersistentEventsStorage.java b/main/src/main/java/io/split/android/client/storage/events/SqLitePersistentEventsStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/events/SqLitePersistentEventsStorage.java rename to main/src/main/java/io/split/android/client/storage/events/SqLitePersistentEventsStorage.java diff --git a/src/main/java/io/split/android/client/storage/general/GeneralInfoStorage.java b/main/src/main/java/io/split/android/client/storage/general/GeneralInfoStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/general/GeneralInfoStorage.java rename to main/src/main/java/io/split/android/client/storage/general/GeneralInfoStorage.java diff --git a/src/main/java/io/split/android/client/storage/general/GeneralInfoStorageImpl.java b/main/src/main/java/io/split/android/client/storage/general/GeneralInfoStorageImpl.java similarity index 100% rename from src/main/java/io/split/android/client/storage/general/GeneralInfoStorageImpl.java rename to main/src/main/java/io/split/android/client/storage/general/GeneralInfoStorageImpl.java diff --git a/src/main/java/io/split/android/client/storage/impressions/ImpressionsStorage.java b/main/src/main/java/io/split/android/client/storage/impressions/ImpressionsStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/impressions/ImpressionsStorage.java rename to main/src/main/java/io/split/android/client/storage/impressions/ImpressionsStorage.java diff --git a/src/main/java/io/split/android/client/storage/impressions/PersistentImpressionsCountStorage.java b/main/src/main/java/io/split/android/client/storage/impressions/PersistentImpressionsCountStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/impressions/PersistentImpressionsCountStorage.java rename to main/src/main/java/io/split/android/client/storage/impressions/PersistentImpressionsCountStorage.java diff --git a/src/main/java/io/split/android/client/storage/impressions/PersistentImpressionsStorage.java b/main/src/main/java/io/split/android/client/storage/impressions/PersistentImpressionsStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/impressions/PersistentImpressionsStorage.java rename to main/src/main/java/io/split/android/client/storage/impressions/PersistentImpressionsStorage.java diff --git a/src/main/java/io/split/android/client/storage/impressions/PersistentImpressionsUniqueStorage.java b/main/src/main/java/io/split/android/client/storage/impressions/PersistentImpressionsUniqueStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/impressions/PersistentImpressionsUniqueStorage.java rename to main/src/main/java/io/split/android/client/storage/impressions/PersistentImpressionsUniqueStorage.java diff --git a/src/main/java/io/split/android/client/storage/impressions/SqLitePersistentImpressionsCountStorage.java b/main/src/main/java/io/split/android/client/storage/impressions/SqLitePersistentImpressionsCountStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/impressions/SqLitePersistentImpressionsCountStorage.java rename to main/src/main/java/io/split/android/client/storage/impressions/SqLitePersistentImpressionsCountStorage.java diff --git a/src/main/java/io/split/android/client/storage/impressions/SqLitePersistentImpressionsStorage.java b/main/src/main/java/io/split/android/client/storage/impressions/SqLitePersistentImpressionsStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/impressions/SqLitePersistentImpressionsStorage.java rename to main/src/main/java/io/split/android/client/storage/impressions/SqLitePersistentImpressionsStorage.java diff --git a/src/main/java/io/split/android/client/storage/impressions/SqlitePersistentUniqueStorage.java b/main/src/main/java/io/split/android/client/storage/impressions/SqlitePersistentUniqueStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/impressions/SqlitePersistentUniqueStorage.java rename to main/src/main/java/io/split/android/client/storage/impressions/SqlitePersistentUniqueStorage.java diff --git a/src/main/java/io/split/android/client/storage/legacy/FileStorage.java b/main/src/main/java/io/split/android/client/storage/legacy/FileStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/legacy/FileStorage.java rename to main/src/main/java/io/split/android/client/storage/legacy/FileStorage.java diff --git a/src/main/java/io/split/android/client/storage/legacy/FileStorageHelper.java b/main/src/main/java/io/split/android/client/storage/legacy/FileStorageHelper.java similarity index 100% rename from src/main/java/io/split/android/client/storage/legacy/FileStorageHelper.java rename to main/src/main/java/io/split/android/client/storage/legacy/FileStorageHelper.java diff --git a/src/main/java/io/split/android/client/storage/legacy/IStorage.java b/main/src/main/java/io/split/android/client/storage/legacy/IStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/legacy/IStorage.java rename to main/src/main/java/io/split/android/client/storage/legacy/IStorage.java diff --git a/src/main/java/io/split/android/client/storage/mysegments/EmptyMySegmentsStorage.java b/main/src/main/java/io/split/android/client/storage/mysegments/EmptyMySegmentsStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/mysegments/EmptyMySegmentsStorage.java rename to main/src/main/java/io/split/android/client/storage/mysegments/EmptyMySegmentsStorage.java diff --git a/src/main/java/io/split/android/client/storage/mysegments/MySegmentsStorage.java b/main/src/main/java/io/split/android/client/storage/mysegments/MySegmentsStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/mysegments/MySegmentsStorage.java rename to main/src/main/java/io/split/android/client/storage/mysegments/MySegmentsStorage.java diff --git a/src/main/java/io/split/android/client/storage/mysegments/MySegmentsStorageContainer.java b/main/src/main/java/io/split/android/client/storage/mysegments/MySegmentsStorageContainer.java similarity index 100% rename from src/main/java/io/split/android/client/storage/mysegments/MySegmentsStorageContainer.java rename to main/src/main/java/io/split/android/client/storage/mysegments/MySegmentsStorageContainer.java diff --git a/src/main/java/io/split/android/client/storage/mysegments/MySegmentsStorageContainerImpl.java b/main/src/main/java/io/split/android/client/storage/mysegments/MySegmentsStorageContainerImpl.java similarity index 100% rename from src/main/java/io/split/android/client/storage/mysegments/MySegmentsStorageContainerImpl.java rename to main/src/main/java/io/split/android/client/storage/mysegments/MySegmentsStorageContainerImpl.java diff --git a/src/main/java/io/split/android/client/storage/mysegments/MySegmentsStorageImpl.java b/main/src/main/java/io/split/android/client/storage/mysegments/MySegmentsStorageImpl.java similarity index 100% rename from src/main/java/io/split/android/client/storage/mysegments/MySegmentsStorageImpl.java rename to main/src/main/java/io/split/android/client/storage/mysegments/MySegmentsStorageImpl.java diff --git a/src/main/java/io/split/android/client/storage/mysegments/PersistentMySegmentsStorage.java b/main/src/main/java/io/split/android/client/storage/mysegments/PersistentMySegmentsStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/mysegments/PersistentMySegmentsStorage.java rename to main/src/main/java/io/split/android/client/storage/mysegments/PersistentMySegmentsStorage.java diff --git a/src/main/java/io/split/android/client/storage/mysegments/SqLitePersistentMySegmentsStorage.java b/main/src/main/java/io/split/android/client/storage/mysegments/SqLitePersistentMySegmentsStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/mysegments/SqLitePersistentMySegmentsStorage.java rename to main/src/main/java/io/split/android/client/storage/mysegments/SqLitePersistentMySegmentsStorage.java diff --git a/src/main/java/io/split/android/client/storage/rbs/Clearer.java b/main/src/main/java/io/split/android/client/storage/rbs/Clearer.java similarity index 100% rename from src/main/java/io/split/android/client/storage/rbs/Clearer.java rename to main/src/main/java/io/split/android/client/storage/rbs/Clearer.java diff --git a/src/main/java/io/split/android/client/storage/rbs/LazyRuleBasedSegmentStorageProvider.java b/main/src/main/java/io/split/android/client/storage/rbs/LazyRuleBasedSegmentStorageProvider.java similarity index 100% rename from src/main/java/io/split/android/client/storage/rbs/LazyRuleBasedSegmentStorageProvider.java rename to main/src/main/java/io/split/android/client/storage/rbs/LazyRuleBasedSegmentStorageProvider.java diff --git a/src/main/java/io/split/android/client/storage/rbs/PersistentRuleBasedSegmentStorage.java b/main/src/main/java/io/split/android/client/storage/rbs/PersistentRuleBasedSegmentStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/rbs/PersistentRuleBasedSegmentStorage.java rename to main/src/main/java/io/split/android/client/storage/rbs/PersistentRuleBasedSegmentStorage.java diff --git a/src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentSnapshot.java b/main/src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentSnapshot.java similarity index 100% rename from src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentSnapshot.java rename to main/src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentSnapshot.java diff --git a/src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorage.java b/main/src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorage.java rename to main/src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorage.java diff --git a/src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageConsumer.java b/main/src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageConsumer.java similarity index 100% rename from src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageConsumer.java rename to main/src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageConsumer.java diff --git a/src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageImpl.java b/main/src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageImpl.java similarity index 100% rename from src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageImpl.java rename to main/src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageImpl.java diff --git a/src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageProducer.java b/main/src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageProducer.java similarity index 100% rename from src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageProducer.java rename to main/src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageProducer.java diff --git a/src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageProducerImpl.java b/main/src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageProducerImpl.java similarity index 100% rename from src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageProducerImpl.java rename to main/src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageProducerImpl.java diff --git a/src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageProvider.java b/main/src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageProvider.java similarity index 100% rename from src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageProvider.java rename to main/src/main/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageProvider.java diff --git a/src/main/java/io/split/android/client/storage/rbs/SnapshotLoader.java b/main/src/main/java/io/split/android/client/storage/rbs/SnapshotLoader.java similarity index 100% rename from src/main/java/io/split/android/client/storage/rbs/SnapshotLoader.java rename to main/src/main/java/io/split/android/client/storage/rbs/SnapshotLoader.java diff --git a/src/main/java/io/split/android/client/storage/rbs/SqLitePersistentRuleBasedSegmentStorage.java b/main/src/main/java/io/split/android/client/storage/rbs/SqLitePersistentRuleBasedSegmentStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/rbs/SqLitePersistentRuleBasedSegmentStorage.java rename to main/src/main/java/io/split/android/client/storage/rbs/SqLitePersistentRuleBasedSegmentStorage.java diff --git a/src/main/java/io/split/android/client/storage/rbs/SqLitePersistentRuleBasedSegmentStorageProvider.java b/main/src/main/java/io/split/android/client/storage/rbs/SqLitePersistentRuleBasedSegmentStorageProvider.java similarity index 100% rename from src/main/java/io/split/android/client/storage/rbs/SqLitePersistentRuleBasedSegmentStorageProvider.java rename to main/src/main/java/io/split/android/client/storage/rbs/SqLitePersistentRuleBasedSegmentStorageProvider.java diff --git a/src/main/java/io/split/android/client/storage/rbs/Updater.java b/main/src/main/java/io/split/android/client/storage/rbs/Updater.java similarity index 100% rename from src/main/java/io/split/android/client/storage/rbs/Updater.java rename to main/src/main/java/io/split/android/client/storage/rbs/Updater.java diff --git a/src/main/java/io/split/android/client/storage/splits/MetadataHelper.java b/main/src/main/java/io/split/android/client/storage/splits/MetadataHelper.java similarity index 100% rename from src/main/java/io/split/android/client/storage/splits/MetadataHelper.java rename to main/src/main/java/io/split/android/client/storage/splits/MetadataHelper.java diff --git a/src/main/java/io/split/android/client/storage/splits/PersistentSplitsStorage.java b/main/src/main/java/io/split/android/client/storage/splits/PersistentSplitsStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/splits/PersistentSplitsStorage.java rename to main/src/main/java/io/split/android/client/storage/splits/PersistentSplitsStorage.java diff --git a/src/main/java/io/split/android/client/storage/splits/ProcessedSplitChange.java b/main/src/main/java/io/split/android/client/storage/splits/ProcessedSplitChange.java similarity index 100% rename from src/main/java/io/split/android/client/storage/splits/ProcessedSplitChange.java rename to main/src/main/java/io/split/android/client/storage/splits/ProcessedSplitChange.java diff --git a/src/main/java/io/split/android/client/storage/splits/SplitEntityToSplitTransformer.java b/main/src/main/java/io/split/android/client/storage/splits/SplitEntityToSplitTransformer.java similarity index 100% rename from src/main/java/io/split/android/client/storage/splits/SplitEntityToSplitTransformer.java rename to main/src/main/java/io/split/android/client/storage/splits/SplitEntityToSplitTransformer.java diff --git a/src/main/java/io/split/android/client/storage/splits/SplitListTransformer.java b/main/src/main/java/io/split/android/client/storage/splits/SplitListTransformer.java similarity index 100% rename from src/main/java/io/split/android/client/storage/splits/SplitListTransformer.java rename to main/src/main/java/io/split/android/client/storage/splits/SplitListTransformer.java diff --git a/src/main/java/io/split/android/client/storage/splits/SplitToSplitEntityTransformer.java b/main/src/main/java/io/split/android/client/storage/splits/SplitToSplitEntityTransformer.java similarity index 100% rename from src/main/java/io/split/android/client/storage/splits/SplitToSplitEntityTransformer.java rename to main/src/main/java/io/split/android/client/storage/splits/SplitToSplitEntityTransformer.java diff --git a/src/main/java/io/split/android/client/storage/splits/SplitsSnapshot.java b/main/src/main/java/io/split/android/client/storage/splits/SplitsSnapshot.java similarity index 100% rename from src/main/java/io/split/android/client/storage/splits/SplitsSnapshot.java rename to main/src/main/java/io/split/android/client/storage/splits/SplitsSnapshot.java diff --git a/src/main/java/io/split/android/client/storage/splits/SplitsStorage.java b/main/src/main/java/io/split/android/client/storage/splits/SplitsStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/splits/SplitsStorage.java rename to main/src/main/java/io/split/android/client/storage/splits/SplitsStorage.java diff --git a/src/main/java/io/split/android/client/storage/splits/SplitsStorageImpl.java b/main/src/main/java/io/split/android/client/storage/splits/SplitsStorageImpl.java similarity index 100% rename from src/main/java/io/split/android/client/storage/splits/SplitsStorageImpl.java rename to main/src/main/java/io/split/android/client/storage/splits/SplitsStorageImpl.java diff --git a/src/main/java/io/split/android/client/storage/splits/SqLitePersistentSplitsStorage.java b/main/src/main/java/io/split/android/client/storage/splits/SqLitePersistentSplitsStorage.java similarity index 100% rename from src/main/java/io/split/android/client/storage/splits/SqLitePersistentSplitsStorage.java rename to main/src/main/java/io/split/android/client/storage/splits/SqLitePersistentSplitsStorage.java diff --git a/src/main/java/io/split/android/client/telemetry/TelemetryConfigBodySerializer.java b/main/src/main/java/io/split/android/client/telemetry/TelemetryConfigBodySerializer.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/TelemetryConfigBodySerializer.java rename to main/src/main/java/io/split/android/client/telemetry/TelemetryConfigBodySerializer.java diff --git a/src/main/java/io/split/android/client/telemetry/TelemetryHelper.java b/main/src/main/java/io/split/android/client/telemetry/TelemetryHelper.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/TelemetryHelper.java rename to main/src/main/java/io/split/android/client/telemetry/TelemetryHelper.java diff --git a/src/main/java/io/split/android/client/telemetry/TelemetryHelperImpl.java b/main/src/main/java/io/split/android/client/telemetry/TelemetryHelperImpl.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/TelemetryHelperImpl.java rename to main/src/main/java/io/split/android/client/telemetry/TelemetryHelperImpl.java diff --git a/src/main/java/io/split/android/client/telemetry/TelemetryStatsBodySerializer.java b/main/src/main/java/io/split/android/client/telemetry/TelemetryStatsBodySerializer.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/TelemetryStatsBodySerializer.java rename to main/src/main/java/io/split/android/client/telemetry/TelemetryStatsBodySerializer.java diff --git a/src/main/java/io/split/android/client/telemetry/TelemetrySynchronizer.java b/main/src/main/java/io/split/android/client/telemetry/TelemetrySynchronizer.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/TelemetrySynchronizer.java rename to main/src/main/java/io/split/android/client/telemetry/TelemetrySynchronizer.java diff --git a/src/main/java/io/split/android/client/telemetry/TelemetrySynchronizerImpl.java b/main/src/main/java/io/split/android/client/telemetry/TelemetrySynchronizerImpl.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/TelemetrySynchronizerImpl.java rename to main/src/main/java/io/split/android/client/telemetry/TelemetrySynchronizerImpl.java diff --git a/src/main/java/io/split/android/client/telemetry/TelemetrySynchronizerStub.java b/main/src/main/java/io/split/android/client/telemetry/TelemetrySynchronizerStub.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/TelemetrySynchronizerStub.java rename to main/src/main/java/io/split/android/client/telemetry/TelemetrySynchronizerStub.java diff --git a/src/main/java/io/split/android/client/telemetry/model/Config.java b/main/src/main/java/io/split/android/client/telemetry/model/Config.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/Config.java rename to main/src/main/java/io/split/android/client/telemetry/model/Config.java diff --git a/src/main/java/io/split/android/client/telemetry/model/EventTypeEnum.java b/main/src/main/java/io/split/android/client/telemetry/model/EventTypeEnum.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/EventTypeEnum.java rename to main/src/main/java/io/split/android/client/telemetry/model/EventTypeEnum.java diff --git a/src/main/java/io/split/android/client/telemetry/model/EventsDataRecordsEnum.java b/main/src/main/java/io/split/android/client/telemetry/model/EventsDataRecordsEnum.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/EventsDataRecordsEnum.java rename to main/src/main/java/io/split/android/client/telemetry/model/EventsDataRecordsEnum.java diff --git a/src/main/java/io/split/android/client/telemetry/model/FactoryCounter.java b/main/src/main/java/io/split/android/client/telemetry/model/FactoryCounter.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/FactoryCounter.java rename to main/src/main/java/io/split/android/client/telemetry/model/FactoryCounter.java diff --git a/src/main/java/io/split/android/client/telemetry/model/HttpErrors.java b/main/src/main/java/io/split/android/client/telemetry/model/HttpErrors.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/HttpErrors.java rename to main/src/main/java/io/split/android/client/telemetry/model/HttpErrors.java diff --git a/src/main/java/io/split/android/client/telemetry/model/HttpLatencies.java b/main/src/main/java/io/split/android/client/telemetry/model/HttpLatencies.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/HttpLatencies.java rename to main/src/main/java/io/split/android/client/telemetry/model/HttpLatencies.java diff --git a/src/main/java/io/split/android/client/telemetry/model/ImpressionsDataType.java b/main/src/main/java/io/split/android/client/telemetry/model/ImpressionsDataType.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/ImpressionsDataType.java rename to main/src/main/java/io/split/android/client/telemetry/model/ImpressionsDataType.java diff --git a/src/main/java/io/split/android/client/telemetry/model/ImpressionsMode.java b/main/src/main/java/io/split/android/client/telemetry/model/ImpressionsMode.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/ImpressionsMode.java rename to main/src/main/java/io/split/android/client/telemetry/model/ImpressionsMode.java diff --git a/src/main/java/io/split/android/client/telemetry/model/LastSync.java b/main/src/main/java/io/split/android/client/telemetry/model/LastSync.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/LastSync.java rename to main/src/main/java/io/split/android/client/telemetry/model/LastSync.java diff --git a/src/main/java/io/split/android/client/telemetry/model/Method.java b/main/src/main/java/io/split/android/client/telemetry/model/Method.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/Method.java rename to main/src/main/java/io/split/android/client/telemetry/model/Method.java diff --git a/src/main/java/io/split/android/client/telemetry/model/MethodExceptions.java b/main/src/main/java/io/split/android/client/telemetry/model/MethodExceptions.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/MethodExceptions.java rename to main/src/main/java/io/split/android/client/telemetry/model/MethodExceptions.java diff --git a/src/main/java/io/split/android/client/telemetry/model/MethodLatencies.java b/main/src/main/java/io/split/android/client/telemetry/model/MethodLatencies.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/MethodLatencies.java rename to main/src/main/java/io/split/android/client/telemetry/model/MethodLatencies.java diff --git a/src/main/java/io/split/android/client/telemetry/model/OperationMode.java b/main/src/main/java/io/split/android/client/telemetry/model/OperationMode.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/OperationMode.java rename to main/src/main/java/io/split/android/client/telemetry/model/OperationMode.java diff --git a/src/main/java/io/split/android/client/telemetry/model/OperationType.java b/main/src/main/java/io/split/android/client/telemetry/model/OperationType.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/OperationType.java rename to main/src/main/java/io/split/android/client/telemetry/model/OperationType.java diff --git a/src/main/java/io/split/android/client/telemetry/model/PushCounterEvent.java b/main/src/main/java/io/split/android/client/telemetry/model/PushCounterEvent.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/PushCounterEvent.java rename to main/src/main/java/io/split/android/client/telemetry/model/PushCounterEvent.java diff --git a/src/main/java/io/split/android/client/telemetry/model/RefreshRates.java b/main/src/main/java/io/split/android/client/telemetry/model/RefreshRates.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/RefreshRates.java rename to main/src/main/java/io/split/android/client/telemetry/model/RefreshRates.java diff --git a/src/main/java/io/split/android/client/telemetry/model/Stats.java b/main/src/main/java/io/split/android/client/telemetry/model/Stats.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/Stats.java rename to main/src/main/java/io/split/android/client/telemetry/model/Stats.java diff --git a/src/main/java/io/split/android/client/telemetry/model/UpdatesFromSSE.java b/main/src/main/java/io/split/android/client/telemetry/model/UpdatesFromSSE.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/UpdatesFromSSE.java rename to main/src/main/java/io/split/android/client/telemetry/model/UpdatesFromSSE.java diff --git a/src/main/java/io/split/android/client/telemetry/model/UrlOverrides.java b/main/src/main/java/io/split/android/client/telemetry/model/UrlOverrides.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/UrlOverrides.java rename to main/src/main/java/io/split/android/client/telemetry/model/UrlOverrides.java diff --git a/src/main/java/io/split/android/client/telemetry/model/streaming/AblyErrorStreamingEvent.java b/main/src/main/java/io/split/android/client/telemetry/model/streaming/AblyErrorStreamingEvent.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/streaming/AblyErrorStreamingEvent.java rename to main/src/main/java/io/split/android/client/telemetry/model/streaming/AblyErrorStreamingEvent.java diff --git a/src/main/java/io/split/android/client/telemetry/model/streaming/ConnectionEstablishedStreamingEvent.java b/main/src/main/java/io/split/android/client/telemetry/model/streaming/ConnectionEstablishedStreamingEvent.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/streaming/ConnectionEstablishedStreamingEvent.java rename to main/src/main/java/io/split/android/client/telemetry/model/streaming/ConnectionEstablishedStreamingEvent.java diff --git a/src/main/java/io/split/android/client/telemetry/model/streaming/OccupancyPriStreamingEvent.java b/main/src/main/java/io/split/android/client/telemetry/model/streaming/OccupancyPriStreamingEvent.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/streaming/OccupancyPriStreamingEvent.java rename to main/src/main/java/io/split/android/client/telemetry/model/streaming/OccupancyPriStreamingEvent.java diff --git a/src/main/java/io/split/android/client/telemetry/model/streaming/OccupancySecStreamingEvent.java b/main/src/main/java/io/split/android/client/telemetry/model/streaming/OccupancySecStreamingEvent.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/streaming/OccupancySecStreamingEvent.java rename to main/src/main/java/io/split/android/client/telemetry/model/streaming/OccupancySecStreamingEvent.java diff --git a/src/main/java/io/split/android/client/telemetry/model/streaming/SseConnectionErrorStreamingEvent.java b/main/src/main/java/io/split/android/client/telemetry/model/streaming/SseConnectionErrorStreamingEvent.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/streaming/SseConnectionErrorStreamingEvent.java rename to main/src/main/java/io/split/android/client/telemetry/model/streaming/SseConnectionErrorStreamingEvent.java diff --git a/src/main/java/io/split/android/client/telemetry/model/streaming/StreamingEvent.java b/main/src/main/java/io/split/android/client/telemetry/model/streaming/StreamingEvent.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/streaming/StreamingEvent.java rename to main/src/main/java/io/split/android/client/telemetry/model/streaming/StreamingEvent.java diff --git a/src/main/java/io/split/android/client/telemetry/model/streaming/StreamingStatusStreamingEvent.java b/main/src/main/java/io/split/android/client/telemetry/model/streaming/StreamingStatusStreamingEvent.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/streaming/StreamingStatusStreamingEvent.java rename to main/src/main/java/io/split/android/client/telemetry/model/streaming/StreamingStatusStreamingEvent.java diff --git a/src/main/java/io/split/android/client/telemetry/model/streaming/SyncModeUpdateStreamingEvent.java b/main/src/main/java/io/split/android/client/telemetry/model/streaming/SyncModeUpdateStreamingEvent.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/streaming/SyncModeUpdateStreamingEvent.java rename to main/src/main/java/io/split/android/client/telemetry/model/streaming/SyncModeUpdateStreamingEvent.java diff --git a/src/main/java/io/split/android/client/telemetry/model/streaming/TokenRefreshStreamingEvent.java b/main/src/main/java/io/split/android/client/telemetry/model/streaming/TokenRefreshStreamingEvent.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/streaming/TokenRefreshStreamingEvent.java rename to main/src/main/java/io/split/android/client/telemetry/model/streaming/TokenRefreshStreamingEvent.java diff --git a/src/main/java/io/split/android/client/telemetry/model/streaming/UpdatesFromSSEEnum.java b/main/src/main/java/io/split/android/client/telemetry/model/streaming/UpdatesFromSSEEnum.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/model/streaming/UpdatesFromSSEEnum.java rename to main/src/main/java/io/split/android/client/telemetry/model/streaming/UpdatesFromSSEEnum.java diff --git a/src/main/java/io/split/android/client/telemetry/storage/BinarySearchLatencyTracker.java b/main/src/main/java/io/split/android/client/telemetry/storage/BinarySearchLatencyTracker.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/storage/BinarySearchLatencyTracker.java rename to main/src/main/java/io/split/android/client/telemetry/storage/BinarySearchLatencyTracker.java diff --git a/src/main/java/io/split/android/client/telemetry/storage/ILatencyTracker.java b/main/src/main/java/io/split/android/client/telemetry/storage/ILatencyTracker.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/storage/ILatencyTracker.java rename to main/src/main/java/io/split/android/client/telemetry/storage/ILatencyTracker.java diff --git a/src/main/java/io/split/android/client/telemetry/storage/InMemoryTelemetryStorage.java b/main/src/main/java/io/split/android/client/telemetry/storage/InMemoryTelemetryStorage.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/storage/InMemoryTelemetryStorage.java rename to main/src/main/java/io/split/android/client/telemetry/storage/InMemoryTelemetryStorage.java diff --git a/src/main/java/io/split/android/client/telemetry/storage/NoOpTelemetryStorage.java b/main/src/main/java/io/split/android/client/telemetry/storage/NoOpTelemetryStorage.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/storage/NoOpTelemetryStorage.java rename to main/src/main/java/io/split/android/client/telemetry/storage/NoOpTelemetryStorage.java diff --git a/src/main/java/io/split/android/client/telemetry/storage/TelemetryConfigProvider.java b/main/src/main/java/io/split/android/client/telemetry/storage/TelemetryConfigProvider.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/storage/TelemetryConfigProvider.java rename to main/src/main/java/io/split/android/client/telemetry/storage/TelemetryConfigProvider.java diff --git a/src/main/java/io/split/android/client/telemetry/storage/TelemetryConfigProviderImpl.java b/main/src/main/java/io/split/android/client/telemetry/storage/TelemetryConfigProviderImpl.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/storage/TelemetryConfigProviderImpl.java rename to main/src/main/java/io/split/android/client/telemetry/storage/TelemetryConfigProviderImpl.java diff --git a/src/main/java/io/split/android/client/telemetry/storage/TelemetryEvaluationConsumer.java b/main/src/main/java/io/split/android/client/telemetry/storage/TelemetryEvaluationConsumer.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/storage/TelemetryEvaluationConsumer.java rename to main/src/main/java/io/split/android/client/telemetry/storage/TelemetryEvaluationConsumer.java diff --git a/src/main/java/io/split/android/client/telemetry/storage/TelemetryEvaluationProducer.java b/main/src/main/java/io/split/android/client/telemetry/storage/TelemetryEvaluationProducer.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/storage/TelemetryEvaluationProducer.java rename to main/src/main/java/io/split/android/client/telemetry/storage/TelemetryEvaluationProducer.java diff --git a/src/main/java/io/split/android/client/telemetry/storage/TelemetryInitConsumer.java b/main/src/main/java/io/split/android/client/telemetry/storage/TelemetryInitConsumer.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/storage/TelemetryInitConsumer.java rename to main/src/main/java/io/split/android/client/telemetry/storage/TelemetryInitConsumer.java diff --git a/src/main/java/io/split/android/client/telemetry/storage/TelemetryInitProducer.java b/main/src/main/java/io/split/android/client/telemetry/storage/TelemetryInitProducer.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/storage/TelemetryInitProducer.java rename to main/src/main/java/io/split/android/client/telemetry/storage/TelemetryInitProducer.java diff --git a/src/main/java/io/split/android/client/telemetry/storage/TelemetryRuntimeConsumer.java b/main/src/main/java/io/split/android/client/telemetry/storage/TelemetryRuntimeConsumer.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/storage/TelemetryRuntimeConsumer.java rename to main/src/main/java/io/split/android/client/telemetry/storage/TelemetryRuntimeConsumer.java diff --git a/src/main/java/io/split/android/client/telemetry/storage/TelemetryRuntimeProducer.java b/main/src/main/java/io/split/android/client/telemetry/storage/TelemetryRuntimeProducer.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/storage/TelemetryRuntimeProducer.java rename to main/src/main/java/io/split/android/client/telemetry/storage/TelemetryRuntimeProducer.java diff --git a/src/main/java/io/split/android/client/telemetry/storage/TelemetryStatsProvider.java b/main/src/main/java/io/split/android/client/telemetry/storage/TelemetryStatsProvider.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/storage/TelemetryStatsProvider.java rename to main/src/main/java/io/split/android/client/telemetry/storage/TelemetryStatsProvider.java diff --git a/src/main/java/io/split/android/client/telemetry/storage/TelemetryStatsProviderImpl.java b/main/src/main/java/io/split/android/client/telemetry/storage/TelemetryStatsProviderImpl.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/storage/TelemetryStatsProviderImpl.java rename to main/src/main/java/io/split/android/client/telemetry/storage/TelemetryStatsProviderImpl.java diff --git a/src/main/java/io/split/android/client/telemetry/storage/TelemetryStorage.java b/main/src/main/java/io/split/android/client/telemetry/storage/TelemetryStorage.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/storage/TelemetryStorage.java rename to main/src/main/java/io/split/android/client/telemetry/storage/TelemetryStorage.java diff --git a/src/main/java/io/split/android/client/telemetry/storage/TelemetryStorageConsumer.java b/main/src/main/java/io/split/android/client/telemetry/storage/TelemetryStorageConsumer.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/storage/TelemetryStorageConsumer.java rename to main/src/main/java/io/split/android/client/telemetry/storage/TelemetryStorageConsumer.java diff --git a/src/main/java/io/split/android/client/telemetry/storage/TelemetryStorageProducer.java b/main/src/main/java/io/split/android/client/telemetry/storage/TelemetryStorageProducer.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/storage/TelemetryStorageProducer.java rename to main/src/main/java/io/split/android/client/telemetry/storage/TelemetryStorageProducer.java diff --git a/src/main/java/io/split/android/client/telemetry/util/AtomicLongArray.java b/main/src/main/java/io/split/android/client/telemetry/util/AtomicLongArray.java similarity index 100% rename from src/main/java/io/split/android/client/telemetry/util/AtomicLongArray.java rename to main/src/main/java/io/split/android/client/telemetry/util/AtomicLongArray.java diff --git a/src/main/java/io/split/android/client/utils/BCrypt.java b/main/src/main/java/io/split/android/client/utils/BCrypt.java similarity index 100% rename from src/main/java/io/split/android/client/utils/BCrypt.java rename to main/src/main/java/io/split/android/client/utils/BCrypt.java diff --git a/src/main/java/io/split/android/client/utils/Base64Util.java b/main/src/main/java/io/split/android/client/utils/Base64Util.java similarity index 100% rename from src/main/java/io/split/android/client/utils/Base64Util.java rename to main/src/main/java/io/split/android/client/utils/Base64Util.java diff --git a/src/main/java/io/split/android/client/utils/CompressionUtil.java b/main/src/main/java/io/split/android/client/utils/CompressionUtil.java similarity index 100% rename from src/main/java/io/split/android/client/utils/CompressionUtil.java rename to main/src/main/java/io/split/android/client/utils/CompressionUtil.java diff --git a/src/main/java/io/split/android/client/utils/FileUtils.java b/main/src/main/java/io/split/android/client/utils/FileUtils.java similarity index 100% rename from src/main/java/io/split/android/client/utils/FileUtils.java rename to main/src/main/java/io/split/android/client/utils/FileUtils.java diff --git a/src/main/java/io/split/android/client/utils/Gzip.java b/main/src/main/java/io/split/android/client/utils/Gzip.java similarity index 100% rename from src/main/java/io/split/android/client/utils/Gzip.java rename to main/src/main/java/io/split/android/client/utils/Gzip.java diff --git a/src/main/java/io/split/android/client/utils/HttpProxySerializer.java b/main/src/main/java/io/split/android/client/utils/HttpProxySerializer.java similarity index 100% rename from src/main/java/io/split/android/client/utils/HttpProxySerializer.java rename to main/src/main/java/io/split/android/client/utils/HttpProxySerializer.java diff --git a/src/main/java/io/split/android/client/utils/Json.java b/main/src/main/java/io/split/android/client/utils/Json.java similarity index 100% rename from src/main/java/io/split/android/client/utils/Json.java rename to main/src/main/java/io/split/android/client/utils/Json.java diff --git a/src/main/java/io/split/android/client/utils/MemoryUtils.java b/main/src/main/java/io/split/android/client/utils/MemoryUtils.java similarity index 100% rename from src/main/java/io/split/android/client/utils/MemoryUtils.java rename to main/src/main/java/io/split/android/client/utils/MemoryUtils.java diff --git a/src/main/java/io/split/android/client/utils/MemoryUtilsImpl.java b/main/src/main/java/io/split/android/client/utils/MemoryUtilsImpl.java similarity index 100% rename from src/main/java/io/split/android/client/utils/MemoryUtilsImpl.java rename to main/src/main/java/io/split/android/client/utils/MemoryUtilsImpl.java diff --git a/src/main/java/io/split/android/client/utils/MurmurHash3.java b/main/src/main/java/io/split/android/client/utils/MurmurHash3.java similarity index 100% rename from src/main/java/io/split/android/client/utils/MurmurHash3.java rename to main/src/main/java/io/split/android/client/utils/MurmurHash3.java diff --git a/src/main/java/io/split/android/client/utils/StringHelper.java b/main/src/main/java/io/split/android/client/utils/StringHelper.java similarity index 100% rename from src/main/java/io/split/android/client/utils/StringHelper.java rename to main/src/main/java/io/split/android/client/utils/StringHelper.java diff --git a/src/main/java/io/split/android/client/utils/Utils.java b/main/src/main/java/io/split/android/client/utils/Utils.java similarity index 100% rename from src/main/java/io/split/android/client/utils/Utils.java rename to main/src/main/java/io/split/android/client/utils/Utils.java diff --git a/src/main/java/io/split/android/client/utils/YamlParser.java b/main/src/main/java/io/split/android/client/utils/YamlParser.java similarity index 100% rename from src/main/java/io/split/android/client/utils/YamlParser.java rename to main/src/main/java/io/split/android/client/utils/YamlParser.java diff --git a/src/main/java/io/split/android/client/utils/Zlib.java b/main/src/main/java/io/split/android/client/utils/Zlib.java similarity index 100% rename from src/main/java/io/split/android/client/utils/Zlib.java rename to main/src/main/java/io/split/android/client/utils/Zlib.java diff --git a/src/main/java/io/split/android/client/utils/deserializer/EventDeserializer.java b/main/src/main/java/io/split/android/client/utils/deserializer/EventDeserializer.java similarity index 100% rename from src/main/java/io/split/android/client/utils/deserializer/EventDeserializer.java rename to main/src/main/java/io/split/android/client/utils/deserializer/EventDeserializer.java diff --git a/src/main/java/io/split/android/client/utils/serializer/DoubleSerializer.java b/main/src/main/java/io/split/android/client/utils/serializer/DoubleSerializer.java similarity index 100% rename from src/main/java/io/split/android/client/utils/serializer/DoubleSerializer.java rename to main/src/main/java/io/split/android/client/utils/serializer/DoubleSerializer.java diff --git a/src/main/java/io/split/android/client/validators/ApiKeyValidator.java b/main/src/main/java/io/split/android/client/validators/ApiKeyValidator.java similarity index 100% rename from src/main/java/io/split/android/client/validators/ApiKeyValidator.java rename to main/src/main/java/io/split/android/client/validators/ApiKeyValidator.java diff --git a/src/main/java/io/split/android/client/validators/ApiKeyValidatorImpl.java b/main/src/main/java/io/split/android/client/validators/ApiKeyValidatorImpl.java similarity index 100% rename from src/main/java/io/split/android/client/validators/ApiKeyValidatorImpl.java rename to main/src/main/java/io/split/android/client/validators/ApiKeyValidatorImpl.java diff --git a/src/main/java/io/split/android/client/validators/AttributesValidator.java b/main/src/main/java/io/split/android/client/validators/AttributesValidator.java similarity index 100% rename from src/main/java/io/split/android/client/validators/AttributesValidator.java rename to main/src/main/java/io/split/android/client/validators/AttributesValidator.java diff --git a/src/main/java/io/split/android/client/validators/AttributesValidatorImpl.java b/main/src/main/java/io/split/android/client/validators/AttributesValidatorImpl.java similarity index 100% rename from src/main/java/io/split/android/client/validators/AttributesValidatorImpl.java rename to main/src/main/java/io/split/android/client/validators/AttributesValidatorImpl.java diff --git a/src/main/java/io/split/android/client/validators/EventValidator.java b/main/src/main/java/io/split/android/client/validators/EventValidator.java similarity index 100% rename from src/main/java/io/split/android/client/validators/EventValidator.java rename to main/src/main/java/io/split/android/client/validators/EventValidator.java diff --git a/src/main/java/io/split/android/client/validators/EventValidatorImpl.java b/main/src/main/java/io/split/android/client/validators/EventValidatorImpl.java similarity index 100% rename from src/main/java/io/split/android/client/validators/EventValidatorImpl.java rename to main/src/main/java/io/split/android/client/validators/EventValidatorImpl.java diff --git a/src/main/java/io/split/android/client/validators/FlagSetsValidatorImpl.java b/main/src/main/java/io/split/android/client/validators/FlagSetsValidatorImpl.java similarity index 100% rename from src/main/java/io/split/android/client/validators/FlagSetsValidatorImpl.java rename to main/src/main/java/io/split/android/client/validators/FlagSetsValidatorImpl.java diff --git a/src/main/java/io/split/android/client/validators/KeyValidator.java b/main/src/main/java/io/split/android/client/validators/KeyValidator.java similarity index 100% rename from src/main/java/io/split/android/client/validators/KeyValidator.java rename to main/src/main/java/io/split/android/client/validators/KeyValidator.java diff --git a/src/main/java/io/split/android/client/validators/KeyValidatorImpl.java b/main/src/main/java/io/split/android/client/validators/KeyValidatorImpl.java similarity index 100% rename from src/main/java/io/split/android/client/validators/KeyValidatorImpl.java rename to main/src/main/java/io/split/android/client/validators/KeyValidatorImpl.java diff --git a/src/main/java/io/split/android/client/validators/PrefixValidator.java b/main/src/main/java/io/split/android/client/validators/PrefixValidator.java similarity index 100% rename from src/main/java/io/split/android/client/validators/PrefixValidator.java rename to main/src/main/java/io/split/android/client/validators/PrefixValidator.java diff --git a/src/main/java/io/split/android/client/validators/PrefixValidatorImpl.java b/main/src/main/java/io/split/android/client/validators/PrefixValidatorImpl.java similarity index 100% rename from src/main/java/io/split/android/client/validators/PrefixValidatorImpl.java rename to main/src/main/java/io/split/android/client/validators/PrefixValidatorImpl.java diff --git a/src/main/java/io/split/android/client/validators/PropertyValidator.java b/main/src/main/java/io/split/android/client/validators/PropertyValidator.java similarity index 100% rename from src/main/java/io/split/android/client/validators/PropertyValidator.java rename to main/src/main/java/io/split/android/client/validators/PropertyValidator.java diff --git a/src/main/java/io/split/android/client/validators/SplitFilterValidator.java b/main/src/main/java/io/split/android/client/validators/SplitFilterValidator.java similarity index 100% rename from src/main/java/io/split/android/client/validators/SplitFilterValidator.java rename to main/src/main/java/io/split/android/client/validators/SplitFilterValidator.java diff --git a/src/main/java/io/split/android/client/validators/SplitValidator.java b/main/src/main/java/io/split/android/client/validators/SplitValidator.java similarity index 100% rename from src/main/java/io/split/android/client/validators/SplitValidator.java rename to main/src/main/java/io/split/android/client/validators/SplitValidator.java diff --git a/src/main/java/io/split/android/client/validators/SplitValidatorImpl.java b/main/src/main/java/io/split/android/client/validators/SplitValidatorImpl.java similarity index 100% rename from src/main/java/io/split/android/client/validators/SplitValidatorImpl.java rename to main/src/main/java/io/split/android/client/validators/SplitValidatorImpl.java diff --git a/src/main/java/io/split/android/client/validators/TreatmentManager.java b/main/src/main/java/io/split/android/client/validators/TreatmentManager.java similarity index 100% rename from src/main/java/io/split/android/client/validators/TreatmentManager.java rename to main/src/main/java/io/split/android/client/validators/TreatmentManager.java diff --git a/src/main/java/io/split/android/client/validators/TreatmentManagerFactory.java b/main/src/main/java/io/split/android/client/validators/TreatmentManagerFactory.java similarity index 100% rename from src/main/java/io/split/android/client/validators/TreatmentManagerFactory.java rename to main/src/main/java/io/split/android/client/validators/TreatmentManagerFactory.java diff --git a/src/main/java/io/split/android/client/validators/TreatmentManagerFactoryImpl.java b/main/src/main/java/io/split/android/client/validators/TreatmentManagerFactoryImpl.java similarity index 100% rename from src/main/java/io/split/android/client/validators/TreatmentManagerFactoryImpl.java rename to main/src/main/java/io/split/android/client/validators/TreatmentManagerFactoryImpl.java diff --git a/src/main/java/io/split/android/client/validators/TreatmentManagerHelper.java b/main/src/main/java/io/split/android/client/validators/TreatmentManagerHelper.java similarity index 100% rename from src/main/java/io/split/android/client/validators/TreatmentManagerHelper.java rename to main/src/main/java/io/split/android/client/validators/TreatmentManagerHelper.java diff --git a/src/main/java/io/split/android/client/validators/TreatmentManagerImpl.java b/main/src/main/java/io/split/android/client/validators/TreatmentManagerImpl.java similarity index 100% rename from src/main/java/io/split/android/client/validators/TreatmentManagerImpl.java rename to main/src/main/java/io/split/android/client/validators/TreatmentManagerImpl.java diff --git a/src/main/java/io/split/android/client/validators/ValidationConfig.java b/main/src/main/java/io/split/android/client/validators/ValidationConfig.java similarity index 100% rename from src/main/java/io/split/android/client/validators/ValidationConfig.java rename to main/src/main/java/io/split/android/client/validators/ValidationConfig.java diff --git a/src/main/java/io/split/android/client/validators/ValidationErrorInfo.java b/main/src/main/java/io/split/android/client/validators/ValidationErrorInfo.java similarity index 100% rename from src/main/java/io/split/android/client/validators/ValidationErrorInfo.java rename to main/src/main/java/io/split/android/client/validators/ValidationErrorInfo.java diff --git a/src/main/java/io/split/android/client/validators/ValidationMessageLogger.java b/main/src/main/java/io/split/android/client/validators/ValidationMessageLogger.java similarity index 100% rename from src/main/java/io/split/android/client/validators/ValidationMessageLogger.java rename to main/src/main/java/io/split/android/client/validators/ValidationMessageLogger.java diff --git a/src/main/java/io/split/android/client/validators/ValidationMessageLoggerImpl.java b/main/src/main/java/io/split/android/client/validators/ValidationMessageLoggerImpl.java similarity index 100% rename from src/main/java/io/split/android/client/validators/ValidationMessageLoggerImpl.java rename to main/src/main/java/io/split/android/client/validators/ValidationMessageLoggerImpl.java diff --git a/src/main/java/io/split/android/engine/experiments/DefaultConditionsProvider.java b/main/src/main/java/io/split/android/engine/experiments/DefaultConditionsProvider.java similarity index 100% rename from src/main/java/io/split/android/engine/experiments/DefaultConditionsProvider.java rename to main/src/main/java/io/split/android/engine/experiments/DefaultConditionsProvider.java diff --git a/src/main/java/io/split/android/engine/experiments/FetcherPolicy.java b/main/src/main/java/io/split/android/engine/experiments/FetcherPolicy.java similarity index 100% rename from src/main/java/io/split/android/engine/experiments/FetcherPolicy.java rename to main/src/main/java/io/split/android/engine/experiments/FetcherPolicy.java diff --git a/src/main/java/io/split/android/engine/experiments/ParsedCondition.java b/main/src/main/java/io/split/android/engine/experiments/ParsedCondition.java similarity index 100% rename from src/main/java/io/split/android/engine/experiments/ParsedCondition.java rename to main/src/main/java/io/split/android/engine/experiments/ParsedCondition.java diff --git a/src/main/java/io/split/android/engine/experiments/ParsedRuleBasedSegment.java b/main/src/main/java/io/split/android/engine/experiments/ParsedRuleBasedSegment.java similarity index 100% rename from src/main/java/io/split/android/engine/experiments/ParsedRuleBasedSegment.java rename to main/src/main/java/io/split/android/engine/experiments/ParsedRuleBasedSegment.java diff --git a/src/main/java/io/split/android/engine/experiments/ParsedSplit.java b/main/src/main/java/io/split/android/engine/experiments/ParsedSplit.java similarity index 100% rename from src/main/java/io/split/android/engine/experiments/ParsedSplit.java rename to main/src/main/java/io/split/android/engine/experiments/ParsedSplit.java diff --git a/src/main/java/io/split/android/engine/experiments/Parser.java b/main/src/main/java/io/split/android/engine/experiments/Parser.java similarity index 100% rename from src/main/java/io/split/android/engine/experiments/Parser.java rename to main/src/main/java/io/split/android/engine/experiments/Parser.java diff --git a/src/main/java/io/split/android/engine/experiments/ParserCommons.java b/main/src/main/java/io/split/android/engine/experiments/ParserCommons.java similarity index 100% rename from src/main/java/io/split/android/engine/experiments/ParserCommons.java rename to main/src/main/java/io/split/android/engine/experiments/ParserCommons.java diff --git a/src/main/java/io/split/android/engine/experiments/RuleBasedSegmentParser.java b/main/src/main/java/io/split/android/engine/experiments/RuleBasedSegmentParser.java similarity index 100% rename from src/main/java/io/split/android/engine/experiments/RuleBasedSegmentParser.java rename to main/src/main/java/io/split/android/engine/experiments/RuleBasedSegmentParser.java diff --git a/src/main/java/io/split/android/engine/experiments/SplitFetcher.java b/main/src/main/java/io/split/android/engine/experiments/SplitFetcher.java similarity index 100% rename from src/main/java/io/split/android/engine/experiments/SplitFetcher.java rename to main/src/main/java/io/split/android/engine/experiments/SplitFetcher.java diff --git a/src/main/java/io/split/android/engine/experiments/SplitParser.java b/main/src/main/java/io/split/android/engine/experiments/SplitParser.java similarity index 100% rename from src/main/java/io/split/android/engine/experiments/SplitParser.java rename to main/src/main/java/io/split/android/engine/experiments/SplitParser.java diff --git a/src/main/java/io/split/android/engine/experiments/UnsupportedMatcherException.java b/main/src/main/java/io/split/android/engine/experiments/UnsupportedMatcherException.java similarity index 100% rename from src/main/java/io/split/android/engine/experiments/UnsupportedMatcherException.java rename to main/src/main/java/io/split/android/engine/experiments/UnsupportedMatcherException.java diff --git a/src/main/java/io/split/android/engine/matchers/AllKeysMatcher.java b/main/src/main/java/io/split/android/engine/matchers/AllKeysMatcher.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/AllKeysMatcher.java rename to main/src/main/java/io/split/android/engine/matchers/AllKeysMatcher.java diff --git a/src/main/java/io/split/android/engine/matchers/AttributeMatcher.java b/main/src/main/java/io/split/android/engine/matchers/AttributeMatcher.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/AttributeMatcher.java rename to main/src/main/java/io/split/android/engine/matchers/AttributeMatcher.java diff --git a/src/main/java/io/split/android/engine/matchers/BetweenMatcher.java b/main/src/main/java/io/split/android/engine/matchers/BetweenMatcher.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/BetweenMatcher.java rename to main/src/main/java/io/split/android/engine/matchers/BetweenMatcher.java diff --git a/src/main/java/io/split/android/engine/matchers/BooleanMatcher.java b/main/src/main/java/io/split/android/engine/matchers/BooleanMatcher.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/BooleanMatcher.java rename to main/src/main/java/io/split/android/engine/matchers/BooleanMatcher.java diff --git a/src/main/java/io/split/android/engine/matchers/CombiningMatcher.java b/main/src/main/java/io/split/android/engine/matchers/CombiningMatcher.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/CombiningMatcher.java rename to main/src/main/java/io/split/android/engine/matchers/CombiningMatcher.java diff --git a/src/main/java/io/split/android/engine/matchers/DependencyMatcher.java b/main/src/main/java/io/split/android/engine/matchers/DependencyMatcher.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/DependencyMatcher.java rename to main/src/main/java/io/split/android/engine/matchers/DependencyMatcher.java diff --git a/src/main/java/io/split/android/engine/matchers/EqualToMatcher.java b/main/src/main/java/io/split/android/engine/matchers/EqualToMatcher.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/EqualToMatcher.java rename to main/src/main/java/io/split/android/engine/matchers/EqualToMatcher.java diff --git a/src/main/java/io/split/android/engine/matchers/GreaterThanOrEqualToMatcher.java b/main/src/main/java/io/split/android/engine/matchers/GreaterThanOrEqualToMatcher.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/GreaterThanOrEqualToMatcher.java rename to main/src/main/java/io/split/android/engine/matchers/GreaterThanOrEqualToMatcher.java diff --git a/src/main/java/io/split/android/engine/matchers/InRuleBasedSegmentMatcher.java b/main/src/main/java/io/split/android/engine/matchers/InRuleBasedSegmentMatcher.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/InRuleBasedSegmentMatcher.java rename to main/src/main/java/io/split/android/engine/matchers/InRuleBasedSegmentMatcher.java diff --git a/src/main/java/io/split/android/engine/matchers/LessThanOrEqualToMatcher.java b/main/src/main/java/io/split/android/engine/matchers/LessThanOrEqualToMatcher.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/LessThanOrEqualToMatcher.java rename to main/src/main/java/io/split/android/engine/matchers/LessThanOrEqualToMatcher.java diff --git a/src/main/java/io/split/android/engine/matchers/Matcher.java b/main/src/main/java/io/split/android/engine/matchers/Matcher.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/Matcher.java rename to main/src/main/java/io/split/android/engine/matchers/Matcher.java diff --git a/src/main/java/io/split/android/engine/matchers/MySegmentsMatcher.java b/main/src/main/java/io/split/android/engine/matchers/MySegmentsMatcher.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/MySegmentsMatcher.java rename to main/src/main/java/io/split/android/engine/matchers/MySegmentsMatcher.java diff --git a/src/main/java/io/split/android/engine/matchers/PrerequisitesMatcher.java b/main/src/main/java/io/split/android/engine/matchers/PrerequisitesMatcher.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/PrerequisitesMatcher.java rename to main/src/main/java/io/split/android/engine/matchers/PrerequisitesMatcher.java diff --git a/src/main/java/io/split/android/engine/matchers/Transformers.java b/main/src/main/java/io/split/android/engine/matchers/Transformers.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/Transformers.java rename to main/src/main/java/io/split/android/engine/matchers/Transformers.java diff --git a/src/main/java/io/split/android/engine/matchers/collections/ContainsAllOfSetMatcher.java b/main/src/main/java/io/split/android/engine/matchers/collections/ContainsAllOfSetMatcher.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/collections/ContainsAllOfSetMatcher.java rename to main/src/main/java/io/split/android/engine/matchers/collections/ContainsAllOfSetMatcher.java diff --git a/src/main/java/io/split/android/engine/matchers/collections/ContainsAnyOfSetMatcher.java b/main/src/main/java/io/split/android/engine/matchers/collections/ContainsAnyOfSetMatcher.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/collections/ContainsAnyOfSetMatcher.java rename to main/src/main/java/io/split/android/engine/matchers/collections/ContainsAnyOfSetMatcher.java diff --git a/src/main/java/io/split/android/engine/matchers/collections/EqualToSetMatcher.java b/main/src/main/java/io/split/android/engine/matchers/collections/EqualToSetMatcher.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/collections/EqualToSetMatcher.java rename to main/src/main/java/io/split/android/engine/matchers/collections/EqualToSetMatcher.java diff --git a/src/main/java/io/split/android/engine/matchers/collections/PartOfSetMatcher.java b/main/src/main/java/io/split/android/engine/matchers/collections/PartOfSetMatcher.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/collections/PartOfSetMatcher.java rename to main/src/main/java/io/split/android/engine/matchers/collections/PartOfSetMatcher.java diff --git a/src/main/java/io/split/android/engine/matchers/semver/BetweenSemverMatcher.java b/main/src/main/java/io/split/android/engine/matchers/semver/BetweenSemverMatcher.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/semver/BetweenSemverMatcher.java rename to main/src/main/java/io/split/android/engine/matchers/semver/BetweenSemverMatcher.java diff --git a/src/main/java/io/split/android/engine/matchers/semver/EqualToSemverMatcher.java b/main/src/main/java/io/split/android/engine/matchers/semver/EqualToSemverMatcher.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/semver/EqualToSemverMatcher.java rename to main/src/main/java/io/split/android/engine/matchers/semver/EqualToSemverMatcher.java diff --git a/src/main/java/io/split/android/engine/matchers/semver/GreaterThanOrEqualToSemverMatcher.java b/main/src/main/java/io/split/android/engine/matchers/semver/GreaterThanOrEqualToSemverMatcher.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/semver/GreaterThanOrEqualToSemverMatcher.java rename to main/src/main/java/io/split/android/engine/matchers/semver/GreaterThanOrEqualToSemverMatcher.java diff --git a/src/main/java/io/split/android/engine/matchers/semver/InListSemverMatcher.java b/main/src/main/java/io/split/android/engine/matchers/semver/InListSemverMatcher.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/semver/InListSemverMatcher.java rename to main/src/main/java/io/split/android/engine/matchers/semver/InListSemverMatcher.java diff --git a/src/main/java/io/split/android/engine/matchers/semver/LessThanOrEqualToSemverMatcher.java b/main/src/main/java/io/split/android/engine/matchers/semver/LessThanOrEqualToSemverMatcher.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/semver/LessThanOrEqualToSemverMatcher.java rename to main/src/main/java/io/split/android/engine/matchers/semver/LessThanOrEqualToSemverMatcher.java diff --git a/src/main/java/io/split/android/engine/matchers/semver/Semver.java b/main/src/main/java/io/split/android/engine/matchers/semver/Semver.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/semver/Semver.java rename to main/src/main/java/io/split/android/engine/matchers/semver/Semver.java diff --git a/src/main/java/io/split/android/engine/matchers/semver/SemverParseException.java b/main/src/main/java/io/split/android/engine/matchers/semver/SemverParseException.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/semver/SemverParseException.java rename to main/src/main/java/io/split/android/engine/matchers/semver/SemverParseException.java diff --git a/src/main/java/io/split/android/engine/matchers/strings/ContainsAnyOfMatcher.java b/main/src/main/java/io/split/android/engine/matchers/strings/ContainsAnyOfMatcher.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/strings/ContainsAnyOfMatcher.java rename to main/src/main/java/io/split/android/engine/matchers/strings/ContainsAnyOfMatcher.java diff --git a/src/main/java/io/split/android/engine/matchers/strings/EndsWithAnyOfMatcher.java b/main/src/main/java/io/split/android/engine/matchers/strings/EndsWithAnyOfMatcher.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/strings/EndsWithAnyOfMatcher.java rename to main/src/main/java/io/split/android/engine/matchers/strings/EndsWithAnyOfMatcher.java diff --git a/src/main/java/io/split/android/engine/matchers/strings/RegularExpressionMatcher.java b/main/src/main/java/io/split/android/engine/matchers/strings/RegularExpressionMatcher.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/strings/RegularExpressionMatcher.java rename to main/src/main/java/io/split/android/engine/matchers/strings/RegularExpressionMatcher.java diff --git a/src/main/java/io/split/android/engine/matchers/strings/StartsWithAnyOfMatcher.java b/main/src/main/java/io/split/android/engine/matchers/strings/StartsWithAnyOfMatcher.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/strings/StartsWithAnyOfMatcher.java rename to main/src/main/java/io/split/android/engine/matchers/strings/StartsWithAnyOfMatcher.java diff --git a/src/main/java/io/split/android/engine/matchers/strings/WhitelistMatcher.java b/main/src/main/java/io/split/android/engine/matchers/strings/WhitelistMatcher.java similarity index 100% rename from src/main/java/io/split/android/engine/matchers/strings/WhitelistMatcher.java rename to main/src/main/java/io/split/android/engine/matchers/strings/WhitelistMatcher.java diff --git a/src/main/java/io/split/android/engine/scheduler/PausableScheduledThreadPoolExecutor.java b/main/src/main/java/io/split/android/engine/scheduler/PausableScheduledThreadPoolExecutor.java similarity index 100% rename from src/main/java/io/split/android/engine/scheduler/PausableScheduledThreadPoolExecutor.java rename to main/src/main/java/io/split/android/engine/scheduler/PausableScheduledThreadPoolExecutor.java diff --git a/src/main/java/io/split/android/engine/scheduler/PausableScheduledThreadPoolExecutorImpl.java b/main/src/main/java/io/split/android/engine/scheduler/PausableScheduledThreadPoolExecutorImpl.java similarity index 100% rename from src/main/java/io/split/android/engine/scheduler/PausableScheduledThreadPoolExecutorImpl.java rename to main/src/main/java/io/split/android/engine/scheduler/PausableScheduledThreadPoolExecutorImpl.java diff --git a/src/main/java/io/split/android/engine/scheduler/PausableThreadPoolExecutor.java b/main/src/main/java/io/split/android/engine/scheduler/PausableThreadPoolExecutor.java similarity index 100% rename from src/main/java/io/split/android/engine/scheduler/PausableThreadPoolExecutor.java rename to main/src/main/java/io/split/android/engine/scheduler/PausableThreadPoolExecutor.java diff --git a/src/main/java/io/split/android/engine/scheduler/PausableThreadPoolExecutorImpl.java b/main/src/main/java/io/split/android/engine/scheduler/PausableThreadPoolExecutorImpl.java similarity index 100% rename from src/main/java/io/split/android/engine/scheduler/PausableThreadPoolExecutorImpl.java rename to main/src/main/java/io/split/android/engine/scheduler/PausableThreadPoolExecutorImpl.java diff --git a/src/main/java/io/split/android/engine/splitter/Splitter.java b/main/src/main/java/io/split/android/engine/splitter/Splitter.java similarity index 100% rename from src/main/java/io/split/android/engine/splitter/Splitter.java rename to main/src/main/java/io/split/android/engine/splitter/Splitter.java diff --git a/src/main/java/io/split/android/grammar/Treatments.java b/main/src/main/java/io/split/android/grammar/Treatments.java similarity index 100% rename from src/main/java/io/split/android/grammar/Treatments.java rename to main/src/main/java/io/split/android/grammar/Treatments.java diff --git a/src/sharedTest/java/helper/CompressionHelper.java b/main/src/sharedTest/java/helper/CompressionHelper.java similarity index 100% rename from src/sharedTest/java/helper/CompressionHelper.java rename to main/src/sharedTest/java/helper/CompressionHelper.java diff --git a/src/sharedTest/java/helper/TestingData.java b/main/src/sharedTest/java/helper/TestingData.java similarity index 100% rename from src/sharedTest/java/helper/TestingData.java rename to main/src/sharedTest/java/helper/TestingData.java diff --git a/src/sharedTest/java/helper/TestingHelper.java b/main/src/sharedTest/java/helper/TestingHelper.java similarity index 100% rename from src/sharedTest/java/helper/TestingHelper.java rename to main/src/sharedTest/java/helper/TestingHelper.java diff --git a/main/src/sharedTest/java/io/split/android/client/utils/logger/LogPrinterStub.java b/main/src/sharedTest/java/io/split/android/client/utils/logger/LogPrinterStub.java new file mode 100644 index 000000000..e8c53ef3d --- /dev/null +++ b/main/src/sharedTest/java/io/split/android/client/utils/logger/LogPrinterStub.java @@ -0,0 +1,66 @@ +package io.split.android.client.utils.logger; + +import android.util.Log; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentLinkedDeque; + +public class LogPrinterStub implements LogPrinter { + private final Set calls = new HashSet<>(); + private final Map> logs = new ConcurrentHashMap<>(); + + public LogPrinterStub() { + // Initialize for all Android log levels: VERBOSE(2) .. ASSERT(7) + for (int level = Log.VERBOSE; level <= Log.ASSERT; level++) { + logs.put(level, new ConcurrentLinkedDeque<>()); + } + } + + @Override + public void v(String tag, String msg, Throwable tr) { + logs.get(Log.VERBOSE).add(msg); + calls.add(Log.VERBOSE); + } + + @Override + public void d(String tag, String msg, Throwable tr) { + logs.get(Log.DEBUG).add(msg); + calls.add(Log.DEBUG); + } + + @Override + public void i(String tag, String msg, Throwable tr) { + logs.get(Log.INFO).add(msg); + calls.add(Log.INFO); + } + + @Override + public void w(String tag, String msg, Throwable tr) { + logs.get(Log.WARN).add(msg); + calls.add(Log.WARN); + } + + @Override + public void e(String tag, String msg, Throwable tr) { + logs.get(Log.ERROR).add(msg); + calls.add(Log.ERROR); + } + + @Override + public void wtf(String tag, String msg, Throwable tr) { + logs.get(Log.ASSERT).add(msg); + calls.add(Log.ASSERT); + } + + public boolean isCalled(Integer type) { + return calls.contains(type); + } + + public Map> getLoggedMessages() { + return new HashMap<>(logs); + } +} diff --git a/src/sharedTest/java/io/split/sharedtest/fake/HttpStreamResponseMock.java b/main/src/sharedTest/java/io/split/sharedtest/fake/HttpStreamResponseMock.java similarity index 100% rename from src/sharedTest/java/io/split/sharedtest/fake/HttpStreamResponseMock.java rename to main/src/sharedTest/java/io/split/sharedtest/fake/HttpStreamResponseMock.java diff --git a/src/test/java/android/util/Base64.java b/main/src/test/java/android/util/Base64.java similarity index 100% rename from src/test/java/android/util/Base64.java rename to main/src/test/java/android/util/Base64.java diff --git a/src/test/java/io/split/android/BCryptTest.java b/main/src/test/java/io/split/android/BCryptTest.java similarity index 100% rename from src/test/java/io/split/android/BCryptTest.java rename to main/src/test/java/io/split/android/BCryptTest.java diff --git a/src/test/java/io/split/android/FolderForApiKeyTest.java b/main/src/test/java/io/split/android/FolderForApiKeyTest.java similarity index 100% rename from src/test/java/io/split/android/FolderForApiKeyTest.java rename to main/src/test/java/io/split/android/FolderForApiKeyTest.java diff --git a/src/test/java/io/split/android/SplitConfigurationsParsingTests.java b/main/src/test/java/io/split/android/SplitConfigurationsParsingTests.java similarity index 100% rename from src/test/java/io/split/android/SplitConfigurationsParsingTests.java rename to main/src/test/java/io/split/android/SplitConfigurationsParsingTests.java diff --git a/src/test/java/io/split/android/client/DestroyerTest.java b/main/src/test/java/io/split/android/client/DestroyerTest.java similarity index 100% rename from src/test/java/io/split/android/client/DestroyerTest.java rename to main/src/test/java/io/split/android/client/DestroyerTest.java diff --git a/src/test/java/io/split/android/client/EvaluationOptionsTest.java b/main/src/test/java/io/split/android/client/EvaluationOptionsTest.java similarity index 100% rename from src/test/java/io/split/android/client/EvaluationOptionsTest.java rename to main/src/test/java/io/split/android/client/EvaluationOptionsTest.java diff --git a/src/test/java/io/split/android/client/FactoryMonitorTest.java b/main/src/test/java/io/split/android/client/FactoryMonitorTest.java similarity index 100% rename from src/test/java/io/split/android/client/FactoryMonitorTest.java rename to main/src/test/java/io/split/android/client/FactoryMonitorTest.java diff --git a/src/test/java/io/split/android/client/FileStorageTest.java b/main/src/test/java/io/split/android/client/FileStorageTest.java similarity index 100% rename from src/test/java/io/split/android/client/FileStorageTest.java rename to main/src/test/java/io/split/android/client/FileStorageTest.java diff --git a/src/test/java/io/split/android/client/FilterBuilderTest.java b/main/src/test/java/io/split/android/client/FilterBuilderTest.java similarity index 100% rename from src/test/java/io/split/android/client/FilterBuilderTest.java rename to main/src/test/java/io/split/android/client/FilterBuilderTest.java diff --git a/src/test/java/io/split/android/client/FilterGrouperTest.java b/main/src/test/java/io/split/android/client/FilterGrouperTest.java similarity index 100% rename from src/test/java/io/split/android/client/FilterGrouperTest.java rename to main/src/test/java/io/split/android/client/FilterGrouperTest.java diff --git a/src/test/java/io/split/android/client/FlagSetsFilterImplTest.java b/main/src/test/java/io/split/android/client/FlagSetsFilterImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/FlagSetsFilterImplTest.java rename to main/src/test/java/io/split/android/client/FlagSetsFilterImplTest.java diff --git a/src/test/java/io/split/android/client/ImpressionsModeTest.java b/main/src/test/java/io/split/android/client/ImpressionsModeTest.java similarity index 100% rename from src/test/java/io/split/android/client/ImpressionsModeTest.java rename to main/src/test/java/io/split/android/client/ImpressionsModeTest.java diff --git a/src/test/java/io/split/android/client/MySegmentsUriBuildersTest.java b/main/src/test/java/io/split/android/client/MySegmentsUriBuildersTest.java similarity index 100% rename from src/test/java/io/split/android/client/MySegmentsUriBuildersTest.java rename to main/src/test/java/io/split/android/client/MySegmentsUriBuildersTest.java diff --git a/src/test/java/io/split/android/client/RolloutCacheConfigurationTest.java b/main/src/test/java/io/split/android/client/RolloutCacheConfigurationTest.java similarity index 100% rename from src/test/java/io/split/android/client/RolloutCacheConfigurationTest.java rename to main/src/test/java/io/split/android/client/RolloutCacheConfigurationTest.java diff --git a/src/test/java/io/split/android/client/SplitClientConfigTest.java b/main/src/test/java/io/split/android/client/SplitClientConfigTest.java similarity index 100% rename from src/test/java/io/split/android/client/SplitClientConfigTest.java rename to main/src/test/java/io/split/android/client/SplitClientConfigTest.java diff --git a/src/test/java/io/split/android/client/SplitClientImplAttributesTest.java b/main/src/test/java/io/split/android/client/SplitClientImplAttributesTest.java similarity index 100% rename from src/test/java/io/split/android/client/SplitClientImplAttributesTest.java rename to main/src/test/java/io/split/android/client/SplitClientImplAttributesTest.java diff --git a/src/test/java/io/split/android/client/SplitClientImplBaseTest.java b/main/src/test/java/io/split/android/client/SplitClientImplBaseTest.java similarity index 100% rename from src/test/java/io/split/android/client/SplitClientImplBaseTest.java rename to main/src/test/java/io/split/android/client/SplitClientImplBaseTest.java diff --git a/src/test/java/io/split/android/client/SplitClientImplEvaluationOptionsTest.java b/main/src/test/java/io/split/android/client/SplitClientImplEvaluationOptionsTest.java similarity index 100% rename from src/test/java/io/split/android/client/SplitClientImplEvaluationOptionsTest.java rename to main/src/test/java/io/split/android/client/SplitClientImplEvaluationOptionsTest.java diff --git a/src/test/java/io/split/android/client/SplitClientImplFlagSetsTest.java b/main/src/test/java/io/split/android/client/SplitClientImplFlagSetsTest.java similarity index 100% rename from src/test/java/io/split/android/client/SplitClientImplFlagSetsTest.java rename to main/src/test/java/io/split/android/client/SplitClientImplFlagSetsTest.java diff --git a/src/test/java/io/split/android/client/SplitClientImplLegacyTest.java b/main/src/test/java/io/split/android/client/SplitClientImplLegacyTest.java similarity index 100% rename from src/test/java/io/split/android/client/SplitClientImplLegacyTest.java rename to main/src/test/java/io/split/android/client/SplitClientImplLegacyTest.java diff --git a/src/test/java/io/split/android/client/SplitFactoryHelperTest.kt b/main/src/test/java/io/split/android/client/SplitFactoryHelperTest.kt similarity index 100% rename from src/test/java/io/split/android/client/SplitFactoryHelperTest.kt rename to main/src/test/java/io/split/android/client/SplitFactoryHelperTest.kt diff --git a/src/test/java/io/split/android/client/SplitManagerImplTest.java b/main/src/test/java/io/split/android/client/SplitManagerImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/SplitManagerImplTest.java rename to main/src/test/java/io/split/android/client/SplitManagerImplTest.java diff --git a/src/test/java/io/split/android/client/SyncConfigTest.java b/main/src/test/java/io/split/android/client/SyncConfigTest.java similarity index 100% rename from src/test/java/io/split/android/client/SyncConfigTest.java rename to main/src/test/java/io/split/android/client/SyncConfigTest.java diff --git a/src/test/java/io/split/android/client/TreatmentLabelsTest.java b/main/src/test/java/io/split/android/client/TreatmentLabelsTest.java similarity index 100% rename from src/test/java/io/split/android/client/TreatmentLabelsTest.java rename to main/src/test/java/io/split/android/client/TreatmentLabelsTest.java diff --git a/src/test/java/io/split/android/client/TreatmentManagerEvaluationOptionsTest.java b/main/src/test/java/io/split/android/client/TreatmentManagerEvaluationOptionsTest.java similarity index 100% rename from src/test/java/io/split/android/client/TreatmentManagerEvaluationOptionsTest.java rename to main/src/test/java/io/split/android/client/TreatmentManagerEvaluationOptionsTest.java diff --git a/src/test/java/io/split/android/client/TreatmentManagerExceptionsTest.java b/main/src/test/java/io/split/android/client/TreatmentManagerExceptionsTest.java similarity index 100% rename from src/test/java/io/split/android/client/TreatmentManagerExceptionsTest.java rename to main/src/test/java/io/split/android/client/TreatmentManagerExceptionsTest.java diff --git a/src/test/java/io/split/android/client/TreatmentManagerTelemetryTest.java b/main/src/test/java/io/split/android/client/TreatmentManagerTelemetryTest.java similarity index 100% rename from src/test/java/io/split/android/client/TreatmentManagerTelemetryTest.java rename to main/src/test/java/io/split/android/client/TreatmentManagerTelemetryTest.java diff --git a/src/test/java/io/split/android/client/TreatmentManagerTest.java b/main/src/test/java/io/split/android/client/TreatmentManagerTest.java similarity index 100% rename from src/test/java/io/split/android/client/TreatmentManagerTest.java rename to main/src/test/java/io/split/android/client/TreatmentManagerTest.java diff --git a/src/test/java/io/split/android/client/TreatmentManagerWithFlagSetsTest.java b/main/src/test/java/io/split/android/client/TreatmentManagerWithFlagSetsTest.java similarity index 100% rename from src/test/java/io/split/android/client/TreatmentManagerWithFlagSetsTest.java rename to main/src/test/java/io/split/android/client/TreatmentManagerWithFlagSetsTest.java diff --git a/src/test/java/io/split/android/client/UserConsentManagerTest.java b/main/src/test/java/io/split/android/client/UserConsentManagerTest.java similarity index 100% rename from src/test/java/io/split/android/client/UserConsentManagerTest.java rename to main/src/test/java/io/split/android/client/UserConsentManagerTest.java diff --git a/src/test/java/io/split/android/client/attributes/AttributesManagerImplTest.java b/main/src/test/java/io/split/android/client/attributes/AttributesManagerImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/attributes/AttributesManagerImplTest.java rename to main/src/test/java/io/split/android/client/attributes/AttributesManagerImplTest.java diff --git a/src/test/java/io/split/android/client/attributes/AttributesMergerImplTest.java b/main/src/test/java/io/split/android/client/attributes/AttributesMergerImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/attributes/AttributesMergerImplTest.java rename to main/src/test/java/io/split/android/client/attributes/AttributesMergerImplTest.java diff --git a/src/test/java/io/split/android/client/dtos/SplitDeserializationTest.java b/main/src/test/java/io/split/android/client/dtos/SplitDeserializationTest.java similarity index 100% rename from src/test/java/io/split/android/client/dtos/SplitDeserializationTest.java rename to main/src/test/java/io/split/android/client/dtos/SplitDeserializationTest.java diff --git a/src/test/java/io/split/android/client/events/EventsManagerCoordinatorTest.java b/main/src/test/java/io/split/android/client/events/EventsManagerCoordinatorTest.java similarity index 100% rename from src/test/java/io/split/android/client/events/EventsManagerCoordinatorTest.java rename to main/src/test/java/io/split/android/client/events/EventsManagerCoordinatorTest.java diff --git a/src/test/java/io/split/android/client/events/EventsManagerTest.java b/main/src/test/java/io/split/android/client/events/EventsManagerTest.java similarity index 100% rename from src/test/java/io/split/android/client/events/EventsManagerTest.java rename to main/src/test/java/io/split/android/client/events/EventsManagerTest.java diff --git a/src/test/java/io/split/android/client/events/PropertyValidatorTest.java b/main/src/test/java/io/split/android/client/events/PropertyValidatorTest.java similarity index 100% rename from src/test/java/io/split/android/client/events/PropertyValidatorTest.java rename to main/src/test/java/io/split/android/client/events/PropertyValidatorTest.java diff --git a/src/test/java/io/split/android/client/events/executors/ClientEventSplitTaskTest.java b/main/src/test/java/io/split/android/client/events/executors/ClientEventSplitTaskTest.java similarity index 100% rename from src/test/java/io/split/android/client/events/executors/ClientEventSplitTaskTest.java rename to main/src/test/java/io/split/android/client/events/executors/ClientEventSplitTaskTest.java diff --git a/src/test/java/io/split/android/client/events/executors/SplitEventExecutorFactoryTest.java b/main/src/test/java/io/split/android/client/events/executors/SplitEventExecutorFactoryTest.java similarity index 100% rename from src/test/java/io/split/android/client/events/executors/SplitEventExecutorFactoryTest.java rename to main/src/test/java/io/split/android/client/events/executors/SplitEventExecutorFactoryTest.java diff --git a/src/test/java/io/split/android/client/events/executors/SplitEventExecutorResourcesImplTest.java b/main/src/test/java/io/split/android/client/events/executors/SplitEventExecutorResourcesImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/events/executors/SplitEventExecutorResourcesImplTest.java rename to main/src/test/java/io/split/android/client/events/executors/SplitEventExecutorResourcesImplTest.java diff --git a/src/test/java/io/split/android/client/events/executors/SplitEventExecutorWithClientTest.java b/main/src/test/java/io/split/android/client/events/executors/SplitEventExecutorWithClientTest.java similarity index 100% rename from src/test/java/io/split/android/client/events/executors/SplitEventExecutorWithClientTest.java rename to main/src/test/java/io/split/android/client/events/executors/SplitEventExecutorWithClientTest.java diff --git a/src/test/java/io/split/android/client/fallback/FallbackTreatmentTest.java b/main/src/test/java/io/split/android/client/fallback/FallbackTreatmentTest.java similarity index 100% rename from src/test/java/io/split/android/client/fallback/FallbackTreatmentTest.java rename to main/src/test/java/io/split/android/client/fallback/FallbackTreatmentTest.java diff --git a/src/test/java/io/split/android/client/fallback/FallbackTreatmentsCalculatorTest.java b/main/src/test/java/io/split/android/client/fallback/FallbackTreatmentsCalculatorTest.java similarity index 100% rename from src/test/java/io/split/android/client/fallback/FallbackTreatmentsCalculatorTest.java rename to main/src/test/java/io/split/android/client/fallback/FallbackTreatmentsCalculatorTest.java diff --git a/src/test/java/io/split/android/client/fallback/FallbackTreatmentsConfigurationTest.java b/main/src/test/java/io/split/android/client/fallback/FallbackTreatmentsConfigurationTest.java similarity index 100% rename from src/test/java/io/split/android/client/fallback/FallbackTreatmentsConfigurationTest.java rename to main/src/test/java/io/split/android/client/fallback/FallbackTreatmentsConfigurationTest.java diff --git a/src/test/java/io/split/android/client/fallback/FallbacksSanitizerImplTest.java b/main/src/test/java/io/split/android/client/fallback/FallbacksSanitizerImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/fallback/FallbacksSanitizerImplTest.java rename to main/src/test/java/io/split/android/client/fallback/FallbacksSanitizerImplTest.java diff --git a/src/test/java/io/split/android/client/impressions/ImpressionLoggingTaskTest.java b/main/src/test/java/io/split/android/client/impressions/ImpressionLoggingTaskTest.java similarity index 100% rename from src/test/java/io/split/android/client/impressions/ImpressionLoggingTaskTest.java rename to main/src/test/java/io/split/android/client/impressions/ImpressionLoggingTaskTest.java diff --git a/src/test/java/io/split/android/client/impressions/SyncImpressionListenerTest.java b/main/src/test/java/io/split/android/client/impressions/SyncImpressionListenerTest.java similarity index 100% rename from src/test/java/io/split/android/client/impressions/SyncImpressionListenerTest.java rename to main/src/test/java/io/split/android/client/impressions/SyncImpressionListenerTest.java diff --git a/src/test/java/io/split/android/client/localhost/LocalhostSplitClientTest.java b/main/src/test/java/io/split/android/client/localhost/LocalhostSplitClientTest.java similarity index 100% rename from src/test/java/io/split/android/client/localhost/LocalhostSplitClientTest.java rename to main/src/test/java/io/split/android/client/localhost/LocalhostSplitClientTest.java diff --git a/src/test/java/io/split/android/client/localhost/LocalhostSplitFactoryTest.java b/main/src/test/java/io/split/android/client/localhost/LocalhostSplitFactoryTest.java similarity index 100% rename from src/test/java/io/split/android/client/localhost/LocalhostSplitFactoryTest.java rename to main/src/test/java/io/split/android/client/localhost/LocalhostSplitFactoryTest.java diff --git a/src/test/java/io/split/android/client/localhost/LocalhostSplitFactoryTestBuilder.java b/main/src/test/java/io/split/android/client/localhost/LocalhostSplitFactoryTestBuilder.java similarity index 100% rename from src/test/java/io/split/android/client/localhost/LocalhostSplitFactoryTestBuilder.java rename to main/src/test/java/io/split/android/client/localhost/LocalhostSplitFactoryTestBuilder.java diff --git a/src/test/java/io/split/android/client/localhost/LocalhostYamlParserTest.java b/main/src/test/java/io/split/android/client/localhost/LocalhostYamlParserTest.java similarity index 100% rename from src/test/java/io/split/android/client/localhost/LocalhostYamlParserTest.java rename to main/src/test/java/io/split/android/client/localhost/LocalhostYamlParserTest.java diff --git a/src/test/java/io/split/android/client/localhost/shared/LocalhostSplitClientContainerImplTest.java b/main/src/test/java/io/split/android/client/localhost/shared/LocalhostSplitClientContainerImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/localhost/shared/LocalhostSplitClientContainerImplTest.java rename to main/src/test/java/io/split/android/client/localhost/shared/LocalhostSplitClientContainerImplTest.java diff --git a/src/test/java/io/split/android/client/metrics/BinarySearchLatencyTrackerTest.java b/main/src/test/java/io/split/android/client/metrics/BinarySearchLatencyTrackerTest.java similarity index 100% rename from src/test/java/io/split/android/client/metrics/BinarySearchLatencyTrackerTest.java rename to main/src/test/java/io/split/android/client/metrics/BinarySearchLatencyTrackerTest.java diff --git a/src/test/java/io/split/android/client/network/CertificateCheckerHelperTest.java b/main/src/test/java/io/split/android/client/network/CertificateCheckerHelperTest.java similarity index 100% rename from src/test/java/io/split/android/client/network/CertificateCheckerHelperTest.java rename to main/src/test/java/io/split/android/client/network/CertificateCheckerHelperTest.java diff --git a/src/test/java/io/split/android/client/network/CertificateCheckerImplTest.java b/main/src/test/java/io/split/android/client/network/CertificateCheckerImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/network/CertificateCheckerImplTest.java rename to main/src/test/java/io/split/android/client/network/CertificateCheckerImplTest.java diff --git a/src/test/java/io/split/android/client/network/CertificatePinningConfigurationProviderTest.java b/main/src/test/java/io/split/android/client/network/CertificatePinningConfigurationProviderTest.java similarity index 100% rename from src/test/java/io/split/android/client/network/CertificatePinningConfigurationProviderTest.java rename to main/src/test/java/io/split/android/client/network/CertificatePinningConfigurationProviderTest.java diff --git a/src/test/java/io/split/android/client/network/CertificatePinningConfigurationTest.java b/main/src/test/java/io/split/android/client/network/CertificatePinningConfigurationTest.java similarity index 100% rename from src/test/java/io/split/android/client/network/CertificatePinningConfigurationTest.java rename to main/src/test/java/io/split/android/client/network/CertificatePinningConfigurationTest.java diff --git a/src/test/java/io/split/android/client/network/ChainCleanerImplTest.java b/main/src/test/java/io/split/android/client/network/ChainCleanerImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/network/ChainCleanerImplTest.java rename to main/src/test/java/io/split/android/client/network/ChainCleanerImplTest.java diff --git a/src/test/java/io/split/android/client/network/DefaultBase64EncoderTest.java b/main/src/test/java/io/split/android/client/network/DefaultBase64EncoderTest.java similarity index 100% rename from src/test/java/io/split/android/client/network/DefaultBase64EncoderTest.java rename to main/src/test/java/io/split/android/client/network/DefaultBase64EncoderTest.java diff --git a/src/test/java/io/split/android/client/network/HttpClientTest.java b/main/src/test/java/io/split/android/client/network/HttpClientTest.java similarity index 100% rename from src/test/java/io/split/android/client/network/HttpClientTest.java rename to main/src/test/java/io/split/android/client/network/HttpClientTest.java diff --git a/src/test/java/io/split/android/client/network/HttpClientTunnellingProxyTest.java b/main/src/test/java/io/split/android/client/network/HttpClientTunnellingProxyTest.java similarity index 100% rename from src/test/java/io/split/android/client/network/HttpClientTunnellingProxyTest.java rename to main/src/test/java/io/split/android/client/network/HttpClientTunnellingProxyTest.java diff --git a/src/test/java/io/split/android/client/network/HttpOverTunnelExecutorTest.java b/main/src/test/java/io/split/android/client/network/HttpOverTunnelExecutorTest.java similarity index 100% rename from src/test/java/io/split/android/client/network/HttpOverTunnelExecutorTest.java rename to main/src/test/java/io/split/android/client/network/HttpOverTunnelExecutorTest.java diff --git a/src/test/java/io/split/android/client/network/HttpRequestHelperTest.java b/main/src/test/java/io/split/android/client/network/HttpRequestHelperTest.java similarity index 100% rename from src/test/java/io/split/android/client/network/HttpRequestHelperTest.java rename to main/src/test/java/io/split/android/client/network/HttpRequestHelperTest.java diff --git a/src/test/java/io/split/android/client/network/HttpResponseConnectionAdapterTest.java b/main/src/test/java/io/split/android/client/network/HttpResponseConnectionAdapterTest.java similarity index 100% rename from src/test/java/io/split/android/client/network/HttpResponseConnectionAdapterTest.java rename to main/src/test/java/io/split/android/client/network/HttpResponseConnectionAdapterTest.java diff --git a/src/test/java/io/split/android/client/network/HttpStreamResponseTest.java b/main/src/test/java/io/split/android/client/network/HttpStreamResponseTest.java similarity index 100% rename from src/test/java/io/split/android/client/network/HttpStreamResponseTest.java rename to main/src/test/java/io/split/android/client/network/HttpStreamResponseTest.java diff --git a/src/test/java/io/split/android/client/network/PinEncoderImplTest.java b/main/src/test/java/io/split/android/client/network/PinEncoderImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/network/PinEncoderImplTest.java rename to main/src/test/java/io/split/android/client/network/PinEncoderImplTest.java diff --git a/src/test/java/io/split/android/client/network/ProxyConfigurationTest.java b/main/src/test/java/io/split/android/client/network/ProxyConfigurationTest.java similarity index 100% rename from src/test/java/io/split/android/client/network/ProxyConfigurationTest.java rename to main/src/test/java/io/split/android/client/network/ProxyConfigurationTest.java diff --git a/src/test/java/io/split/android/client/network/ProxySslSocketFactoryProviderImplTest.java b/main/src/test/java/io/split/android/client/network/ProxySslSocketFactoryProviderImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/network/ProxySslSocketFactoryProviderImplTest.java rename to main/src/test/java/io/split/android/client/network/ProxySslSocketFactoryProviderImplTest.java diff --git a/src/test/java/io/split/android/client/network/RawHttpResponseParserTest.java b/main/src/test/java/io/split/android/client/network/RawHttpResponseParserTest.java similarity index 100% rename from src/test/java/io/split/android/client/network/RawHttpResponseParserTest.java rename to main/src/test/java/io/split/android/client/network/RawHttpResponseParserTest.java diff --git a/src/test/java/io/split/android/client/network/SdkTargetPathTest.java b/main/src/test/java/io/split/android/client/network/SdkTargetPathTest.java similarity index 100% rename from src/test/java/io/split/android/client/network/SdkTargetPathTest.java rename to main/src/test/java/io/split/android/client/network/SdkTargetPathTest.java diff --git a/src/test/java/io/split/android/client/network/SplitAuthenticatorTest.java b/main/src/test/java/io/split/android/client/network/SplitAuthenticatorTest.java similarity index 100% rename from src/test/java/io/split/android/client/network/SplitAuthenticatorTest.java rename to main/src/test/java/io/split/android/client/network/SplitAuthenticatorTest.java diff --git a/src/test/java/io/split/android/client/network/SplitBasicAuthenticatorTest.java b/main/src/test/java/io/split/android/client/network/SplitBasicAuthenticatorTest.java similarity index 100% rename from src/test/java/io/split/android/client/network/SplitBasicAuthenticatorTest.java rename to main/src/test/java/io/split/android/client/network/SplitBasicAuthenticatorTest.java diff --git a/src/test/java/io/split/android/client/network/SplitUrlConnectionAuthenticatorTest.java b/main/src/test/java/io/split/android/client/network/SplitUrlConnectionAuthenticatorTest.java similarity index 100% rename from src/test/java/io/split/android/client/network/SplitUrlConnectionAuthenticatorTest.java rename to main/src/test/java/io/split/android/client/network/SplitUrlConnectionAuthenticatorTest.java diff --git a/src/test/java/io/split/android/client/network/SslProxyTunnelEstablisherTest.java b/main/src/test/java/io/split/android/client/network/SslProxyTunnelEstablisherTest.java similarity index 100% rename from src/test/java/io/split/android/client/network/SslProxyTunnelEstablisherTest.java rename to main/src/test/java/io/split/android/client/network/SslProxyTunnelEstablisherTest.java diff --git a/src/test/java/io/split/android/client/network/TrustManagerProviderTest.java b/main/src/test/java/io/split/android/client/network/TrustManagerProviderTest.java similarity index 100% rename from src/test/java/io/split/android/client/network/TrustManagerProviderTest.java rename to main/src/test/java/io/split/android/client/network/TrustManagerProviderTest.java diff --git a/src/test/java/io/split/android/client/service/EventsRecorderTaskTest.java b/main/src/test/java/io/split/android/client/service/EventsRecorderTaskTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/EventsRecorderTaskTest.java rename to main/src/test/java/io/split/android/client/service/EventsRecorderTaskTest.java diff --git a/src/test/java/io/split/android/client/service/FilterSplitsInCacheTaskTest.java b/main/src/test/java/io/split/android/client/service/FilterSplitsInCacheTaskTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/FilterSplitsInCacheTaskTest.java rename to main/src/test/java/io/split/android/client/service/FilterSplitsInCacheTaskTest.java diff --git a/src/test/java/io/split/android/client/service/HttpFetcherTest.java b/main/src/test/java/io/split/android/client/service/HttpFetcherTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/HttpFetcherTest.java rename to main/src/test/java/io/split/android/client/service/HttpFetcherTest.java diff --git a/src/test/java/io/split/android/client/service/HttpRecorderTest.java b/main/src/test/java/io/split/android/client/service/HttpRecorderTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/HttpRecorderTest.java rename to main/src/test/java/io/split/android/client/service/HttpRecorderTest.java diff --git a/src/test/java/io/split/android/client/service/ImpressionHasherTest.java b/main/src/test/java/io/split/android/client/service/ImpressionHasherTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/ImpressionHasherTest.java rename to main/src/test/java/io/split/android/client/service/ImpressionHasherTest.java diff --git a/src/test/java/io/split/android/client/service/ImpressionsCountRecorderTaskTest.java b/main/src/test/java/io/split/android/client/service/ImpressionsCountRecorderTaskTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/ImpressionsCountRecorderTaskTest.java rename to main/src/test/java/io/split/android/client/service/ImpressionsCountRecorderTaskTest.java diff --git a/src/test/java/io/split/android/client/service/ImpressionsCounterTest.java b/main/src/test/java/io/split/android/client/service/ImpressionsCounterTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/ImpressionsCounterTest.java rename to main/src/test/java/io/split/android/client/service/ImpressionsCounterTest.java diff --git a/src/test/java/io/split/android/client/service/ImpressionsRecorderTaskTest.java b/main/src/test/java/io/split/android/client/service/ImpressionsRecorderTaskTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/ImpressionsRecorderTaskTest.java rename to main/src/test/java/io/split/android/client/service/ImpressionsRecorderTaskTest.java diff --git a/src/test/java/io/split/android/client/service/ImpressionsRequestParserTest.java b/main/src/test/java/io/split/android/client/service/ImpressionsRequestParserTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/ImpressionsRequestParserTest.java rename to main/src/test/java/io/split/android/client/service/ImpressionsRequestParserTest.java diff --git a/src/test/java/io/split/android/client/service/LoadSplitsTaskTest.java b/main/src/test/java/io/split/android/client/service/LoadSplitsTaskTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/LoadSplitsTaskTest.java rename to main/src/test/java/io/split/android/client/service/LoadSplitsTaskTest.java diff --git a/src/test/java/io/split/android/client/service/MySegmentsChangesCheckerTest.java b/main/src/test/java/io/split/android/client/service/MySegmentsChangesCheckerTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/MySegmentsChangesCheckerTest.java rename to main/src/test/java/io/split/android/client/service/MySegmentsChangesCheckerTest.java diff --git a/src/test/java/io/split/android/client/service/MySegmentsSyncTaskTest.java b/main/src/test/java/io/split/android/client/service/MySegmentsSyncTaskTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/MySegmentsSyncTaskTest.java rename to main/src/test/java/io/split/android/client/service/MySegmentsSyncTaskTest.java diff --git a/src/test/java/io/split/android/client/service/MySegmentsUpdateTaskTest.java b/main/src/test/java/io/split/android/client/service/MySegmentsUpdateTaskTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/MySegmentsUpdateTaskTest.java rename to main/src/test/java/io/split/android/client/service/MySegmentsUpdateTaskTest.java diff --git a/src/test/java/io/split/android/client/service/SplitInPlaceUpdateTaskTest.java b/main/src/test/java/io/split/android/client/service/SplitInPlaceUpdateTaskTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/SplitInPlaceUpdateTaskTest.java rename to main/src/test/java/io/split/android/client/service/SplitInPlaceUpdateTaskTest.java diff --git a/src/test/java/io/split/android/client/service/SplitKillTaskTest.java b/main/src/test/java/io/split/android/client/service/SplitKillTaskTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/SplitKillTaskTest.java rename to main/src/test/java/io/split/android/client/service/SplitKillTaskTest.java diff --git a/src/test/java/io/split/android/client/service/SplitSyncTaskTest.java b/main/src/test/java/io/split/android/client/service/SplitSyncTaskTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/SplitSyncTaskTest.java rename to main/src/test/java/io/split/android/client/service/SplitSyncTaskTest.java diff --git a/src/test/java/io/split/android/client/service/SplitTaskExecutorTest.java b/main/src/test/java/io/split/android/client/service/SplitTaskExecutorTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/SplitTaskExecutorTest.java rename to main/src/test/java/io/split/android/client/service/SplitTaskExecutorTest.java diff --git a/src/test/java/io/split/android/client/service/SplitUpdateTaskTest.java b/main/src/test/java/io/split/android/client/service/SplitUpdateTaskTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/SplitUpdateTaskTest.java rename to main/src/test/java/io/split/android/client/service/SplitUpdateTaskTest.java diff --git a/src/test/java/io/split/android/client/service/SplitsChangesCheckerTest.java b/main/src/test/java/io/split/android/client/service/SplitsChangesCheckerTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/SplitsChangesCheckerTest.java rename to main/src/test/java/io/split/android/client/service/SplitsChangesCheckerTest.java diff --git a/src/test/java/io/split/android/client/service/SplitsSyncHelperTest.java b/main/src/test/java/io/split/android/client/service/SplitsSyncHelperTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/SplitsSyncHelperTest.java rename to main/src/test/java/io/split/android/client/service/SplitsSyncHelperTest.java diff --git a/src/test/java/io/split/android/client/service/SynchronizerTest.java b/main/src/test/java/io/split/android/client/service/SynchronizerTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/SynchronizerTest.java rename to main/src/test/java/io/split/android/client/service/SynchronizerTest.java diff --git a/src/test/java/io/split/android/client/service/attributes/ClearAttributesInPersistentStorageTaskTest.java b/main/src/test/java/io/split/android/client/service/attributes/ClearAttributesInPersistentStorageTaskTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/attributes/ClearAttributesInPersistentStorageTaskTest.java rename to main/src/test/java/io/split/android/client/service/attributes/ClearAttributesInPersistentStorageTaskTest.java diff --git a/src/test/java/io/split/android/client/service/attributes/LoadAttributesTaskTest.java b/main/src/test/java/io/split/android/client/service/attributes/LoadAttributesTaskTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/attributes/LoadAttributesTaskTest.java rename to main/src/test/java/io/split/android/client/service/attributes/LoadAttributesTaskTest.java diff --git a/src/test/java/io/split/android/client/service/attributes/UpdateAttributesInPersistentStorageTaskTest.java b/main/src/test/java/io/split/android/client/service/attributes/UpdateAttributesInPersistentStorageTaskTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/attributes/UpdateAttributesInPersistentStorageTaskTest.java rename to main/src/test/java/io/split/android/client/service/attributes/UpdateAttributesInPersistentStorageTaskTest.java diff --git a/src/test/java/io/split/android/client/service/events/EventsRequestBodySerializerTest.java b/main/src/test/java/io/split/android/client/service/events/EventsRequestBodySerializerTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/events/EventsRequestBodySerializerTest.java rename to main/src/test/java/io/split/android/client/service/events/EventsRequestBodySerializerTest.java diff --git a/src/test/java/io/split/android/client/service/events/EventsTrackerTest.java b/main/src/test/java/io/split/android/client/service/events/EventsTrackerTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/events/EventsTrackerTest.java rename to main/src/test/java/io/split/android/client/service/events/EventsTrackerTest.java diff --git a/src/test/java/io/split/android/client/service/executor/SplitTaskSerialWrapperTest.java b/main/src/test/java/io/split/android/client/service/executor/SplitTaskSerialWrapperTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/executor/SplitTaskSerialWrapperTest.java rename to main/src/test/java/io/split/android/client/service/executor/SplitTaskSerialWrapperTest.java diff --git a/src/test/java/io/split/android/client/service/executor/ThreadFactoryBuilderTest.java b/main/src/test/java/io/split/android/client/service/executor/ThreadFactoryBuilderTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/executor/ThreadFactoryBuilderTest.java rename to main/src/test/java/io/split/android/client/service/executor/ThreadFactoryBuilderTest.java diff --git a/src/test/java/io/split/android/client/service/executor/parallel/SplitParallelTaskExecutorImplTest.java b/main/src/test/java/io/split/android/client/service/executor/parallel/SplitParallelTaskExecutorImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/executor/parallel/SplitParallelTaskExecutorImplTest.java rename to main/src/test/java/io/split/android/client/service/executor/parallel/SplitParallelTaskExecutorImplTest.java diff --git a/src/test/java/io/split/android/client/service/http/HttpSseAuthTokenFetcherTest.java b/main/src/test/java/io/split/android/client/service/http/HttpSseAuthTokenFetcherTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/http/HttpSseAuthTokenFetcherTest.java rename to main/src/test/java/io/split/android/client/service/http/HttpSseAuthTokenFetcherTest.java diff --git a/src/test/java/io/split/android/client/service/http/mysegments/MySegmentsFetcherFactoryImplTest.java b/main/src/test/java/io/split/android/client/service/http/mysegments/MySegmentsFetcherFactoryImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/http/mysegments/MySegmentsFetcherFactoryImplTest.java rename to main/src/test/java/io/split/android/client/service/http/mysegments/MySegmentsFetcherFactoryImplTest.java diff --git a/src/test/java/io/split/android/client/service/impressions/ImpressionManagerRetryTimerProviderImplTest.kt b/main/src/test/java/io/split/android/client/service/impressions/ImpressionManagerRetryTimerProviderImplTest.kt similarity index 100% rename from src/test/java/io/split/android/client/service/impressions/ImpressionManagerRetryTimerProviderImplTest.kt rename to main/src/test/java/io/split/android/client/service/impressions/ImpressionManagerRetryTimerProviderImplTest.kt diff --git a/src/test/java/io/split/android/client/service/impressions/ImpressionsRequestBodySerializerTest.java b/main/src/test/java/io/split/android/client/service/impressions/ImpressionsRequestBodySerializerTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/impressions/ImpressionsRequestBodySerializerTest.java rename to main/src/test/java/io/split/android/client/service/impressions/ImpressionsRequestBodySerializerTest.java diff --git a/src/test/java/io/split/android/client/service/impressions/MemoizedSupplierTest.java b/main/src/test/java/io/split/android/client/service/impressions/MemoizedSupplierTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/impressions/MemoizedSupplierTest.java rename to main/src/test/java/io/split/android/client/service/impressions/MemoizedSupplierTest.java diff --git a/src/test/java/io/split/android/client/service/impressions/StrategyImpressionManagerTest.kt b/main/src/test/java/io/split/android/client/service/impressions/StrategyImpressionManagerTest.kt similarity index 100% rename from src/test/java/io/split/android/client/service/impressions/StrategyImpressionManagerTest.kt rename to main/src/test/java/io/split/android/client/service/impressions/StrategyImpressionManagerTest.kt diff --git a/src/test/java/io/split/android/client/service/impressions/observer/ImpressionsObserverCacheImplTest.java b/main/src/test/java/io/split/android/client/service/impressions/observer/ImpressionsObserverCacheImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/impressions/observer/ImpressionsObserverCacheImplTest.java rename to main/src/test/java/io/split/android/client/service/impressions/observer/ImpressionsObserverCacheImplTest.java diff --git a/src/test/java/io/split/android/client/service/impressions/observer/PeriodicPersistenceTaskTest.java b/main/src/test/java/io/split/android/client/service/impressions/observer/PeriodicPersistenceTaskTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/impressions/observer/PeriodicPersistenceTaskTest.java rename to main/src/test/java/io/split/android/client/service/impressions/observer/PeriodicPersistenceTaskTest.java diff --git a/src/test/java/io/split/android/client/service/impressions/observer/SqlitePersistentImpressionsObserverCacheStorageTest.java b/main/src/test/java/io/split/android/client/service/impressions/observer/SqlitePersistentImpressionsObserverCacheStorageTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/impressions/observer/SqlitePersistentImpressionsObserverCacheStorageTest.java rename to main/src/test/java/io/split/android/client/service/impressions/observer/SqlitePersistentImpressionsObserverCacheStorageTest.java diff --git a/src/test/java/io/split/android/client/service/impressions/strategy/DebugStrategyTest.kt b/main/src/test/java/io/split/android/client/service/impressions/strategy/DebugStrategyTest.kt similarity index 100% rename from src/test/java/io/split/android/client/service/impressions/strategy/DebugStrategyTest.kt rename to main/src/test/java/io/split/android/client/service/impressions/strategy/DebugStrategyTest.kt diff --git a/src/test/java/io/split/android/client/service/impressions/strategy/DebugTrackerTest.kt b/main/src/test/java/io/split/android/client/service/impressions/strategy/DebugTrackerTest.kt similarity index 100% rename from src/test/java/io/split/android/client/service/impressions/strategy/DebugTrackerTest.kt rename to main/src/test/java/io/split/android/client/service/impressions/strategy/DebugTrackerTest.kt diff --git a/src/test/java/io/split/android/client/service/impressions/strategy/NoneStrategyTest.kt b/main/src/test/java/io/split/android/client/service/impressions/strategy/NoneStrategyTest.kt similarity index 100% rename from src/test/java/io/split/android/client/service/impressions/strategy/NoneStrategyTest.kt rename to main/src/test/java/io/split/android/client/service/impressions/strategy/NoneStrategyTest.kt diff --git a/src/test/java/io/split/android/client/service/impressions/strategy/NoneTrackerTest.kt b/main/src/test/java/io/split/android/client/service/impressions/strategy/NoneTrackerTest.kt similarity index 100% rename from src/test/java/io/split/android/client/service/impressions/strategy/NoneTrackerTest.kt rename to main/src/test/java/io/split/android/client/service/impressions/strategy/NoneTrackerTest.kt diff --git a/src/test/java/io/split/android/client/service/impressions/strategy/OptimizedStrategyTest.kt b/main/src/test/java/io/split/android/client/service/impressions/strategy/OptimizedStrategyTest.kt similarity index 100% rename from src/test/java/io/split/android/client/service/impressions/strategy/OptimizedStrategyTest.kt rename to main/src/test/java/io/split/android/client/service/impressions/strategy/OptimizedStrategyTest.kt diff --git a/src/test/java/io/split/android/client/service/impressions/strategy/OptimizedTrackerTest.kt b/main/src/test/java/io/split/android/client/service/impressions/strategy/OptimizedTrackerTest.kt similarity index 100% rename from src/test/java/io/split/android/client/service/impressions/strategy/OptimizedTrackerTest.kt rename to main/src/test/java/io/split/android/client/service/impressions/strategy/OptimizedTrackerTest.kt diff --git a/src/test/java/io/split/android/client/service/impressions/strategy/UtilsTest.java b/main/src/test/java/io/split/android/client/service/impressions/strategy/UtilsTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/impressions/strategy/UtilsTest.java rename to main/src/test/java/io/split/android/client/service/impressions/strategy/UtilsTest.java diff --git a/src/test/java/io/split/android/client/service/impressions/unique/MTKRequestBodySerializerTest.java b/main/src/test/java/io/split/android/client/service/impressions/unique/MTKRequestBodySerializerTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/impressions/unique/MTKRequestBodySerializerTest.java rename to main/src/test/java/io/split/android/client/service/impressions/unique/MTKRequestBodySerializerTest.java diff --git a/src/test/java/io/split/android/client/service/impressions/unique/SaveUniqueImpressionsTaskTest.java b/main/src/test/java/io/split/android/client/service/impressions/unique/SaveUniqueImpressionsTaskTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/impressions/unique/SaveUniqueImpressionsTaskTest.java rename to main/src/test/java/io/split/android/client/service/impressions/unique/SaveUniqueImpressionsTaskTest.java diff --git a/src/test/java/io/split/android/client/service/impressions/unique/UniqueKeysRecorderTaskTest.java b/main/src/test/java/io/split/android/client/service/impressions/unique/UniqueKeysRecorderTaskTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/impressions/unique/UniqueKeysRecorderTaskTest.java rename to main/src/test/java/io/split/android/client/service/impressions/unique/UniqueKeysRecorderTaskTest.java diff --git a/src/test/java/io/split/android/client/service/impressions/unique/UniqueKeysTrackerImplTest.java b/main/src/test/java/io/split/android/client/service/impressions/unique/UniqueKeysTrackerImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/impressions/unique/UniqueKeysTrackerImplTest.java rename to main/src/test/java/io/split/android/client/service/impressions/unique/UniqueKeysTrackerImplTest.java diff --git a/src/test/java/io/split/android/client/service/mysegments/AllSegmentsResponseParserTest.java b/main/src/test/java/io/split/android/client/service/mysegments/AllSegmentsResponseParserTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/mysegments/AllSegmentsResponseParserTest.java rename to main/src/test/java/io/split/android/client/service/mysegments/AllSegmentsResponseParserTest.java diff --git a/src/test/java/io/split/android/client/service/mysegments/LoadMySegmentsTaskConfigTest.java b/main/src/test/java/io/split/android/client/service/mysegments/LoadMySegmentsTaskConfigTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/mysegments/LoadMySegmentsTaskConfigTest.java rename to main/src/test/java/io/split/android/client/service/mysegments/LoadMySegmentsTaskConfigTest.java diff --git a/src/test/java/io/split/android/client/service/mysegments/MySegmentsBulkSyncTaskTest.java b/main/src/test/java/io/split/android/client/service/mysegments/MySegmentsBulkSyncTaskTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/mysegments/MySegmentsBulkSyncTaskTest.java rename to main/src/test/java/io/split/android/client/service/mysegments/MySegmentsBulkSyncTaskTest.java diff --git a/src/test/java/io/split/android/client/service/mysegments/MySegmentsSyncTaskConfigTest.java b/main/src/test/java/io/split/android/client/service/mysegments/MySegmentsSyncTaskConfigTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/mysegments/MySegmentsSyncTaskConfigTest.java rename to main/src/test/java/io/split/android/client/service/mysegments/MySegmentsSyncTaskConfigTest.java diff --git a/src/test/java/io/split/android/client/service/mysegments/MySegmentsTaskFactoryConfigurationTest.java b/main/src/test/java/io/split/android/client/service/mysegments/MySegmentsTaskFactoryConfigurationTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/mysegments/MySegmentsTaskFactoryConfigurationTest.java rename to main/src/test/java/io/split/android/client/service/mysegments/MySegmentsTaskFactoryConfigurationTest.java diff --git a/src/test/java/io/split/android/client/service/mysegments/MySegmentsUpdateTaskConfigTest.java b/main/src/test/java/io/split/android/client/service/mysegments/MySegmentsUpdateTaskConfigTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/mysegments/MySegmentsUpdateTaskConfigTest.java rename to main/src/test/java/io/split/android/client/service/mysegments/MySegmentsUpdateTaskConfigTest.java diff --git a/src/test/java/io/split/android/client/service/rules/RuleBasedSegmentChangeProcessorTest.java b/main/src/test/java/io/split/android/client/service/rules/RuleBasedSegmentChangeProcessorTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/rules/RuleBasedSegmentChangeProcessorTest.java rename to main/src/test/java/io/split/android/client/service/rules/RuleBasedSegmentChangeProcessorTest.java diff --git a/src/test/java/io/split/android/client/service/rules/RuleBasedSegmentInPlaceUpdateTaskTest.java b/main/src/test/java/io/split/android/client/service/rules/RuleBasedSegmentInPlaceUpdateTaskTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/rules/RuleBasedSegmentInPlaceUpdateTaskTest.java rename to main/src/test/java/io/split/android/client/service/rules/RuleBasedSegmentInPlaceUpdateTaskTest.java diff --git a/src/test/java/io/split/android/client/service/rules/TargetingRulesResponseParserTest.java b/main/src/test/java/io/split/android/client/service/rules/TargetingRulesResponseParserTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/rules/TargetingRulesResponseParserTest.java rename to main/src/test/java/io/split/android/client/service/rules/TargetingRulesResponseParserTest.java diff --git a/src/test/java/io/split/android/client/service/splits/LoadSplitsTaskTest.java b/main/src/test/java/io/split/android/client/service/splits/LoadSplitsTaskTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/splits/LoadSplitsTaskTest.java rename to main/src/test/java/io/split/android/client/service/splits/LoadSplitsTaskTest.java diff --git a/src/test/java/io/split/android/client/service/splits/OutdatedSplitProxyHandlerTest.java b/main/src/test/java/io/split/android/client/service/splits/OutdatedSplitProxyHandlerTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/splits/OutdatedSplitProxyHandlerTest.java rename to main/src/test/java/io/split/android/client/service/splits/OutdatedSplitProxyHandlerTest.java diff --git a/src/test/java/io/split/android/client/service/splits/SplitChangeProcessorTest.java b/main/src/test/java/io/split/android/client/service/splits/SplitChangeProcessorTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/splits/SplitChangeProcessorTest.java rename to main/src/test/java/io/split/android/client/service/splits/SplitChangeProcessorTest.java diff --git a/src/test/java/io/split/android/client/service/splits/SplitsSyncHelperFreshInstallTest.java b/main/src/test/java/io/split/android/client/service/splits/SplitsSyncHelperFreshInstallTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/splits/SplitsSyncHelperFreshInstallTest.java rename to main/src/test/java/io/split/android/client/service/splits/SplitsSyncHelperFreshInstallTest.java diff --git a/src/test/java/io/split/android/client/service/splits/TargetingRulesCacheTest.java b/main/src/test/java/io/split/android/client/service/splits/TargetingRulesCacheTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/splits/TargetingRulesCacheTest.java rename to main/src/test/java/io/split/android/client/service/splits/TargetingRulesCacheTest.java diff --git a/src/test/java/io/split/android/client/service/sseclient/BackgroundDisconnectionTaskTest.java b/main/src/test/java/io/split/android/client/service/sseclient/BackgroundDisconnectionTaskTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/sseclient/BackgroundDisconnectionTaskTest.java rename to main/src/test/java/io/split/android/client/service/sseclient/BackgroundDisconnectionTaskTest.java diff --git a/src/test/java/io/split/android/client/service/sseclient/EventStreamParserTest.java b/main/src/test/java/io/split/android/client/service/sseclient/EventStreamParserTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/sseclient/EventStreamParserTest.java rename to main/src/test/java/io/split/android/client/service/sseclient/EventStreamParserTest.java diff --git a/src/test/java/io/split/android/client/service/sseclient/MySegmentsUpdateWorkerTest.java b/main/src/test/java/io/split/android/client/service/sseclient/MySegmentsUpdateWorkerTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/sseclient/MySegmentsUpdateWorkerTest.java rename to main/src/test/java/io/split/android/client/service/sseclient/MySegmentsUpdateWorkerTest.java diff --git a/src/test/java/io/split/android/client/service/sseclient/NotificationManagerKeeperTest.java b/main/src/test/java/io/split/android/client/service/sseclient/NotificationManagerKeeperTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/sseclient/NotificationManagerKeeperTest.java rename to main/src/test/java/io/split/android/client/service/sseclient/NotificationManagerKeeperTest.java diff --git a/src/test/java/io/split/android/client/service/sseclient/NotificationParserTest.java b/main/src/test/java/io/split/android/client/service/sseclient/NotificationParserTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/sseclient/NotificationParserTest.java rename to main/src/test/java/io/split/android/client/service/sseclient/NotificationParserTest.java diff --git a/src/test/java/io/split/android/client/service/sseclient/NotificationProcessorTest.java b/main/src/test/java/io/split/android/client/service/sseclient/NotificationProcessorTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/sseclient/NotificationProcessorTest.java rename to main/src/test/java/io/split/android/client/service/sseclient/NotificationProcessorTest.java diff --git a/src/test/java/io/split/android/client/service/sseclient/PushNotificationManagerTest.java b/main/src/test/java/io/split/android/client/service/sseclient/PushNotificationManagerTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/sseclient/PushNotificationManagerTest.java rename to main/src/test/java/io/split/android/client/service/sseclient/PushNotificationManagerTest.java diff --git a/src/test/java/io/split/android/client/service/sseclient/ReconnectBackoffCounterTest.java b/main/src/test/java/io/split/android/client/service/sseclient/ReconnectBackoffCounterTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/sseclient/ReconnectBackoffCounterTest.java rename to main/src/test/java/io/split/android/client/service/sseclient/ReconnectBackoffCounterTest.java diff --git a/src/test/java/io/split/android/client/service/sseclient/SplitUpdateWorkerTest.java b/main/src/test/java/io/split/android/client/service/sseclient/SplitUpdateWorkerTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/sseclient/SplitUpdateWorkerTest.java rename to main/src/test/java/io/split/android/client/service/sseclient/SplitUpdateWorkerTest.java diff --git a/src/test/java/io/split/android/client/service/sseclient/SseAuthenticatorTest.java b/main/src/test/java/io/split/android/client/service/sseclient/SseAuthenticatorTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/sseclient/SseAuthenticatorTest.java rename to main/src/test/java/io/split/android/client/service/sseclient/SseAuthenticatorTest.java diff --git a/src/test/java/io/split/android/client/service/sseclient/SseClientTest.java b/main/src/test/java/io/split/android/client/service/sseclient/SseClientTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/sseclient/SseClientTest.java rename to main/src/test/java/io/split/android/client/service/sseclient/SseClientTest.java diff --git a/src/test/java/io/split/android/client/service/sseclient/SseHandlerTest.java b/main/src/test/java/io/split/android/client/service/sseclient/SseHandlerTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/sseclient/SseHandlerTest.java rename to main/src/test/java/io/split/android/client/service/sseclient/SseHandlerTest.java diff --git a/src/test/java/io/split/android/client/service/sseclient/SyncManagerChannelMessageTest.java b/main/src/test/java/io/split/android/client/service/sseclient/SyncManagerChannelMessageTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/sseclient/SyncManagerChannelMessageTest.java rename to main/src/test/java/io/split/android/client/service/sseclient/SyncManagerChannelMessageTest.java diff --git a/src/test/java/io/split/android/client/service/sseclient/SyncManagerTest.java b/main/src/test/java/io/split/android/client/service/sseclient/SyncManagerTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/sseclient/SyncManagerTest.java rename to main/src/test/java/io/split/android/client/service/sseclient/SyncManagerTest.java diff --git a/src/test/java/io/split/android/client/service/sseclient/notifications/mysegments/MySegmentsNotificationProcessorImplTest.java b/main/src/test/java/io/split/android/client/service/sseclient/notifications/mysegments/MySegmentsNotificationProcessorImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/sseclient/notifications/mysegments/MySegmentsNotificationProcessorImplTest.java rename to main/src/test/java/io/split/android/client/service/sseclient/notifications/mysegments/MySegmentsNotificationProcessorImplTest.java diff --git a/src/test/java/io/split/android/client/service/sseclient/notifications/mysegments/SyncDelayCalculatorTest.java b/main/src/test/java/io/split/android/client/service/sseclient/notifications/mysegments/SyncDelayCalculatorTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/sseclient/notifications/mysegments/SyncDelayCalculatorTest.java rename to main/src/test/java/io/split/android/client/service/sseclient/notifications/mysegments/SyncDelayCalculatorTest.java diff --git a/src/test/java/io/split/android/client/service/sseclient/reactor/MySegmentsUpdateWorkerRegistryImplTest.java b/main/src/test/java/io/split/android/client/service/sseclient/reactor/MySegmentsUpdateWorkerRegistryImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/sseclient/reactor/MySegmentsUpdateWorkerRegistryImplTest.java rename to main/src/test/java/io/split/android/client/service/sseclient/reactor/MySegmentsUpdateWorkerRegistryImplTest.java diff --git a/src/test/java/io/split/android/client/service/sseclient/sseclient/PushNotificationManagerDeferredStartTaskTest.java b/main/src/test/java/io/split/android/client/service/sseclient/sseclient/PushNotificationManagerDeferredStartTaskTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/sseclient/sseclient/PushNotificationManagerDeferredStartTaskTest.java rename to main/src/test/java/io/split/android/client/service/sseclient/sseclient/PushNotificationManagerDeferredStartTaskTest.java diff --git a/src/test/java/io/split/android/client/service/sseclient/sseclient/RetryBackoffCounterTimerTest.java b/main/src/test/java/io/split/android/client/service/sseclient/sseclient/RetryBackoffCounterTimerTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/sseclient/sseclient/RetryBackoffCounterTimerTest.java rename to main/src/test/java/io/split/android/client/service/sseclient/sseclient/RetryBackoffCounterTimerTest.java diff --git a/src/test/java/io/split/android/client/service/sseclient/sseclient/SseDisconnectionTimerTest.java b/main/src/test/java/io/split/android/client/service/sseclient/sseclient/SseDisconnectionTimerTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/sseclient/sseclient/SseDisconnectionTimerTest.java rename to main/src/test/java/io/split/android/client/service/sseclient/sseclient/SseDisconnectionTimerTest.java diff --git a/src/test/java/io/split/android/client/service/sseclient/sseclient/notifications/SplitsChangeNotificationTest.java b/main/src/test/java/io/split/android/client/service/sseclient/sseclient/notifications/SplitsChangeNotificationTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/sseclient/sseclient/notifications/SplitsChangeNotificationTest.java rename to main/src/test/java/io/split/android/client/service/sseclient/sseclient/notifications/SplitsChangeNotificationTest.java diff --git a/src/test/java/io/split/android/client/service/synchronizer/FeatureFlagsSynchronizerImplTest.java b/main/src/test/java/io/split/android/client/service/synchronizer/FeatureFlagsSynchronizerImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/synchronizer/FeatureFlagsSynchronizerImplTest.java rename to main/src/test/java/io/split/android/client/service/synchronizer/FeatureFlagsSynchronizerImplTest.java diff --git a/src/test/java/io/split/android/client/service/synchronizer/RecorderSyncHelperImplTest.java b/main/src/test/java/io/split/android/client/service/synchronizer/RecorderSyncHelperImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/synchronizer/RecorderSyncHelperImplTest.java rename to main/src/test/java/io/split/android/client/service/synchronizer/RecorderSyncHelperImplTest.java diff --git a/src/test/java/io/split/android/client/service/synchronizer/RolloutCacheManagerTest.kt b/main/src/test/java/io/split/android/client/service/synchronizer/RolloutCacheManagerTest.kt similarity index 100% rename from src/test/java/io/split/android/client/service/synchronizer/RolloutCacheManagerTest.kt rename to main/src/test/java/io/split/android/client/service/synchronizer/RolloutCacheManagerTest.kt diff --git a/src/test/java/io/split/android/client/service/synchronizer/SyncGuardianImplTest.java b/main/src/test/java/io/split/android/client/service/synchronizer/SyncGuardianImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/synchronizer/SyncGuardianImplTest.java rename to main/src/test/java/io/split/android/client/service/synchronizer/SyncGuardianImplTest.java diff --git a/src/test/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerImplTest.java b/main/src/test/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerImplTest.java rename to main/src/test/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerImplTest.java diff --git a/src/test/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerRegistryImplTest.java b/main/src/test/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerRegistryImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerRegistryImplTest.java rename to main/src/test/java/io/split/android/client/service/synchronizer/attributes/AttributesSynchronizerRegistryImplTest.java diff --git a/src/test/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerImplTest.java b/main/src/test/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerImplTest.java rename to main/src/test/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerImplTest.java diff --git a/src/test/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerRegistryImplTest.java b/main/src/test/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerRegistryImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerRegistryImplTest.java rename to main/src/test/java/io/split/android/client/service/synchronizer/mysegments/MySegmentsSynchronizerRegistryImplTest.java diff --git a/src/test/java/io/split/android/client/service/telemetry/SynchronizerImplTelemetryTest.java b/main/src/test/java/io/split/android/client/service/telemetry/SynchronizerImplTelemetryTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/telemetry/SynchronizerImplTelemetryTest.java rename to main/src/test/java/io/split/android/client/service/telemetry/SynchronizerImplTelemetryTest.java diff --git a/src/test/java/io/split/android/client/service/telemetry/TelemetryConfigRecorderTaskTest.java b/main/src/test/java/io/split/android/client/service/telemetry/TelemetryConfigRecorderTaskTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/telemetry/TelemetryConfigRecorderTaskTest.java rename to main/src/test/java/io/split/android/client/service/telemetry/TelemetryConfigRecorderTaskTest.java diff --git a/src/test/java/io/split/android/client/service/telemetry/TelemetryStatsRecorderTaskTest.java b/main/src/test/java/io/split/android/client/service/telemetry/TelemetryStatsRecorderTaskTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/telemetry/TelemetryStatsRecorderTaskTest.java rename to main/src/test/java/io/split/android/client/service/telemetry/TelemetryStatsRecorderTaskTest.java diff --git a/src/test/java/io/split/android/client/service/workmanager/HttpClientProviderTest.java b/main/src/test/java/io/split/android/client/service/workmanager/HttpClientProviderTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/workmanager/HttpClientProviderTest.java rename to main/src/test/java/io/split/android/client/service/workmanager/HttpClientProviderTest.java diff --git a/src/test/java/io/split/android/client/service/workmanager/splits/FetcherProviderTest.java b/main/src/test/java/io/split/android/client/service/workmanager/splits/FetcherProviderTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/workmanager/splits/FetcherProviderTest.java rename to main/src/test/java/io/split/android/client/service/workmanager/splits/FetcherProviderTest.java diff --git a/src/test/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorkerFilterBuilderTest.java b/main/src/test/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorkerFilterBuilderTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorkerFilterBuilderTest.java rename to main/src/test/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorkerFilterBuilderTest.java diff --git a/src/test/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorkerParamsTest.java b/main/src/test/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorkerParamsTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorkerParamsTest.java rename to main/src/test/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorkerParamsTest.java diff --git a/src/test/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorkerTaskBuilderTest.java b/main/src/test/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorkerTaskBuilderTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorkerTaskBuilderTest.java rename to main/src/test/java/io/split/android/client/service/workmanager/splits/SplitsSyncWorkerTaskBuilderTest.java diff --git a/src/test/java/io/split/android/client/service/workmanager/splits/StorageProviderTest.java b/main/src/test/java/io/split/android/client/service/workmanager/splits/StorageProviderTest.java similarity index 100% rename from src/test/java/io/split/android/client/service/workmanager/splits/StorageProviderTest.java rename to main/src/test/java/io/split/android/client/service/workmanager/splits/StorageProviderTest.java diff --git a/src/test/java/io/split/android/client/shared/ClientComponentsRegisterImplTest.java b/main/src/test/java/io/split/android/client/shared/ClientComponentsRegisterImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/shared/ClientComponentsRegisterImplTest.java rename to main/src/test/java/io/split/android/client/shared/ClientComponentsRegisterImplTest.java diff --git a/src/test/java/io/split/android/client/shared/SplitClientContainerImplTest.java b/main/src/test/java/io/split/android/client/shared/SplitClientContainerImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/shared/SplitClientContainerImplTest.java rename to main/src/test/java/io/split/android/client/shared/SplitClientContainerImplTest.java diff --git a/src/test/java/io/split/android/client/storage/attributes/AttributesStorageImplTest.java b/main/src/test/java/io/split/android/client/storage/attributes/AttributesStorageImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/storage/attributes/AttributesStorageImplTest.java rename to main/src/test/java/io/split/android/client/storage/attributes/AttributesStorageImplTest.java diff --git a/src/test/java/io/split/android/client/storage/attributes/SqLitePersistentAttributesStorageTest.java b/main/src/test/java/io/split/android/client/storage/attributes/SqLitePersistentAttributesStorageTest.java similarity index 100% rename from src/test/java/io/split/android/client/storage/attributes/SqLitePersistentAttributesStorageTest.java rename to main/src/test/java/io/split/android/client/storage/attributes/SqLitePersistentAttributesStorageTest.java diff --git a/src/test/java/io/split/android/client/storage/cipher/ApplyCipherTaskTest.kt b/main/src/test/java/io/split/android/client/storage/cipher/ApplyCipherTaskTest.kt similarity index 100% rename from src/test/java/io/split/android/client/storage/cipher/ApplyCipherTaskTest.kt rename to main/src/test/java/io/split/android/client/storage/cipher/ApplyCipherTaskTest.kt diff --git a/src/test/java/io/split/android/client/storage/cipher/CBCCipherTest.kt b/main/src/test/java/io/split/android/client/storage/cipher/CBCCipherTest.kt similarity index 100% rename from src/test/java/io/split/android/client/storage/cipher/CBCCipherTest.kt rename to main/src/test/java/io/split/android/client/storage/cipher/CBCCipherTest.kt diff --git a/src/test/java/io/split/android/client/storage/cipher/DBCipherTest.kt b/main/src/test/java/io/split/android/client/storage/cipher/DBCipherTest.kt similarity index 100% rename from src/test/java/io/split/android/client/storage/cipher/DBCipherTest.kt rename to main/src/test/java/io/split/android/client/storage/cipher/DBCipherTest.kt diff --git a/src/test/java/io/split/android/client/storage/cipher/EncryptionMigrationTaskTest.kt b/main/src/test/java/io/split/android/client/storage/cipher/EncryptionMigrationTaskTest.kt similarity index 100% rename from src/test/java/io/split/android/client/storage/cipher/EncryptionMigrationTaskTest.kt rename to main/src/test/java/io/split/android/client/storage/cipher/EncryptionMigrationTaskTest.kt diff --git a/src/test/java/io/split/android/client/storage/cipher/NoOpCipherTest.kt b/main/src/test/java/io/split/android/client/storage/cipher/NoOpCipherTest.kt similarity index 100% rename from src/test/java/io/split/android/client/storage/cipher/NoOpCipherTest.kt rename to main/src/test/java/io/split/android/client/storage/cipher/NoOpCipherTest.kt diff --git a/src/test/java/io/split/android/client/storage/cipher/ObjectPoolTest.kt b/main/src/test/java/io/split/android/client/storage/cipher/ObjectPoolTest.kt similarity index 100% rename from src/test/java/io/split/android/client/storage/cipher/ObjectPoolTest.kt rename to main/src/test/java/io/split/android/client/storage/cipher/ObjectPoolTest.kt diff --git a/src/test/java/io/split/android/client/storage/cipher/SplitCipherFactoryTest.kt b/main/src/test/java/io/split/android/client/storage/cipher/SplitCipherFactoryTest.kt similarity index 100% rename from src/test/java/io/split/android/client/storage/cipher/SplitCipherFactoryTest.kt rename to main/src/test/java/io/split/android/client/storage/cipher/SplitCipherFactoryTest.kt diff --git a/src/test/java/io/split/android/client/storage/common/SplitStorageContainerTest.java b/main/src/test/java/io/split/android/client/storage/common/SplitStorageContainerTest.java similarity index 100% rename from src/test/java/io/split/android/client/storage/common/SplitStorageContainerTest.java rename to main/src/test/java/io/split/android/client/storage/common/SplitStorageContainerTest.java diff --git a/src/test/java/io/split/android/client/storage/db/SplitQueryDaoImplTest.java b/main/src/test/java/io/split/android/client/storage/db/SplitQueryDaoImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/storage/db/SplitQueryDaoImplTest.java rename to main/src/test/java/io/split/android/client/storage/db/SplitQueryDaoImplTest.java diff --git a/src/test/java/io/split/android/client/storage/db/SplitRoomDatabaseTest.java b/main/src/test/java/io/split/android/client/storage/db/SplitRoomDatabaseTest.java similarity index 100% rename from src/test/java/io/split/android/client/storage/db/SplitRoomDatabaseTest.java rename to main/src/test/java/io/split/android/client/storage/db/SplitRoomDatabaseTest.java diff --git a/src/test/java/io/split/android/client/storage/events/EventsStorageTest.java b/main/src/test/java/io/split/android/client/storage/events/EventsStorageTest.java similarity index 100% rename from src/test/java/io/split/android/client/storage/events/EventsStorageTest.java rename to main/src/test/java/io/split/android/client/storage/events/EventsStorageTest.java diff --git a/src/test/java/io/split/android/client/storage/events/SqLitePersistentEventsStorageTest.java b/main/src/test/java/io/split/android/client/storage/events/SqLitePersistentEventsStorageTest.java similarity index 100% rename from src/test/java/io/split/android/client/storage/events/SqLitePersistentEventsStorageTest.java rename to main/src/test/java/io/split/android/client/storage/events/SqLitePersistentEventsStorageTest.java diff --git a/src/test/java/io/split/android/client/storage/general/GeneralInfoStorageImplTest.java b/main/src/test/java/io/split/android/client/storage/general/GeneralInfoStorageImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/storage/general/GeneralInfoStorageImplTest.java rename to main/src/test/java/io/split/android/client/storage/general/GeneralInfoStorageImplTest.java diff --git a/src/test/java/io/split/android/client/storage/impressions/ImpressionsStorageTest.java b/main/src/test/java/io/split/android/client/storage/impressions/ImpressionsStorageTest.java similarity index 100% rename from src/test/java/io/split/android/client/storage/impressions/ImpressionsStorageTest.java rename to main/src/test/java/io/split/android/client/storage/impressions/ImpressionsStorageTest.java diff --git a/src/test/java/io/split/android/client/storage/impressions/SqlitePersistentImpressionsCountStorageTest.java b/main/src/test/java/io/split/android/client/storage/impressions/SqlitePersistentImpressionsCountStorageTest.java similarity index 100% rename from src/test/java/io/split/android/client/storage/impressions/SqlitePersistentImpressionsCountStorageTest.java rename to main/src/test/java/io/split/android/client/storage/impressions/SqlitePersistentImpressionsCountStorageTest.java diff --git a/src/test/java/io/split/android/client/storage/impressions/SqlitePersistentImpressionsStorageTest.java b/main/src/test/java/io/split/android/client/storage/impressions/SqlitePersistentImpressionsStorageTest.java similarity index 100% rename from src/test/java/io/split/android/client/storage/impressions/SqlitePersistentImpressionsStorageTest.java rename to main/src/test/java/io/split/android/client/storage/impressions/SqlitePersistentImpressionsStorageTest.java diff --git a/src/test/java/io/split/android/client/storage/impressions/SqlitePersistentUniqueStorageTest.java b/main/src/test/java/io/split/android/client/storage/impressions/SqlitePersistentUniqueStorageTest.java similarity index 100% rename from src/test/java/io/split/android/client/storage/impressions/SqlitePersistentUniqueStorageTest.java rename to main/src/test/java/io/split/android/client/storage/impressions/SqlitePersistentUniqueStorageTest.java diff --git a/src/test/java/io/split/android/client/storage/mysegments/MySegmentsStorageContainerImplTest.java b/main/src/test/java/io/split/android/client/storage/mysegments/MySegmentsStorageContainerImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/storage/mysegments/MySegmentsStorageContainerImplTest.java rename to main/src/test/java/io/split/android/client/storage/mysegments/MySegmentsStorageContainerImplTest.java diff --git a/src/test/java/io/split/android/client/storage/mysegments/SqLitePersistentMyLargeSegmentsStorageTest.java b/main/src/test/java/io/split/android/client/storage/mysegments/SqLitePersistentMyLargeSegmentsStorageTest.java similarity index 100% rename from src/test/java/io/split/android/client/storage/mysegments/SqLitePersistentMyLargeSegmentsStorageTest.java rename to main/src/test/java/io/split/android/client/storage/mysegments/SqLitePersistentMyLargeSegmentsStorageTest.java diff --git a/src/test/java/io/split/android/client/storage/mysegments/SqLitePersistentMySegmentsStorageTest.java b/main/src/test/java/io/split/android/client/storage/mysegments/SqLitePersistentMySegmentsStorageTest.java similarity index 100% rename from src/test/java/io/split/android/client/storage/mysegments/SqLitePersistentMySegmentsStorageTest.java rename to main/src/test/java/io/split/android/client/storage/mysegments/SqLitePersistentMySegmentsStorageTest.java diff --git a/src/test/java/io/split/android/client/storage/rbs/LazyRuleBasedSegmentStorageProviderTest.java b/main/src/test/java/io/split/android/client/storage/rbs/LazyRuleBasedSegmentStorageProviderTest.java similarity index 100% rename from src/test/java/io/split/android/client/storage/rbs/LazyRuleBasedSegmentStorageProviderTest.java rename to main/src/test/java/io/split/android/client/storage/rbs/LazyRuleBasedSegmentStorageProviderTest.java diff --git a/src/test/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageImplTest.java b/main/src/test/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageImplTest.java rename to main/src/test/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageImplTest.java diff --git a/src/test/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageProducerImplTest.java b/main/src/test/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageProducerImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageProducerImplTest.java rename to main/src/test/java/io/split/android/client/storage/rbs/RuleBasedSegmentStorageProducerImplTest.java diff --git a/src/test/java/io/split/android/client/storage/rbs/SnapshotLoaderTest.java b/main/src/test/java/io/split/android/client/storage/rbs/SnapshotLoaderTest.java similarity index 100% rename from src/test/java/io/split/android/client/storage/rbs/SnapshotLoaderTest.java rename to main/src/test/java/io/split/android/client/storage/rbs/SnapshotLoaderTest.java diff --git a/src/test/java/io/split/android/client/storage/rbs/SqLitePersistentRuleBasedSegmentStorageTest.java b/main/src/test/java/io/split/android/client/storage/rbs/SqLitePersistentRuleBasedSegmentStorageTest.java similarity index 100% rename from src/test/java/io/split/android/client/storage/rbs/SqLitePersistentRuleBasedSegmentStorageTest.java rename to main/src/test/java/io/split/android/client/storage/rbs/SqLitePersistentRuleBasedSegmentStorageTest.java diff --git a/src/test/java/io/split/android/client/storage/rbs/SqLiteRuleBasedSegmentsPersistentStorageProviderTest.java b/main/src/test/java/io/split/android/client/storage/rbs/SqLiteRuleBasedSegmentsPersistentStorageProviderTest.java similarity index 100% rename from src/test/java/io/split/android/client/storage/rbs/SqLiteRuleBasedSegmentsPersistentStorageProviderTest.java rename to main/src/test/java/io/split/android/client/storage/rbs/SqLiteRuleBasedSegmentsPersistentStorageProviderTest.java diff --git a/src/test/java/io/split/android/client/storage/rbs/UpdaterTest.java b/main/src/test/java/io/split/android/client/storage/rbs/UpdaterTest.java similarity index 100% rename from src/test/java/io/split/android/client/storage/rbs/UpdaterTest.java rename to main/src/test/java/io/split/android/client/storage/rbs/UpdaterTest.java diff --git a/src/test/java/io/split/android/client/storage/splits/SplitEntityToSplitTransformerTest.java b/main/src/test/java/io/split/android/client/storage/splits/SplitEntityToSplitTransformerTest.java similarity index 100% rename from src/test/java/io/split/android/client/storage/splits/SplitEntityToSplitTransformerTest.java rename to main/src/test/java/io/split/android/client/storage/splits/SplitEntityToSplitTransformerTest.java diff --git a/src/test/java/io/split/android/client/storage/splits/SplitToSplitEntityTransformerTest.java b/main/src/test/java/io/split/android/client/storage/splits/SplitToSplitEntityTransformerTest.java similarity index 100% rename from src/test/java/io/split/android/client/storage/splits/SplitToSplitEntityTransformerTest.java rename to main/src/test/java/io/split/android/client/storage/splits/SplitToSplitEntityTransformerTest.java diff --git a/src/test/java/io/split/android/client/storage/splits/SqLitePersistentSplitsStorageTest.java b/main/src/test/java/io/split/android/client/storage/splits/SqLitePersistentSplitsStorageTest.java similarity index 100% rename from src/test/java/io/split/android/client/storage/splits/SqLitePersistentSplitsStorageTest.java rename to main/src/test/java/io/split/android/client/storage/splits/SqLitePersistentSplitsStorageTest.java diff --git a/src/test/java/io/split/android/client/telemetry/TelemetryConfigBodySerializerTest.java b/main/src/test/java/io/split/android/client/telemetry/TelemetryConfigBodySerializerTest.java similarity index 100% rename from src/test/java/io/split/android/client/telemetry/TelemetryConfigBodySerializerTest.java rename to main/src/test/java/io/split/android/client/telemetry/TelemetryConfigBodySerializerTest.java diff --git a/src/test/java/io/split/android/client/telemetry/TelemetryHelperImplTest.java b/main/src/test/java/io/split/android/client/telemetry/TelemetryHelperImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/telemetry/TelemetryHelperImplTest.java rename to main/src/test/java/io/split/android/client/telemetry/TelemetryHelperImplTest.java diff --git a/src/test/java/io/split/android/client/telemetry/TelemetryStatsBodySerializerTest.java b/main/src/test/java/io/split/android/client/telemetry/TelemetryStatsBodySerializerTest.java similarity index 100% rename from src/test/java/io/split/android/client/telemetry/TelemetryStatsBodySerializerTest.java rename to main/src/test/java/io/split/android/client/telemetry/TelemetryStatsBodySerializerTest.java diff --git a/src/test/java/io/split/android/client/telemetry/TelemetrySynchronizerImplTest.java b/main/src/test/java/io/split/android/client/telemetry/TelemetrySynchronizerImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/telemetry/TelemetrySynchronizerImplTest.java rename to main/src/test/java/io/split/android/client/telemetry/TelemetrySynchronizerImplTest.java diff --git a/src/test/java/io/split/android/client/telemetry/storage/InMemoryTelemetryStorageTest.java b/main/src/test/java/io/split/android/client/telemetry/storage/InMemoryTelemetryStorageTest.java similarity index 100% rename from src/test/java/io/split/android/client/telemetry/storage/InMemoryTelemetryStorageTest.java rename to main/src/test/java/io/split/android/client/telemetry/storage/InMemoryTelemetryStorageTest.java diff --git a/src/test/java/io/split/android/client/telemetry/storage/TelemetryConfigProviderImplTest.java b/main/src/test/java/io/split/android/client/telemetry/storage/TelemetryConfigProviderImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/telemetry/storage/TelemetryConfigProviderImplTest.java rename to main/src/test/java/io/split/android/client/telemetry/storage/TelemetryConfigProviderImplTest.java diff --git a/src/test/java/io/split/android/client/telemetry/storage/TelemetryStatsProviderImplTest.java b/main/src/test/java/io/split/android/client/telemetry/storage/TelemetryStatsProviderImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/telemetry/storage/TelemetryStatsProviderImplTest.java rename to main/src/test/java/io/split/android/client/telemetry/storage/TelemetryStatsProviderImplTest.java diff --git a/src/test/java/io/split/android/client/utils/HttpProxySerializerTest.java b/main/src/test/java/io/split/android/client/utils/HttpProxySerializerTest.java similarity index 100% rename from src/test/java/io/split/android/client/utils/HttpProxySerializerTest.java rename to main/src/test/java/io/split/android/client/utils/HttpProxySerializerTest.java diff --git a/src/test/java/io/split/android/client/utils/JsonTest.java b/main/src/test/java/io/split/android/client/utils/JsonTest.java similarity index 100% rename from src/test/java/io/split/android/client/utils/JsonTest.java rename to main/src/test/java/io/split/android/client/utils/JsonTest.java diff --git a/src/test/java/io/split/android/client/utils/PartitionTest.java b/main/src/test/java/io/split/android/client/utils/PartitionTest.java similarity index 100% rename from src/test/java/io/split/android/client/utils/PartitionTest.java rename to main/src/test/java/io/split/android/client/utils/PartitionTest.java diff --git a/src/test/java/io/split/android/client/utils/RepeatTest.java b/main/src/test/java/io/split/android/client/utils/RepeatTest.java similarity index 100% rename from src/test/java/io/split/android/client/utils/RepeatTest.java rename to main/src/test/java/io/split/android/client/utils/RepeatTest.java diff --git a/src/test/java/io/split/android/client/utils/SplitClientImplFactory.java b/main/src/test/java/io/split/android/client/utils/SplitClientImplFactory.java similarity index 100% rename from src/test/java/io/split/android/client/utils/SplitClientImplFactory.java rename to main/src/test/java/io/split/android/client/utils/SplitClientImplFactory.java diff --git a/src/test/java/io/split/android/client/utils/deserializer/EventDeserializerTest.java b/main/src/test/java/io/split/android/client/utils/deserializer/EventDeserializerTest.java similarity index 100% rename from src/test/java/io/split/android/client/utils/deserializer/EventDeserializerTest.java rename to main/src/test/java/io/split/android/client/utils/deserializer/EventDeserializerTest.java diff --git a/src/test/java/io/split/android/client/validators/ApiKeyValidatorTest.java b/main/src/test/java/io/split/android/client/validators/ApiKeyValidatorTest.java similarity index 100% rename from src/test/java/io/split/android/client/validators/ApiKeyValidatorTest.java rename to main/src/test/java/io/split/android/client/validators/ApiKeyValidatorTest.java diff --git a/src/test/java/io/split/android/client/validators/AttributesValidatorImplTest.java b/main/src/test/java/io/split/android/client/validators/AttributesValidatorImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/validators/AttributesValidatorImplTest.java rename to main/src/test/java/io/split/android/client/validators/AttributesValidatorImplTest.java diff --git a/src/test/java/io/split/android/client/validators/EventTypeNameHelper.java b/main/src/test/java/io/split/android/client/validators/EventTypeNameHelper.java similarity index 100% rename from src/test/java/io/split/android/client/validators/EventTypeNameHelper.java rename to main/src/test/java/io/split/android/client/validators/EventTypeNameHelper.java diff --git a/src/test/java/io/split/android/client/validators/EventValidatorTest.java b/main/src/test/java/io/split/android/client/validators/EventValidatorTest.java similarity index 100% rename from src/test/java/io/split/android/client/validators/EventValidatorTest.java rename to main/src/test/java/io/split/android/client/validators/EventValidatorTest.java diff --git a/src/test/java/io/split/android/client/validators/FlagSetsValidatorImplTest.java b/main/src/test/java/io/split/android/client/validators/FlagSetsValidatorImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/validators/FlagSetsValidatorImplTest.java rename to main/src/test/java/io/split/android/client/validators/FlagSetsValidatorImplTest.java diff --git a/src/test/java/io/split/android/client/validators/KeyValidatorTest.java b/main/src/test/java/io/split/android/client/validators/KeyValidatorTest.java similarity index 100% rename from src/test/java/io/split/android/client/validators/KeyValidatorTest.java rename to main/src/test/java/io/split/android/client/validators/KeyValidatorTest.java diff --git a/src/test/java/io/split/android/client/validators/PrefixValidatorImplTest.java b/main/src/test/java/io/split/android/client/validators/PrefixValidatorImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/validators/PrefixValidatorImplTest.java rename to main/src/test/java/io/split/android/client/validators/PrefixValidatorImplTest.java diff --git a/src/test/java/io/split/android/client/validators/SplitValidatorTest.java b/main/src/test/java/io/split/android/client/validators/SplitValidatorTest.java similarity index 100% rename from src/test/java/io/split/android/client/validators/SplitValidatorTest.java rename to main/src/test/java/io/split/android/client/validators/SplitValidatorTest.java diff --git a/src/test/java/io/split/android/client/validators/TreatmentManagerFactoryImplTest.java b/main/src/test/java/io/split/android/client/validators/TreatmentManagerFactoryImplTest.java similarity index 100% rename from src/test/java/io/split/android/client/validators/TreatmentManagerFactoryImplTest.java rename to main/src/test/java/io/split/android/client/validators/TreatmentManagerFactoryImplTest.java diff --git a/src/test/java/io/split/android/client/validators/TreatmentManagerFallbackTreatmentsTest.java b/main/src/test/java/io/split/android/client/validators/TreatmentManagerFallbackTreatmentsTest.java similarity index 100% rename from src/test/java/io/split/android/client/validators/TreatmentManagerFallbackTreatmentsTest.java rename to main/src/test/java/io/split/android/client/validators/TreatmentManagerFallbackTreatmentsTest.java diff --git a/src/test/java/io/split/android/client/validators/TreatmentManagerHelperTest.java b/main/src/test/java/io/split/android/client/validators/TreatmentManagerHelperTest.java similarity index 100% rename from src/test/java/io/split/android/client/validators/TreatmentManagerHelperTest.java rename to main/src/test/java/io/split/android/client/validators/TreatmentManagerHelperTest.java diff --git a/src/test/java/io/split/android/engine/ConditionsTestUtil.java b/main/src/test/java/io/split/android/engine/ConditionsTestUtil.java similarity index 100% rename from src/test/java/io/split/android/engine/ConditionsTestUtil.java rename to main/src/test/java/io/split/android/engine/ConditionsTestUtil.java diff --git a/src/test/java/io/split/android/engine/experiments/DefaultConditionsProviderTest.java b/main/src/test/java/io/split/android/engine/experiments/DefaultConditionsProviderTest.java similarity index 100% rename from src/test/java/io/split/android/engine/experiments/DefaultConditionsProviderTest.java rename to main/src/test/java/io/split/android/engine/experiments/DefaultConditionsProviderTest.java diff --git a/src/test/java/io/split/android/engine/experiments/EvaluatorTest.java b/main/src/test/java/io/split/android/engine/experiments/EvaluatorTest.java similarity index 100% rename from src/test/java/io/split/android/engine/experiments/EvaluatorTest.java rename to main/src/test/java/io/split/android/engine/experiments/EvaluatorTest.java diff --git a/src/test/java/io/split/android/engine/experiments/PrerequisitesEvaluatorTest.java b/main/src/test/java/io/split/android/engine/experiments/PrerequisitesEvaluatorTest.java similarity index 100% rename from src/test/java/io/split/android/engine/experiments/PrerequisitesEvaluatorTest.java rename to main/src/test/java/io/split/android/engine/experiments/PrerequisitesEvaluatorTest.java diff --git a/src/test/java/io/split/android/engine/experiments/RuleBasedSegmentParserTest.java b/main/src/test/java/io/split/android/engine/experiments/RuleBasedSegmentParserTest.java similarity index 100% rename from src/test/java/io/split/android/engine/experiments/RuleBasedSegmentParserTest.java rename to main/src/test/java/io/split/android/engine/experiments/RuleBasedSegmentParserTest.java diff --git a/src/test/java/io/split/android/engine/experiments/SplitParserTest.java b/main/src/test/java/io/split/android/engine/experiments/SplitParserTest.java similarity index 100% rename from src/test/java/io/split/android/engine/experiments/SplitParserTest.java rename to main/src/test/java/io/split/android/engine/experiments/SplitParserTest.java diff --git a/src/test/java/io/split/android/engine/experiments/UnsupportedMatcherSplitParserTest.java b/main/src/test/java/io/split/android/engine/experiments/UnsupportedMatcherSplitParserTest.java similarity index 100% rename from src/test/java/io/split/android/engine/experiments/UnsupportedMatcherSplitParserTest.java rename to main/src/test/java/io/split/android/engine/experiments/UnsupportedMatcherSplitParserTest.java diff --git a/src/test/java/io/split/android/engine/matchers/AllKeysMatcherTest.java b/main/src/test/java/io/split/android/engine/matchers/AllKeysMatcherTest.java similarity index 100% rename from src/test/java/io/split/android/engine/matchers/AllKeysMatcherTest.java rename to main/src/test/java/io/split/android/engine/matchers/AllKeysMatcherTest.java diff --git a/src/test/java/io/split/android/engine/matchers/AttributeMatcherTest.java b/main/src/test/java/io/split/android/engine/matchers/AttributeMatcherTest.java similarity index 100% rename from src/test/java/io/split/android/engine/matchers/AttributeMatcherTest.java rename to main/src/test/java/io/split/android/engine/matchers/AttributeMatcherTest.java diff --git a/src/test/java/io/split/android/engine/matchers/BetweenMatcherTest.java b/main/src/test/java/io/split/android/engine/matchers/BetweenMatcherTest.java similarity index 100% rename from src/test/java/io/split/android/engine/matchers/BetweenMatcherTest.java rename to main/src/test/java/io/split/android/engine/matchers/BetweenMatcherTest.java diff --git a/src/test/java/io/split/android/engine/matchers/BooleanMatcherTest.java b/main/src/test/java/io/split/android/engine/matchers/BooleanMatcherTest.java similarity index 100% rename from src/test/java/io/split/android/engine/matchers/BooleanMatcherTest.java rename to main/src/test/java/io/split/android/engine/matchers/BooleanMatcherTest.java diff --git a/src/test/java/io/split/android/engine/matchers/CombiningMatcherTest.java b/main/src/test/java/io/split/android/engine/matchers/CombiningMatcherTest.java similarity index 100% rename from src/test/java/io/split/android/engine/matchers/CombiningMatcherTest.java rename to main/src/test/java/io/split/android/engine/matchers/CombiningMatcherTest.java diff --git a/src/test/java/io/split/android/engine/matchers/EqualToMatcherTest.java b/main/src/test/java/io/split/android/engine/matchers/EqualToMatcherTest.java similarity index 100% rename from src/test/java/io/split/android/engine/matchers/EqualToMatcherTest.java rename to main/src/test/java/io/split/android/engine/matchers/EqualToMatcherTest.java diff --git a/src/test/java/io/split/android/engine/matchers/GreaterThanOrEqualToMatcherTest.java b/main/src/test/java/io/split/android/engine/matchers/GreaterThanOrEqualToMatcherTest.java similarity index 100% rename from src/test/java/io/split/android/engine/matchers/GreaterThanOrEqualToMatcherTest.java rename to main/src/test/java/io/split/android/engine/matchers/GreaterThanOrEqualToMatcherTest.java diff --git a/src/test/java/io/split/android/engine/matchers/InRuleBasedSegmentMatcherTest.java b/main/src/test/java/io/split/android/engine/matchers/InRuleBasedSegmentMatcherTest.java similarity index 100% rename from src/test/java/io/split/android/engine/matchers/InRuleBasedSegmentMatcherTest.java rename to main/src/test/java/io/split/android/engine/matchers/InRuleBasedSegmentMatcherTest.java diff --git a/src/test/java/io/split/android/engine/matchers/LessThanOrEqualToMatcherTest.java b/main/src/test/java/io/split/android/engine/matchers/LessThanOrEqualToMatcherTest.java similarity index 100% rename from src/test/java/io/split/android/engine/matchers/LessThanOrEqualToMatcherTest.java rename to main/src/test/java/io/split/android/engine/matchers/LessThanOrEqualToMatcherTest.java diff --git a/src/test/java/io/split/android/engine/matchers/NegatableMatcherTest.java b/main/src/test/java/io/split/android/engine/matchers/NegatableMatcherTest.java similarity index 100% rename from src/test/java/io/split/android/engine/matchers/NegatableMatcherTest.java rename to main/src/test/java/io/split/android/engine/matchers/NegatableMatcherTest.java diff --git a/src/test/java/io/split/android/engine/matchers/PrerequisitesMatcherTest.java b/main/src/test/java/io/split/android/engine/matchers/PrerequisitesMatcherTest.java similarity index 100% rename from src/test/java/io/split/android/engine/matchers/PrerequisitesMatcherTest.java rename to main/src/test/java/io/split/android/engine/matchers/PrerequisitesMatcherTest.java diff --git a/src/test/java/io/split/android/engine/matchers/TransformersTest.java b/main/src/test/java/io/split/android/engine/matchers/TransformersTest.java similarity index 100% rename from src/test/java/io/split/android/engine/matchers/TransformersTest.java rename to main/src/test/java/io/split/android/engine/matchers/TransformersTest.java diff --git a/src/test/java/io/split/android/engine/matchers/collections/ContainsAllOfSetMatcherTest.java b/main/src/test/java/io/split/android/engine/matchers/collections/ContainsAllOfSetMatcherTest.java similarity index 100% rename from src/test/java/io/split/android/engine/matchers/collections/ContainsAllOfSetMatcherTest.java rename to main/src/test/java/io/split/android/engine/matchers/collections/ContainsAllOfSetMatcherTest.java diff --git a/src/test/java/io/split/android/engine/matchers/collections/ContainsAnyOfSetMatcherTest.java b/main/src/test/java/io/split/android/engine/matchers/collections/ContainsAnyOfSetMatcherTest.java similarity index 100% rename from src/test/java/io/split/android/engine/matchers/collections/ContainsAnyOfSetMatcherTest.java rename to main/src/test/java/io/split/android/engine/matchers/collections/ContainsAnyOfSetMatcherTest.java diff --git a/src/test/java/io/split/android/engine/matchers/collections/EqualToSetMatcherTest.java b/main/src/test/java/io/split/android/engine/matchers/collections/EqualToSetMatcherTest.java similarity index 100% rename from src/test/java/io/split/android/engine/matchers/collections/EqualToSetMatcherTest.java rename to main/src/test/java/io/split/android/engine/matchers/collections/EqualToSetMatcherTest.java diff --git a/src/test/java/io/split/android/engine/matchers/collections/PartOfSetMatcherTest.java b/main/src/test/java/io/split/android/engine/matchers/collections/PartOfSetMatcherTest.java similarity index 100% rename from src/test/java/io/split/android/engine/matchers/collections/PartOfSetMatcherTest.java rename to main/src/test/java/io/split/android/engine/matchers/collections/PartOfSetMatcherTest.java diff --git a/src/test/java/io/split/android/engine/matchers/semver/BetweenSemverMatcherTest.java b/main/src/test/java/io/split/android/engine/matchers/semver/BetweenSemverMatcherTest.java similarity index 100% rename from src/test/java/io/split/android/engine/matchers/semver/BetweenSemverMatcherTest.java rename to main/src/test/java/io/split/android/engine/matchers/semver/BetweenSemverMatcherTest.java diff --git a/src/test/java/io/split/android/engine/matchers/semver/EqualToSemverMatcherTest.java b/main/src/test/java/io/split/android/engine/matchers/semver/EqualToSemverMatcherTest.java similarity index 100% rename from src/test/java/io/split/android/engine/matchers/semver/EqualToSemverMatcherTest.java rename to main/src/test/java/io/split/android/engine/matchers/semver/EqualToSemverMatcherTest.java diff --git a/src/test/java/io/split/android/engine/matchers/semver/GreaterThanOrEqualToSemverMatcherTest.java b/main/src/test/java/io/split/android/engine/matchers/semver/GreaterThanOrEqualToSemverMatcherTest.java similarity index 100% rename from src/test/java/io/split/android/engine/matchers/semver/GreaterThanOrEqualToSemverMatcherTest.java rename to main/src/test/java/io/split/android/engine/matchers/semver/GreaterThanOrEqualToSemverMatcherTest.java diff --git a/src/test/java/io/split/android/engine/matchers/semver/InListSemverMatcherTest.java b/main/src/test/java/io/split/android/engine/matchers/semver/InListSemverMatcherTest.java similarity index 100% rename from src/test/java/io/split/android/engine/matchers/semver/InListSemverMatcherTest.java rename to main/src/test/java/io/split/android/engine/matchers/semver/InListSemverMatcherTest.java diff --git a/src/test/java/io/split/android/engine/matchers/semver/LessThanOrEqualToSemverMatcherTest.java b/main/src/test/java/io/split/android/engine/matchers/semver/LessThanOrEqualToSemverMatcherTest.java similarity index 100% rename from src/test/java/io/split/android/engine/matchers/semver/LessThanOrEqualToSemverMatcherTest.java rename to main/src/test/java/io/split/android/engine/matchers/semver/LessThanOrEqualToSemverMatcherTest.java diff --git a/src/test/java/io/split/android/engine/matchers/semver/SemverTest.java b/main/src/test/java/io/split/android/engine/matchers/semver/SemverTest.java similarity index 100% rename from src/test/java/io/split/android/engine/matchers/semver/SemverTest.java rename to main/src/test/java/io/split/android/engine/matchers/semver/SemverTest.java diff --git a/src/test/java/io/split/android/engine/matchers/strings/ContainsAnyOfMatcherTest.java b/main/src/test/java/io/split/android/engine/matchers/strings/ContainsAnyOfMatcherTest.java similarity index 100% rename from src/test/java/io/split/android/engine/matchers/strings/ContainsAnyOfMatcherTest.java rename to main/src/test/java/io/split/android/engine/matchers/strings/ContainsAnyOfMatcherTest.java diff --git a/src/test/java/io/split/android/engine/matchers/strings/EndsWithAnyOfMatcherTest.java b/main/src/test/java/io/split/android/engine/matchers/strings/EndsWithAnyOfMatcherTest.java similarity index 100% rename from src/test/java/io/split/android/engine/matchers/strings/EndsWithAnyOfMatcherTest.java rename to main/src/test/java/io/split/android/engine/matchers/strings/EndsWithAnyOfMatcherTest.java diff --git a/src/test/java/io/split/android/engine/matchers/strings/RegularExpressionMatcherTest.java b/main/src/test/java/io/split/android/engine/matchers/strings/RegularExpressionMatcherTest.java similarity index 100% rename from src/test/java/io/split/android/engine/matchers/strings/RegularExpressionMatcherTest.java rename to main/src/test/java/io/split/android/engine/matchers/strings/RegularExpressionMatcherTest.java diff --git a/src/test/java/io/split/android/engine/matchers/strings/StartsWithAnyOfMatcherTest.java b/main/src/test/java/io/split/android/engine/matchers/strings/StartsWithAnyOfMatcherTest.java similarity index 100% rename from src/test/java/io/split/android/engine/matchers/strings/StartsWithAnyOfMatcherTest.java rename to main/src/test/java/io/split/android/engine/matchers/strings/StartsWithAnyOfMatcherTest.java diff --git a/src/test/java/io/split/android/engine/matchers/strings/WhitelistMatcherTest.java b/main/src/test/java/io/split/android/engine/matchers/strings/WhitelistMatcherTest.java similarity index 100% rename from src/test/java/io/split/android/engine/matchers/strings/WhitelistMatcherTest.java rename to main/src/test/java/io/split/android/engine/matchers/strings/WhitelistMatcherTest.java diff --git a/src/test/java/io/split/android/engine/scheduler/PausableScheduledThreadPoolExecutorImplTest.java b/main/src/test/java/io/split/android/engine/scheduler/PausableScheduledThreadPoolExecutorImplTest.java similarity index 100% rename from src/test/java/io/split/android/engine/scheduler/PausableScheduledThreadPoolExecutorImplTest.java rename to main/src/test/java/io/split/android/engine/scheduler/PausableScheduledThreadPoolExecutorImplTest.java diff --git a/src/test/java/io/split/android/engine/splitter/HashConsistencyTest.java b/main/src/test/java/io/split/android/engine/splitter/HashConsistencyTest.java similarity index 100% rename from src/test/java/io/split/android/engine/splitter/HashConsistencyTest.java rename to main/src/test/java/io/split/android/engine/splitter/HashConsistencyTest.java diff --git a/src/test/java/io/split/android/engine/splitter/HashingTest.java b/main/src/test/java/io/split/android/engine/splitter/HashingTest.java similarity index 100% rename from src/test/java/io/split/android/engine/splitter/HashingTest.java rename to main/src/test/java/io/split/android/engine/splitter/HashingTest.java diff --git a/src/test/java/io/split/android/engine/splitter/MyHash.java b/main/src/test/java/io/split/android/engine/splitter/MyHash.java similarity index 100% rename from src/test/java/io/split/android/engine/splitter/MyHash.java rename to main/src/test/java/io/split/android/engine/splitter/MyHash.java diff --git a/src/test/java/io/split/android/engine/splitter/SplitterTest.java b/main/src/test/java/io/split/android/engine/splitter/SplitterTest.java similarity index 100% rename from src/test/java/io/split/android/engine/splitter/SplitterTest.java rename to main/src/test/java/io/split/android/engine/splitter/SplitterTest.java diff --git a/src/test/java/io/split/android/fake/ExecutorServiceMock.java b/main/src/test/java/io/split/android/fake/ExecutorServiceMock.java similarity index 100% rename from src/test/java/io/split/android/fake/ExecutorServiceMock.java rename to main/src/test/java/io/split/android/fake/ExecutorServiceMock.java diff --git a/src/test/java/io/split/android/fake/ImpressionListenerMock.java b/main/src/test/java/io/split/android/fake/ImpressionListenerMock.java similarity index 100% rename from src/test/java/io/split/android/fake/ImpressionListenerMock.java rename to main/src/test/java/io/split/android/fake/ImpressionListenerMock.java diff --git a/src/test/java/io/split/android/fake/MemoryUtilsNoMemoryStub.java b/main/src/test/java/io/split/android/fake/MemoryUtilsNoMemoryStub.java similarity index 100% rename from src/test/java/io/split/android/fake/MemoryUtilsNoMemoryStub.java rename to main/src/test/java/io/split/android/fake/MemoryUtilsNoMemoryStub.java diff --git a/src/test/java/io/split/android/fake/SplitEventsManagerStub.java b/main/src/test/java/io/split/android/fake/SplitEventsManagerStub.java similarity index 100% rename from src/test/java/io/split/android/fake/SplitEventsManagerStub.java rename to main/src/test/java/io/split/android/fake/SplitEventsManagerStub.java diff --git a/src/test/java/io/split/android/fake/SplitTaskExecutorStub.java b/main/src/test/java/io/split/android/fake/SplitTaskExecutorStub.java similarity index 100% rename from src/test/java/io/split/android/fake/SplitTaskExecutorStub.java rename to main/src/test/java/io/split/android/fake/SplitTaskExecutorStub.java diff --git a/src/test/java/io/split/android/fake/SseClientMock.java b/main/src/test/java/io/split/android/fake/SseClientMock.java similarity index 100% rename from src/test/java/io/split/android/fake/SseClientMock.java rename to main/src/test/java/io/split/android/fake/SseClientMock.java diff --git a/src/test/java/io/split/android/helpers/FileHelper.java b/main/src/test/java/io/split/android/helpers/FileHelper.java similarity index 100% rename from src/test/java/io/split/android/helpers/FileHelper.java rename to main/src/test/java/io/split/android/helpers/FileHelper.java diff --git a/src/test/java/io/split/android/helpers/ResourcesFileStorage.java b/main/src/test/java/io/split/android/helpers/ResourcesFileStorage.java similarity index 100% rename from src/test/java/io/split/android/helpers/ResourcesFileStorage.java rename to main/src/test/java/io/split/android/helpers/ResourcesFileStorage.java diff --git a/src/test/java/io/split/android/helpers/SplitHelper.java b/main/src/test/java/io/split/android/helpers/SplitHelper.java similarity index 100% rename from src/test/java/io/split/android/helpers/SplitHelper.java rename to main/src/test/java/io/split/android/helpers/SplitHelper.java diff --git a/src/test/java/io/split/android/http/SplitHttpHeadersBuilderTest.java b/main/src/test/java/io/split/android/http/SplitHttpHeadersBuilderTest.java similarity index 100% rename from src/test/java/io/split/android/http/SplitHttpHeadersBuilderTest.java rename to main/src/test/java/io/split/android/http/SplitHttpHeadersBuilderTest.java diff --git a/src/test/java/io/split/android/http/URIBuilderTest.java b/main/src/test/java/io/split/android/http/URIBuilderTest.java similarity index 100% rename from src/test/java/io/split/android/http/URIBuilderTest.java rename to main/src/test/java/io/split/android/http/URIBuilderTest.java diff --git a/src/test/resources/README.txt b/main/src/test/resources/README.txt similarity index 100% rename from src/test/resources/README.txt rename to main/src/test/resources/README.txt diff --git a/src/test/resources/between_semver.csv b/main/src/test/resources/between_semver.csv similarity index 100% rename from src/test/resources/between_semver.csv rename to main/src/test/resources/between_semver.csv diff --git a/src/test/resources/equal_to_semver.csv b/main/src/test/resources/equal_to_semver.csv similarity index 100% rename from src/test/resources/equal_to_semver.csv rename to main/src/test/resources/equal_to_semver.csv diff --git a/src/test/resources/impressions_1.json b/main/src/test/resources/impressions_1.json similarity index 100% rename from src/test/resources/impressions_1.json rename to main/src/test/resources/impressions_1.json diff --git a/src/test/resources/invalid_semantic_versions.csv b/main/src/test/resources/invalid_semantic_versions.csv similarity index 100% rename from src/test/resources/invalid_semantic_versions.csv rename to main/src/test/resources/invalid_semantic_versions.csv diff --git a/src/test/resources/legacy-hash-sample-data-non-alpha-numeric.csv b/main/src/test/resources/legacy-hash-sample-data-non-alpha-numeric.csv similarity index 100% rename from src/test/resources/legacy-hash-sample-data-non-alpha-numeric.csv rename to main/src/test/resources/legacy-hash-sample-data-non-alpha-numeric.csv diff --git a/src/test/resources/legacy-hash-sample-data.csv b/main/src/test/resources/legacy-hash-sample-data.csv similarity index 100% rename from src/test/resources/legacy-hash-sample-data.csv rename to main/src/test/resources/legacy-hash-sample-data.csv diff --git a/src/test/resources/murmur3-sample-data-non-alpha-numeric-v2.csv b/main/src/test/resources/murmur3-sample-data-non-alpha-numeric-v2.csv similarity index 100% rename from src/test/resources/murmur3-sample-data-non-alpha-numeric-v2.csv rename to main/src/test/resources/murmur3-sample-data-non-alpha-numeric-v2.csv diff --git a/src/test/resources/murmur3-sample-data-non-alpha-numeric.csv b/main/src/test/resources/murmur3-sample-data-non-alpha-numeric.csv similarity index 100% rename from src/test/resources/murmur3-sample-data-non-alpha-numeric.csv rename to main/src/test/resources/murmur3-sample-data-non-alpha-numeric.csv diff --git a/src/test/resources/murmur3-sample-data-v2.csv b/main/src/test/resources/murmur3-sample-data-v2.csv similarity index 100% rename from src/test/resources/murmur3-sample-data-v2.csv rename to main/src/test/resources/murmur3-sample-data-v2.csv diff --git a/src/test/resources/murmur3-sample-data.csv b/main/src/test/resources/murmur3-sample-data.csv similarity index 100% rename from src/test/resources/murmur3-sample-data.csv rename to main/src/test/resources/murmur3-sample-data.csv diff --git a/src/test/resources/murmur3-sample-double-treatment-users.csv b/main/src/test/resources/murmur3-sample-double-treatment-users.csv similarity index 100% rename from src/test/resources/murmur3-sample-double-treatment-users.csv rename to main/src/test/resources/murmur3-sample-double-treatment-users.csv diff --git a/src/test/resources/murmur3_64_uuids.csv b/main/src/test/resources/murmur3_64_uuids.csv similarity index 100% rename from src/test/resources/murmur3_64_uuids.csv rename to main/src/test/resources/murmur3_64_uuids.csv diff --git a/src/test/resources/split_changes_1.json b/main/src/test/resources/split_changes_1.json similarity index 100% rename from src/test/resources/split_changes_1.json rename to main/src/test/resources/split_changes_1.json diff --git a/src/test/resources/split_changes_1_updated.json b/main/src/test/resources/split_changes_1_updated.json similarity index 100% rename from src/test/resources/split_changes_1_updated.json rename to main/src/test/resources/split_changes_1_updated.json diff --git a/src/test/resources/split_changes_legacy.json b/main/src/test/resources/split_changes_legacy.json similarity index 100% rename from src/test/resources/split_changes_legacy.json rename to main/src/test/resources/split_changes_legacy.json diff --git a/src/test/resources/split_changes_prerequisites.json b/main/src/test/resources/split_changes_prerequisites.json similarity index 100% rename from src/test/resources/split_changes_prerequisites.json rename to main/src/test/resources/split_changes_prerequisites.json diff --git a/src/test/resources/split_changes_small.json b/main/src/test/resources/split_changes_small.json similarity index 100% rename from src/test/resources/split_changes_small.json rename to main/src/test/resources/split_changes_small.json diff --git a/src/test/resources/split_changes_with_prerequisites.json b/main/src/test/resources/split_changes_with_prerequisites.json similarity index 100% rename from src/test/resources/split_changes_with_prerequisites.json rename to main/src/test/resources/split_changes_with_prerequisites.json diff --git a/src/test/resources/splits.yaml b/main/src/test/resources/splits.yaml similarity index 100% rename from src/test/resources/splits.yaml rename to main/src/test/resources/splits.yaml diff --git a/src/test/resources/splits_incorrect_value.yaml b/main/src/test/resources/splits_incorrect_value.yaml similarity index 100% rename from src/test/resources/splits_incorrect_value.yaml rename to main/src/test/resources/splits_incorrect_value.yaml diff --git a/src/test/resources/splits_missing_name.yaml b/main/src/test/resources/splits_missing_name.yaml similarity index 100% rename from src/test/resources/splits_missing_name.yaml rename to main/src/test/resources/splits_missing_name.yaml diff --git a/src/test/resources/splits_missing_treatment.yaml b/main/src/test/resources/splits_missing_treatment.yaml similarity index 100% rename from src/test/resources/splits_missing_treatment.yaml rename to main/src/test/resources/splits_missing_treatment.yaml diff --git a/src/test/resources/splits_no_yaml.yaml b/main/src/test/resources/splits_no_yaml.yaml similarity index 100% rename from src/test/resources/splits_no_yaml.yaml rename to main/src/test/resources/splits_no_yaml.yaml diff --git a/src/test/resources/tracks_1.json b/main/src/test/resources/tracks_1.json similarity index 100% rename from src/test/resources/tracks_1.json rename to main/src/test/resources/tracks_1.json diff --git a/src/test/resources/valid_semantic_versions.csv b/main/src/test/resources/valid_semantic_versions.csv similarity index 100% rename from src/test/resources/valid_semantic_versions.csv rename to main/src/test/resources/valid_semantic_versions.csv diff --git a/project/build.gradle b/project/build.gradle deleted file mode 100644 index fd3ad14bc..000000000 --- a/project/build.gradle +++ /dev/null @@ -1,35 +0,0 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. -buildscript { - repositories { - google() - mavenCentral() - jcenter() - } - dependencies { - classpath 'com.android.tools.build:gradle:7.4.2' - - // NOTE: Do not place your application dependencies here; they belong - // in the individual module build.gradle files - } -} -plugins { - id 'org.sonarqube' version '3.2.0' -} - -sonarqube { - properties { - property 'sonar.projectKey', 'splitio_android-client' - property 'sonar.projectName', 'android-client' - } -} -allprojects { - repositories { - google() - mavenCentral() - jcenter() - } -} - -task clean(type: Delete) { - delete rootProject.buildDir -} diff --git a/project/gradle/wrapper/gradle-wrapper.properties b/project/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 69ecd4abb..000000000 --- a/project/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,6 +0,0 @@ -#Sat Apr 22 10:53:48 ART 2023 -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/project/gradlew b/project/gradlew deleted file mode 100755 index cccdd3d51..000000000 --- a/project/gradlew +++ /dev/null @@ -1,172 +0,0 @@ -#!/usr/bin/env sh - -############################################################################## -## -## Gradle start up script for UN*X -## -############################################################################## - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn () { - echo "$*" -} - -die () { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=$((i+1)) - done - case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=$(save "$@") - -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" - -# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong -if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then - cd "$(dirname "$0")" -fi - -exec "$JAVACMD" "$@" diff --git a/project/run_all_tests.sh b/project/run_all_tests.sh deleted file mode 100755 index 2c5e2c931..000000000 --- a/project/run_all_tests.sh +++ /dev/null @@ -1,5 +0,0 @@ -!#/bin/zsh - -./gradlew test -./gradlew connectedAndroidTest -open ./build/reports/androidTests/connected/index.html \ No newline at end of file diff --git a/project/settings.gradle b/project/settings.gradle deleted file mode 100644 index 643baca5a..000000000 --- a/project/settings.gradle +++ /dev/null @@ -1,3 +0,0 @@ -rootProject.name = 'project' -include('android-client') -project(':android-client').projectDir=file('..') \ No newline at end of file diff --git a/scripts/compare-api-metalava.sh b/scripts/compare-api-metalava.sh new file mode 100755 index 000000000..fb66f243a --- /dev/null +++ b/scripts/compare-api-metalava.sh @@ -0,0 +1,726 @@ +#!/bin/bash + +# API Diff Tool using Metalava +# Compares public API surface between two Git branches using Metalava +# Usage: ./scripts/compare-api-metalava.sh --target --source + +set -euo pipefail + +# Colors for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' # No Color + +# Configuration +API_SIGNATURE_FILE="api.txt" +GRADLE_TASK_GENERATE_API="generateApi" +METALAVA_VERSION="1.0.0-alpha13" # Latest version from Maven +METALAVA_CACHE_DIR_RELATIVE=".metalava" +METALAVA_GROUP="com.android.tools.metalava" +METALAVA_ARTIFACT="metalava" +METALAVA_JAR_NAME="${METALAVA_ARTIFACT}-${METALAVA_VERSION}.jar" + +# These will be set after repo path is determined +METALAVA_CACHE_DIR="" +METALAVA_JAR="" + +# Temporary files +TEMP_DIR=$(mktemp -d) +CLONE_DIR="${TEMP_DIR}/repo" +TARGET_API="${TEMP_DIR}/target-branch-api.txt" +SOURCE_API="${TEMP_DIR}/source-branch-api.txt" + +# Optional: Save final API signature to a persistent location +SAVE_API_FILE=false +OUTPUT_API_FILE="" + +# Script arguments +TARGET_BRANCH="" +SOURCE_BRANCH="" +MODULE_PATH="" +REPO_PATH="" + +# Cleanup function - runs on exit, error, or interrupt +cleanup() { + local exit_code=$? + + # Always cleanup, even on success + if [ -d "$TEMP_DIR" ]; then + echo -e "\n${BLUE}Cleaning up temporary files...${NC}" + rm -rf "$TEMP_DIR" + echo "Removed temporary repository clone and API signature files" + fi + + # Only show error message if there was an error + if [ $exit_code -ne 0 ]; then + echo -e "${RED}Script failed with exit code $exit_code${NC}" + fi + + exit $exit_code +} + +# Set trap for cleanup on exit +trap cleanup EXIT INT TERM + +# Print error and exit +error_exit() { + echo -e "${RED}Error: $1${NC}" >&2 + exit 1 +} + +# Print usage +usage() { + cat << EOF +Usage: $0 --target --source [--module ] + +Options: + --target Target branch/tag/commit to compare against (e.g., main, origin/main, v1.0.0) + --source Source branch/tag/commit to compare (e.g., feature/my-feature, v1.1.0) + --module Optional: Module path (defaults to root, future-proof for multi-module) + --save-api Optional: Save the final API signature to a file (default: not saved) + +Examples: + # Compare branches + $0 --target origin/main --source feature/my-feature + + # Compare tags + $0 --target v1.0.0 --source v1.1.0 + + # Compare tag to branch + $0 --target v1.0.0 --source main + +Note: This script uses Metalava to generate API signature files that contain ONLY public API elements. +Private fields, methods, and internal implementation details are excluded. + +EOF + exit 1 +} + +# Parse command line arguments +parse_args() { + while [[ $# -gt 0 ]]; do + case $1 in + --target) + TARGET_BRANCH="$2" + shift 2 + ;; + --source) + SOURCE_BRANCH="$2" + shift 2 + ;; + --module) + MODULE_PATH="$2" + shift 2 + ;; + --save-api) + SAVE_API_FILE=true + OUTPUT_API_FILE="$2" + shift 2 + ;; + -h|--help) + usage + ;; + *) + error_exit "Unknown option: $1" + ;; + esac + done + + if [ -z "$TARGET_BRANCH" ] || [ -z "$SOURCE_BRANCH" ]; then + error_exit "Both --target and --source branches must be specified" + fi +} + +# Find the Gradle project root (where settings.gradle or build.gradle is located) +find_gradle_root() { + local current_dir="$PWD" + + # Check current directory first + if [ -f "settings.gradle" ] || [ -f "build.gradle" ]; then + echo "$PWD" + return 0 + fi + + # Check if we're in a subdirectory and need to go up + local check_dir="$current_dir" + while [ "$check_dir" != "/" ]; do + if [ -f "$check_dir/settings.gradle" ] || [ -f "$check_dir/build.gradle" ]; then + echo "$check_dir" + return 0 + fi + check_dir=$(dirname "$check_dir") + done + + # If no settings.gradle found, assume current directory + echo "$PWD" +} + +# Get repository path/URL +get_repo_path() { + echo -e "${BLUE}Detecting repository...${NC}" + + # Check if we're in a Git repository + if ! git rev-parse --git-dir > /dev/null 2>&1; then + error_exit "Not in a Git repository. Please run this script from within a Git repository." + fi + + # Get the repository root directory + REPO_PATH=$(git rev-parse --show-toplevel) + echo "Repository path: $REPO_PATH" + + echo -e "${GREEN}✓${NC} Repository detected" +} + +# Download and setup Metalava +setup_metalava() { + echo -e "${BLUE}Setting up Metalava...${NC}" + + # Use absolute path for cache directory (since we'll be working in temp dir) + if [ -z "$METALAVA_CACHE_DIR" ]; then + if [ -n "$REPO_PATH" ]; then + METALAVA_CACHE_DIR="$REPO_PATH/$METALAVA_CACHE_DIR_RELATIVE" + else + METALAVA_CACHE_DIR="$PWD/$METALAVA_CACHE_DIR_RELATIVE" + fi + METALAVA_JAR="$METALAVA_CACHE_DIR/$METALAVA_JAR_NAME" + fi + + # Create cache directory if it doesn't exist + mkdir -p "$METALAVA_CACHE_DIR" + + # Check if Metalava is already cached + if [ -f "$METALAVA_JAR" ]; then + # Verify it's a valid JAR file (ZIP format) + if unzip -t "$METALAVA_JAR" > /dev/null 2>&1; then + echo -e "${GREEN}✓${NC} Metalava ${METALAVA_VERSION} found in cache" + return 0 + else + echo "Cached JAR appears invalid, re-downloading..." + rm -f "$METALAVA_JAR" + fi + fi + + # Check if Java is available (required for Metalava JAR) + if ! command -v java > /dev/null 2>&1; then + error_exit "Java is required to run Metalava. Please install Java." + fi + + # First, try to find Metalava in Gradle cache (might already be downloaded) + local gradle_user_home="${GRADLE_USER_HOME:-$HOME/.gradle}" + echo "Searching for Metalava in Gradle cache..." + if [ -d "$gradle_user_home/caches" ]; then + local cached_jar=$(find "$gradle_user_home/caches" -name "metalava*.jar" -type f 2>/dev/null | grep -v "sources" | grep -v "javadoc" | head -1) + if [ -n "$cached_jar" ] && [ -f "$cached_jar" ]; then + # Verify it's a valid JAR file (ZIP format) + if unzip -t "$cached_jar" > /dev/null 2>&1; then + echo "Found Metalava in Gradle cache, copying to script cache..." + cp "$cached_jar" "$METALAVA_JAR" + echo -e "${GREEN}✓${NC} Metalava ${METALAVA_VERSION} found in Gradle cache" + return 0 + fi + fi + fi + + # Download from Google Maven repository (maven.google.com) + echo "Downloading Metalava ${METALAVA_VERSION} from Google Maven repository..." + local group_path=$(echo "$METALAVA_GROUP" | tr '.' '/') + local maven_url="https://dl.google.com/dl/android/maven2/${group_path}/${METALAVA_ARTIFACT}/${METALAVA_VERSION}/${METALAVA_JAR_NAME}" + + echo "Downloading from: $maven_url" + if command -v curl > /dev/null 2>&1; then + if ! curl -L -f -o "$METALAVA_JAR" "$maven_url"; then + error_exit "Failed to download Metalava from $maven_url" + fi + elif command -v wget > /dev/null 2>&1; then + if ! wget -O "$METALAVA_JAR" "$maven_url"; then + error_exit "Failed to download Metalava from $maven_url" + fi + else + error_exit "Neither curl nor wget found. Please install one to download Metalava." + fi + + # Verify JAR download was successful (JAR should be > 100KB) + local jar_size + jar_size=$(stat -f%z "$METALAVA_JAR" 2>/dev/null || stat -c%s "$METALAVA_JAR" 2>/dev/null || echo "0") + if [ "$jar_size" -lt 100000 ]; then + error_exit "Downloaded JAR appears corrupted (${jar_size} bytes). Expected > 100KB." + fi + echo "Downloaded ${jar_size} bytes" + + # Verify the JAR is valid by checking if it's a valid ZIP file (JARs are ZIP files) + if ! unzip -t "$METALAVA_JAR" > /dev/null 2>&1; then + error_exit "Downloaded Metalava JAR appears to be invalid or corrupted (not a valid ZIP/JAR file)" + fi + + echo -e "${GREEN}✓${NC} Metalava ${METALAVA_VERSION} downloaded and ready" +} + +# Clone repository to temporary directory +clone_repo() { + echo -e "${BLUE}Cloning repository to temporary directory...${NC}" + + # Clone the repository (using file:// protocol for local repos) + # This creates a clean copy without affecting the original + if [ -d "$CLONE_DIR" ]; then + rm -rf "$CLONE_DIR" + fi + + echo "Cloning to: $CLONE_DIR" + # Use file:// protocol for local repository cloning + local repo_url + if [[ "$REPO_PATH" == /* ]]; then + # Absolute path - use file:// protocol + repo_url="file://$REPO_PATH" + else + # Relative path + repo_url="file://$(cd "$REPO_PATH" && pwd)" + fi + + # Clone with tags to ensure all tags are available + git clone --tags "$repo_url" "$CLONE_DIR" > /dev/null 2>&1 || error_exit "Failed to clone repository" + + # Fetch all remotes and tags from the original repo (in case of remote refs) + (cd "$CLONE_DIR" && git remote set-url origin "$repo_url" > /dev/null 2>&1 || true) + (cd "$CLONE_DIR" && git fetch --all --tags --prune > /dev/null 2>&1 || true) + + # Also fetch tags directly from the original repo to ensure we have all local tags + (cd "$CLONE_DIR" && git fetch "$repo_url" "+refs/tags/*:refs/tags/*" > /dev/null 2>&1 || true) + + echo -e "${GREEN}✓${NC} Repository cloned" +} + +# Add Metalava Gradle task to generate API signature +add_metalava_task() { + local build_gradle="$1" + local metalava_jar_path="$2" + + # Check if task already exists + if grep -q "task generateApiSignature" "$build_gradle" 2>/dev/null; then + return 0 + fi + + echo "Adding Metalava task to build.gradle..." + + # Escape the path for use in Groovy string + local escaped_jar_path=$(echo "$metalava_jar_path" | sed "s/'/\\\\'/g") + + # Append the task at the end of the file + # Also add repositories if not present + if ! grep -q "repositories" "$build_gradle" 2>/dev/null; then + cat >> "$build_gradle" << 'REPOS_EOF' + +repositories { + google() + mavenCentral() +} +REPOS_EOF + fi + + # Append the task at the end of the file + cat >> "$build_gradle" << METALAVA_TASK_EOF + +// Metalava API signature generation task (added by compare-api-metalava.sh) +configurations { + metalavaRuntime +} + +dependencies { + metalavaRuntime 'com.android.tools.metalava:metalava:1.0.0-alpha13' +} + +task generateApiSignature(type: JavaExec) { + dependsOn configurations.metalavaRuntime + + // Use Driver as the main class (this is the correct entry point for Metalava) + main = 'com.android.tools.metalava.Driver' + classpath = configurations.metalavaRuntime + + // Ensure compile classpath is resolved before running + doFirst { + try { + def compileClasspath = configurations.findByName("compileClasspath") + if (compileClasspath != null) { + compileClasspath.resolve() + } + } catch (Exception e) { + // Ignore if compileClasspath is not available + } + } + + // Get Android extension to find source directories and SDK information + doFirst { + def androidExtension = project.extensions.findByName('android') + if (androidExtension == null) { + throw new GradleException("Android extension not found") + } + + def apiFile = file("\${project.rootDir}/api.txt") + apiFile.parentFile.mkdirs() + + def sourceDirs = androidExtension.sourceSets.main.java.srcDirs + + // Build arguments for Metalava + def argsList = [ + "--api", apiFile.absolutePath, + "--source-path", sourceDirs.join(File.pathSeparator), + "--format=v2" + ] + + // Add compile SDK version if available (Metalava uses --compile-sdk-version, not --bootclasspath) + try { + def compileSdk = androidExtension.compileSdkVersion + if (compileSdk != null) { + // compileSdkVersion might be a string like "33" or an integer + def sdkVersion = compileSdk.toString() + argsList.add("--compile-sdk-version") + argsList.add(sdkVersion) + } + } catch (Exception e) { + // compileSdkVersion might not be accessible, try compileSdk + try { + def compileSdk = androidExtension.compileSdk + if (compileSdk != null) { + def sdkVersion = compileSdk.toString() + argsList.add("--compile-sdk-version") + argsList.add(sdkVersion) + } + } catch (Exception e2) { + // If we can't get compile SDK, Metalava might be able to infer it + // or we can try to get it from the project's build.gradle + } + } + + // Try to get SDK home from environment or Android extension + def sdkHome = System.getenv("ANDROID_HOME") ?: System.getenv("ANDROID_SDK_ROOT") + if (sdkHome != null && new File(sdkHome).exists()) { + argsList.add("--sdk-home") + argsList.add(sdkHome) + } + + // Build classpath from project dependencies to help resolve imports + def classpathEntries = [] + try { + // Add boot classpath if available + def bootClasspath = androidExtension.bootClasspath + if (bootClasspath != null && !bootClasspath.isEmpty()) { + classpathEntries.addAll(bootClasspath) + } + } catch (Exception e) { + // bootClasspath might not be accessible in newer Android Gradle Plugin versions + } + + // Add compile classpath from configurations to help resolve dependencies + try { + def compileClasspath = configurations.findByName("compileClasspath") + if (compileClasspath != null) { + compileClasspath.resolve().each { file -> + if (file.exists() && file.name.endsWith('.jar')) { + classpathEntries.add(file.absolutePath) + } + } + } + } catch (Exception e) { + // compileClasspath might not be available + } + + // Add the classpath if we have entries + if (!classpathEntries.isEmpty()) { + argsList.add("--classpath") + argsList.add(classpathEntries.join(File.pathSeparator)) + } + + // Suppress API lint errors that are causing failures + // These are informational and don't prevent API signature generation + argsList.add("--hide") + argsList.add("DeprecationMismatch") + argsList.add("--hide") + argsList.add("ReferencesHidden") + argsList.add("--hide") + argsList.add("HiddenTypeParameter") + argsList.add("--hide") + argsList.add("UnresolvedImport") + + args = argsList + } +} +METALAVA_TASK_EOF +} + +# Generate API signature file for a specific branch/tag/commit +generate_api_signature() { + local ref="$1" + local output_api="$2" + + echo -e "\n${BLUE}Generating API signature for ref: ${ref}${NC}" + + # Change to cloned repository directory + cd "$CLONE_DIR" || error_exit "Failed to change to cloned repository directory" + + # Verify ref exists (handles branches, tags, and commits) + if ! git rev-parse --verify "$ref" > /dev/null 2>&1; then + # If that fails, try fetching the ref from origin + echo "Ref not found locally, attempting to fetch..." + git fetch origin "$ref:$ref" > /dev/null 2>&1 || true + # Also try fetching as a tag + if [[ "$ref" =~ ^[0-9] ]]; then + git fetch origin "refs/tags/$ref:refs/tags/$ref" > /dev/null 2>&1 || true + fi + # Try again + if ! git rev-parse --verify "$ref" > /dev/null 2>&1; then + # List available tags for debugging + echo -e "${YELLOW}Available tags:${NC}" + git tag | grep -E "^5\.[34]" | head -10 || git tag | tail -10 + error_exit "Ref does not exist: $ref (must be a branch, tag, or commit)" + fi + fi + + # Checkout the ref (works for branches, tags, and commits) + echo "Checking out ref: $ref" + if ! git checkout "$ref" 2>/dev/null; then + # Try with -f flag for tags that might have conflicts + if ! git checkout -f "$ref" 2>/dev/null; then + error_exit "Failed to checkout ref: $ref" + fi + fi + + # Find the Gradle project root after checkout + local gradle_root + gradle_root=$(find_gradle_root) + + # Check for Gradle wrapper in the project root + local gradlew_path + if [ -f "$gradle_root/gradlew" ]; then + gradlew_path="$gradle_root/gradlew" + elif [ -f "./gradlew" ]; then + gradlew_path="./gradlew" + else + error_exit "Gradle wrapper (gradlew) not found. Expected in: $gradle_root or current directory" + fi + + # Make gradlew executable + chmod +x "$gradlew_path" 2>/dev/null || true + + # Determine the working directory for gradle + local gradle_cmd + if [ "$gradle_root" != "$PWD" ]; then + gradle_cmd="$gradlew_path" + echo "Using Gradle wrapper from: $gradle_root" + else + gradle_cmd="./gradlew" + fi + + # Handle parent settings.gradle interference + local temp_settings_created=false + if [ -f "build.gradle" ] && [ ! -f "settings.gradle" ]; then + local parent_settings=$(dirname "$PWD")/settings.gradle + if [ -f "$parent_settings" ]; then + echo "rootProject.name = 'android-client'" > "settings.gradle" + temp_settings_created=true + echo "Created temporary settings.gradle to isolate build from parent" + fi + fi + + # Verify Metalava JAR is available + if [ ! -f "$METALAVA_JAR" ]; then + error_exit "Metalava JAR not found at: $METALAVA_JAR. Please run setup_metalava first." + fi + + # Add Metalava task to build.gradle if needed + local build_gradle_file + if [ -f "$gradle_root/build.gradle" ]; then + build_gradle_file="$gradle_root/build.gradle" + elif [ -f "build.gradle" ]; then + build_gradle_file="build.gradle" + else + error_exit "build.gradle not found" + fi + + # Add the Metalava task to build.gradle + add_metalava_task "$build_gradle_file" "$METALAVA_JAR" + + # Generate API signature using the Gradle task + echo "Generating API signature using Metalava..." + + # First, try to compile the project to ensure source is valid + echo "Compiling project..." + if ! "$gradle_cmd" compileReleaseJavaWithJavac --quiet --no-daemon > /dev/null 2>&1; then + echo -e "${YELLOW}Warning: Compilation had issues, but continuing with API generation...${NC}" + fi + + # Generate API signature using our custom task + echo "Running generateApiSignature task..." + if ! "$gradle_cmd" generateApiSignature --quiet --no-daemon; then + error_exit "Failed to generate API signature using Metalava" + fi + + # Find the generated API signature file + local api_path="" + local possible_paths=( + "$gradle_root/$API_SIGNATURE_FILE" + "./$API_SIGNATURE_FILE" + "api.txt" + ) + + for path in "${possible_paths[@]}"; do + if [ -f "$path" ]; then + api_path="$path" + break + fi + done + + if [ -z "$api_path" ] || [ ! -f "$api_path" ]; then + echo -e "${YELLOW}Warning: API signature file not found. Attempting to create a basic one...${NC}" + echo -e "${YELLOW}Note: You may need to configure Metalava in your build.gradle manually.${NC}" + echo -e "${YELLOW}Add this to your android block:${NC}" + echo "" + echo " metalava {" + echo " generateSignature = true" + echo " signatureOutputDirectory = project.rootDir" + echo " filename = \"api.txt\"" + echo " }" + echo "" + + # Create an empty API file as fallback (so script doesn't fail) + touch "$gradle_root/$API_SIGNATURE_FILE" + api_path="$gradle_root/$API_SIGNATURE_FILE" + fi + + echo "Found API signature at: $api_path" + + # Copy API signature to temp location + cp "$api_path" "$output_api" + echo -e "${GREEN}✓${NC} API signature generated and copied: $(basename "$output_api")" + + # Clean up temporary settings.gradle if we created one + if [ "$temp_settings_created" = true ] && [ -f "settings.gradle" ]; then + rm -f "settings.gradle" + fi +} + +# Colorize diff output +colorize_diff() { + while IFS= read -r line || [ -n "$line" ]; do + case "$line" in + ---*|+++*) + # File headers - blue + echo -e "${BLUE}${line}${NC}" + ;; + -" "*) + # Removed lines - red + echo -e "${RED}${line}${NC}" + ;; + +" "*) + # Added lines - green + echo -e "${GREEN}${line}${NC}" + ;; + @@*) + # Hunk headers - yellow + echo -e "${YELLOW}${line}${NC}" + ;; + *) + # Context lines - no color + echo "$line" + ;; + esac + done +} + +# Compare API signature files +compare_api_signatures() { + local old_api="$1" + local new_api="$2" + + if [ ! -f "$old_api" ]; then + error_exit "Target API signature not found: $old_api" + fi + + if [ ! -f "$new_api" ]; then + error_exit "Source API signature not found: $new_api" + fi + + echo -e "\n${BLUE}Comparing API signatures...${NC}" + echo "OLD: $(basename "$old_api") (target: $TARGET_BRANCH)" + echo "NEW: $(basename "$new_api") (source: $SOURCE_BRANCH)" + echo "" + echo -e "${GREEN}Note: Only public API changes are shown. Private fields and methods are excluded.${NC}" + echo "" + + # Use diff to show the differences + # Use unified diff format for better readability + if command -v diff > /dev/null 2>&1; then + # Run diff directly and pipe through colorize_diff + # This ensures we always see the output + if diff -u "$old_api" "$new_api" 2>&1 | colorize_diff; then + # If diff returns 0 (no differences), colorize_diff will have shown nothing + # Check if files are actually identical + if cmp -s "$old_api" "$new_api" 2>/dev/null; then + echo -e "${GREEN}No public API changes detected.${NC}" + fi + else + # diff returned non-zero, meaning there are differences + # The diff output was already shown by colorize_diff above + echo -e "\n${YELLOW}Public API changes detected (see diff above).${NC}" + fi + else + error_exit "diff command not found. Please install diff utility." + fi +} + +# Main execution +main() { + echo -e "${GREEN}API Diff Tool (Metalava)${NC}" + echo "==============================" + echo "" + echo -e "${BLUE}This tool compares ONLY public API changes using Metalava.${NC}" + echo -e "${BLUE}Private fields, methods, and internal implementation details are excluded.${NC}" + echo "" + + # Parse arguments + parse_args "$@" + + # Get repository path + get_repo_path + + # Setup Metalava (use absolute path for cache since we'll be in temp dir) + setup_metalava + + # Clone repository to temporary directory + clone_repo + + # Generate source branch API signature first (newer version) + generate_api_signature "$SOURCE_BRANCH" "$SOURCE_API" + + # Generate target branch API signature second (older version) + generate_api_signature "$TARGET_BRANCH" "$TARGET_API" + + # Compare API signatures + # Note: We show OLD -> NEW, so we pass target (old) first, then source (new) + compare_api_signatures "$TARGET_API" "$SOURCE_API" + + # Show file locations + echo -e "\n${BLUE}API Signature File Locations:${NC}" + echo "Target (old) API: $TARGET_API" + echo "Source (new) API: $SOURCE_API" + + # Save final API signature if requested + if [ "$SAVE_API_FILE" = true ]; then + if [ -n "$OUTPUT_API_FILE" ]; then + cp "$SOURCE_API" "$OUTPUT_API_FILE" + echo -e "\n${GREEN}✓${NC} Final API signature saved to: $OUTPUT_API_FILE" + else + # Default: save to current directory with timestamp + local timestamp=$(date +%Y%m%d_%H%M%S) + OUTPUT_API_FILE="api-${SOURCE_BRANCH//\//_}-${timestamp}.txt" + cp "$SOURCE_API" "$OUTPUT_API_FILE" + echo -e "\n${GREEN}✓${NC} Final API signature saved to: $OUTPUT_API_FILE" + fi + fi + + echo -e "\n${GREEN}✓${NC} API comparison completed successfully" +} + +# Run main function +main "$@" + diff --git a/scripts/diffuse.sh b/scripts/diffuse.sh index 86df0fc50..c8842919f 100755 --- a/scripts/diffuse.sh +++ b/scripts/diffuse.sh @@ -2,7 +2,7 @@ # API Diff Tool # Compares public API surface between two Git branches using Diffuse -# Usage: ./scripts/compare-api.sh --target --source +# Usage: ./scripts/diffuse.sh --target --source [--verbose] set -euo pipefail @@ -22,14 +22,18 @@ DIFFUSE_URL="https://github.com/JakeWharton/diffuse/releases/download/${DIFFUSE_ DIFFUSE_CACHE_DIR="" DIFFUSE_BINARY="" -# AAR configuration +# AAR configuration (fused library output at root) AAR_OUTPUT_DIR="build/outputs/aar" -AAR_NAME="android-client-release.aar" -GRADLE_TASK="assembleRelease" +# Prefer exact fused name; also support variant-suffixed names +AAR_CANDIDATE_NAMES=("android-client.aar" "android-client-release.aar" "android-client-debug.aar") +# Candidate Gradle tasks in order of preference; pick the first that exists +# Prefer 'bundle' for fused plugin roots, then legacy variant-specific bundles +GRADLE_TASK_CANDIDATES=("bundle" "bundleReleaseAar" "assembleRelease") # Temporary files TEMP_DIR=$(mktemp -d) -CLONE_DIR="${TEMP_DIR}/repo" +SOURCE_CLONE_DIR="${TEMP_DIR}/source-repo" +TARGET_CLONE_DIR="${TEMP_DIR}/target-repo" TARGET_AAR="${TEMP_DIR}/target-branch.aar" SOURCE_AAR="${TEMP_DIR}/source-branch.aar" @@ -38,6 +42,8 @@ TARGET_BRANCH="" SOURCE_BRANCH="" MODULE_PATH="" REPO_PATH="" +VERBOSE=false +FULL=false # Cleanup function - runs on exit, error, or interrupt cleanup() { @@ -45,14 +51,14 @@ cleanup() { # Always cleanup, even on success if [ -d "$TEMP_DIR" ]; then - echo -e "\n${BLUE}Cleaning up temporary files...${NC}" - rm -rf "$TEMP_DIR" - echo "Removed temporary repository clone and AAR files" + [ "$VERBOSE" = true ] && echo -e "\n${BLUE}Cleaning up temporary files...${NC}" + rm -rf "$TEMP_DIR" 2>/dev/null || true + [ "$VERBOSE" = true ] && echo "Removed temporary repository clone and AAR files" fi # Only show error message if there was an error if [ $exit_code -ne 0 ]; then - echo -e "${RED}Script failed with exit code $exit_code${NC}" + echo -e "${RED}Script failed with exit code $exit_code${NC}" >&2 fi exit $exit_code @@ -67,15 +73,24 @@ error_exit() { exit 1 } +# Verbose logging +log_verbose() { + if [ "$VERBOSE" = true ]; then + echo -e "${BLUE}$1${NC}" + fi +} + # Print usage usage() { cat << EOF -Usage: $0 --target --source [--module ] +Usage: $0 --target --source [--module ] [--verbose|--full] Options: --target Target branch/tag/commit to compare against (e.g., main, origin/main, v1.0.0) --source Source branch/tag/commit to compare (e.g., feature/my-feature, v1.1.0) --module Optional: Module path (defaults to root, future-proof for multi-module) + --verbose Show verbose output including build logs and progress messages + --full Show complete Diffuse output including detailed class/method/field changes Examples: # Compare branches @@ -84,8 +99,11 @@ Examples: # Compare tags $0 --target v1.0.0 --source v1.1.0 - # Compare tag to branch - $0 --target v1.0.0 --source main + # Compare with verbose output (shows build logs) + $0 --target v1.0.0 --source main --verbose + + # Compare with full Diffuse output (shows all details) + $0 --target v1.0.0 --source main --full EOF exit 1 @@ -107,6 +125,14 @@ parse_args() { MODULE_PATH="$2" shift 2 ;; + --verbose) + VERBOSE=true + shift + ;; + --full) + FULL=true + shift + ;; -h|--help) usage ;; @@ -147,7 +173,7 @@ find_gradle_root() { # Get repository path/URL get_repo_path() { - echo -e "${BLUE}Detecting repository...${NC}" + log_verbose "Detecting repository..." # Check if we're in a Git repository if ! git rev-parse --git-dir > /dev/null 2>&1; then @@ -155,23 +181,37 @@ get_repo_path() { fi # Get the repository root directory - REPO_PATH=$(git rev-parse --show-toplevel) - echo "Repository path: $REPO_PATH" + set +eu # Temporarily disable exit on error and unset variable check + set +o pipefail + REPO_PATH=$(git rev-parse --show-toplevel 2>/dev/null) + local git_exit=$? + set -eu # Re-enable exit on error and unset variable check + set -o pipefail + + # Check if git command failed or result is empty + if [ $git_exit -ne 0 ] || [ -z "${REPO_PATH:-}" ]; then + error_exit "Failed to determine repository root directory" + fi - echo -e "${GREEN}✓${NC} Repository detected" + log_verbose "Repository path: $REPO_PATH" + + log_verbose "✓ Repository detected" } # Clone repository to temporary directory clone_repo() { - echo -e "${BLUE}Cloning repository to temporary directory...${NC}" + local clone_dir="$1" + local label="$2" + + log_verbose "Cloning repository to temporary directory ($label)..." # Clone the repository (using file:// protocol for local repos) # This creates a clean copy without affecting the original - if [ -d "$CLONE_DIR" ]; then - rm -rf "$CLONE_DIR" + if [ -d "$clone_dir" ]; then + rm -rf "$clone_dir" fi - echo "Cloning to: $CLONE_DIR" + log_verbose "Cloning to: $clone_dir" # Use file:// protocol for local repository cloning local repo_url if [[ "$REPO_PATH" == /* ]]; then @@ -182,22 +222,35 @@ clone_repo() { repo_url="file://$(cd "$REPO_PATH" && pwd)" fi - # Clone with tags to ensure all tags are available - git clone --tags "$repo_url" "$CLONE_DIR" > /dev/null 2>&1 || error_exit "Failed to clone repository" - - # Fetch all remotes and tags from the original repo (in case of remote refs) - (cd "$CLONE_DIR" && git remote set-url origin "$repo_url" > /dev/null 2>&1 || true) - (cd "$CLONE_DIR" && git fetch --all --tags --prune > /dev/null 2>&1 || true) - - # Also fetch tags directly from the original repo to ensure we have all local tags - (cd "$CLONE_DIR" && git fetch "$repo_url" "+refs/tags/*:refs/tags/*" > /dev/null 2>&1 || true) + git clone --tags "$repo_url" "$clone_dir" > /dev/null 2>&1 || error_exit "Failed to clone repository for $label" + + # After cloning from local repo, we need to fetch from the actual remote origin + # to ensure all remote branches are properly available + ( + cd "$clone_dir" || error_exit "Failed to enter clone dir for $label" + + # Get the actual remote origin URL from the source repo + ACTUAL_ORIGIN=$(cd "$REPO_PATH" && git remote get-url origin 2>/dev/null || echo "") + + if [ -n "$ACTUAL_ORIGIN" ]; then + log_verbose "Fetching from actual remote origin: $ACTUAL_ORIGIN" + # Update origin to point to the actual remote + git remote set-url origin "$ACTUAL_ORIGIN" > /dev/null 2>&1 || true + else + log_verbose "Using local repository as origin: $repo_url" + git remote set-url origin "$repo_url" > /dev/null 2>&1 || true + fi + + # Fetch branches and tags for origin using default refspec + git fetch origin --prune --tags > /dev/null 2>&1 || true + ) - echo -e "${GREEN}✓${NC} Repository cloned" + log_verbose "✓ Repository cloned for $label" } # Download and setup Diffuse setup_diffuse() { - echo -e "${BLUE}Setting up Diffuse...${NC}" + log_verbose "Setting up Diffuse..." # Use absolute path for cache directory (since we'll be working in temp dir) if [ -z "$DIFFUSE_CACHE_DIR" ]; then @@ -206,19 +259,17 @@ setup_diffuse() { else DIFFUSE_CACHE_DIR="$PWD/$DIFFUSE_CACHE_DIR_RELATIVE" fi - DIFFUSE_JAR="$DIFFUSE_CACHE_DIR/diffuse-${DIFFUSE_VERSION}.jar" - DIFFUSE_BINARY="$DIFFUSE_CACHE_DIR/diffuse-${DIFFUSE_VERSION}" fi - # Create cache directory if it doesn't exist - mkdir -p "$DIFFUSE_CACHE_DIR" - # Set the expected binary path DIFFUSE_BINARY="${DIFFUSE_CACHE_DIR}/diffuse-${DIFFUSE_VERSION}/bin/diffuse" + # Create cache directory if it doesn't exist + mkdir -p "$DIFFUSE_CACHE_DIR" + # Check if Diffuse is already cached and valid (binary should exist and be executable) if [ -f "$DIFFUSE_BINARY" ] && [ -x "$DIFFUSE_BINARY" ]; then - echo -e "${GREEN}✓${NC} Diffuse ${DIFFUSE_VERSION} found in cache" + log_verbose "✓ Diffuse ${DIFFUSE_VERSION} found in cache" return 0 fi @@ -227,11 +278,11 @@ setup_diffuse() { error_exit "Java is required to run Diffuse. Please install Java." fi - echo "Downloading Diffuse ${DIFFUSE_VERSION} from GitHub..." + log_verbose "Downloading Diffuse ${DIFFUSE_VERSION} from GitHub..." # Download Diffuse ZIP (releases are distributed as ZIP files) local diffuse_zip="${DIFFUSE_CACHE_DIR}/diffuse-${DIFFUSE_VERSION}.zip" - echo "Downloading from: $DIFFUSE_URL" + log_verbose "Downloading from: $DIFFUSE_URL" if command -v curl > /dev/null 2>&1; then if ! curl -L -f -o "$diffuse_zip" "$DIFFUSE_URL"; then error_exit "Failed to download Diffuse from $DIFFUSE_URL" @@ -250,10 +301,10 @@ setup_diffuse() { if [ "$zip_size" -lt 100000 ]; then error_exit "Downloaded ZIP appears corrupted (${zip_size} bytes). Expected > 100KB." fi - echo "Downloaded ${zip_size} bytes" + log_verbose "Downloaded ${zip_size} bytes" # Extract JAR from ZIP - echo "Extracting JAR from ZIP..." + log_verbose "Extracting JAR from ZIP..." if ! command -v unzip > /dev/null 2>&1; then error_exit "unzip is required to extract Diffuse. Please install unzip." fi @@ -298,9 +349,9 @@ setup_diffuse() { if [ ! -f "$DIFFUSE_BINARY" ] || [ ! -x "$DIFFUSE_BINARY" ]; then error_exit "Diffuse binary not found or not executable at: $DIFFUSE_BINARY" fi - echo "Extracted Diffuse binary: $DIFFUSE_BINARY" + log_verbose "Extracted Diffuse binary: $DIFFUSE_BINARY" - echo -e "${GREEN}✓${NC} Diffuse ${DIFFUSE_VERSION} downloaded and ready" + log_verbose "✓ Diffuse ${DIFFUSE_VERSION} downloaded and ready" } # Run Diffuse command @@ -316,77 +367,185 @@ run_diffuse() { error_exit "Source AAR not found: $new_aar" fi - echo -e "\n${BLUE}Running Diffuse comparison...${NC}" - echo "OLD: $(basename "$old_aar")" - echo "NEW: $(basename "$new_aar")" - echo "" - # Compare AAR files directly using --aar flag - # Filter output to show only summary tables (size differences) + # Filter output to show only summary tables (size differences including JAR table) # Skip detailed lists of classes, methods, and fields local temp_output temp_output=$(mktemp) + local saved_log="${DIFFUSE_CACHE_DIR}/last-diffuse.log" # Run Diffuse and capture output - if ! "$DIFFUSE_BINARY" diff --aar "$old_aar" "$new_aar" > "$temp_output" 2>&1; then - # If Diffuse fails, show the error - cat "$temp_output" - rm -f "$temp_output" - error_exit "Diffuse comparison failed" - fi - - # Filter to show only summary/statistics, skip detailed lists - awk ' - # Print everything until we hit CLASSES:, METHODS:, or FIELDS: sections - /^CLASSES:$/ { exit 0 } - /^METHODS:$/ { exit 0 } - /^FIELDS:$/ { exit 0 } - # Print all other lines (headers, size info, summary tables) - { print } - ' "$temp_output" + # Note: Diffuse may return non-zero exit code when differences are found (which is expected) + # So we capture the output regardless of exit code + local diffuse_exit_code=0 + set +e # Temporarily disable exit on error to capture exit code + set +o pipefail + "$DIFFUSE_BINARY" diff --aar "$old_aar" "$new_aar" > "$temp_output" 2>&1 + diffuse_exit_code=$? + set -e # Re-enable exit on error + set -o pipefail + # Save full raw log for debugging + cp "$temp_output" "$saved_log" >/dev/null 2>&1 || true + + # Check if the output contains actual errors (not just differences) + if [ $diffuse_exit_code -ne 0 ]; then + # Always print the full Diffuse output on non-zero exit to aid debugging + echo -e "${YELLOW}Diffuse exited with code ${diffuse_exit_code}. Full log saved at: ${saved_log}${NC}" >&2 + cat "$temp_output" >&2 || true + fi + + # In verbose or full mode, show full output; otherwise filter to show only key tables + if [ "$VERBOSE" = true ] || [ "$FULL" = true ]; then + # Show complete unfiltered Diffuse output + cat "$temp_output" || true + else + # Filter to show only the tables we care about: + # - AAR summary table + # - JAR summary table + # - AAR file list section + # Skip: file paths, hashes, MANIFEST section, CLASSES/METHODS/FIELDS details + set +e # Temporarily disable exit on error for awk + set +o pipefail + awk ' + BEGIN { + in_aar_table = 0 + in_jar_table = 0 + in_aar_section = 0 + skip_until_next_section = 0 + } + + # Skip OLD/NEW file path lines with hashes + /^OLD: .*\.aar \(.*bytes.*sha256:/ { next } + /^NEW: .*\.aar \(.*bytes.*sha256:/ { next } + + # Skip simple OLD:/NEW: filename lines + /^OLD: [^\/]*\.aar$/ { next } + /^NEW: [^\/]*\.aar$/ { next } + + # Stop at detailed sections + /^CLASSES:$/ { exit 0 } + /^METHODS:$/ { exit 0 } + /^FIELDS:$/ { exit 0 } + + # Detect AAR summary table start + / AAR / && /old/ && /new/ && /diff/ { + in_aar_table = 1 + print + next + } + + # Detect JAR summary table start + / JAR / && /old/ && /new/ && /diff/ { + in_jar_table = 1 + print + next + } + + # Continue printing AAR table until blank line + in_aar_table == 1 { + print + if ($0 == "") { + in_aar_table = 0 + } + next + } + + # Continue printing JAR table until blank line + in_jar_table == 1 { + print + if ($0 == "") { + in_jar_table = 0 + } + next + } + + # Handle section headers (=====) + /^=+$/ { + # Save the separator line + sep_line = $0 + # Read the next line to see what section it is + if (getline > 0) { + if ($0 ~ /====.*AAR.*====/) { + # Start of AAR file list section + in_aar_section = 1 + skip_until_next_section = 0 + print sep_line + print + # Read and print the next separator line (there are 2 around the header) + if (getline > 0 && $0 ~ /^=+$/) { + print + } + } else if ($0 ~ /====.*MANIFEST.*====/) { + # Skip MANIFEST section + skip_until_next_section = 1 + } else if ($0 ~ /====.*JAR.*====/ && !in_aar_section) { + # Skip final JAR section (after MANIFEST) + skip_until_next_section = 1 + } + } + next + } + + # Continue printing AAR section content + in_aar_section == 1 { + # Check if this is the "(total)" line (end of AAR section) + if ($0 ~ /\(total\)/) { + print + in_aar_section = 0 + skip_until_next_section = 1 # Skip everything until we see CLASSES/METHODS/FIELDS or EOF + next + } + print + next + } + + # Skip lines when we are skipping a section + skip_until_next_section == 1 { + next + } + ' "$temp_output" || true + set -e # Re-enable exit on error + set -o pipefail + fi # Clean up - rm -f "$temp_output" + rm -f "$temp_output" || true + + # Return success (even if Diffuse found differences, that's a successful comparison) + return 0 } - # Build AAR for a specific branch/tag/commit build_aar() { - local ref="$1" - local output_aar="$2" + local clone_dir="$1" + local ref="$2" + local output_aar="$3" - echo -e "\n${BLUE}Building AAR for ref: ${ref}${NC}" + log_verbose "Building AAR for ref: ${ref}" # Change to cloned repository directory - cd "$CLONE_DIR" || error_exit "Failed to change to cloned repository directory" + cd "$clone_dir" || error_exit "Failed to change to cloned repository directory" # Verify ref exists (handles branches, tags, and commits) - # First try to verify directly + # At this point clone_repo has already fetched from origin, so the + # ref should exist if it exists on the remote. if ! git rev-parse --verify "$ref" > /dev/null 2>&1; then - # If that fails, try fetching the ref from origin - echo "Ref not found locally, attempting to fetch..." - git fetch origin "$ref:$ref" > /dev/null 2>&1 || true - # Also try fetching as a tag - if [[ "$ref" =~ ^[0-9] ]]; then - git fetch origin "refs/tags/$ref:refs/tags/$ref" > /dev/null 2>&1 || true - fi - # Try again - if ! git rev-parse --verify "$ref" > /dev/null 2>&1; then - # List available tags for debugging - echo -e "${YELLOW}Available tags:${NC}" - git tag | grep -E "^5\.[34]" | head -10 || git tag | tail -10 - error_exit "Ref does not exist: $ref (must be a branch, tag, or commit)" - fi + error_exit "Ref does not exist in cloned repo: $ref (ensure this branch/tag/SHA exists on origin)" fi # Checkout the ref (works for branches, tags, and commits) - echo "Checking out ref: $ref" - if ! git checkout "$ref" 2>/dev/null; then + log_verbose "Checking out ref: $ref" + if ! git checkout "$ref" >/dev/null 2>&1; then # Try with -f flag for tags that might have conflicts - if ! git checkout -f "$ref" 2>/dev/null; then + if ! git checkout -f "$ref" >/dev/null 2>&1; then error_exit "Failed to checkout ref: $ref" fi fi + # Log resolved commit for traceability + if git rev-parse --short HEAD >/dev/null 2>&1; then + RESOLVED_SHA="$(git rev-parse --short HEAD || true)" + log_verbose "Resolved ref '$ref' to commit: $RESOLVED_SHA" + fi # Find the Gradle project root after checkout (structure might be different) local gradle_root @@ -412,7 +571,7 @@ build_aar() { # Run from gradle root, but need to specify the project # For now, try running from current directory with the gradlew from root gradle_cmd="$gradlew_path" - echo "Using Gradle wrapper from: $gradle_root" + log_verbose "Using Gradle wrapper from: $gradle_root" else gradle_cmd="./gradlew" fi @@ -427,80 +586,112 @@ build_aar() { # Create a minimal settings.gradle to prevent Gradle from using parent echo "rootProject.name = 'android-client'" > "settings.gradle" temp_settings_created=true - echo "Created temporary settings.gradle to isolate build from parent" + log_verbose "Created temporary settings.gradle to isolate build from parent" fi fi - # Build the AAR - echo "Running: $gradle_cmd $GRADLE_TASK" - if ! "$gradle_cmd" "$GRADLE_TASK" --quiet --no-daemon; then - error_exit "Failed to build AAR for ref: $ref" + # Build the fused AAR using the first available Gradle task + # Clean first to avoid cross-branch artifacts affecting selection + # Use aggressive cleaning to ensure no cached artifacts remain + log_verbose "Running: $gradle_cmd clean" + if [ "$VERBOSE" = true ]; then + "$gradle_cmd" clean --no-daemon || true + else + "$gradle_cmd" clean --quiet --no-daemon >/dev/null 2>&1 || true fi - # Find the AAR file - search in multiple possible locations - local aar_path="" - local possible_paths=( - "${AAR_OUTPUT_DIR}/${AAR_NAME}" - "build/outputs/aar/${AAR_NAME}" - "build/outputs/aar/*-release.aar" - "build/outputs/aar/*.aar" - ) - - # Also check relative to gradle root if different - if [ "$gradle_root" != "$PWD" ]; then - possible_paths+=( - "$gradle_root/${AAR_OUTPUT_DIR}/${AAR_NAME}" - "$gradle_root/build/outputs/aar/${AAR_NAME}" - "$gradle_root/build/outputs/aar/*-release.aar" - "$gradle_root/build/outputs/aar/*.aar" - ) - fi - - # Try to find the AAR file - for path_pattern in "${possible_paths[@]}"; do - # Handle glob patterns - if [[ "$path_pattern" == *"*"* ]]; then - # Use find to locate AAR files matching the pattern - local found_aar - found_aar=$(find . -path "$path_pattern" -type f 2>/dev/null | head -1) - if [ -n "$found_aar" ] && [ -f "$found_aar" ]; then - aar_path="$found_aar" + # Additional cleanup: remove build directories to ensure fresh build + log_verbose "Removing build directories for clean slate..." + rm -rf build/ */build/ .gradle/ */.gradle/ 2>/dev/null || true + local build_ok=false + local used_task="" + for task in "${GRADLE_TASK_CANDIDATES[@]}"; do + log_verbose "Running: $gradle_cmd $task" + if [ "$VERBOSE" = true ]; then + if "$gradle_cmd" "$task" --no-daemon; then + build_ok=true + used_task="$task" break fi else - if [ -f "$path_pattern" ]; then - aar_path="$path_pattern" + if "$gradle_cmd" "$task" --quiet --no-daemon > /dev/null 2>&1; then + build_ok=true + used_task="$task" break fi fi done + if [ "$build_ok" != true ]; then + error_exit "Failed to build AAR for ref: $ref (tried: ${GRADLE_TASK_CANDIDATES[*]})" + fi + log_verbose "Selected Gradle build task for ref '${ref}': $used_task" - # If still not found, try a broader search - if [ -z "$aar_path" ]; then - echo "Searching for AAR files in build directory..." - local found_aars - found_aars=$(find . -path "*/build/outputs/aar/*.aar" -type f 2>/dev/null) - if [ -n "$found_aars" ]; then - # Prefer release AAR if available - aar_path=$(echo "$found_aars" | grep -i release | head -1) - if [ -z "$aar_path" ]; then - # Otherwise take the first one found - aar_path=$(echo "$found_aars" | head -1) - fi - fi + # Find the AAR file - search in multiple possible locations + local aar_path="" + local possible_paths=() + # Add exact candidate names first (both relative and explicit) + for name in "${AAR_CANDIDATE_NAMES[@]}"; do + possible_paths+=("${AAR_OUTPUT_DIR}/${name}") + possible_paths+=("build/outputs/aar/${name}") + done + # Include fused plugin bundle directory + possible_paths+=("build/bundle/bundle.aar") + possible_paths+=("build/bundle/*.aar") + # Then pattern-based fallbacks (root only; try to avoid picking submodule AARs) + possible_paths+=("build/outputs/aar/android-client-*.aar") + possible_paths+=("build/outputs/aar/*-release.aar") + possible_paths+=("build/outputs/aar/*.aar") + + # Also check relative to gradle root if different + if [ "$gradle_root" != "$PWD" ]; then + for name in "${AAR_CANDIDATE_NAMES[@]}"; do + possible_paths+=("$gradle_root/${AAR_OUTPUT_DIR}/${name}") + possible_paths+=("$gradle_root/build/outputs/aar/${name}") + done + possible_paths+=("$gradle_root/build/bundle/bundle.aar") + possible_paths+=("$gradle_root/build/bundle/*.aar") + possible_paths+=("$gradle_root/build/outputs/aar/android-client-*.aar") + possible_paths+=("$gradle_root/build/outputs/aar/*-release.aar") + possible_paths+=("$gradle_root/build/outputs/aar/*.aar") fi + # Find the AAR file - priority-based selection across all locations + log_verbose "Searching for AAR files in build directory..." + local all_aars + all_aars=$(find . -type f -name "*.aar" 2>/dev/null | sort || true) + pick_first() { printf "%s\n" "$all_aars" | grep -E "$1" | head -1 || true; } + aar_path=$(pick_first "/build/outputs/aar/android-client\\.aar$") + [ -z "$aar_path" ] && aar_path=$(pick_first "/build/outputs/aar/android-client-release\\.aar$") + [ -z "$aar_path" ] && aar_path=$(pick_first "/build/outputs/aar/android-client-debug\\.aar$") + # Fused plugin bundle output + [ -z "$aar_path" ] && aar_path=$(pick_first "/build/bundle/bundle\\.aar$") + # Locally published fused artifact + [ -z "$aar_path" ] && aar_path=$(pick_first "/build/publishing/.*/android-client-[^/]+\\.aar$") + # Any remaining android-client*.aar anywhere + [ -z "$aar_path" ] && aar_path=$(pick_first "/android-client[^/]*\\.aar$") + # Fallback: any root build/outputs release AAR not from logger/main (handles older artifactIds like 'repo-release.aar') + [ -z "$aar_path" ] && aar_path=$(printf "%s\n" "$all_aars" | grep -E "/build/outputs/aar/[^/]*-release\\.aar$" | grep -Ev "/(logger|main)/" | head -1 || true) if [ -z "$aar_path" ] || [ ! -f "$aar_path" ]; then - echo -e "${YELLOW}Debug: Listing build outputs...${NC}" - find . -path "*/build/outputs/aar/*" -type f 2>/dev/null | head -10 || true - error_exit "AAR not found after build. Searched in: ${possible_paths[*]}" + echo -e "${YELLOW}Debug: Could not locate AAR. First 50 *.aar files found:${NC}" + echo "$all_aars" | head -50 || true + error_exit "AAR not found after build." fi - echo "Found AAR at: $aar_path" + log_verbose "Selected fused AAR artifact for ref '${ref}': $aar_path" # Copy AAR to temp location cp "$aar_path" "$output_aar" - echo -e "${GREEN}✓${NC} AAR built and copied: $(basename "$output_aar")" + + # Verify the AAR was copied and log its size and checksum + local aar_size + aar_size=$(stat -f%z "$output_aar" 2>/dev/null || stat -c%s "$output_aar" 2>/dev/null || echo "unknown") + local aar_sha="" + if command -v shasum >/dev/null 2>&1; then + aar_sha=$(shasum -a 256 "$output_aar" 2>/dev/null | awk '{print $1}') + elif command -v openssl >/dev/null 2>&1; then + aar_sha=$(openssl dgst -sha256 "$output_aar" 2>/dev/null | awk '{print $2}') + fi + log_verbose "✓ AAR built and copied for ref '${ref}': $(basename "$output_aar") (${aar_size} bytes${aar_sha:+, sha256: $aar_sha})" # Clean up temporary settings.gradle if we created one # (This is cleaned up here, but also safe if script fails - temp dir will be removed) @@ -511,10 +702,6 @@ build_aar() { # Main execution main() { - echo -e "${GREEN}API Diff Tool${NC}" - echo "==============" - echo "" - # Parse arguments parse_args "$@" @@ -525,24 +712,51 @@ main() { local original_dir="$PWD" setup_diffuse - # Clone repository to temporary directory - clone_repo + # Clone repository twice - once for each branch to ensure complete isolation + # This prevents any build cache or Gradle state from affecting the comparison + clone_repo "$SOURCE_CLONE_DIR" "source" + clone_repo "$TARGET_CLONE_DIR" "target" # Build source branch AAR first (newer version) # This ensures we build the newer version first, which may have more dependencies - build_aar "$SOURCE_BRANCH" "$SOURCE_AAR" - - # Build target branch AAR second (older version) - build_aar "$TARGET_BRANCH" "$TARGET_AAR" + build_aar "$SOURCE_CLONE_DIR" "$SOURCE_BRANCH" "$SOURCE_AAR" + + # Build target branch AAR second (older version) in separate clone directory + build_aar "$TARGET_CLONE_DIR" "$TARGET_BRANCH" "$TARGET_AAR" + + # Summarize what will be compared (paths, sizes, hashes) to ensure distinct artifacts + # Only show in verbose mode + if [ "$VERBOSE" = true ]; then + summarize_aar() { + local label="$1" + local file="$2" + local size + size=$(stat -f%z "$file" 2>/dev/null || stat -c%s "$file" 2>/dev/null || wc -c < "$file" 2>/dev/null || echo "unknown") + local sha="" + if command -v shasum >/dev/null 2>&1; then + sha=$(shasum -a 256 "$file" 2>/dev/null | awk '{print $1}') + elif command -v openssl >/dev/null 2>&1; then + sha=$(openssl dgst -sha256 "$file" 2>/dev/null | awk '{print $2}') + fi + echo -e "${BLUE}${label}: ${NC}$file (${size} bytes${sha:+, sha256: $sha})" + } + summarize_aar "OLD (target)" "$TARGET_AAR" + summarize_aar "NEW (source)" "$SOURCE_AAR" + fi # Run Diffuse comparison # Note: Diffuse shows OLD -> NEW, so we pass target (old) first, then source (new) # We can run from any directory since we use absolute paths + set +e # Temporarily disable exit on error + set +o pipefail run_diffuse "$TARGET_AAR" "$SOURCE_AAR" + local run_exit=$? + set -e # Re-enable exit on error + set -o pipefail - echo -e "\n${GREEN}✓${NC} API comparison completed successfully" + # Return success (run_diffuse returns 0 on success) + return 0 } # Run main function main "$@" - diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 000000000..0f38584f2 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,4 @@ +rootProject.name = 'android-client' + +include ':logger' +include ':main'