Skip to content

Commit

Permalink
Merge pull request #107 from TimerTiTi/70-release-1.0.0
Browse files Browse the repository at this point in the history
release 1.0.0
  • Loading branch information
koreatlwls authored Mar 24, 2024
2 parents afb90dd + c65d36a commit c4dc848
Show file tree
Hide file tree
Showing 393 changed files with 17,278 additions and 0 deletions.
6 changes: 6 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[{*.kt,*.kts}]
ktlint_code_style = android_studio
ij_kotlin_allow_trailing_comma=true
ij_kotlin_allow_trailing_comma_on_call_site=true
ktlint_function_naming_ignore_when_annotated_with=Composable, Test
ktlint_standard_annotation = disabled
46 changes: 46 additions & 0 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Android CI

on:
push:
tags:
- '**'

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
cache: gradle

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Ktlint
run: ./gradlew ktlintCheck

- name: Create google-services
run: |
echo '${{ secrets.GOOGLE_SERVICES_JSON }}' > ./app/google-services.json
- name: BuildDev with Gradle
run: ./gradlew buildDev

- name: Build Debug APK
id: buildDebug
run: ./gradlew assembleDev

- name: Upload APK to Firebase App Distribution
uses: wzieba/Firebase-Distribution-Github-Action@v1
with:
appId: ${{secrets.FIREBASE_APP_ID_DEV}}
serviceCredentialsFileContent: ${{secrets.CREDENTIAL_FILE_CONTENT}}
groups: develop
file: app/build/outputs/apk/dev/app-dev.apk
releaseNotesFile: ./release-note.txt
200 changes: 200 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
# Created by https://www.toptal.com/developers/gitignore/api/android,androidstudio,macos
# Edit at https://www.toptal.com/developers/gitignore?templates=android,androidstudio,macos

### Android ###
# Gradle files
.gradle/
build/

# Local configuration file (sdk path, etc)
local.properties

# Log/OS Files
*.log

# Android Studio generated files and folders
captures/
.externalNativeBuild/
.cxx/
*.apk
output.json

# IntelliJ
*.iml
.idea/
misc.xml
deploymentTargetDropDown.xml
render.experimental.xml

# Keystore files
*.jks
*.keystore

# Google Services (e.g. APIs or Firebase)
google-services.json

# Android Profiling
*.hprof

### Android Patch ###
gen-external-apklibs

# Replacement of .externalNativeBuild directories introduced
# with Android Studio 3.5.

### macOS ###
# General
.DS_Store
.AppleDouble
.LSOverride

# Icon must end with two \r
Icon


# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

### macOS Patch ###
# iCloud generated files
*.icloud

### AndroidStudio ###
# Covers files to be ignored for android development using Android Studio.

# Built application files
*.ap_
*.aab

# Files for the ART/Dalvik VM
*.dex

# Java class files
*.class

# Generated files
bin/
gen/
out/

# Gradle files
.gradle

# Signing files
.signing/

# Local configuration file (sdk path, etc)

# Proguard folder generated by Eclipse
proguard/

# Log Files

# Android Studio
/*/build/
/*/local.properties
/*/out
/*/*/build
/*/*/production
.navigation/
*.ipr
*~
*.swp

# Keystore files

# Google Services (e.g. APIs or Firebase)
# google-services.json

# Android Patch

# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild

# NDK
obj/

# IntelliJ IDEA
*.iws
/out/

# User-specific configurations
.idea/caches/
.idea/libraries/
.idea/shelf/
.idea/workspace.xml
.idea/tasks.xml
.idea/.name
.idea/compiler.xml
.idea/copyright/profiles_settings.xml
.idea/encodings.xml
.idea/misc.xml
.idea/modules.xml
.idea/scopes/scope_settings.xml
.idea/dictionaries
.idea/vcs.xml
.idea/jsLibraryMappings.xml
.idea/datasources.xml
.idea/dataSources.ids
.idea/sqlDataSources.xml
.idea/dynamic.xml
.idea/uiDesigner.xml
.idea/assetWizardSettings.xml
.idea/gradle.xml
.idea/jarRepositories.xml
.idea/navEditor.xml

# Legacy Eclipse project files
.classpath
.project
.cproject
.settings/

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.war
*.ear

# virtual machine crash logs (Reference: http://www.java.com/en/download/help/error_hotspot.xml)
hs_err_pid*

## Plugin-specific files:

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Mongo Explorer plugin
.idea/mongoSettings.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

### AndroidStudio Patch ###

!/gradle/wrapper/gradle-wrapper.jar

# End of https://www.toptal.com/developers/gitignore/api/android,androidstudio,macos
1 change: 1 addition & 0 deletions app/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/build
82 changes: 82 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
import com.titi.common.AppConfig
import com.titi.common.BuildType

plugins {
id("titi.android.application")
alias(libs.plugins.googleServices)
alias(libs.plugins.firebaseCrashlytics)
}

android {
namespace = "com.titi.app"

defaultConfig {
applicationId = AppConfig.APP_ID

targetSdk = libs.versions.targetSdk.get().toInt()

versionCode = AppConfig.APP_VERSION_CODE
versionName = AppConfig.APP_VERSION_NAME
}

buildTypes {
getByName(BuildType.DEBUG) {
isMinifyEnabled = false
isDebuggable = true
manifestPlaceholders["enableCrashReporting"] = false
}
getByName(BuildType.INHOUSE) {
isMinifyEnabled = true
isDebuggable = true
isShrinkResources = true
manifestPlaceholders["appName"] = "${AppConfig.APP_NAME} - ${BuildType.INHOUSE}"
manifestPlaceholders["enableCrashReporting"] = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro",
)
}
getByName(BuildType.RELEASE) {
isMinifyEnabled = true
isDebuggable = false
isShrinkResources = false
manifestPlaceholders["appName"] = AppConfig.APP_NAME
manifestPlaceholders["enableCrashReporting"] = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro",
)
}
getByName(BuildType.DEV) {
initWith(getByName("debug"))
manifestPlaceholders["appName"] = "${AppConfig.APP_NAME} - ${BuildType.DEV}"
applicationIdSuffix = ".${BuildType.DEV}"
versionNameSuffix = "-${BuildType.DEV}"
applicationIdSuffix = ".${BuildType.DEV}"
}
}
packaging {
resources {
excludes += "/META-INF/{AL2.0,LGPL2.1}"
}
}
}

dependencies {
implementation(project(":feature:main"))

implementation(project(":data:time:impl"))
implementation(project(":data:task:impl"))
implementation(project(":data:color:impl"))
implementation(project(":data:daily:impl"))
implementation(project(":data:sleep:impl"))
implementation(project(":data:alarm:impl"))
implementation(project(":data:graph:impl"))

implementation(platform(libs.firebase.bom))
implementation(libs.firebase.analytics)
implementation(libs.firebase.crashlytics)

implementation(libs.bundles.mavericks)
implementation(libs.threetenabp)
}
Loading

0 comments on commit c4dc848

Please sign in to comment.