Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
34ad415
Merge pull request #10 from k4biri/develop
superus8r May 8, 2020
73c44d3
Update .gitignore
superus8r Jan 24, 2021
abeb0f5
Update .gitignore
superus8r Jan 24, 2021
71dd92e
Update .gitignore
superus8r Jan 24, 2021
86c7ee3
Update .gitignore
superus8r Jan 24, 2021
c014291
update dependencies and gradle version
superus8r Jan 24, 2021
825b8ea
Update .gitignore
superus8r Jan 24, 2021
398249c
Update .gitignore
superus8r Jan 24, 2021
667de83
added a new step to hopefully run the ui tests on macOS
superus8r Jan 24, 2021
cefedcb
for testing: run actions on every push regardless of the branch
superus8r Jan 24, 2021
e5ffa8a
hopefully run actions on every push
superus8r Jan 24, 2021
84ded40
temporarily ignore sentry
superus8r Jan 24, 2021
11adb49
Update gradle-wrapper.properties
superus8r Jan 24, 2021
8487e5a
added google truth for simple assertions
superus8r Jan 24, 2021
630e1c1
sentry needs empty dsn string to be disabled
superus8r Jan 24, 2021
d2498f0
update koin version
superus8r Jan 24, 2021
d7f9d97
Create OutputTextTest.kt
superus8r Jan 24, 2021
ac104d2
added instrumented testing libraries
superus8r Jan 24, 2021
16b8902
removed the example test files
superus8r Jan 24, 2021
8b79840
added a basic instrumented test to check the main views are displayed
superus8r Jan 24, 2021
2de7272
upgrade target sdk version to 30
superus8r Jan 24, 2021
8d29558
Update android.yml
superus8r Jan 24, 2021
3308a13
set compile sdk version to 30
superus8r Jan 24, 2021
d6d5959
activate view binding in the project
superus8r Jan 24, 2021
7ed4634
use viewbinding to access view items
superus8r Jan 24, 2021
4021e98
added fastlane to project to automate future distributions
superus8r Jan 24, 2021
7432651
running unit tests using fastlane; running gradlelint; upload artifac…
superus8r Jan 24, 2021
700432d
hopefully fix the config file
superus8r Jan 24, 2021
6c562ac
Update android.yml
superus8r Jan 24, 2021
2c9ad45
hopefully fixed fastlane config to run android unit tests
superus8r Jan 24, 2021
893ba0f
removed the extra step from unit-tests
superus8r Jan 24, 2021
240dfd6
fix the lint results path
superus8r Jan 24, 2021
4ff3365
add the CI badge
superus8r Jan 24, 2021
c70d03d
Update .gitignore
superus8r Jan 24, 2021
1c4cb37
Update README.md
superus8r Jan 24, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 42 additions & 9 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,54 @@
name: Android CI

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
on: [push]

jobs:
build:

unit-test:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: set up Ruby to install fastlane
uses: actions/setup-ruby@v1
with:
ruby-version: '2.7'
- name: set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Build with Gradle
run: ./gradlew build
- name: setup fastlane
run: bundle install
- name: run unit tests
run: bundle exec fastlane android run_unit_tests
- name: Unit tests results
uses: actions/upload-artifact@v1
with:
name: unit-test-results
path: app/build/reports/tests/testDebugUnitTest/index.html

lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Lint
run: bash ./gradlew lint --stacktrace
- name: Lint results
uses: actions/upload-artifact@v1
with:
name: app
path: app/build/reports/lint-results.html

ui-test:
runs-on: macOS-latest
steps:
- name: checkout
uses: actions/checkout@v2
- name: run tests
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: 29
script: ./gradlew connectedCheck
13 changes: 13 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -82,3 +82,16 @@ lint/outputs/
lint/tmp/
# lint/reports/
app/src/main/res/values/api_keys.xml
.idea/compiler.xml
.idea/compiler.xml
.idea/compiler.xml
.idea/jarRepositories.xml
.idea/misc.xml
app/build.gradle
.idea/misc.xml
.idea/misc.xml
.idea/misc.xml
.idea/misc.xml
.idea/misc.xml
.idea/.name
.idea/codeStyles/Project.xml
3 changes: 3 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
source "https://rubygems.org"

gem "fastlane"
184 changes: 184 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,184 @@
GEM
remote: https://rubygems.org/
specs:
CFPropertyList (3.0.3)
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
artifactory (3.0.15)
atomos (0.1.3)
aws-eventstream (1.1.0)
aws-partitions (1.416.0)
aws-sdk-core (3.111.0)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.239.0)
aws-sigv4 (~> 1.1)
jmespath (~> 1.0)
aws-sdk-kms (1.41.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.87.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.1)
aws-sigv4 (1.2.2)
aws-eventstream (~> 1, >= 1.0.2)
babosa (1.0.4)
claide (1.0.3)
colored (1.2)
colored2 (3.1.2)
commander-fastlane (4.4.6)
highline (~> 1.7.2)
declarative (0.0.20)
declarative-option (0.1.0)
digest-crc (0.6.3)
rake (>= 12.0.0, < 14.0.0)
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
dotenv (2.7.6)
emoji_regex (3.2.1)
excon (0.78.1)
faraday (1.3.0)
faraday-net_http (~> 1.0)
multipart-post (>= 1.2, < 3)
ruby2_keywords
faraday-cookie_jar (0.0.7)
faraday (>= 0.8.0)
http-cookie (~> 1.0.0)
faraday-net_http (1.0.1)
faraday_middleware (1.0.0)
faraday (~> 1.0)
fastimage (2.2.1)
fastlane (2.172.0)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.3, < 3.0.0)
artifactory (~> 3.0)
aws-sdk-s3 (~> 1.0)
babosa (>= 1.0.3, < 2.0.0)
bundler (>= 1.12.0, < 3.0.0)
colored
commander-fastlane (>= 4.4.6, < 5.0.0)
dotenv (>= 2.1.1, < 3.0.0)
emoji_regex (>= 0.1, < 4.0)
excon (>= 0.71.0, < 1.0.0)
faraday (~> 1.0)
faraday-cookie_jar (~> 0.0.6)
faraday_middleware (~> 1.0)
fastimage (>= 2.1.0, < 3.0.0)
gh_inspector (>= 1.1.2, < 2.0.0)
google-api-client (>= 0.37.0, < 0.39.0)
google-cloud-storage (>= 1.15.0, < 2.0.0)
highline (>= 1.7.2, < 2.0.0)
json (< 3.0.0)
jwt (>= 2.1.0, < 3)
mini_magick (>= 4.9.4, < 5.0.0)
multipart-post (~> 2.0.0)
plist (>= 3.1.0, < 4.0.0)
rubyzip (>= 2.0.0, < 3.0.0)
security (= 0.1.3)
simctl (~> 1.6.3)
slack-notifier (>= 2.0.0, < 3.0.0)
terminal-notifier (>= 2.0.0, < 3.0.0)
terminal-table (>= 1.4.5, < 2.0.0)
tty-screen (>= 0.6.3, < 1.0.0)
tty-spinner (>= 0.8.0, < 1.0.0)
word_wrap (~> 1.0.0)
xcodeproj (>= 1.13.0, < 2.0.0)
xcpretty (~> 0.3.0)
xcpretty-travis-formatter (>= 0.0.3)
gh_inspector (1.1.3)
google-api-client (0.38.0)
addressable (~> 2.5, >= 2.5.1)
googleauth (~> 0.9)
httpclient (>= 2.8.1, < 3.0)
mini_mime (~> 1.0)
representable (~> 3.0)
retriable (>= 2.0, < 4.0)
signet (~> 0.12)
google-cloud-core (1.5.0)
google-cloud-env (~> 1.0)
google-cloud-errors (~> 1.0)
google-cloud-env (1.4.0)
faraday (>= 0.17.3, < 2.0)
google-cloud-errors (1.0.1)
google-cloud-storage (1.29.2)
addressable (~> 2.5)
digest-crc (~> 0.4)
google-api-client (~> 0.33)
google-cloud-core (~> 1.2)
googleauth (~> 0.9)
mini_mime (~> 1.0)
googleauth (0.14.0)
faraday (>= 0.17.3, < 2.0)
jwt (>= 1.4, < 3.0)
memoist (~> 0.16)
multi_json (~> 1.11)
os (>= 0.9, < 2.0)
signet (~> 0.14)
highline (1.7.10)
http-cookie (1.0.3)
domain_name (~> 0.5)
httpclient (2.8.3)
jmespath (1.4.0)
json (2.5.1)
jwt (2.2.2)
memoist (0.16.2)
mini_magick (4.11.0)
mini_mime (1.0.2)
multi_json (1.15.0)
multipart-post (2.0.0)
nanaimo (0.3.0)
naturally (2.2.0)
os (1.1.1)
plist (3.6.0)
public_suffix (4.0.6)
rake (13.0.3)
representable (3.0.4)
declarative (< 0.1.0)
declarative-option (< 0.2.0)
uber (< 0.2.0)
retriable (3.1.2)
rouge (2.0.7)
ruby2_keywords (0.0.2)
rubyzip (2.3.0)
security (0.1.3)
signet (0.14.0)
addressable (~> 2.3)
faraday (>= 0.17.3, < 2.0)
jwt (>= 1.5, < 3.0)
multi_json (~> 1.10)
simctl (1.6.8)
CFPropertyList
naturally
slack-notifier (2.3.2)
terminal-notifier (2.0.0)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
tty-cursor (0.7.1)
tty-screen (0.8.1)
tty-spinner (0.9.3)
tty-cursor (~> 0.7)
uber (0.1.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.7.7-x64-mingw32)
unicode-display_width (1.7.0)
word_wrap (1.0.0)
xcodeproj (1.19.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
nanaimo (~> 0.3.0)
xcpretty (0.3.0)
rouge (~> 2.0.7)
xcpretty-travis-formatter (1.0.1)
xcpretty (~> 0.2, >= 0.0.7)

PLATFORMS
x64-mingw32

DEPENDENCIES
fastlane

BUNDLED WITH
2.1.4
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
# arduino-usb-terminal
Terminal-like app to send commands to Arduino through USB


![Android CI](https://github.com/k4biri/arduino-usb-terminal/workflows/Android%20CI/badge.svg)


This app simplifies testing your Arduino components that work with direct usb commands by giving you the ability to send custom commands and view the returned message from your Arduino device.

Expand Down
37 changes: 24 additions & 13 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'koin'

repositories {
jcenter()
}

android {
compileSdkVersion 29
buildToolsVersion "29.0.3"
compileSdkVersion 30

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
Expand All @@ -19,7 +17,7 @@ android {
defaultConfig {
applicationId "org.kabiri.android.usbterminal"
minSdkVersion 23
targetSdkVersion 29
targetSdkVersion 30
versionCode 7
versionName "0.7.0"

Expand All @@ -33,15 +31,19 @@ android {
}
}

buildFeatures {
viewBinding true
}

}

dependencies {

implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.core:core-ktx:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.core:core-ktx:1.3.2'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'

// Sentry Tracking
implementation 'io.sentry:sentry-android-core:2.0.2'
Expand All @@ -52,13 +54,22 @@ dependencies {
// Coroutines
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0"
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.0'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.0'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.2'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.2'
// testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.3.0-RC2'

testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
// unit test libs
testImplementation 'junit:junit:4.13.1'
testImplementation "com.google.truth:truth:1.1.2"

// instrumented test libs
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
// Espresso
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
// Hamcrest for view matching
androidTestImplementation 'org.hamcrest:hamcrest-library:1.3'
androidTestImplementation 'androidx.test:runner:1.3.0'
androidTestImplementation 'androidx.test:rules:1.3.0'

/**
* This library helps to automate some parts of the USB serial connection.
Expand Down

This file was deleted.

Loading