diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index abb1aeb0b61ba41bb44548f9ca4428b3696acfd7..374999493e4e88077005284f4089ccc06f47b24b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -image: briar/ci-image-android:latest +image: briar/ci-image-android:buster # revert to latest when on buster stages: - test diff --git a/.run/mailbox [ktlintCheck].run.xml b/.run/mailbox [ktlintCheck].run.xml new file mode 100644 index 0000000000000000000000000000000000000000..1725b2bdeed7cbdec1d2499879d966825b67d573 --- /dev/null +++ b/.run/mailbox [ktlintCheck].run.xml @@ -0,0 +1,21 @@ +<component name="ProjectRunConfigurationManager"> + <configuration default="false" name="mailbox [ktlintCheck]" type="GradleRunConfiguration" factoryName="Gradle"> + <ExternalSystemSettings> + <option name="executionName" /> + <option name="externalProjectPath" value="$PROJECT_DIR$" /> + <option name="externalSystemIdString" value="GRADLE" /> + <option name="scriptParameters" value="" /> + <option name="taskDescriptions"> + <list /> + </option> + <option name="taskNames"> + <list> + <option value="ktlintCheck" /> + </list> + </option> + <option name="vmOptions" value="" /> + </ExternalSystemSettings> + <GradleScriptDebugEnabled>true</GradleScriptDebugEnabled> + <method v="2" /> + </configuration> +</component> \ No newline at end of file diff --git a/build.gradle b/build.gradle index 36a5303eacecfca75732749c28050905b858f079..dd593196c4c1636d3f68bec6bdf809ea7979fd89 100644 --- a/build.gradle +++ b/build.gradle @@ -1,12 +1,14 @@ buildscript { - ext.kotlin_version = "1.5.21" - ext.hilt_version = "2.37" + ext.kotlin_version = '1.5.21' + ext.hilt_version = '2.37' + ext.junit_version = '5.7.2' + ext.mockk_version = '1.10.4' repositories { google() mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:4.2.2' + classpath 'com.android.tools.build:gradle:7.0.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8cd9e2f5a574639238650f36fc46ce73a2060a04..d2a906e4bd8387ec153f439f98233c1a1b66b174 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,5 +3,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip -distributionSha256Sum=22449f5231796abd892c98b2a07c9ceebe4688d192cd2d6763f8e3bf8acbedeb +distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip +distributionSha256Sum=13bf8d3cf8eeeb5770d19741a59bde9bd966dd78d17f1bbad787a05ef19d1c2d diff --git a/mailbox-android/build.gradle b/mailbox-android/build.gradle index a90a9f1c4351082f719b6578c7decf5eb64bb035..ca37ef77ee00e0df0f576a3c135870bbacec7c88 100644 --- a/mailbox-android/build.gradle +++ b/mailbox-android/build.gradle @@ -47,7 +47,7 @@ dependencies { implementation project(path: ':mailbox-core', configuration: 'default') implementation 'androidx.appcompat:appcompat:1.3.1' - implementation "androidx.activity:activity-ktx:1.3.0" + implementation "androidx.activity:activity-ktx:1.3.1" implementation "androidx.fragment:fragment-ktx:1.3.6" def lifecycle_version = "2.3.1" @@ -66,11 +66,6 @@ dependencies { def multidex_version = "2.0.1" implementation "androidx.multidex:multidex:$multidex_version" - def ktorVersion = '1.6.2' - implementation "io.ktor:ktor-server-core:$ktorVersion" - implementation "io.ktor:ktor-server-netty:$ktorVersion" - implementation "ch.qos.logback:logback-classic:1.2.5" - testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.3' diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/MailboxService.kt b/mailbox-android/src/main/java/org/briarproject/mailbox/android/MailboxService.kt index 6c9505fcebdbac9ccb6a1f6a868e2afb6288d95f..b3b91e01d637509f8eb17ff267eca064b286ebed 100644 --- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/MailboxService.kt +++ b/mailbox-android/src/main/java/org/briarproject/mailbox/android/MailboxService.kt @@ -7,7 +7,7 @@ import android.os.IBinder import androidx.core.content.ContextCompat import dagger.hilt.android.AndroidEntryPoint import org.briarproject.mailbox.android.MailboxNotificationManager.Companion.NOTIFICATION_MAIN_ID -import org.briarproject.mailbox.server.WebServerManager +import org.briarproject.mailbox.core.server.WebServerManager import javax.inject.Inject @AndroidEntryPoint @@ -27,6 +27,7 @@ class MailboxService : Service() { @Inject internal lateinit var notificationManager: MailboxNotificationManager + @Inject internal lateinit var webServerManager: WebServerManager diff --git a/mailbox-cli/build.gradle b/mailbox-cli/build.gradle index fac4db807ab8ed944265f77dcd37998eb769c9d7..6cd010ccc834b4a78db83cdd56aa04bf12d6b2e3 100644 --- a/mailbox-cli/build.gradle +++ b/mailbox-cli/build.gradle @@ -1,9 +1,3 @@ -import java.util.jar.JarEntry -import java.util.jar.JarFile -import java.util.jar.JarOutputStream - -import static java.util.Collections.list - plugins { id 'application' id 'idea' @@ -20,11 +14,10 @@ dependencies { implementation 'org.slf4j:slf4j-simple:1.7.30' implementation 'com.github.ajalt:clikt:2.2.0' - def junitVersion = '5.5.2' - testImplementation "org.junit.jupiter:junit-jupiter-api:$junitVersion" - testImplementation "org.junit.jupiter:junit-jupiter-params:$junitVersion" - testRuntime "org.junit.jupiter:junit-jupiter-engine:$junitVersion" - testImplementation 'io.mockk:mockk:1.10.4' + testImplementation "org.junit.jupiter:junit-jupiter-api:$junit_version" + testImplementation "org.junit.jupiter:junit-jupiter-params:$junit_version" + testImplementation "org.junit.jupiter:junit-jupiter-engine:$junit_version" + testImplementation "io.mockk:mockk:$mockk_version" } application { diff --git a/mailbox-core/build.gradle b/mailbox-core/build.gradle index c9959b80e7a3e8ac41b9fbd4e8c20e6e7b33e1f8..b61ec076352d3231c5794d2b3cbbba2c1ec15d46 100644 --- a/mailbox-core/build.gradle +++ b/mailbox-core/build.gradle @@ -11,11 +11,18 @@ targetCompatibility = 1.8 dependencies { api "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" - def junitVersion = '5.5.2' - testImplementation "org.junit.jupiter:junit-jupiter-api:$junitVersion" - testImplementation "org.junit.jupiter:junit-jupiter-params:$junitVersion" - testRuntime "org.junit.jupiter:junit-jupiter-engine:$junitVersion" - testImplementation 'io.mockk:mockk:1.10.4' + implementation "com.google.dagger:dagger:$hilt_version" + kapt "com.google.dagger:dagger-compiler:$hilt_version" + + def ktorVersion = '1.6.2' + implementation "io.ktor:ktor-server-core:$ktorVersion" + implementation "io.ktor:ktor-server-netty:$ktorVersion" + implementation "ch.qos.logback:logback-classic:1.2.5" + + testImplementation "org.junit.jupiter:junit-jupiter-api:$junit_version" + testImplementation "org.junit.jupiter:junit-jupiter-params:$junit_version" + testImplementation "org.junit.jupiter:junit-jupiter-engine:$junit_version" + testImplementation "io.mockk:mockk:$mockk_version" } test { diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/server/Routing.kt b/mailbox-core/src/main/java/org/briarproject/mailbox/core/server/Routing.kt similarity index 65% rename from mailbox-android/src/main/java/org/briarproject/mailbox/android/server/Routing.kt rename to mailbox-core/src/main/java/org/briarproject/mailbox/core/server/Routing.kt index 0225cdc73862036e637aa15493651f301c3e814a..f4c9829b087188893e7eba301f99a1ef89e3b441 100644 --- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/server/Routing.kt +++ b/mailbox-core/src/main/java/org/briarproject/mailbox/core/server/Routing.kt @@ -1,6 +1,5 @@ -package org.briarproject.mailbox.server +package org.briarproject.mailbox.core.server -import android.os.Build import io.ktor.application.Application import io.ktor.application.call import io.ktor.http.ContentType @@ -10,6 +9,6 @@ import io.ktor.routing.routing internal fun Application.configureRouting() = routing { get("/") { - call.respondText("All good here in ${Build.MODEL}", ContentType.Text.Plain) + call.respondText("Hello world!", ContentType.Text.Plain) } } diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/server/WebServerManager.kt b/mailbox-core/src/main/java/org/briarproject/mailbox/core/server/WebServerManager.kt similarity index 80% rename from mailbox-android/src/main/java/org/briarproject/mailbox/android/server/WebServerManager.kt rename to mailbox-core/src/main/java/org/briarproject/mailbox/core/server/WebServerManager.kt index 13c5afc2c3c96cf1e8b8c5eb11986a944e78407b..3466ed1ca2db1dd9e0c0d47a6c13482ea01e1629 100644 --- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/server/WebServerManager.kt +++ b/mailbox-core/src/main/java/org/briarproject/mailbox/core/server/WebServerManager.kt @@ -1,7 +1,5 @@ -package org.briarproject.mailbox.server +package org.briarproject.mailbox.core.server -import android.content.Context -import dagger.hilt.android.qualifiers.ApplicationContext import io.ktor.application.install import io.ktor.features.CallLogging import io.ktor.server.engine.embeddedServer @@ -14,9 +12,7 @@ import javax.inject.Inject import javax.inject.Singleton @Singleton -internal class WebServerManager @Inject constructor( - @ApplicationContext private val ctx: Context, -) { +class WebServerManager @Inject constructor() { internal companion object { private const val PORT = 8888