Browse Source

feat: add lint configuration

main
Distopico Vegan 5 years ago
parent
commit
16b03af853
4 changed files with 39 additions and 42 deletions
  1. +33
    -37
      app/build.gradle
  2. +1
    -3
      app/src/main/java/org/dystopia/email/DaoMessage.java
  3. +1
    -1
      app/src/main/java/org/dystopia/email/Helper.java
  4. +4
    -1
      build.gradle

+ 33
- 37
app/build.gradle View File

@ -10,6 +10,7 @@ android {
versionName "1.0" versionName "1.0"
archivesBaseName = "SimpleEmail-v$versionName" archivesBaseName = "SimpleEmail-v$versionName"
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
javaCompileOptions { javaCompileOptions {
annotationProcessorOptions { annotationProcessorOptions {
arguments = ["room.schemaLocation": "$projectDir/schemas".toString()] arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
@ -17,25 +18,32 @@ android {
} }
} }
lintOptions {
disable 'MissingTranslation'
}
buildTypes { buildTypes {
release {
debuggable = false
minifyEnabled = true
useProguard = true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug { debug {
debuggable = true debuggable = true
minifyEnabled !rootProject.ext.ci
useProguard = true
}
release {
debuggable = false
minifyEnabled = true minifyEnabled = true
useProguard = true useProguard = true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
shrinkResources true
} }
} }
lintOptions {
xmlReport false
htmlReport true
textReport true
lintConfig file("${rootProject.getRootDir()}/lint.xml")
warningsAsErrors true
abortOnError false
explainIssues true
absolutePaths false
}
packagingOptions { packagingOptions {
pickFirst 'META-INF/LICENSE.txt' pickFirst 'META-INF/LICENSE.txt'
} }
@ -52,63 +60,51 @@ repositories {
dependencies { dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar']) implementation fileTree(dir: 'libs', include: ['*.jar'])
// https://mvnrepository.com/artifact/androidx.appcompat/appcompat
// https://mvnrepository.com/artifact/androidx.recyclerview/recyclerview
// https://mvnrepository.com/artifact/com.google.android.material/material
// https://mvnrepository.com/artifact/androidx.browser/browser
// https://mvnrepository.com/artifact/androidx.constraintlayout/constraintlayout
// https://mvnrepository.com/artifact/androidx.lifecycle/lifecycle-runtime
// https://mvnrepository.com/artifact/androidx.room/room-runtime
// https://mvnrepository.com/artifact/androidx.paging/paging-runtime
// https://developer.android.com/google/play/billing/billing_library_releases_notes
// https://javaee.github.io/javamail/
// https://jsoup.org/
// http://www.freeutils.net/source/jcharset/
// https://developer.android.com/topic/libraries/support-library/androidx-rn
// https://developer.android.com/topic/libraries/support-library/refactor
// https://developer.android.com/topic/libraries/architecture/adding-components.html
// https://developer.android.com/jetpack/docs/release-notes
def androidx_version = "1.0.0" def androidx_version = "1.0.0"
def constraintlayout_version = "1.1.3" def constraintlayout_version = "1.1.3"
def lifecycle_version = "2.0.0" def lifecycle_version = "2.0.0"
def room_version = "2.0.0" def room_version = "2.0.0"
def paging_version = "2.0.0" def paging_version = "2.0.0"
def billingclient_version = "1.1"
def javamail_version = "1.6.2" def javamail_version = "1.6.2"
def jsoup_version = "1.11.3" def jsoup_version = "1.11.3"
def jcharset_version = "2.0" def jcharset_version = "2.0"
def dnsjava_version = "2.1.8" def dnsjava_version = "2.1.8"
def openpgp_version = "12.0" def openpgp_version = "12.0"
// https://mvnrepository.com/artifact/androidx.appcompat/appcompat
implementation "androidx.appcompat:appcompat:$androidx_version" implementation "androidx.appcompat:appcompat:$androidx_version"
// https://mvnrepository.com/artifact/androidx.annotation/annotation
implementation "androidx.annotation:annotation:$androidx_version"
// https://mvnrepository.com/artifact/androidx.recyclerview/recyclerview
implementation "androidx.recyclerview:recyclerview:$androidx_version" implementation "androidx.recyclerview:recyclerview:$androidx_version"
implementation "androidx.recyclerview:recyclerview-selection:$androidx_version" implementation "androidx.recyclerview:recyclerview-selection:$androidx_version"
// https://mvnrepository.com/artifact/androidx.constraintlayout/constraintlayout
implementation "androidx.coordinatorlayout:coordinatorlayout:$androidx_version" implementation "androidx.coordinatorlayout:coordinatorlayout:$androidx_version"
implementation "androidx.constraintlayout:constraintlayout:$constraintlayout_version" implementation "androidx.constraintlayout:constraintlayout:$constraintlayout_version"
// https://mvnrepository.com/artifact/com.google.android.material/material
implementation "com.google.android.material:material:$androidx_version" implementation "com.google.android.material:material:$androidx_version"
// https://mvnrepository.com/artifact/androidx.browser/browser
implementation "androidx.browser:browser:$androidx_version" implementation "androidx.browser:browser:$androidx_version"
// https://mvnrepository.com/artifact/androidx.lifecycle/lifecycle-runtime
implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version" implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
annotationProcessor "androidx.lifecycle:lifecycle-compiler:$lifecycle_version" annotationProcessor "androidx.lifecycle:lifecycle-compiler:$lifecycle_version"
// https://mvnrepository.com/artifact/androidx.room/room-runtime
implementation "androidx.room:room-runtime:$room_version" implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version" annotationProcessor "androidx.room:room-compiler:$room_version"
// https://mvnrepository.com/artifact/androidx.paging/paging-runtime
implementation "androidx.paging:paging-runtime:$paging_version" implementation "androidx.paging:paging-runtime:$paging_version"
implementation "com.android.billingclient:billing:$billingclient_version"
// https://javaee.github.io/javamail/
implementation "com.sun.mail:android-mail:$javamail_version" implementation "com.sun.mail:android-mail:$javamail_version"
implementation "com.sun.mail:android-activation:$javamail_version" implementation "com.sun.mail:android-activation:$javamail_version"
// https://jsoup.org/
implementation "org.jsoup:jsoup:$jsoup_version" implementation "org.jsoup:jsoup:$jsoup_version"
// http://www.freeutils.net/source/jcharset/
implementation "net.freeutils:jcharset:$jcharset_version" implementation "net.freeutils:jcharset:$jcharset_version"
// http://www.xbill.org/dnsjava/ // http://www.xbill.org/dnsjava/
@ -117,6 +113,6 @@ dependencies {
// https://github.com/open-keychain/openpgp-api // https://github.com/open-keychain/openpgp-api
implementation "org.sufficientlysecure:openpgp-api:$openpgp_version" implementation "org.sufficientlysecure:openpgp-api:$openpgp_version"
// git clone https://android.googlesource.com/platform/frameworks/opt/colorpicker
// https://android.googlesource.com/platform/frameworks/opt/colorpicker
implementation project(path: ':colorpicker') implementation project(path: ':colorpicker')
} }

+ 1
- 3
app/src/main/java/org/dystopia/email/DaoMessage.java View File

@ -48,7 +48,6 @@ public interface DaoMessage {
" AND NOT folder.type = '" + EntityFolder.OUTBOX + "'" + " AND NOT folder.type = '" + EntityFolder.OUTBOX + "'" +
" AND NOT folder.type = '" + EntityFolder.DRAFTS + "' THEN 0 ELSE 1 END) AS unflagged" + " AND NOT folder.type = '" + EntityFolder.DRAFTS + "' THEN 0 ELSE 1 END) AS unflagged" +
", (SELECT COUNT(a.id) FROM attachment a WHERE a.message = message.id) AS attachments" + ", (SELECT COUNT(a.id) FROM attachment a WHERE a.message = message.id) AS attachments" +
", MAX(CASE WHEN folder.unified THEN message.id ELSE 0 END) AS dummy" +
" FROM message" + " FROM message" +
" JOIN account ON account.id = message.account" + " JOIN account ON account.id = message.account" +
" JOIN folder ON folder.id = message.folder" + " JOIN folder ON folder.id = message.folder" +
@ -77,7 +76,6 @@ public interface DaoMessage {
" AND NOT (folder.id <> :folder AND folder.type = '" + EntityFolder.OUTBOX + "')" + " AND NOT (folder.id <> :folder AND folder.type = '" + EntityFolder.OUTBOX + "')" +
" AND NOT (folder.id <> :folder AND folder.type = '" + EntityFolder.DRAFTS + "') THEN 0 ELSE 1 END) AS unflagged" + " AND NOT (folder.id <> :folder AND folder.type = '" + EntityFolder.DRAFTS + "') THEN 0 ELSE 1 END) AS unflagged" +
", (SELECT COUNT(a.id) FROM attachment a WHERE a.message = message.id) AS attachments" + ", (SELECT COUNT(a.id) FROM attachment a WHERE a.message = message.id) AS attachments" +
", MAX(CASE WHEN folder.id = :folder THEN message.id ELSE 0 END) AS dummy" +
" FROM message" + " FROM message" +
" JOIN account ON account.id = message.account" + " JOIN account ON account.id = message.account" +
" JOIN folder ON folder.id = message.folder" + " JOIN folder ON folder.id = message.folder" +
@ -250,4 +248,4 @@ public interface DaoMessage {
@Query("DELETE FROM message WHERE ui_found") @Query("DELETE FROM message WHERE ui_found")
int deleteFoundMessages(); int deleteFoundMessages();
}
}

+ 1
- 1
app/src/main/java/org/dystopia/email/Helper.java View File

@ -27,7 +27,6 @@ import android.content.pm.PackageInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.content.res.TypedArray; import android.content.res.TypedArray;
import android.net.Uri; import android.net.Uri;
import android.support.annotation.NonNull;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.view.Menu; import android.view.Menu;
@ -60,6 +59,7 @@ import javax.mail.AuthenticationFailedException;
import javax.mail.MessagingException; import javax.mail.MessagingException;
import javax.mail.internet.InternetAddress; import javax.mail.internet.InternetAddress;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AlertDialog;
import androidx.browser.customtabs.CustomTabsIntent; import androidx.browser.customtabs.CustomTabsIntent;


+ 4
- 1
build.gradle View File

@ -1,5 +1,4 @@
buildscript { buildscript {
repositories { repositories {
google() google()
jcenter() jcenter()
@ -16,6 +15,10 @@ allprojects {
} }
} }
ext {
ci = project.hasProperty("ci")
}
task clean(type: Delete) { task clean(type: Delete) {
delete rootProject.buildDir delete rootProject.buildDir
} }

Loading…
Cancel
Save