Harsh Shandilya
dfd8ca6f79
ui: add tooling label for exclusions button
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-09-20 13:33:48 +05:30
Harsh Shandilya
7cff4367d7
ui: add navigation hints for D-Pad and IME
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-09-20 13:33:48 +05:30
Harsh Shandilya and Jason A. Donenfeld
68350bb4df
ui: add xhdpi banner resource
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-09-18 20:29:23 +02:00
Harsh Shandilya
4bee579e48
ui: retire EdgeToEdge
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-09-17 23:09:05 +05:30
Harsh Shandilya
a906c478c9
ui: replace deprecated onActivityCreated with onViewCreated
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-09-17 20:00:37 +05:30
Harsh Shandilya
306d0648c6
ui: refactor AddTunnelsSheet's selection communication
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-09-17 19:36:44 +05:30
Harsh Shandilya and Jason A. Donenfeld
e99ccf9013
ui: refactor AppListDialogFragment's selection communication
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-09-17 14:51:50 +02:00
Harsh Shandilya and Jason A. Donenfeld
dcd596907a
ui: resolve getColor deprecation in LogViewerActivity
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-09-16 18:01:06 +02:00
Harsh Shandilya and Jason A. Donenfeld
bd1679b7e0
ui: await activity creation to change selected tunnel
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-09-16 18:01:06 +02:00
Harsh Shandilya and Jason A. Donenfeld
ff7d7e0edd
tunnel: document more public API from backend package
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-09-16 18:01:06 +02:00
Harsh Shandilya and Jason A. Donenfeld
2f088938c6
ui: replace GlobalScope with a hand-rolled CoroutineScope
...
GlobalScope has numerous problems[1] that make it unfit for
use in most applications and making it behave correctly requires
an excessive amount of verbosity that's alleviated simply by using
any other scope. Since we run multiple operations in the context
of the application's lifecycle, introduce a new scope that is created
when our application is, and cancelled upon its termination.
While at it, make the scope default to Dispatchers.IO to reduce pressure
on the UI event loop. Tasks requiring access to the UI thread appropriately
switch context making the change completely safe.
1: https://medium.com/@elizarov/the-reason-to-avoid-globalscope-835337445abc
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-09-16 18:01:06 +02:00
Harsh Shandilya and Jason A. Donenfeld
6789c11a7b
ConfigNamingDialogFragment: fix focus request for config naming dialog
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-09-16 18:01:06 +02:00
Harsh Shandilya
4b36df504c
ui: don't use low-level logger API
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-09-16 13:04:42 +05:30
Harsh Shandilya
35fe5bd5f0
ui: update manifest for API 30 changes
...
- Mark WRITE_EXTERNAL_STORAGE as unused above API 29 since we defer to Storage Access Framework on P and above
- Adds a <queries> tag to allow listing apps for exclusion/inclusion dialog
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-09-16 10:20:10 +05:30
Harsh Shandilya
dd0ff8fe60
ui: remove hacky manual check for keyguard
...
Setting the correct value for the allowedAuthenticators field lets the library correctly detect this by itself as verified on an API 21 emulator
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-09-13 18:34:17 +05:30
Harsh Shandilya
45a179580d
ui: update BiometricAuthenticator for API changes
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-09-13 18:33:17 +05:30
Harsh Shandilya
0bcee7f9cc
ui: fix memory leak from statically held Handler instance
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-09-13 17:52:14 +05:30
Harsh Shandilya
af10b117b4
build: uprev dependencies and fix script block order
...
- buildscript must always be the first block in a Gradle build
- ConstraintLayout, Kotlin and bintray plugin are updated to their latest stable revisions
- Biometrics is updated to the latest alpha release to make use of multiple memory leak fixes that plague the 1.0.x implementations
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-09-13 17:51:30 +05:30
Harsh Shandilya
7aa7825209
build: update to Gradle 6.6.1
...
While praying F-Droid gets their shit together by the time we do our next release
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-08-30 23:23:04 +05:30
Harsh Shandilya
8b7617294e
tools: bump for Android 11 ndc fix
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-08-26 18:59:57 +05:30
Harsh Shandilya
9985b9b08e
build: target SDK 30
...
We're all set to support it from the application side of things.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-08-25 21:17:05 +05:30
Harsh Shandilya
840d65881e
build: switch fragment and preference to -ktx artifacts
...
Google recommends all dependencies with -ktx variants depend on them directly since they transitively pull in the main artifacts and offer extensions for better usage from Kotlin
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-08-23 01:07:27 +05:30
Harsh Shandilya
c18f6818e8
build: uprev core-ktx and material components
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-08-23 01:07:26 +05:30
Harsh Shandilya
dcd91cad1b
ui: fix SDK 30 deprecation warning for implicit Looper in Handler init
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-08-23 01:03:49 +05:30
Harsh Shandilya
898bb679d2
ui: also enable StrictMode thread policy in debug builds
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-08-23 01:03:48 +05:30
Harsh Shandilya
348d430cd3
build: remove explicit buildToolsVersion
...
AGP sets it automatically, let's rely on that
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-08-23 00:49:11 +05:30
Harsh Shandilya
e3d98633fb
build: update AndroidX dependencies
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-08-23 00:43:25 +05:30
Harsh Shandilya
b451920408
build: uprev to Kotlin 1.4
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-08-23 00:43:14 +05:30
Harsh Shandilya
1fa15e76e3
build: minor cleanups and reorganization
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-08-23 00:42:51 +05:30
Harsh Shandilya
8a58270e03
build: uprev to Gradle 6.6
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-08-12 13:28:00 +05:30
Harsh Shandilya
041ce2134f
build: upgrade to Gradle 6.5.1
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-07-10 15:07:54 +05:30
Harsh Shandilya
4c17fc51e7
gitignore: add gradlew.bat
...
We do not support building on Windows for now and deleting this file on every wrapper update is just lame
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-06-25 01:36:31 +05:30
Harsh Shandilya
6cf7439053
gradle: upgrade to 6.5
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-06-25 01:36:30 +05:30
Harsh Shandilya
814ab4937d
build: bump core-ktx, coroutines and fragments
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-06-25 01:30:00 +05:30
Harsh Shandilya
d60efcd7c7
strings: sync translations
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-06-02 17:52:01 +05:30
Harsh Shandilya
4dff537d21
ui: address new databinding requirements
...
Layouts in differing configurations must agree on their root tags, so we give
both copies of main_activity the same root ID, and adjust the check for
two-pane layout to simply test for nullability. This also changes the inset
dispatch code to use ViewCompat and WindowInsetsCompat since they will adjust
insets based on the SDK level allowing us to abstract away that concern.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-05-29 12:25:52 +05:30
Harsh Shandilya
761c2ade4a
build: bump to AGP 4.0.0
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-05-29 12:05:24 +05:30
Harsh Shandilya
115a87af32
ui: remove unneeded actionBarPopupTheme attribute
...
This caused inconsistencies between our overflow icon and actionbar title's tint
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-05-09 15:49:43 +05:30
Harsh Shandilya
c7ecaeb145
build: upgrade to gradle 6.4 and track checksum
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-05-09 13:15:57 +05:30
Harsh Shandilya
3208bac987
build: upgrade to mdc-android 1.2.0-alpha06
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-30 18:21:31 +05:30
Harsh Shandilya
fc1f2132fe
build: bump gradle wrapper version in task configuration
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-27 14:09:37 +05:30
Harsh Shandilya
09125e1e31
libwg-go: bump go version
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-26 04:33:41 +05:30
Harsh Shandilya
6b1164ad8d
ui: switch up dark theme system bars colors
...
The status bar color had a subtle transparency applied which caused
inconsistencies, and the navigation bar color was the wrong shade of
gray.
Reported-by: Danny Lin <danny@kdrag0n.dev >
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-26 04:30:26 +05:30
Harsh Shandilya
c68a5c776b
build: bump threetenabp to 1.2.4
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-24 19:32:36 +05:30
Harsh Shandilya
f3ac787f5a
ToolsInstaller: update Magisk directory
...
/data/adb/modules has been the location for modules since v18.0 and nobody
should reasonably be on any older version anymore. This has continued to
work for this long because Magisk created symlinks for backwards compat. However,
these symlinks are not created anymore on Android 11, which is where this
problem first surfaced.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-23 01:40:50 +05:30
Harsh Shandilya
751be2c469
build: don't obfuscate code in minify step
...
While Play Console correctly manages to deobfuscate stacktraces using the
ProGuard mapping, it makes user recorded logs useless which is rather
undesirable.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-21 21:36:59 +05:30
Harsh Shandilya
cfb7f1b016
ui: tweak fab animation duration
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-19 02:17:27 +05:30
Harsh Shandilya
33e07628db
build: remove unused cardview dependency
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-19 02:09:07 +05:30
Harsh Shandilya
b1b7d1d90c
build: upgrade AGP, Kotlin, and preference
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-19 02:08:41 +05:30
Harsh Shandilya
6cb9548f72
tunnel: disable LongLogTag lint
...
Should have been part of the patch that disabled this for ui/
Fixes: 8d128cf2e9 ("ui: disable LongLogTag lint")
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-19 01:59:51 +05:30
Harsh Shandilya
8207ae1e8d
strings: sync translations
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-19 01:48:50 +05:30
Harsh Shandilya
48e0e427eb
ui: animate fab scale rather than translation
...
Suggested-by: Jason A. Donenfeld <Jason@zx2c4.com >
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-16 23:14:35 +05:30
Harsh Shandilya
58b14cc650
ui: animate fab position in tunnel deletion flow
...
When tunnel deletion is triggered we don't bother with animation theatrics
because the resulting Snackbar needs this fab to be its anchor, which it can't
do if its outside the screen or busy animating.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-08 19:43:25 +05:30
Harsh Shandilya
3fa8e09545
tunnel: disable BuildConfig generation
...
We don't (and shouldn't) use BuildConfig values, but the class was
polluting our public API regardless which is undesirable.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-08 17:05:31 +05:30
Harsh Shandilya
1856a50c56
strings: sync translations
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-08 03:37:01 +05:30
Harsh Shandilya
ba0f3ece04
ui: tweak FABs to use the correct type
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-08 03:34:07 +05:30
Harsh Shandilya
e8ad75d924
ui: codestyle nit
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-07 14:19:54 +05:30
Harsh Shandilya
d6e5fd9301
ui: tweak cards to make them nicer on the eyes
...
Surprisingly-requested-by: Jason A. Donenfeld <Jason@zx2c4.com >
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-06 19:56:53 +05:30
Harsh Shandilya
2c625f56fd
ui: misc cleanups to AppListDialogFragment
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-06 19:56:46 +05:30
Harsh Shandilya
1ca4dbf1a2
tunnel: hold peers in an ArrayList
...
A set will cause identical peers to be dropped during save
Reported-by: Jason A. Donenfeld <Jason@zx2c4.com >
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-06 01:22:44 +05:30
Harsh Shandilya
065893e31d
MultiselectableRelativeLayout: use JvmOverloads constructor
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-06 00:39:22 +05:30
Harsh Shandilya
ef70aa88e1
ui: fix scrolling in detail view
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-06 00:17:14 +05:30
Harsh Shandilya
6a11a199ca
strings: sync translations
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-04 16:19:21 +05:30
Harsh Shandilya and Jason A. Donenfeld
7d31bd2be9
build: update fragment to 1.2.4
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-04-01 22:05:24 -06:00
Harsh Shandilya
8d128cf2e9
ui: disable LongLogTag lint
...
We know what we're doing
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-31 03:48:00 +05:30
Harsh Shandilya and Jason A. Donenfeld
44a0f53e58
strings: sync translations
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-30 14:08:24 -06:00
Harsh Shandilya and Jason A. Donenfeld
10e910186e
ui: update proguard rules to keep crash logs readable
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-30 13:49:41 -06:00
Harsh Shandilya and Jason A. Donenfeld
d2721f2d7d
BiometricAuthenticator: implement biometric authentication for sensitive operations
...
When biometric hardware is available, it will be used to authenticate
the user before private keys are shown on screen or when zip exports
are executed.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-30 03:23:32 -06:00
Harsh Shandilya and Jason A. Donenfeld
3095e19e13
ObservableTunnel: Don't cache configAsync
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-30 03:23:32 -06:00
Harsh Shandilya
8a45e965eb
strings: Sync German translations
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-29 14:10:39 +05:30
Harsh Shandilya
183273dcf5
AddTunnelsSheet: Make behaviour nullable
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-29 11:04:59 +05:30
Harsh Shandilya
b3bb7c694b
build: Improve R8 rules and enable aggressive optimization modes
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-29 10:52:54 +05:30
Harsh Shandilya and Jason A. Donenfeld
03a838ba2d
ui: Remove unnecessary non-null assertion in TAG fields
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-28 23:07:50 -06:00
Harsh Shandilya and Jason A. Donenfeld
b00aacbc41
Fix tunnel editor theming
...
Also set textInputStyle in the base theme to avoid setting styles to all elements
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-28 22:38:04 -06:00
Harsh Shandilya and Jason A. Donenfeld
fb3fec299f
TunnelEditor: replace tunnel detail view with ConstraintLayout implementation
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-28 15:22:11 -06:00
Harsh Shandilya and Jason A. Donenfeld
d2f435b265
ClipboardUtils: Update to handle TextInputEditText
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-28 15:22:06 -06:00
Harsh Shandilya
3a163acd6d
gradle: Remove useless comment
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-28 19:50:34 +05:30
Harsh Shandilya
df4bf9b688
Disable screen capture in tunnel editor
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-28 19:49:54 +05:30
Harsh Shandilya
0f67a2f194
Upgrade streamsupport dependency
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-28 19:21:53 +05:30
Harsh Shandilya
b9b188693c
strings: Sync from Crowdin
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-28 02:55:21 +05:30
Harsh Shandilya
9fe008d407
ObservableTunnel: Don't recurse in getConfig
...
The correct way to retrieve the value inside a getter/setter is to use `field` to ensure
you don't invoke the getter while inside the getter and trigger a stack overflow
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-28 02:35:01 +05:30
Harsh Shandilya
536a6f3f83
ui: Replace ErrorMessages getter with indexing operator
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-27 15:38:04 +05:30
Harsh Shandilya
b9fd3d37f2
Convert ErrorMessages to Kotlin
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-27 15:38:04 +05:30
Harsh Shandilya and Jason A. Donenfeld
e0b87c3ff2
Convert AsyncWorker to Kotlin
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-27 03:09:24 -06:00
Harsh Shandilya and Jason A. Donenfeld
b2bbaf050c
util: Start converting to Kotlin
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-26 22:33:01 -06:00
Harsh Shandilya and Jason A. Donenfeld
63a395125a
Introduce realtime log viewer
...
This contains a share button and a save button, the former using a
custom content provider.
Co-authored-by: Jason A. Donenfeld <Jason@zx2c4.com >
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2020-03-26 00:49:01 -06:00
Harsh Shandilya
1ad0ef3f61
LogExporterPreference: Don't ask for storage permissions on Android 10 and above
...
We use the proper MediaStore implementation on Android 10 which makes it unnecessary.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-25 21:02:02 +05:30
Harsh Shandilya
c1c285db86
Upgrade to Gradle 6.3
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-25 02:05:12 +05:30
Harsh Shandilya
93f80cdc50
Resolve manifest warnings
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-24 11:30:28 +05:30
Harsh Shandilya
383659fb8a
Upgrade to Kotlin 1.3.71
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-23 22:50:04 +05:30
Harsh Shandilya and Jason A. Donenfeld
55849cad65
Replace PermissionRequestCallback with direct methods
...
These are much cleaner in Kotlin code.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-20 22:22:56 -06:00
Harsh Shandilya and Jason A. Donenfeld
edb76af820
build: Load keystore file from rootProject
...
Since the signing config is also stored in the project root it makes sense to have storeFile
path be relative to it.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-20 22:22:56 -06:00
Harsh Shandilya and Jason A. Donenfeld
04d0b819f6
Convert activity package to Kotlin
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-20 22:22:56 -06:00
Harsh Shandilya
0899b49bb3
Use more Kotlin-esque code where applicable
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-19 14:45:07 +05:30
Harsh Shandilya
fc0660ca8d
ui: Convert fragment package to Kotlin
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-19 09:24:48 +05:30
Harsh Shandilya
b2ed5dbbc8
codestyle: Require atleast 10 references before using star imports
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-19 09:24:48 +05:30
Harsh Shandilya
94c864503e
ui: Convert configStore package to Kotlin
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-19 09:24:47 +05:30
Harsh Shandilya
55c9d39c13
strings: Remove now defunct translations
...
The original strings are removed.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-18 15:18:02 +05:30
Harsh Shandilya
2b31eac1af
publish.gradle: Use non-deprecated API to prevent eager configuration of tasks
...
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-14 10:44:52 +05:30
Harsh Shandilya
093139bc91
tunnel: Add an initial set of unit tests
...
Includes a control set of broken configuration files that we attempt to parse and
verify that the parser fails in a predictable and consistent manner.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev >
2020-03-14 10:32:12 +05:30