From a5fc29bd50ab5ff5962a40c35498d1c464d4d5ef Mon Sep 17 00:00:00 2001 From: Matthias Geisler Date: Thu, 5 Aug 2021 14:00:58 +0200 Subject: [PATCH 1/7] Cleanup gradle files --- .gitignore | 1 + .gradle/6.5/fileChanges/last-build.bin | Bin 1 -> 0 bytes .gradle/6.5/fileHashes/fileHashes.bin | Bin 31547 -> 0 bytes .gradle/6.5/fileHashes/fileHashes.lock | Bin 17 -> 0 bytes .gradle/6.5/gc.properties | 0 .gradle/6.8.3/fileChanges/last-build.bin | Bin 1 -> 0 bytes .gradle/6.8.3/fileHashes/fileHashes.bin | Bin 72765 -> 0 bytes .gradle/6.8.3/fileHashes/fileHashes.lock | Bin 17 -> 0 bytes .gradle/6.8.3/gc.properties | 0 .../buildOutputCleanup/buildOutputCleanup.lock | Bin 17 -> 0 bytes .gradle/buildOutputCleanup/cache.properties | 2 -- .gradle/buildOutputCleanup/outputFiles.bin | Bin 143306 -> 0 bytes .gradle/checksums/checksums.lock | Bin 17 -> 0 bytes .gradle/checksums/md5-checksums.bin | Bin 33597 -> 0 bytes .gradle/checksums/sha1-checksums.bin | Bin 108182 -> 0 bytes .gradle/configuration-cache/gc.properties | 0 .gradle/vcs-1/gc.properties | 0 .gradle/workspace-id.txt | Bin 28 -> 0 bytes .gradle/workspace-id.txt.lock | Bin 17 -> 0 bytes 19 files changed, 1 insertion(+), 2 deletions(-) delete mode 100644 .gradle/6.5/fileChanges/last-build.bin delete mode 100644 .gradle/6.5/fileHashes/fileHashes.bin delete mode 100644 .gradle/6.5/fileHashes/fileHashes.lock delete mode 100644 .gradle/6.5/gc.properties delete mode 100644 .gradle/6.8.3/fileChanges/last-build.bin delete mode 100644 .gradle/6.8.3/fileHashes/fileHashes.bin delete mode 100644 .gradle/6.8.3/fileHashes/fileHashes.lock delete mode 100644 .gradle/6.8.3/gc.properties delete mode 100644 .gradle/buildOutputCleanup/buildOutputCleanup.lock delete mode 100644 .gradle/buildOutputCleanup/cache.properties delete mode 100644 .gradle/buildOutputCleanup/outputFiles.bin delete mode 100644 .gradle/checksums/checksums.lock delete mode 100644 .gradle/checksums/md5-checksums.bin delete mode 100644 .gradle/checksums/sha1-checksums.bin delete mode 100644 .gradle/configuration-cache/gc.properties delete mode 100644 .gradle/vcs-1/gc.properties delete mode 100644 .gradle/workspace-id.txt delete mode 100644 .gradle/workspace-id.txt.lock diff --git a/.gitignore b/.gitignore index 87d22a4..155dfeb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ # Gradle .gradle/ +.gradle/* build/ out/ local.properties diff --git a/.gradle/6.5/fileChanges/last-build.bin b/.gradle/6.5/fileChanges/last-build.bin deleted file mode 100644 index f76dd238ade08917e6712764a16a22005a50573d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1 IcmZPo000310RR91 diff --git a/.gradle/6.5/fileHashes/fileHashes.bin b/.gradle/6.5/fileHashes/fileHashes.bin deleted file mode 100644 index 2ddaabdfe267387bd8d8d877c7dafc214cb3f021..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31547 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 diff --git a/.gradle/6.8.3/fileHashes/fileHashes.lock b/.gradle/6.8.3/fileHashes/fileHashes.lock deleted file mode 100644 index d65e5ded6f35df74288bdec62752ebeb7cc90065..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17 VcmZR!pW>s|{%>150~qi&0RS+o1eyQ< diff --git a/.gradle/6.8.3/gc.properties b/.gradle/6.8.3/gc.properties deleted file mode 100644 index e69de29..0000000 diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock deleted file mode 100644 index c7482dca791ff4e35a8156b150589fff948c29d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17 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 diff --git a/.gradle/checksums/checksums.lock b/.gradle/checksums/checksums.lock deleted file mode 100644 index 3313506ccf225ffe58aa5f97b65351da782989d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17 UcmZS9E7WXVVpZtD00yiQ03-wh1poj5 diff --git a/.gradle/checksums/md5-checksums.bin b/.gradle/checksums/md5-checksums.bin deleted file mode 100644 index 8d5957fec165dd2087a6163b343eeddea734ca38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33597 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

NF(PX52{g_?btf6 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 J_ZEC>{2zV4`^o?S diff --git a/.gradle/configuration-cache/gc.properties b/.gradle/configuration-cache/gc.properties deleted file mode 100644 index e69de29..0000000 diff --git a/.gradle/vcs-1/gc.properties b/.gradle/vcs-1/gc.properties deleted file mode 100644 index e69de29..0000000 diff --git a/.gradle/workspace-id.txt b/.gradle/workspace-id.txt deleted file mode 100644 index ff53118bcb000b8868ae853dbd23b75aa62d6ba1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 jcmZROs!B`FC{9hvDM(96EXc|zs;sK0Dz8k*G|L14mT3z7 diff --git a/.gradle/workspace-id.txt.lock b/.gradle/workspace-id.txt.lock deleted file mode 100644 index 12a0a38e299e3b4803be9d5cd7a3323cfeadfb2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17 UcmZQxVRqA+Px{SL1_;mu04>S`*#H0l From 9a096edc391dfe6d5b26d35c473d4249ea1b54e2 Mon Sep 17 00:00:00 2001 From: Matthias Geisler Date: Thu, 5 Aug 2021 14:45:07 +0200 Subject: [PATCH 2/7] Add DataRestriction Error --- error/build.gradle.kts | 1 + .../sdk/lang/DataRestrictionException.kt | 37 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 error/src/commonMain/kotlin/care/data4life/sdk/lang/DataRestrictionException.kt diff --git a/error/build.gradle.kts b/error/build.gradle.kts index b6c61f4..f79234e 100644 --- a/error/build.gradle.kts +++ b/error/build.gradle.kts @@ -45,6 +45,7 @@ kotlin { val commonMain by getting { dependencies { implementation(Dependencies.multiplatform.kotlin.stdlibCommon) + implementation(Dependencies.multiplatform.d4l.sdkUtil) } } val commonTest by getting { diff --git a/error/src/commonMain/kotlin/care/data4life/sdk/lang/DataRestrictionException.kt b/error/src/commonMain/kotlin/care/data4life/sdk/lang/DataRestrictionException.kt new file mode 100644 index 0000000..6cb76d6 --- /dev/null +++ b/error/src/commonMain/kotlin/care/data4life/sdk/lang/DataRestrictionException.kt @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2021 D4L data4life gGmbH / All rights reserved. + * + * D4L owns all legal rights, title and interest in and to the Software Development Kit ("SDK"), + * including any intellectual property rights that subsist in the SDK. + * + * The SDK and its documentation may be accessed and used for viewing/review purposes only. + * Any usage of the SDK for other purposes, including usage for the development of + * applications/third-party applications shall require the conclusion of a license agreement + * between you and D4L. + * + * If you are interested in licensing the SDK for your own applications/third-party + * applications and/or if you’d like to contribute to the development of the SDK, please + * contact D4L by email to help@data4life.care. + */ + +package care.data4life.sdk.lang + +import care.data4life.sdk.config.DataRestriction.DATA_SIZE_MAX_MB + +/** + * Exception class that will be thrown in case of data restriction violations like file size is too large or + * file type is unsupported. + */ +sealed class DataRestrictionException(message: String? = null, cause: Throwable? = null) : + D4LException(message, cause) { + + constructor() : this(null, null) + constructor(message: String?) : this(message, null) + constructor(cause: Throwable?) : this(cause?.toString(), cause) + + class MaxDataSizeViolation : + DataRestrictionException(message = "The file size has to be smaller or equal to ${DATA_SIZE_MAX_MB}MB!") + + class UnsupportedFileType : + DataRestrictionException(message = "Only this file types are supported: JPEG, PNG, TIFF, PDF and DCM!") +} From 36e16afc151251b4a6ff62908b3697edce23b2d7 Mon Sep 17 00:00:00 2001 From: Matthias Geisler Date: Fri, 6 Aug 2021 09:35:28 +0200 Subject: [PATCH 3/7] Adapt latest setup --- .github/workflows/d4l-ci-latest-version.yml | 8 +- .github/workflows/d4l-ci-publish-release.yml | 8 +- .../d4l-ci-pull-request-validation.yml | 12 ++- .gradle/6.8.3/fileHashes/fileHashes.bin | Bin 72765 -> 81515 bytes .gradle/6.8.3/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .gradle/buildOutputCleanup/cache.properties | 4 +- .gradle/buildOutputCleanup/outputFiles.bin | Bin 143306 -> 26111 bytes .gradle/workspace-id.txt.lock | Bin 17 -> 17 bytes README.md | 1 - build.gradle.kts | 23 +++--- buildSrc/build.gradle.kts | 6 ++ .../data4life/sdk/result}/LibraryConfig.kt | 13 ++- .../sdk/result}/dependency-updates.gradle.kts | 2 +- .../sdk/result}/download-scripts.gradle.kts | 2 +- .../sdk/result}/publishing-config.gradle.kts | 44 +++++----- .../sdk/result}/publishing.gradle.kts | 15 ++-- .../sdk/result}/quality-spotless.gradle.kts | 2 +- .../sdk/result}/versioning.gradle.kts | 2 +- error/build.gradle.kts | 40 +++++----- flow/build.gradle.kts | 51 ++++++------ gradle/wrapper/gradle-wrapper.properties | 2 +- .../result-dependency/build.gradle.kts | 35 ++++++++ .../sdk/result/dependency/Dependency.kt | 75 +++++++++--------- .../sdk/result/dependency/DependencyPlugin.kt | 27 +++++++ .../sdk/result/dependency/GradlePlugin.kt | 25 +----- .../sdk/result/dependency}/Repository.kt | 1 + .../sdk/result/dependency/Version.kt | 7 +- settings.gradle.kts | 2 + 29 files changed, 230 insertions(+), 177 deletions(-) delete mode 100644 README.md rename buildSrc/src/main/kotlin/{ => care/data4life/sdk/result}/LibraryConfig.kt (91%) rename buildSrc/src/main/kotlin/{scripts => care/data4life/sdk/result}/dependency-updates.gradle.kts (98%) rename buildSrc/src/main/kotlin/{scripts => care/data4life/sdk/result}/download-scripts.gradle.kts (98%) rename buildSrc/src/main/kotlin/{scripts => care/data4life/sdk/result}/publishing-config.gradle.kts (60%) rename buildSrc/src/main/kotlin/{scripts => care/data4life/sdk/result}/publishing.gradle.kts (94%) rename buildSrc/src/main/kotlin/{scripts => care/data4life/sdk/result}/quality-spotless.gradle.kts (98%) rename buildSrc/src/main/kotlin/{scripts => care/data4life/sdk/result}/versioning.gradle.kts (99%) create mode 100644 gradlePlugin/result-dependency/build.gradle.kts rename buildSrc/src/main/kotlin/Dependencies.kt => gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Dependency.kt (70%) create mode 100644 gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/DependencyPlugin.kt rename buildSrc/src/main/kotlin/GradlePlugins.kt => gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/GradlePlugin.kt (53%) rename {buildSrc/src/main/kotlin => gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency}/Repository.kt (98%) rename buildSrc/src/main/kotlin/Versions.kt => gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Version.kt (94%) diff --git a/.github/workflows/d4l-ci-latest-version.yml b/.github/workflows/d4l-ci-latest-version.yml index 35b9ea6..eb7a83e 100644 --- a/.github/workflows/d4l-ci-latest-version.yml +++ b/.github/workflows/d4l-ci-latest-version.yml @@ -9,11 +9,13 @@ on: jobs: latest-version: - runs-on: [self-hosted, macos] + runs-on: ubuntu-latest env: - PACKAGE_REGISTRY_USERNAME: ${{ secrets.PACKAGE_REGISTRY_USERNAME }} - PACKAGE_REGISTRY_TOKEN: ${{ secrets.PACKAGE_REGISTRY_TOKEN }} + PACKAGE_REGISTRY_DOWNLOAD_USERNAME: ${{ secrets.PACKAGE_REGISTRY_DOWNLOAD_USERNAME }} + PACKAGE_REGISTRY_DOWNLOAD_TOKEN: ${{ secrets.PACKAGE_REGISTRY_DOWNLOAD_TOKEN }} + PACKAGE_REGISTRY_UPLOAD_USERNAME: ${{ secrets.PACKAGE_REGISTRY_UPLOAD_USERNAME }} + PACKAGE_REGISTRY_UPLOAD_TOKEN: ${{ secrets.PACKAGE_REGISTRY_UPLOAD_TOKEN }} steps: - name: Display runner context diff --git a/.github/workflows/d4l-ci-publish-release.yml b/.github/workflows/d4l-ci-publish-release.yml index 6e101e2..c469446 100644 --- a/.github/workflows/d4l-ci-publish-release.yml +++ b/.github/workflows/d4l-ci-publish-release.yml @@ -8,11 +8,13 @@ on: jobs: publish-release: - runs-on: [self-hosted, macos] + runs-on: ubuntu-latest env: - PACKAGE_REGISTRY_USERNAME: ${{ secrets.PACKAGE_REGISTRY_USERNAME }} - PACKAGE_REGISTRY_TOKEN: ${{ secrets.PACKAGE_REGISTRY_TOKEN }} + PACKAGE_REGISTRY_DOWNLOAD_USERNAME: ${{ secrets.PACKAGE_REGISTRY_DOWNLOAD_USERNAME }} + PACKAGE_REGISTRY_DOWNLOAD_TOKEN: ${{ secrets.PACKAGE_REGISTRY_DOWNLOAD_TOKEN }} + PACKAGE_REGISTRY_UPLOAD_USERNAME: ${{ secrets.PACKAGE_REGISTRY_UPLOAD_USERNAME }} + PACKAGE_REGISTRY_UPLOAD_TOKEN: ${{ secrets.PACKAGE_REGISTRY_UPLOAD_TOKEN }} steps: - name: Display runner context diff --git a/.github/workflows/d4l-ci-pull-request-validation.yml b/.github/workflows/d4l-ci-pull-request-validation.yml index 977747a..e5fe95e 100644 --- a/.github/workflows/d4l-ci-pull-request-validation.yml +++ b/.github/workflows/d4l-ci-pull-request-validation.yml @@ -10,11 +10,17 @@ on: jobs: pull-request-validation: - runs-on: [self-hosted, macos] + runs-on: ubuntu-latest + + concurrency: + group: validation-${{ github.head_ref }} + cancel-in-progress: true env: - PACKAGE_REGISTRY_USERNAME: ${{ secrets.PACKAGE_REGISTRY_USERNAME }} - PACKAGE_REGISTRY_TOKEN: ${{ secrets.PACKAGE_REGISTRY_TOKEN }} + PACKAGE_REGISTRY_DOWNLOAD_USERNAME: ${{ secrets.PACKAGE_REGISTRY_DOWNLOAD_USERNAME }} + PACKAGE_REGISTRY_DOWNLOAD_TOKEN: ${{ secrets.PACKAGE_REGISTRY_DOWNLOAD_TOKEN }} + PACKAGE_REGISTRY_UPLOAD_USERNAME: ${{ secrets.PACKAGE_REGISTRY_UPLOAD_USERNAME }} + PACKAGE_REGISTRY_UPLOAD_TOKEN: ${{ secrets.PACKAGE_REGISTRY_UPLOAD_TOKEN }} steps: - name: Display runner context diff --git a/.gradle/6.8.3/fileHashes/fileHashes.bin b/.gradle/6.8.3/fileHashes/fileHashes.bin index 8d69f2c088fe761d8004d9d70e0893a230d79316..360e9839f262888caaae67f4258aea3161eca126 100644 GIT binary patch delta 14467 zcma)C30zHE+dn7OX^?$#iaIo$=AtxeCYdR9Xb^>FY1SmjrBX%c z-Q#*4oSeua54PbfXjjSQuJW7SQu?~i0E45$%2HHMvAOFX58l>XUJ->++qGakOh~At z-?v;_I0s`oVH_^452^?BZuQ5QO%>y4_rf)!YX6+I z7vq-qVS{=r;nT22*!;W(W4bpWSi{DksBM_TrqH`Nw9%7{fxRZDT2ij^O)zfS0b4b; z6LI&?+kZC|VN5FpbTw^>{O=7bYMn=6Ow$`YHA{*7S`8(c{Vf<%zXIQpp4xD>{K@W@ z7_;>TV}UJUyi0F^!g@0rYX?6;Es@nwb#!}b0>2#R7#js(rIl(> z!X0bwv+b@BgF1~&;3Z$*R(xM}y&U5fL*a;)kT8vX`RtYCH`>4@=+?3&oR$byG;R9_ zW5c6CS6fJ!`0*DG)p&?8Gi`{}wlO&IZo!l7ucYHJXqUk_Iyt&xcrYh?DaO^p%JQ_G z*xd5YlC6GK)|WAAo(7FNsoXPP)f{v~%Iq;H5Q3}j6N3x&6=N*)?$Q-e?`7;(R4lSO z*OOk2m34|hS5HV74_F#Kj-abN`X@x{g%Km{R(rU%&=b#r2laXaeJ{b7aNp(husaqp zHmd{MpIp7x(2H%FR=^8n^Wi+++&i9sV9eSKjP(VC^Tqi1&J+3=a~um35%zKAr2coGB-On6w_cQwCjfvqM9w^j7NH6%2xt{ z{22Vs%nVfrlW2M=n5#kX2!Xys?oP+e8EkCBGJ(-;oKW*Tamy5XK-9NF$_N4Bz*Sp+ zP;nfss|Z_1gb}8_;SZ+qk}zhk3f&`Yxc7$r%+1;3+k-*7lb|~?mwUe)DKeM`kwM zkKVoYf0WI*ghBmoP%zIm==!Leudks67&N)YjCI!+m7M2gJ%3@`bOYp>_Y$)ooSwPh zAhe$4Jqt{x#+~HgbnyqG0jAh?;ZXLI$h6la*Rzk|FRAN*zvkq``~#7#4XvOiH$ z6_P$uQYVsnkwiul;RR+wK6ty4F-CYpG)8Ab0T#SLBa#p8`1Wj&a;He%V2yr?FBCHZe!BA^MM$O^5rI>c$pH3B9+U{lTq7dj3ZvSKg>cHr z#F>pA-!t$;*^P6cAE_k%tUI-5Bd_Dlt_KV#(7WDDn=Fm|zQ>*(Q=hY_2GPEfVO+3*z!ly&1dG;=-{G9eoa z7oi3V=$X$5`g1AeOW?x@=jZZa-(1T2ML3Vq%kZALE%2oY0$)Bv`citAU=@RwV_`A8 z!a_WZ3gCm4AEg%u{^%kUU&MmQk1`dF<_smoz})40`0htexVSbv;q={eVu!JLU^KBLan7f!$cR4h>ki3qQm7pyp56dO$_u=1)cb6h}VbCX{;dAl;t|ya~4Z zQH^?27CwPO4C;fyN+j9^Zoz!8rY>qb z&;_Y`%>mLVp{@s(g`i#-tTd3cfU}nKgw{~r<`5pq_eT?)4`v~hvCqI>%!fdH(T%92 zvDzbWgc9mHp#=*;pcqQU)I){h7fP}HA%Q}#5wJhhWB@V__d-XJPCkQi93ONS(oUim zq85oSdLeotWhoE}7~wV+{6Q*=x)lI^;d~H=k!+M=7)C$BPAqgnJtfqBM8i!IQ1)hv zD1m@LN~qI@tyl12fbKl5R3@_*9|3nhD{jJfvRv5RJdz{aN%UH!njx-42qyD zryD`(cY!w+$Vm856hWn_17|TB2<=$#N6nukpd5seq}@9F0>m1y2ZSL!$dBZapf+}< zRtHtnd2ln5a@Gygqfm>CqD%*YY82(U2ce{JZ4jhT0y2FJ-_n6re9HlN(UguoOr!)f zj7eAsf&*CSf`?c@FBUPh<*``kgjh5kA3KG%07rQn$Mh zi4UvrMK^V)oVutjMph{OUNqIn8q}V^>2fAO$3`B^SWKmht%(+s)Akzv3}H!cqZaFN zN&^jc?PA(7xf+z?NXMuS#&Oj0$%Oe>NQZ1jsKG)8bjO)Wj4lQJcyua(RSBa8JV597 z@u;cB50Mys49=5xN)bXS2ogv~^^u4`2~mhb3DGo%bX^~fSQHwAP+AZq@HG`;GsEVc z+4~J1zTtYQItXi>zYK^pp!VoZ9&V!GP#_nW3XeU#~c7c5|?IMy9b~8c) zBOpSV+S0fH_8Q1;RwYzIBF|X7GNRnGZ8kwca~k2DytD1jCi|vw*6VDXmrx;snI`lr?PE-WUx8-M5VYdA-Slc2X zG#xA=v@2I&Os^IST7-lr*zY*`b|c0tTHsYnDwn8{wM%-_?TkUQH{k!Il$h(ERAQ*E zgfZQ4P_q;gz9E5rYwf#ez11LW)imJ!Oi!qbiQ0`pePbqZCFiY)H{L7gV%%aGq*!V? zDK(AyR$MjgDh7u;GRn#str6v#g&i2T`VYSOrejsj4*Z75*0X@LRsk{h$gb9**%nyW zP6$UV1;oS6D|435raxwe--goGt6bGDemn0fA6|qNjdw%rQ-OZbF0a}7x%Bt6!vQ7$ z{@D+nkq2k-v99J>$g{HH@;?&m-snE=#Gtwv)LWH6*fUjPGF>wvwqTF#=3coH}#jdnFuZ`#7HpW%9GjXz?~-Zi{)<;k+xE$M1idF^pbx#zZMfPxgW^ZBCeFh~^n$_g zMJ`ttW=wi~CGrCevf=cLT0%?PDB*?IOpKYkLGsHIu3>4u#U+Wg^e3v(GZ3`d5}ZYx zo8^)ORy6qz!Zvq<5zlWsD%wXhVNlJQiD{(%vdM=Xe;%aqdN^;p9nAkx(cfF`9+dv@ zFvcAwGWy0(x7Fmg@Z&+D739{dpaNX~_nzqO$ z48WjX4k(Nh==(H;W`3D<2xFG}8E-SQC)D{8sx=rlI}O4QLSmX_{)E=C^q$nH9@zfj zD%bO-v+4Me(F?GmtuFX|Db@gd}P4u!Jxv#9C1MPZv90TK+J>niu)9-dM{24%aJ2*IjU}T}#&BfO@M4cSZkE`< zh~$6qBim0UUYkNUQacR>kMceDV5dtQ?a+EFBzFsl;`Ge6c~|nVjnUSSjj)8&LjgJ~ zR$|P!0Sb>rtnmzMw1!VvrhrFNw&oKVq??l(U&nch6ApXGz}7(C-YYq z&7)U>kt^dUQR;$x$l~FKSlQ|}q#>j8Zr?EeP)5&8^D;=8BqZuv-c_I8T8;G#)g{hzCNa!?_3Y_H2^9Hi_5F&Eg zkv_?x5^y&^Q8I1uc^{+G7IHeKR|VZ9-+h9&QGC`QvI-`@GtAdiEO2o)g=J3`WF0s( z1@$?^@NmL|!{Wq|3ZCn%K`+HAF1jx=^7O)79-aND zXQvp1x(nq5&kWYU9C5~=lBAN)vEd#$LVM|D2VK#eqY~MHG||B)_n)amME}YCz~7^% z1)qy}kl3#Oa&Y4iwDc(_qbLT8L+(2F$$eH}&5HEh3My{ahSzV}RxZa*7M{Qi$q;b{ z=hRuHSa-|H>%B&^Q|2UoW{Ie{7M`S?#EMhiHN7`!o!Yzq6*1$7;-h@DMM-ADFr*a4 z8I74AmEV7wV0(PivA>>LuS=vE<=BVh_+J?!Jnjd4*SBX$9%4P**g3yBZgK_AebP`& zk-GOQ1v3u5|La?9n|K(wJK&NvX7B=PW5d-)?53tLsgu;~;- zf;-(t+=0X$CYzvK6^*P??kwK38j7p@64w+kUYzBH~_i%He zHxJ2I>Iflqv1tZ%;Z9wQz!$Tr3qO1jNnVI-4rz8ScSw71Lb`mWR>C+3oJIt00W689 z$jxs-3Ak5|DCP22sZL8Ayf`9tmJMoQWa1H7R7fm|x8jVki@cRxnzJ)}=1yRB?y*I$ zXcU9=5r+OGE{RkAXmpxgBk`!-ykPn1cbc}JexZ1%^d zODmc>q;AU2FAl(N3_gHWjqJ2+UsFpytK>j)_omUKU>fS3DF zx9;s~)m%-ltb-3V%V-8lnmlCYL%|fDC_|VnvYKSD#MA4Zmrl3Xi3P9k*8bJyuS#IOEzRqr=X{hn8#1__k@VQrEs;8ImZFH{`dvC^G!r z^g{P7F;91}4X>ZVUDP|CPEY2AxY@dQKDREe+F7R5LP-4O@TT?m^f(IQ48;=(H?+n# z9k_C>?&z(YIy4YendOis>UAvXekRqD@PrR(VGY?+wYsHa7h0iaPEz7tkrWn-(@%4E zY}C}fC_Cub-L1DS9NXQdM?0B>88ZF!-APsOqtx~L^_g4OkG5W**mRe6LJtCG8KU+X zgcT2uPM14jF-iN?rN#V&h&!|sdF(_!5K0Sp!uZZDJ9c;}-XA$Y=bcXHI9i7uemOFr zK33m-ZM8gk?^#UNTVbwrLpl0dq3T0hl~Dr0YMy9D%)Gyy>`hSywN2Id64kooo7Tj9V7?Zwnbhh_na(`OiYh z0GjcJX7m%slzcx{Yvq(z_H?{#>gsr{eq$o2HMxD%b1(ScuY5E~rNS$$RXc;Qb| z=y8%q-K1|=R-qfNX3v{H*318Vjq-+psL21B49G{TIHM-z=_5PWwkbdA{VF??Q+AqD z6py(d=uG-~+U)RqnD(vy$L@I@_fPCB|{)?-=E$ z*w!7{CoFPd_DRI_bL!KDu3-+Zjs(4`KArvKD@|eQ(@!QXrzJ;A?U&2;;cfS@G1_BI zht){uUYOIW%I1k~H?KKub|LHiBZcp_FWIrQS$(V|Ll&w}ByGugXB)$|eEMVf>kD-O z!b~=U8KBz%Jk7JIzIK}M#;>2VJH*?P>>&ked z{vz$#n>}U|W@VDVZkW0N!=x#p`M6D6VuzRi)Py2F~ zjaDKxe@0M7SsWK}MtZ`;Cm*y|_?wwY%{zR{RJw2IQ^YB*<=WE@JF`O;qS0^O4r_q5>!;b>ta3OmZZ|Z`)iD^km?9w}f>g;x9FlOnQ$N4562tTqo z@|az2*i+-|gPGTdFw@%r{r>~L2rN#!v9AubTsmH6fzrx9nFhqHFI{nSC&#QbNHQ;& z@4No~!Lhu%C@^x8GL_);iZe94u8bW!dCt|Jv(^mQHc%DK9*RL$0(C5wd_VL0z)F3` z&%5@_9r3

Av@AdL_(7la)LMl%ttKm*i|lZnEj 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 literal 17 VcmZR!pW>s|{%>150~qi&0RS+o1eyQ< diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index c7482dca791ff4e35a8156b150589fff948c29d8..20f574977ef30a86af00de5406c32a94fd37b0bd 100644 GIT binary patch literal 17 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 diff --git a/.gradle/workspace-id.txt.lock b/.gradle/workspace-id.txt.lock index 12a0a38e299e3b4803be9d5cd7a3323cfeadfb2f..b27588bb5ce4b8d44cb934c575d29cf256d9b353 100644 GIT binary patch literal 17 UcmZQxVRqA+Px{SL1_&?)04>x5;{X5v literal 17 UcmZQxVRqA+Px{SL1_;mu04>S`*#H0l diff --git a/README.md b/README.md deleted file mode 100644 index 4d259ed..0000000 --- a/README.md +++ /dev/null @@ -1 +0,0 @@ -# hc-result-sdk-kmp \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 9cf0fa2..1e0a173 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -13,22 +13,17 @@ * applications and/or if you’d like to contribute to the development of the SDK, please * contact D4L by email to help@data4life.care. */ - -buildscript { - dependencies { - classpath(GradlePlugins.kotlin) - classpath(GradlePlugins.android) - } -} +import care.data4life.sdk.result.dependency.d4l +import care.data4life.sdk.result.dependency.gitHub plugins { - kotlinMultiplatform(false) + id("care.data4life.sdk.result.dependency") - id("scripts.dependency-updates") - id("scripts.download-scripts") - id("scripts.publishing") - id("scripts.quality-spotless") - id("scripts.versioning") + id("care.data4life.sdk.result.dependency-updates") + id("care.data4life.sdk.result.download-scripts") + id("care.data4life.sdk.result.publishing") + id("care.data4life.sdk.result.quality-spotless") + id("care.data4life.sdk.result.versioning") } allprojects { @@ -43,6 +38,6 @@ allprojects { } tasks.named("wrapper") { - gradleVersion = "6.8.3" + gradleVersion = "6.9" distributionType = Wrapper.DistributionType.ALL } diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 03ca8a1..c3ee132 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -16,14 +16,20 @@ plugins { `kotlin-dsl` + + id("care.data4life.sdk.result.dependency") } repositories { gradlePluginPortal() mavenCentral() + google() } dependencies { + implementation(care.data4life.sdk.result.dependency.GradlePlugin.kotlin) + implementation(care.data4life.sdk.result.dependency.GradlePlugin.android) + // dependency-updates implementation("com.github.ben-manes:gradle-versions-plugin:0.38.0") // download-scripts diff --git a/buildSrc/src/main/kotlin/LibraryConfig.kt b/buildSrc/src/main/kotlin/care/data4life/sdk/result/LibraryConfig.kt similarity index 91% rename from buildSrc/src/main/kotlin/LibraryConfig.kt rename to buildSrc/src/main/kotlin/care/data4life/sdk/result/LibraryConfig.kt index 45f0f49..269529f 100644 --- a/buildSrc/src/main/kotlin/LibraryConfig.kt +++ b/buildSrc/src/main/kotlin/care/data4life/sdk/result/LibraryConfig.kt @@ -13,22 +13,23 @@ * applications and/or if you’d like to contribute to the development of the SDK, please * contact D4L by email to help@data4life.care. */ +package care.data4life.sdk.result object LibraryConfig { + val publishConfig = PublishConfig + val android = AndroidLibraryConfig + const val group = "care.data4life" const val name = "hc-result-sdk-kmp" const val githubOwner = "d4l-data4life" const val githubRepository = "hc-result-sdk-kmp" - val publish = PublishConfig - object PublishConfig { - const val name = LibraryConfig.name + const val groupId = "care.data4life.hc-result-sdk-kmp" const val description = "This is the Result SDK which provides unified result types and errors for other SDK's." - const val groupId = "${LibraryConfig.group}.${LibraryConfig.name}" - const val year = "2020" + const val year = "2021" // URL const val host = "github.com" @@ -52,8 +53,6 @@ object LibraryConfig { const val scmDeveloperConnection = scmConnection } - val android = AndroidLibraryConfig - object AndroidLibraryConfig { const val minSdkVersion = 23 const val compileSdkVersion = 30 diff --git a/buildSrc/src/main/kotlin/scripts/dependency-updates.gradle.kts b/buildSrc/src/main/kotlin/care/data4life/sdk/result/dependency-updates.gradle.kts similarity index 98% rename from buildSrc/src/main/kotlin/scripts/dependency-updates.gradle.kts rename to buildSrc/src/main/kotlin/care/data4life/sdk/result/dependency-updates.gradle.kts index 79ae582..57ad4ef 100644 --- a/buildSrc/src/main/kotlin/scripts/dependency-updates.gradle.kts +++ b/buildSrc/src/main/kotlin/care/data4life/sdk/result/dependency-updates.gradle.kts @@ -14,7 +14,7 @@ * contact D4L by email to help@data4life.care. */ -package scripts +package care.data4life.sdk.result /** * [DependencyUpdates](https://github.com/ben-manes/gradle-versions-plugin) diff --git a/buildSrc/src/main/kotlin/scripts/download-scripts.gradle.kts b/buildSrc/src/main/kotlin/care/data4life/sdk/result/download-scripts.gradle.kts similarity index 98% rename from buildSrc/src/main/kotlin/scripts/download-scripts.gradle.kts rename to buildSrc/src/main/kotlin/care/data4life/sdk/result/download-scripts.gradle.kts index e311c63..1b40817 100644 --- a/buildSrc/src/main/kotlin/scripts/download-scripts.gradle.kts +++ b/buildSrc/src/main/kotlin/care/data4life/sdk/result/download-scripts.gradle.kts @@ -14,7 +14,7 @@ * contact D4L by email to help@data4life.care. */ -package scripts +package care.data4life.sdk.result import de.undercouch.gradle.tasks.download.Download diff --git a/buildSrc/src/main/kotlin/scripts/publishing-config.gradle.kts b/buildSrc/src/main/kotlin/care/data4life/sdk/result/publishing-config.gradle.kts similarity index 60% rename from buildSrc/src/main/kotlin/scripts/publishing-config.gradle.kts rename to buildSrc/src/main/kotlin/care/data4life/sdk/result/publishing-config.gradle.kts index d760dbb..b782e83 100644 --- a/buildSrc/src/main/kotlin/scripts/publishing-config.gradle.kts +++ b/buildSrc/src/main/kotlin/care/data4life/sdk/result/publishing-config.gradle.kts @@ -14,26 +14,27 @@ * contact D4L by email to help@data4life.care. */ -package scripts +package care.data4life.sdk.result -import LibraryConfig import org.gradle.api.publish.maven.MavenPublication /** - * Usage: + * Install: * - * Now just add id("scripts.publishing-config") to your projects build.gradle.kts plugins section + * Just add id("care.data4life.sdk.result.publishing-config") to your project module build.gradle.kts plugins section * * plugins { - * id("scripts.publishing") + * id("care.data4life.sdk.result.publishing-config") * } * + * Usage: + * * To publish to to https://github.com/d4l-data4life/maven-repository/ just run: * - ./gradlew publishFeature * - ./gradlew publishSnapshot * - ./gradlew publishRelease * - * This requires a LibraryConfig as defined here https://github.com/d4l-data4life/hc-gradle-scripts/blob/main/buildSrc/src/main/kotlin/LibraryConfig.kt + * This requires a care.data4life.sdk.result.care.data4life.sdk.result.LibraryConfig configured */ plugins { `maven-publish` @@ -46,9 +47,9 @@ publishing { setUrl("https://maven.pkg.github.com/${LibraryConfig.githubOwner}/${LibraryConfig.githubRepository}") credentials { username = (project.findProperty("gpr.user") - ?: System.getenv("PACKAGE_REGISTRY_USERNAME")).toString() + ?: System.getenv("PACKAGE_REGISTRY_UPLOAD_USERNAME")).toString() password = (project.findProperty("gpr.key") - ?: System.getenv("PACKAGE_REGISTRY_TOKEN")).toString() + ?: System.getenv("PACKAGE_REGISTRY_UPLOAD_TOKEN")).toString() } } @@ -72,34 +73,33 @@ publishing { publications { withType { - groupId = LibraryConfig.publish.groupId + groupId = LibraryConfig.PublishConfig.groupId pom { - name.set(LibraryConfig.publish.name) - description.set(LibraryConfig.publish.description) - url.set(LibraryConfig.publish.url) - inceptionYear.set(LibraryConfig.publish.year) + description.set(LibraryConfig.PublishConfig.description) + url.set(LibraryConfig.PublishConfig.url) + inceptionYear.set(LibraryConfig.PublishConfig.year) licenses { license { - name.set(LibraryConfig.publish.licenseName) - url.set(LibraryConfig.publish.licenseUrl) - distribution.set(LibraryConfig.publish.licenseDistribution) + name.set(LibraryConfig.PublishConfig.licenseName) + url.set(LibraryConfig.PublishConfig.licenseUrl) + distribution.set(LibraryConfig.PublishConfig.licenseDistribution) } } developers { developer { - id.set(LibraryConfig.publish.developerId) - name.set(LibraryConfig.publish.developerName) - email.set(LibraryConfig.publish.developerEmail) + id.set(LibraryConfig.PublishConfig.developerId) + name.set(LibraryConfig.PublishConfig.developerName) + email.set(LibraryConfig.PublishConfig.developerEmail) } } scm { - connection.set(LibraryConfig.publish.scmConnection) - developerConnection.set(LibraryConfig.publish.scmDeveloperConnection) - url.set(LibraryConfig.publish.scmUrl) + connection.set(LibraryConfig.PublishConfig.scmConnection) + developerConnection.set(LibraryConfig.PublishConfig.scmDeveloperConnection) + url.set(LibraryConfig.PublishConfig.scmUrl) } } } diff --git a/buildSrc/src/main/kotlin/scripts/publishing.gradle.kts b/buildSrc/src/main/kotlin/care/data4life/sdk/result/publishing.gradle.kts similarity index 94% rename from buildSrc/src/main/kotlin/scripts/publishing.gradle.kts rename to buildSrc/src/main/kotlin/care/data4life/sdk/result/publishing.gradle.kts index 8431398..19dc41f 100644 --- a/buildSrc/src/main/kotlin/scripts/publishing.gradle.kts +++ b/buildSrc/src/main/kotlin/care/data4life/sdk/result/publishing.gradle.kts @@ -14,9 +14,8 @@ * contact D4L by email to help@data4life.care. */ -package scripts +package care.data4life.sdk.result -import LibraryConfig import org.eclipse.jgit.api.Git import org.eclipse.jgit.api.ResetCommand import org.eclipse.jgit.transport.PushResult @@ -24,7 +23,9 @@ import org.eclipse.jgit.transport.RemoteRefUpdate import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider /** - * Usage: + * Publish generated artefacts to our maven-repository using [jGit](https://www.eclipse.org/jgit/) + * + * Install: * * You need to add following dependencies to the buildSrc/build.gradle.kts * @@ -38,12 +39,14 @@ import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider * mavenCentral() * } * - * Now just add id("scripts.publishing") to your rootProject build.gradle.kts plugins + * Now just add id("care.data4life.sdk.result.publishing") to your rootProject build.gradle.kts plugins * * plugins { - * id("scripts.publishing") + * id("care.data4life.sdk.result.publishing") * } * + * Usage: + * * To publish to to https://github.com/d4l-data4life/maven-features/ just run: * - ./gradlew publishFeature * To publish to to https://github.com/d4l-data4life/maven-snapshots/ just run: @@ -63,7 +66,7 @@ val releaseRepoName = "maven-releases" val basePath = "${rootProject.buildDir}/gitPublish" val gitHubToken = (project.findProperty("gpr.key") - ?: System.getenv("PACKAGE_REGISTRY_TOKEN")).toString() + ?: System.getenv("PACKAGE_REGISTRY_UPLOAD_TOKEN")).toString() task("publishFeature") { diff --git a/buildSrc/src/main/kotlin/scripts/quality-spotless.gradle.kts b/buildSrc/src/main/kotlin/care/data4life/sdk/result/quality-spotless.gradle.kts similarity index 98% rename from buildSrc/src/main/kotlin/scripts/quality-spotless.gradle.kts rename to buildSrc/src/main/kotlin/care/data4life/sdk/result/quality-spotless.gradle.kts index 4638565..d64cc28 100644 --- a/buildSrc/src/main/kotlin/scripts/quality-spotless.gradle.kts +++ b/buildSrc/src/main/kotlin/care/data4life/sdk/result/quality-spotless.gradle.kts @@ -14,7 +14,7 @@ * contact D4L by email to help@data4life.care. */ -package scripts +package care.data4life.sdk.result /** * You need to add following dependencies to the buildSrc/build.gradle.kts diff --git a/buildSrc/src/main/kotlin/scripts/versioning.gradle.kts b/buildSrc/src/main/kotlin/care/data4life/sdk/result/versioning.gradle.kts similarity index 99% rename from buildSrc/src/main/kotlin/scripts/versioning.gradle.kts rename to buildSrc/src/main/kotlin/care/data4life/sdk/result/versioning.gradle.kts index 16868ae..dc9be08 100644 --- a/buildSrc/src/main/kotlin/scripts/versioning.gradle.kts +++ b/buildSrc/src/main/kotlin/care/data4life/sdk/result/versioning.gradle.kts @@ -13,7 +13,7 @@ * applications and/or if you’d like to contribute to the development of the SDK, please * contact D4L by email to help@data4life.care. */ -package scripts +package care.data4life.sdk.result /** * Usage: diff --git a/error/build.gradle.kts b/error/build.gradle.kts index b6c61f4..e5a347d 100644 --- a/error/build.gradle.kts +++ b/error/build.gradle.kts @@ -13,15 +13,17 @@ * applications and/or if you’d like to contribute to the development of the SDK, please * contact D4L by email to help@data4life.care. */ +import care.data4life.sdk.result.LibraryConfig +import care.data4life.sdk.result.dependency.Dependency plugins { - kotlinMultiplatform() + id("org.jetbrains.kotlin.multiplatform") // Android - androidLibrary() + id("com.android.library") // Publish - id("scripts.publishing-config") + id("care.data4life.sdk.result.publishing-config") } group = LibraryConfig.group @@ -33,62 +35,56 @@ kotlin { jvm() - ios { - binaries { - framework { - baseName = LibraryConfig.name - } - } - } + ios {} sourceSets { val commonMain by getting { dependencies { - implementation(Dependencies.multiplatform.kotlin.stdlibCommon) + implementation(Dependency.multiplatform.kotlin.stdlibCommon) } } val commonTest by getting { dependencies { - implementation(Dependencies.multiplatform.kotlin.testCommon) - implementation(Dependencies.multiplatform.kotlin.testCommonAnnotations) + implementation(Dependency.multiplatform.kotlin.testCommon) + implementation(Dependency.multiplatform.kotlin.testCommonAnnotations) } } val androidMain by getting { dependencies { - implementation(Dependencies.multiplatform.kotlin.stdlibAndroid) + implementation(Dependency.multiplatform.kotlin.stdlibAndroid) } } val androidTest by getting { dependencies { - implementation(Dependencies.multiplatform.kotlin.testJvm) - implementation(Dependencies.multiplatform.kotlin.testJvmJunit) + implementation(Dependency.multiplatform.kotlin.testJvm) + implementation(Dependency.multiplatform.kotlin.testJvmJunit) } } val jvmMain by getting { dependencies { - implementation(Dependencies.multiplatform.kotlin.stdlibJdk8) + implementation(Dependency.multiplatform.kotlin.stdlibJdk8) } } val jvmTest by getting { dependencies { - implementation(Dependencies.multiplatform.kotlin.testJvm) - implementation(Dependencies.multiplatform.kotlin.testJvmJunit) + implementation(Dependency.multiplatform.kotlin.testJvm) + implementation(Dependency.multiplatform.kotlin.testJvmJunit) } } val iosMain by getting { dependencies { - implementation(Dependencies.multiplatform.kotlin.stdlibNative) + implementation(Dependency.multiplatform.kotlin.stdlibNative) } } val iosTest by getting { dependencies { dependencies { - implementation(Dependencies.multiplatform.kotlin.testCommon) - implementation(Dependencies.multiplatform.kotlin.testCommonAnnotations) + implementation(Dependency.multiplatform.kotlin.testCommon) + implementation(Dependency.multiplatform.kotlin.testCommonAnnotations) } } } diff --git a/flow/build.gradle.kts b/flow/build.gradle.kts index 793c3d5..54e6dc2 100644 --- a/flow/build.gradle.kts +++ b/flow/build.gradle.kts @@ -13,15 +13,17 @@ * applications and/or if you’d like to contribute to the development of the SDK, please * contact D4L by email to help@data4life.care. */ +import care.data4life.sdk.result.LibraryConfig +import care.data4life.sdk.result.dependency.Dependency plugins { - kotlinMultiplatform() + id("org.jetbrains.kotlin.multiplatform") // Android - androidLibrary() + id("com.android.library") // Publish - id("scripts.publishing-config") + id("care.data4life.sdk.result.publishing-config") } group = LibraryConfig.group @@ -33,70 +35,63 @@ kotlin { jvm() - ios { - binaries { - framework { - baseName = LibraryConfig.name - } - } - } + ios {} sourceSets { val commonMain by getting { dependencies { - implementation(Dependencies.multiplatform.kotlin.stdlibCommon) - implementation(Dependencies.multiplatform.coroutines.common) - implementation(Dependencies.multiplatform.coroutines.stately) // TODO: Remove with Kotlin 1.5.x - implementation(Dependencies.multiplatform.d4l.sdkUtil) + implementation(Dependency.multiplatform.kotlin.stdlibCommon) + implementation(Dependency.multiplatform.coroutines.common) + implementation(Dependency.multiplatform.coroutines.stately) // TODO: Remove with Kotlin 1.5.x api(project(":error")) } } val commonTest by getting { dependencies { - implementation(Dependencies.multiplatform.kotlin.testCommon) - implementation(Dependencies.multiplatform.kotlin.testCommonAnnotations) - implementation(Dependencies.multiplatform.d4l.sdkCoroutineTestUtil) + implementation(Dependency.multiplatform.kotlin.testCommon) + implementation(Dependency.multiplatform.kotlin.testCommonAnnotations) + implementation(Dependency.multiplatform.d4l.sdkCoroutineTestUtil) } } val androidMain by getting { dependencies { - implementation(Dependencies.multiplatform.kotlin.stdlibAndroid) + implementation(Dependency.multiplatform.kotlin.stdlibAndroid) } } val androidTest by getting { dependencies { - implementation(Dependencies.multiplatform.kotlin.testJvm) - implementation(Dependencies.multiplatform.kotlin.testJvmJunit) + implementation(Dependency.multiplatform.kotlin.testJvm) + implementation(Dependency.multiplatform.kotlin.testJvmJunit) - implementation(Dependencies.android.robolectric) + implementation(Dependency.android.robolectric) } } val jvmMain by getting { dependencies { - implementation(Dependencies.multiplatform.kotlin.stdlibJdk8) + implementation(Dependency.multiplatform.kotlin.stdlibJdk8) } } val jvmTest by getting { dependencies { - implementation(Dependencies.multiplatform.kotlin.testJvm) - implementation(Dependencies.multiplatform.kotlin.testJvmJunit) + implementation(Dependency.multiplatform.kotlin.testJvm) + implementation(Dependency.multiplatform.kotlin.testJvmJunit) } } val iosMain by getting { dependencies { - implementation(Dependencies.multiplatform.kotlin.stdlibNative) + implementation(Dependency.multiplatform.kotlin.stdlibNative) } } val iosTest by getting { dependencies { dependencies { - implementation(Dependencies.multiplatform.kotlin.testCommon) - implementation(Dependencies.multiplatform.kotlin.testCommonAnnotations) - implementation(Dependencies.multiplatform.d4l.sdkUtil) + implementation(Dependency.multiplatform.kotlin.testCommon) + implementation(Dependency.multiplatform.kotlin.testCommonAnnotations) + implementation(Dependency.multiplatform.d4l.sdkUtil) } } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8cf6eb5..7665b0f 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.9-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlePlugin/result-dependency/build.gradle.kts b/gradlePlugin/result-dependency/build.gradle.kts new file mode 100644 index 0000000..37be6fb --- /dev/null +++ b/gradlePlugin/result-dependency/build.gradle.kts @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2021 D4L data4life gGmbH / All rights reserved. + * + * D4L owns all legal rights, title and interest in and to the Software Development Kit ("SDK"), + * including any intellectual property rights that subsist in the SDK. + * + * The SDK and its documentation may be accessed and used for viewing/review purposes only. + * Any usage of the SDK for other purposes, including usage for the development of + * applications/third-party applications shall require the conclusion of a license agreement + * between you and D4L. + * + * If you are interested in licensing the SDK for your own applications/third-party + * applications and/or if you’d like to contribute to the development of the SDK, please + * contact D4L by email to help@data4life.care. + */ + +plugins { + `kotlin-dsl` + `java-gradle-plugin` +} + +// To make it available as direct dependency +group = "care.data4life.sdk.result.dependency" +version = "1.0.0-SNAPSHOT" + +repositories { + mavenCentral() +} + +gradlePlugin { + plugins.register("care.data4life.sdk.result.dependency") { + id = "care.data4life.sdk.result.dependency" + implementationClass = "care.data4life.sdk.result.dependency.DependencyPlugin" + } +} diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Dependency.kt similarity index 70% rename from buildSrc/src/main/kotlin/Dependencies.kt rename to gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Dependency.kt index 2ebf68c..b9f11d3 100644 --- a/buildSrc/src/main/kotlin/Dependencies.kt +++ b/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Dependency.kt @@ -13,13 +13,14 @@ * applications and/or if you’d like to contribute to the development of the SDK, please * contact D4L by email to help@data4life.care. */ +package care.data4life.sdk.result.dependency -object Dependencies { +object Dependency { val kotlin = Kotlin object Kotlin { const val stdLib = multiplatform.kotlin.stdlibJdk - const val reflect = "org.jetbrains.kotlin:kotlin-reflect:${Versions.kotlin}" + const val reflect = "org.jetbrains.kotlin:kotlin-reflect:${Version.kotlin}" } val multiplatform = Multiplatform @@ -27,17 +28,17 @@ object Dependencies { val kotlin = Kotlin object Kotlin { - const val stdlibCommon = "org.jetbrains.kotlin:kotlin-stdlib-common:${Versions.kotlin}" - const val stdlibJdk = "org.jetbrains.kotlin:kotlin-stdlib:${Versions.kotlin}" - const val stdlibJdk8 = "org.jetbrains.kotlin:kotlin-stdlib-jdk8:${Versions.kotlin}" - const val stdlibJs = "org.jetbrains.kotlin:kotlin-stdlib:${Versions.kotlin}" - const val stdlibNative = "org.jetbrains.kotlin:kotlin-stdlib:${Versions.kotlin}" - const val stdlibAndroid = "org.jetbrains.kotlin:kotlin-stdlib:${Versions.kotlin}" - - const val testCommon = "org.jetbrains.kotlin:kotlin-test-common:${Versions.kotlin}" - const val testCommonAnnotations = "org.jetbrains.kotlin:kotlin-test-annotations-common:${Versions.kotlin}" - const val testJvm = "org.jetbrains.kotlin:kotlin-test:${Versions.kotlin}" - const val testJvmJunit = "org.jetbrains.kotlin:kotlin-test-junit:${Versions.kotlin}" + const val stdlibCommon = "org.jetbrains.kotlin:kotlin-stdlib-common:${Version.kotlin}" + const val stdlibJdk = "org.jetbrains.kotlin:kotlin-stdlib:${Version.kotlin}" + const val stdlibJdk8 = "org.jetbrains.kotlin:kotlin-stdlib-jdk8:${Version.kotlin}" + const val stdlibJs = "org.jetbrains.kotlin:kotlin-stdlib:${Version.kotlin}" + const val stdlibNative = "org.jetbrains.kotlin:kotlin-stdlib:${Version.kotlin}" + const val stdlibAndroid = "org.jetbrains.kotlin:kotlin-stdlib:${Version.kotlin}" + + const val testCommon = "org.jetbrains.kotlin:kotlin-test-common:${Version.kotlin}" + const val testCommonAnnotations = "org.jetbrains.kotlin:kotlin-test-annotations-common:${Version.kotlin}" + const val testJvm = "org.jetbrains.kotlin:kotlin-test:${Version.kotlin}" + const val testJvmJunit = "org.jetbrains.kotlin:kotlin-test-junit:${Version.kotlin}" } val coroutines = Coroutines @@ -45,71 +46,71 @@ object Dependencies { object Coroutines { // https://github.com/Kotlin/kotlinx.coroutines const val common = - "org.jetbrains.kotlinx:kotlinx-coroutines-core:${Versions.kotlinCoroutines}" + "org.jetbrains.kotlinx:kotlinx-coroutines-core:${Version.kotlinCoroutines}" const val android = - "org.jetbrains.kotlinx:kotlinx-coroutines-android:${Versions.kotlinCoroutines}" - const val test = "org.jetbrains.kotlinx:kotlinx-coroutines-test:${Versions.kotlinCoroutines}" + "org.jetbrains.kotlinx:kotlinx-coroutines-android:${Version.kotlinCoroutines}" + const val test = "org.jetbrains.kotlinx:kotlinx-coroutines-test:${Version.kotlinCoroutines}" - const val stately = "co.touchlab:stately-common:${Versions.stately}" + const val stately = "co.touchlab:stately-common:${Version.stately}" } val ktor = Ktor object Ktor { - const val common = "io.ktor:ktor-client-core:${Versions.ktor}" - const val mock = "io.ktor:ktor-client-mock:${Versions.ktor}" + const val common = "io.ktor:ktor-client-core:${Version.ktor}" + const val mock = "io.ktor:ktor-client-mock:${Version.ktor}" } val d4l = D4L object D4L { - const val sdkUtil = "care.data4life.hc-util-sdk-kmp:util:${Versions.sdkUtil}" - const val sdkCoroutineTestUtil = "care.data4life.hc-util-sdk-kmp:util-coroutine-test:${Versions.sdkUtil}" + const val sdkUtil = "care.data4life.hc-util-sdk-kmp:util:${Version.sdkUtil}" + const val sdkCoroutineTestUtil = "care.data4life.hc-util-sdk-kmp:util-coroutine-test:${Version.sdkUtil}" } } val test = Test object Test { - const val junit = "junit:junit:${Versions.testJUnit}" + const val junit = "junit:junit:${Version.testJUnit}" } val android = Android object Android { // Kotlin - const val kotlinStdLib = "org.jetbrains.kotlin:kotlin-stdlib:${Versions.kotlin}" + const val kotlinStdLib = "org.jetbrains.kotlin:kotlin-stdlib:${Version.kotlin}" // Android - const val desugar = "com.android.tools:desugar_jdk_libs:${Versions.androidDesugar}" + const val desugar = "com.android.tools:desugar_jdk_libs:${Version.androidDesugar}" val androidX = AndroidX object AndroidX { // AndroidX - const val ktx = "androidx.core:core-ktx:${Versions.androidXKtx}" - const val appCompat = "androidx.appcompat:appcompat:${Versions.androidXAppCompat}" - const val constraintLayout = "androidx.constraintlayout:constraintlayout:${Versions.androidXConstraintLayout}" + const val ktx = "androidx.core:core-ktx:${Version.androidXKtx}" + const val appCompat = "androidx.appcompat:appcompat:${Version.androidXAppCompat}" + const val constraintLayout = "androidx.constraintlayout:constraintlayout:${Version.androidXConstraintLayout}" } // Material - const val material = "com.google.android.material:material:${Versions.material}" + const val material = "com.google.android.material:material:${Version.material}" // Test - const val robolectric = "org.robolectric:robolectric:${Versions.robolectric}" + const val robolectric = "org.robolectric:robolectric:${Version.robolectric}" } val androidTest = AndroidTest object AndroidTest { - const val core = "androidx.test:core:${Versions.androidXTest}" - const val runner = "androidx.test:runner:${Versions.androidXTest}" - const val rules = "androidx.test:rules:${Versions.androidXTest}" + const val core = "androidx.test:core:${Version.androidXTest}" + const val runner = "androidx.test:runner:${Version.androidXTest}" + const val rules = "androidx.test:rules:${Version.androidXTest}" - const val junit = "androidx.test.ext:junit:${Versions.androidXTest}" + const val junit = "androidx.test.ext:junit:${Version.androidXTest}" - const val espressoCore = "androidx.test.espresso:espresso-core:${Versions.androidXEspresso}" + const val espressoCore = "androidx.test.espresso:espresso-core:${Version.androidXEspresso}" const val espressoIntents = - "androidx.test.espresso:espresso-intents:${Versions.androidXEspresso}" - const val espressoWeb = "androidx.test.espresso:espresso-web:${Versions.androidXEspresso}" + "androidx.test.espresso:espresso-intents:${Version.androidXEspresso}" + const val espressoWeb = "androidx.test.espresso:espresso-web:${Version.androidXEspresso}" const val uiAutomator = - "androidx.test.uiautomator:uiautomator:${Versions.androidXUiAutomator}" + "androidx.test.uiautomator:uiautomator:${Version.androidXUiAutomator}" } } diff --git a/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/DependencyPlugin.kt b/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/DependencyPlugin.kt new file mode 100644 index 0000000..e66f2eb --- /dev/null +++ b/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/DependencyPlugin.kt @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2021 D4L data4life gGmbH / All rights reserved. + * + * D4L owns all legal rights, title and interest in and to the Software Development Kit ("SDK"), + * including any intellectual property rights that subsist in the SDK. + * + * The SDK and its documentation may be accessed and used for viewing/review purposes only. + * Any usage of the SDK for other purposes, including usage for the development of + * applications/third-party applications shall require the conclusion of a license agreement + * between you and D4L. + * + * If you are interested in licensing the SDK for your own applications/third-party + * applications and/or if you’d like to contribute to the development of the SDK, please + * contact D4L by email to help@data4life.care. + */ + +package care.data4life.sdk.result.dependency + +import org.gradle.api.Plugin +import org.gradle.api.Project + +class DependencyPlugin : Plugin { + + override fun apply(target: Project) { + // nothing to do + } +} diff --git a/buildSrc/src/main/kotlin/GradlePlugins.kt b/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/GradlePlugin.kt similarity index 53% rename from buildSrc/src/main/kotlin/GradlePlugins.kt rename to gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/GradlePlugin.kt index 966c16f..a63c793 100644 --- a/buildSrc/src/main/kotlin/GradlePlugins.kt +++ b/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/GradlePlugin.kt @@ -13,26 +13,9 @@ * applications and/or if you’d like to contribute to the development of the SDK, please * contact D4L by email to help@data4life.care. */ +package care.data4life.sdk.result.dependency -import org.gradle.plugin.use.PluginDependenciesSpec -import org.gradle.plugin.use.PluginDependencySpec - -object GradlePlugins { - const val android = "com.android.tools.build:gradle:${Versions.GradlePlugins.android}" - const val kotlin = "org.jetbrains.kotlin:kotlin-gradle-plugin:${Versions.GradlePlugins.kotlin}" +object GradlePlugin { + const val android = "com.android.tools.build:gradle:${Version.GradlePlugin.android}" + const val kotlin = "org.jetbrains.kotlin:kotlin-gradle-plugin:${Version.GradlePlugin.kotlin}" } - -fun PluginDependenciesSpec.kotlinMultiplatform(apply: Boolean = true): PluginDependencySpec = - id("org.jetbrains.kotlin.multiplatform").version(Versions.GradlePlugins.kotlin).apply(apply) - -fun PluginDependenciesSpec.kotlinMultiplatform(): PluginDependencySpec = - id("org.jetbrains.kotlin.multiplatform") - -fun PluginDependenciesSpec.androidApp(): PluginDependencySpec = - id("com.android.application") - -fun PluginDependenciesSpec.androidLibrary(): PluginDependencySpec = - id("com.android.library") - -fun PluginDependenciesSpec.androidKotlin(): PluginDependencySpec = - id("kotlin-android") diff --git a/buildSrc/src/main/kotlin/Repository.kt b/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Repository.kt similarity index 98% rename from buildSrc/src/main/kotlin/Repository.kt rename to gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Repository.kt index d02798c..0b002c5 100644 --- a/buildSrc/src/main/kotlin/Repository.kt +++ b/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Repository.kt @@ -13,6 +13,7 @@ * applications and/or if you’d like to contribute to the development of the SDK, please * contact D4L by email to help@data4life.care. */ +package care.data4life.sdk.result.dependency import org.gradle.api.Project import org.gradle.api.artifacts.dsl.RepositoryHandler diff --git a/buildSrc/src/main/kotlin/Versions.kt b/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Version.kt similarity index 94% rename from buildSrc/src/main/kotlin/Versions.kt rename to gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Version.kt index e285b39..aaeedce 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Version.kt @@ -13,11 +13,12 @@ * applications and/or if you’d like to contribute to the development of the SDK, please * contact D4L by email to help@data4life.care. */ +package care.data4life.sdk.result.dependency -object Versions { +object Version { - object GradlePlugins { - const val kotlin = Versions.kotlin + object GradlePlugin { + const val kotlin = Version.kotlin const val android = "4.2.2" } diff --git a/settings.gradle.kts b/settings.gradle.kts index 63839a1..0c43187 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -18,6 +18,8 @@ pluginManagement { gradlePluginPortal() google() } + + includeBuild("gradlePlugin/result-dependency") } plugins { From 06c39138a66e66ee04ca21a724663740cf6fe25a Mon Sep 17 00:00:00 2001 From: Matthias Geisler Date: Fri, 6 Aug 2021 15:58:48 +0200 Subject: [PATCH 4/7] Apply latest repos --- .gitignore | 1 - .idea/compiler.xml | 15 --------------- buildSrc/src/main/kotlin/Dependencies.kt | 3 ++- buildSrc/src/main/kotlin/Versions.kt | 8 +++++++- 4 files changed, 9 insertions(+), 18 deletions(-) delete mode 100644 .idea/compiler.xml diff --git a/.gitignore b/.gitignore index 155dfeb..ac414b0 100644 --- a/.gitignore +++ b/.gitignore @@ -17,7 +17,6 @@ local.properties !.idea/codeStyles/ !.idea/encoding.xml !.idea/copyright/ -!.idea/compiler.xml # generated diff --git a/.idea/compiler.xml b/.idea/compiler.xml deleted file mode 100644 index 234ecfd..0000000 --- a/.idea/compiler.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt index 2ebf68c..1209e18 100644 --- a/buildSrc/src/main/kotlin/Dependencies.kt +++ b/buildSrc/src/main/kotlin/Dependencies.kt @@ -64,7 +64,8 @@ object Dependencies { object D4L { const val sdkUtil = "care.data4life.hc-util-sdk-kmp:util:${Versions.sdkUtil}" - const val sdkCoroutineTestUtil = "care.data4life.hc-util-sdk-kmp:util-coroutine-test:${Versions.sdkUtil}" + const val sdkObjcUtil = "care.data4life.hc-objc-util-sdk-kmp:util:${Versions.sdkObjcUtil}" + const val sdkTestUtilCoroutine = "care.data4life.hc-test-util-coroutine-sdk-kmp:test-util-coroutine:${Versions.sdkTestUtilCoroutine}" } } diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index e285b39..4b1ccd8 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -37,7 +37,13 @@ object Versions { // D4L // https://github.com/d4l-data4life/hc-util-sdk-kmp - const val sdkUtil = "1.9.0-add-default-scope-SNAPSHOT" + const val sdkUtil = "1.10.0" + + // https://github.com/d4l-data4life/hc-objc-util-sdk-kmp + const val sdkObjcUtil = "0.1.0" + + // https://github.com/d4l-data4life/hc-test-util-sdk-kmp + const val sdkTestUtilCoroutine = "0.1.0" // Android // https://developer.android.com/studio/write/java8-support From 8f0a9de562235c139072dbb21a3640dab66cce06 Mon Sep 17 00:00:00 2001 From: Matthias Geisler Date: Fri, 6 Aug 2021 20:49:24 +0200 Subject: [PATCH 5/7] Use latest changes & run on macos --- .github/workflows/d4l-ci-latest-version.yml | 2 +- .github/workflows/d4l-ci-publish-release.yml | 2 +- .github/workflows/d4l-ci-pull-request-validation.yml | 2 +- README.adoc | 4 ++-- error/build.gradle.kts | 2 +- flow/build.gradle.kts | 4 ++-- .../kotlin/care/data4life/sdk/flow/D4lSDKFlowTest.kt | 2 +- .../care/data4life/sdk/result/dependency/Dependency.kt | 6 +++--- .../care/data4life/sdk/result/dependency/Repository.kt | 8 ++++++-- .../care/data4life/sdk/result/dependency/Version.kt | 4 ++-- 10 files changed, 20 insertions(+), 16 deletions(-) diff --git a/.github/workflows/d4l-ci-latest-version.yml b/.github/workflows/d4l-ci-latest-version.yml index eb7a83e..19aee2c 100644 --- a/.github/workflows/d4l-ci-latest-version.yml +++ b/.github/workflows/d4l-ci-latest-version.yml @@ -9,7 +9,7 @@ on: jobs: latest-version: - runs-on: ubuntu-latest + runs-on: macos-latest env: PACKAGE_REGISTRY_DOWNLOAD_USERNAME: ${{ secrets.PACKAGE_REGISTRY_DOWNLOAD_USERNAME }} diff --git a/.github/workflows/d4l-ci-publish-release.yml b/.github/workflows/d4l-ci-publish-release.yml index c469446..2085d8d 100644 --- a/.github/workflows/d4l-ci-publish-release.yml +++ b/.github/workflows/d4l-ci-publish-release.yml @@ -8,7 +8,7 @@ on: jobs: publish-release: - runs-on: ubuntu-latest + runs-on: macos-latest env: PACKAGE_REGISTRY_DOWNLOAD_USERNAME: ${{ secrets.PACKAGE_REGISTRY_DOWNLOAD_USERNAME }} diff --git a/.github/workflows/d4l-ci-pull-request-validation.yml b/.github/workflows/d4l-ci-pull-request-validation.yml index e5fe95e..ace1480 100644 --- a/.github/workflows/d4l-ci-pull-request-validation.yml +++ b/.github/workflows/d4l-ci-pull-request-validation.yml @@ -10,7 +10,7 @@ on: jobs: pull-request-validation: - runs-on: ubuntu-latest + runs-on: macos-latest concurrency: group: validation-${{ github.head_ref }} diff --git a/README.adoc b/README.adoc index c921009..2bc9d7d 100644 --- a/README.adoc +++ b/README.adoc @@ -1,5 +1,5 @@ -= Data4Life Util SDK -:util-sdk-version: 1.9.0 += Data4Life Result SDK +:result-sdk-version: 0.1.0 :doctype: article :!showtitle: :toc: macro diff --git a/error/build.gradle.kts b/error/build.gradle.kts index 14e2c65..4da219c 100644 --- a/error/build.gradle.kts +++ b/error/build.gradle.kts @@ -41,7 +41,7 @@ kotlin { val commonMain by getting { dependencies { implementation(Dependency.multiplatform.kotlin.stdlibCommon) - implementation(Dependencies.multiplatform.d4l.sdkUtil) + implementation(Dependency.multiplatform.d4l.sdkUtil) } } val commonTest by getting { diff --git a/flow/build.gradle.kts b/flow/build.gradle.kts index 54e6dc2..2bbe8c4 100644 --- a/flow/build.gradle.kts +++ b/flow/build.gradle.kts @@ -50,7 +50,7 @@ kotlin { dependencies { implementation(Dependency.multiplatform.kotlin.testCommon) implementation(Dependency.multiplatform.kotlin.testCommonAnnotations) - implementation(Dependency.multiplatform.d4l.sdkCoroutineTestUtil) + implementation(Dependency.multiplatform.d4l.sdkTestUtilCoroutine) } } @@ -91,7 +91,7 @@ kotlin { dependencies { implementation(Dependency.multiplatform.kotlin.testCommon) implementation(Dependency.multiplatform.kotlin.testCommonAnnotations) - implementation(Dependency.multiplatform.d4l.sdkUtil) + implementation(Dependency.multiplatform.d4l.sdkObjcUtil) } } } diff --git a/flow/src/iosTest/kotlin/care/data4life/sdk/flow/D4lSDKFlowTest.kt b/flow/src/iosTest/kotlin/care/data4life/sdk/flow/D4lSDKFlowTest.kt index 84b0e09..99d653b 100644 --- a/flow/src/iosTest/kotlin/care/data4life/sdk/flow/D4lSDKFlowTest.kt +++ b/flow/src/iosTest/kotlin/care/data4life/sdk/flow/D4lSDKFlowTest.kt @@ -17,7 +17,7 @@ package care.data4life.sdk.flow import care.data4life.sdk.lang.PlatformError -import care.data4life.sdk.util.NSErrorFactory +import care.data4life.sdk.util.objc.NSErrorFactory import care.data4life.sdk.util.test.coroutine.runBlockingTest import co.touchlab.stately.isFrozen import kotlinx.coroutines.CoroutineScope diff --git a/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Dependency.kt b/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Dependency.kt index c25b6a2..d58f099 100644 --- a/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Dependency.kt +++ b/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Dependency.kt @@ -64,9 +64,9 @@ object Dependency { val d4l = D4L object D4L { - const val sdkUtil = "care.data4life.hc-util-sdk-kmp:util:${Versions.sdkUtil}" - const val sdkObjcUtil = "care.data4life.hc-objc-util-sdk-kmp:util:${Versions.sdkObjcUtil}" - const val sdkTestUtilCoroutine = "care.data4life.hc-test-util-coroutine-sdk-kmp:test-util-coroutine:${Versions.sdkTestUtilCoroutine}" + const val sdkUtil = "care.data4life.hc-util-sdk-kmp:util:${Version.sdkUtil}" + const val sdkObjcUtil = "care.data4life.hc-objc-util-sdk-kmp:objc-util:${Version.sdkObjcUtil}" + const val sdkTestUtilCoroutine = "care.data4life.hc-test-util-sdk-kmp:test-util-coroutine:${Version.sdkTestUtilCoroutine}" } } diff --git a/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Repository.kt b/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Repository.kt index 0b002c5..e2ca277 100644 --- a/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Repository.kt +++ b/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Repository.kt @@ -24,12 +24,16 @@ object Repository { val github = listOf( // GitHub organization, GitHub repository name, Maven dependency group - listOf(gitHubOrgD4l, "hc-util-sdk-kmp", "care.data4life.hc-util-sdk-kmp") + listOf(gitHubOrgD4l, "hc-util-sdk-kmp", "care.data4life.hc-util-sdk-kmp"), + listOf(gitHubOrgD4l, "hc-objc-util-sdk-kmp", "care.data4life.hc-objc-util-sdk-kmp"), + listOf(gitHubOrgD4l, "hc-test-util-sdk-kmp", "care.data4life.hc-test-util-sdk-kmp") ) val d4l = listOf( // Maven dependency group - "care.data4life.hc-util-sdk-kmp" + "care.data4life.hc-util-sdk-kmp", + "care.data4life.hc-objc-util-sdk-kmp", + "care.data4life.hc-test-util-sdk-kmp" ) } diff --git a/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Version.kt b/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Version.kt index fd821f7..c7914af 100644 --- a/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Version.kt +++ b/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Version.kt @@ -41,10 +41,10 @@ object Version { const val sdkUtil = "1.10.0" // https://github.com/d4l-data4life/hc-objc-util-sdk-kmp - const val sdkObjcUtil = "0.1.0" + const val sdkObjcUtil = "d338ad2" // https://github.com/d4l-data4life/hc-test-util-sdk-kmp - const val sdkTestUtilCoroutine = "0.1.0" + const val sdkTestUtilCoroutine = "2f41327" // Android // https://developer.android.com/studio/write/java8-support From c4993ac666b5dab9f74f6c3eeb2856a44aece6ec Mon Sep 17 00:00:00 2001 From: Matthias Geisler Date: Mon, 9 Aug 2021 14:39:25 +0200 Subject: [PATCH 6/7] Deprecate DataRestrictionException --- .../kotlin/care/data4life/sdk/lang/DataRestrictionException.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/error/src/commonMain/kotlin/care/data4life/sdk/lang/DataRestrictionException.kt b/error/src/commonMain/kotlin/care/data4life/sdk/lang/DataRestrictionException.kt index 6cb76d6..348cb42 100644 --- a/error/src/commonMain/kotlin/care/data4life/sdk/lang/DataRestrictionException.kt +++ b/error/src/commonMain/kotlin/care/data4life/sdk/lang/DataRestrictionException.kt @@ -22,6 +22,7 @@ import care.data4life.sdk.config.DataRestriction.DATA_SIZE_MAX_MB * Exception class that will be thrown in case of data restriction violations like file size is too large or * file type is unsupported. */ +@Deprecated(message = "This Error will move with the next release to the top level SDKs, since it is a DomainError.") sealed class DataRestrictionException(message: String? = null, cause: Throwable? = null) : D4LException(message, cause) { From 9477001979c4dd47fd9aede6c4d72adc1a053c67 Mon Sep 17 00:00:00 2001 From: Matthias Geisler Date: Mon, 9 Aug 2021 15:34:05 +0200 Subject: [PATCH 7/7] Bump latest changes --- .../data4life/sdk/result/dependency/Dependency.kt | 12 +----------- .../care/data4life/sdk/result/dependency/Version.kt | 8 ++------ 2 files changed, 3 insertions(+), 17 deletions(-) diff --git a/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Dependency.kt b/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Dependency.kt index d58f099..06d9509 100644 --- a/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Dependency.kt +++ b/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Dependency.kt @@ -16,11 +16,9 @@ package care.data4life.sdk.result.dependency object Dependency { - val kotlin = Kotlin object Kotlin { const val stdLib = multiplatform.kotlin.stdlibJdk - const val reflect = "org.jetbrains.kotlin:kotlin-reflect:${Version.kotlin}" } val multiplatform = Multiplatform @@ -54,13 +52,6 @@ object Dependency { const val stately = "co.touchlab:stately-common:${Version.stately}" } - val ktor = Ktor - - object Ktor { - const val common = "io.ktor:ktor-client-core:${Version.ktor}" - const val mock = "io.ktor:ktor-client-mock:${Version.ktor}" - } - val d4l = D4L object D4L { @@ -111,7 +102,6 @@ object Dependency { "androidx.test.espresso:espresso-intents:${Version.androidXEspresso}" const val espressoWeb = "androidx.test.espresso:espresso-web:${Version.androidXEspresso}" - const val uiAutomator = - "androidx.test.uiautomator:uiautomator:${Version.androidXUiAutomator}" + const val uiAutomator = "androidx.test.uiautomator:uiautomator:${Version.androidXUiAutomator}" } } diff --git a/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Version.kt b/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Version.kt index c7914af..b10d5dc 100644 --- a/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Version.kt +++ b/gradlePlugin/result-dependency/src/main/kotlin/care/data4life/sdk/result/dependency/Version.kt @@ -32,19 +32,15 @@ object Version { // https://github.com/touchlab/Stately const val stately = "1.1.6" - // Network - // https://ktor.io/ - const val ktor = "1.5.4" - // D4L // https://github.com/d4l-data4life/hc-util-sdk-kmp const val sdkUtil = "1.10.0" // https://github.com/d4l-data4life/hc-objc-util-sdk-kmp - const val sdkObjcUtil = "d338ad2" + const val sdkObjcUtil = "0.1.0" // https://github.com/d4l-data4life/hc-test-util-sdk-kmp - const val sdkTestUtilCoroutine = "2f41327" + const val sdkTestUtilCoroutine = "0.1.0" // Android // https://developer.android.com/studio/write/java8-support