Skip to content

Commit

Permalink
Add a new Module for the Liquidity Pool project(s)
Browse files Browse the repository at this point in the history
Currently, there are gitkeep files for putting in the right directories
and the directory structure is a direct copy paste from the musicdao
project.

This is a simple starting point for further development.
  • Loading branch information
Chris Lemaire committed Feb 18, 2021
1 parent a4231ec commit fae9e68
Show file tree
Hide file tree
Showing 9 changed files with 133 additions and 0 deletions.
1 change: 1 addition & 0 deletions liquidity-pool/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/build
106 changes: 106 additions & 0 deletions liquidity-pool/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
apply plugin: "com.android.library"
apply plugin: "kotlin-android"
apply plugin: "kotlin-android-extensions"
apply plugin: "org.jlleitschuh.gradle.ktlint"
apply plugin: "androidx.navigation.safeargs.kotlin"
apply plugin: "kotlinx-serialization"

android {
compileSdkVersion 29
buildToolsVersion "29.0.3"

useLibrary "android.test.base"
useLibrary "android.test.mock"

viewBinding {
enabled = true
}

defaultConfig {
minSdkVersion 22
targetSdkVersion 29
versionCode 1
versionName "1.0"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
}

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro"
}
}

// To inline the bytecode built with JVM target 1.8 into
// bytecode that is being built with JVM target 1.6. (e.g. navArgs)

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
allWarningsAsErrors = true
}

testOptions {
unitTests.returnDefaultValues = true
}

packagingOptions {
exclude "META-INF/DEPENDENCIES"
exclude "META-INF/LICENSE"
exclude "META-INF/LICENSE.txt"
exclude "META-INF/license.txt"
exclude "META-INF/NOTICE"
exclude "META-INF/NOTICE.txt"
exclude "META-INF/notice.txt"
exclude "META-INF/ASL2.0"
exclude("META-INF/*.kotlin_module")
}
}

dependencies {
implementation project(":common")
implementation project(":ipv8-android")

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"

// Android Libraries
implementation "androidx.appcompat:appcompat:1.2.0"
implementation "androidx.preference:preference:1.1.1"
implementation "androidx.core:core-ktx:1.3.1"
implementation "androidx.legacy:legacy-support-v4:1.0.0"

// Layout libraries
implementation "com.google.android.material:material:1.2.0"
implementation "androidx.constraintlayout:constraintlayout:2.0.0"

implementation "androidx.navigation:navigation-fragment-ktx:2.3.0"
implementation "androidx.navigation:navigation-ui-ktx:2.3.0"

implementation "com.google.android:flexbox:2.0.1"

implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.14.0"

// Testing
testImplementation "junit:junit:4.12"
testImplementation "io.mockk:mockk:1.9.3"
testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:1.3.3"

androidTestImplementation "androidx.test.ext:junit:1.1.1"
androidTestImplementation "androidx.test.espresso:espresso-core:3.2.0"
}

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
kotlinOptions.freeCompilerArgs += [
"-Xuse-experimental=kotlin.Experimental,kotlin.ExperimentalUnsignedTypes",
"-Werror" // Set Kotlin compiler warnings as errors
]
}

tasks.withType(Test) {
systemProperty "java.library.path", "./src/main/jniLibs"
}
Empty file.
21 changes: 21 additions & 0 deletions liquidity-pool/proguard-rules.pro
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
Empty file.
3 changes: 3 additions & 0 deletions liquidity-pool/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="nl.tudelft.trustchain.liquidity">
</manifest>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package nl.tudelft.trustchain.liquidity
Empty file.
1 change: 1 addition & 0 deletions settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,4 @@ include ':trustchain-voter'
include ':musicdao'
include ':peerchat'
include ':eurotoken'
include ':liquidity-pool'

0 comments on commit fae9e68

Please sign in to comment.