From e03d9a9aef34a870618095837bc65d0f735a8a57 Mon Sep 17 00:00:00 2001 From: Torsten Grote <t@grobox.de> Date: Thu, 16 Feb 2023 13:46:24 -0300 Subject: [PATCH] Add gradle-witness --- build.gradle | 3 + gradle/gradle-witness.jar | Bin 0 -> 43880 bytes gradle/variables.gradle | 1 - mailbox-android/build.gradle | 4 +- mailbox-android/witness.gradle | 200 +++++++++++++++++++++++++++++++++ mailbox-cli/build.gradle | 4 +- mailbox-cli/witness.gradle | 95 ++++++++++++++++ mailbox-core/build.gradle | 4 +- mailbox-core/witness.gradle | 185 ++++++++++++++++++++++++++++++ mailbox-lib/build.gradle | 4 +- mailbox-lib/witness.gradle | 111 ++++++++++++++++++ update-dependency-pinning.sh | 22 ++++ 12 files changed, 628 insertions(+), 5 deletions(-) create mode 100644 gradle/gradle-witness.jar create mode 100644 mailbox-android/witness.gradle create mode 100644 mailbox-cli/witness.gradle create mode 100644 mailbox-core/witness.gradle create mode 100644 mailbox-lib/witness.gradle create mode 100755 update-dependency-pinning.sh diff --git a/build.gradle b/build.gradle index b182a1d3..901a765e 100644 --- a/build.gradle +++ b/build.gradle @@ -4,12 +4,15 @@ buildscript { repositories { google() mavenCentral() + gradlePluginPortal() } dependencies { classpath 'com.android.tools.build:gradle:7.3.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version" classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version" + classpath 'org.jlleitschuh.gradle.ktlint:org.jlleitschuh.gradle.ktlint.gradle.plugin:11.1.0' + classpath files('gradle/gradle-witness.jar') } } diff --git a/gradle/gradle-witness.jar b/gradle/gradle-witness.jar new file mode 100644 index 0000000000000000000000000000000000000000..cc43daf14241a204cb89e05d9d7dd148f96c3372 GIT binary patch literal 43880 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 W8V+g=gMmShdL0p<LR3<Zzx^MM*l-j8 literal 0 HcmV?d00001 diff --git a/gradle/variables.gradle b/gradle/variables.gradle index c42ef183..f658f8d9 100644 --- a/gradle/variables.gradle +++ b/gradle/variables.gradle @@ -6,5 +6,4 @@ ext { obfs4_version = '0.0.14' junit_version = '5.7.2' mockk_version = '1.10.4' - ktlint_plugin_version = '10.2.1' } diff --git a/mailbox-android/build.gradle b/mailbox-android/build.gradle index a30bcac0..880a893a 100644 --- a/mailbox-android/build.gradle +++ b/mailbox-android/build.gradle @@ -6,9 +6,11 @@ plugins { id 'kotlin-android' id 'kotlin-kapt' id 'dagger.hilt.android.plugin' - id "org.jlleitschuh.gradle.ktlint" version "$ktlint_plugin_version" + id 'org.jlleitschuh.gradle.ktlint' id 'checkstyle' // only needed for Java code + id 'witness' } +apply from: 'witness.gradle' checkstyle { configFile = new File('../config/checkstyle/checkstyle.xml') diff --git a/mailbox-android/witness.gradle b/mailbox-android/witness.gradle new file mode 100644 index 00000000..0cd0a869 --- /dev/null +++ b/mailbox-android/witness.gradle @@ -0,0 +1,200 @@ +dependencyVerification { + verify = [ + 'androidx.activity:activity-ktx:1.6.1:activity-ktx-1.6.1.aar:0561745b3ddce53db491221b2b0cd3a44cadfb091b85e7831fd8be344f117d6e', + 'androidx.activity:activity:1.6.1:activity-1.6.1.aar:46d9c0e7547ac7276853366a590f891db2a86863387c0738cf1f11731dc8fd7e', + 'androidx.annotation:annotation-experimental:1.1.0:annotation-experimental-1.1.0.aar:0157de61a2064047896a058080f3fd67ba57ad9a94857b3f7a363660243e3f90', + 'androidx.annotation:annotation-experimental:1.3.0:annotation-experimental-1.3.0.aar:abfd29c8556e5bd0325a9f769ab9e9d154ff4a5515c476cdd5a2a8285b1b19dc', + 'androidx.annotation:annotation:1.0.0:annotation-1.0.0.jar:0baae9755f7caf52aa80cd04324b91ba93af55d4d1d17dcc9a7b53d99ef7c016', + 'androidx.annotation:annotation:1.2.0:annotation-1.2.0.jar:9029262bddce116e6d02be499e4afdba21f24c239087b76b3b57d7e98b490a36', + 'androidx.annotation:annotation:1.3.0:annotation-1.3.0.jar:97dc45afefe3a1e421da42b8b6e9f90491477c45fc6178203e3a5e8a05ee8553', + 'androidx.appcompat:appcompat-resources:1.6.1:appcompat-resources-1.6.1.aar:db915dbf49357863de1669ff9fdd8e9008d65fe357af6cce9ae63043ad5f6617', + 'androidx.appcompat:appcompat:1.6.1:appcompat-1.6.1.aar:7ea5573b93ababd3bd32312451c6ea48a662b03a140dda81aebe75776a20a422', + 'androidx.arch.core:core-common:2.1.0:core-common-2.1.0.jar:fe1237bf029d063e7f29fe39aeaf73ef74c8b0a3658486fc29d3c54326653889', + 'androidx.arch.core:core-runtime:2.1.0:core-runtime-2.1.0.aar:dd77615bd3dd275afb11b62df25bae46b10b4a117cd37943af45bdcbf8755852', + 'androidx.cardview:cardview:1.0.0:cardview-1.0.0.aar:1193c04c22a3d6b5946dae9f4e8c59d6adde6a71b6bd5d87fb99d82dda1afec7', + 'androidx.collection:collection-ktx:1.1.0:collection-ktx-1.1.0.jar:2bfc54475c047131913361f56d0f7f019c6e5bee53eeb0eb7d94a7c499a05227', + 'androidx.collection:collection:1.1.0:collection-1.1.0.jar:632a0e5407461de774409352940e292a291037724207a787820c77daf7d33b72', + 'androidx.concurrent:concurrent-futures:1.0.0:concurrent-futures-1.0.0.jar:5595a40e278a7b39fa78a09490e3d7f3faa95c7b01447148bd38b5ade0605c35', + 'androidx.concurrent:concurrent-futures:1.1.0:concurrent-futures-1.1.0.jar:0ce067c514a0d1049d1bebdf709e344ed3266fe9744275682937cdcb13334e9e', + 'androidx.constraintlayout:constraintlayout-core:1.0.4:constraintlayout-core-1.0.4.jar:3e477f4de231e58b25f5a992f3be45e97d332c34a39a9e3e7d4b78ae0ac2256f', + 'androidx.constraintlayout:constraintlayout:2.1.4:constraintlayout-2.1.4.aar:0df714c0b51e54710ebf746eb469d333176bbb3cb29f80775dc3ca4eb3162512', + 'androidx.coordinatorlayout:coordinatorlayout:1.1.0:coordinatorlayout-1.1.0.aar:44a9e30abf56af1025c52a0af506fee9c4131aa55efda52f9fd9451211c5e8cb', + 'androidx.core:core-ktx:1.2.0:core-ktx-1.2.0.aar:dcb74d510d552b35eff73b0dd27b829649535f3902e5b5a1f26040383c10a940', + 'androidx.core:core-ktx:1.9.0:core-ktx-1.9.0.aar:1542a1df7be908c95fee91b8dbc03fd974f53f11d84a85d881f95a52551c4051', + 'androidx.core:core:1.9.0:core-1.9.0.aar:8bda3ee3a88887d54f6679fb6b6cd788629f73234ac91c8bbed924e721ec85b8', + 'androidx.cursoradapter:cursoradapter:1.0.0:cursoradapter-1.0.0.aar:a81c8fe78815fa47df5b749deb52727ad11f9397da58b16017f4eb2c11e28564', + 'androidx.customview:customview:1.1.0:customview-1.1.0.aar:01f76ab043770a97b054046f9815717b82ce0355c02967d16c61981359dc189a', + 'androidx.databinding:viewbinding:7.3.1:viewbinding-7.3.1.aar:fdb16459f0f3f15aeff264ba645c8f41173bd9dd3a398af2d97f323b08870363', + 'androidx.documentfile:documentfile:1.0.0:documentfile-1.0.0.aar:865a061ef2fad16522f8433536b8d47208c46ff7c7745197dfa1eeb481869487', + 'androidx.drawerlayout:drawerlayout:1.1.1:drawerlayout-1.1.1.aar:2c5f0dca378eb78ca2c4403f9889c77daa3059302260f26a07fe9f63c08926fe', + 'androidx.dynamicanimation:dynamicanimation:1.0.0:dynamicanimation-1.0.0.aar:ce005162c229bf308d2d5b12fb6cad0874069cbbeaccee63a8193bd08d40de04', + 'androidx.emoji2:emoji2-views-helper:1.2.0:emoji2-views-helper-1.2.0.aar:7ffa4d464d9db259fca0cdb50fbd4ab63d6872bcda59468b9f7555504c7d5ac4', + 'androidx.emoji2:emoji2:1.2.0:emoji2-1.2.0.aar:f31a06c150ecb03073f55a6f7b0b74a240a6a8d727c14ce76726d020570dfa8c', + 'androidx.fragment:fragment-ktx:1.5.5:fragment-ktx-1.5.5.aar:9a7064335312237b45cda04b898139e71361eb7288ec8b2a38c4bdb4befe088e', + 'androidx.fragment:fragment:1.5.5:fragment-1.5.5.aar:e0a3174fed034556addf6d5beab068cf6b1e2da9db55ea512ba45cdb755c82a3', + 'androidx.interpolator:interpolator:1.0.0:interpolator-1.0.0.aar:33193135a64fe21fa2c35eec6688f1a76e512606c0fc83dc1b689e37add7732a', + 'androidx.legacy:legacy-support-core-utils:1.0.0:legacy-support-core-utils-1.0.0.aar:a7edcf01d5b52b3034073027bc4775b78a4764bb6202bb91d61c829add8dd1c7', + 'androidx.lifecycle:lifecycle-common-java8:2.5.1:lifecycle-common-java8-2.5.1.jar:69e1a62e5752ca3f43fb1607f161379bbe88b64af89c1a543c126160adf7cc53', + 'androidx.lifecycle:lifecycle-common:2.3.1:lifecycle-common-2.3.1.jar:15848fb56db32f4c7cdc72b324003183d52a4884d6bf09be708ac7f587d139b5', + 'androidx.lifecycle:lifecycle-common:2.5.1:lifecycle-common-2.5.1.jar:20ad1520f625cf455e6afd7290988306d3a9886efa993e0860fbabf4bb3f7bda', + 'androidx.lifecycle:lifecycle-livedata-core-ktx:2.5.1:lifecycle-livedata-core-ktx-2.5.1.aar:95c235e6f33e7f201e9d24cd5e7095ed0ae1e5d2cb4778a6daa29671aa1fc388', + 'androidx.lifecycle:lifecycle-livedata-core:2.5.1:lifecycle-livedata-core-2.5.1.aar:ee792103ca248bfaf150c45a93871e4cf7e8cebab990e0f62f7de5d4ff2f209f', + 'androidx.lifecycle:lifecycle-livedata-ktx:2.5.1:lifecycle-livedata-ktx-2.5.1.aar:bf9193356d0d66248ede7e41f1cc242d0c60a64a75e67a777375f8d640e7cdf0', + 'androidx.lifecycle:lifecycle-livedata:2.5.1:lifecycle-livedata-2.5.1.aar:8ad18cf18a8f82d77b11aab49cf9b9b3d418e5f564b216e91d815cf038cefdfb', + 'androidx.lifecycle:lifecycle-process:2.4.1:lifecycle-process-2.4.1.aar:db649b3efa24e31052145310b002db91da346b3f89c093ec38c3046db45e794e', + 'androidx.lifecycle:lifecycle-runtime-ktx:2.5.1:lifecycle-runtime-ktx-2.5.1.aar:b3988ae01aae021ac666f232b85f88e8a75cacb2ac7bd6749cab73972540ce07', + 'androidx.lifecycle:lifecycle-runtime:2.5.1:lifecycle-runtime-2.5.1.aar:33b0d73dc2f028fceb3599bacabe563c3db6d26f3513d889595863536a4ac8c0', + 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1:lifecycle-viewmodel-ktx-2.5.1.aar:30eecb351d81f0c429e186e65a892a42ce1d5bc5c80420bfece4ae279333023d', + 'androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1:lifecycle-viewmodel-savedstate-2.5.1.aar:8481141f97f0e6213dd33fcc89a784c4bd11a6ff7d4779a1cf6a0e9fbdbf24e0', + 'androidx.lifecycle:lifecycle-viewmodel:2.5.1:lifecycle-viewmodel-2.5.1.aar:14a27d5fb8a1436b1b7dec18bebaa66c830cdbbc8e28a81ce5f85b7c33b3ae9d', + 'androidx.loader:loader:1.0.0:loader-1.0.0.aar:11f735cb3b55c458d470bed9e25254375b518b4b1bad6926783a7026db0f5025', + 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0:localbroadcastmanager-1.0.0.aar:e71c328ceef5c4a7d76f2d86df1b65d65fe2acf868b1a4efd84a3f34336186d8', + 'androidx.multidex:multidex-instrumentation:2.0.0:multidex-instrumentation-2.0.0.aar:fb8115694b1731c23c1bbb628f5baaee37a8f3b50d69a7733b55278e101e1488', + 'androidx.multidex:multidex:2.0.1:multidex-2.0.1.aar:42dd32ff9f97f85771b82a20003a8d70f68ab7b4ba328964312ce0732693db09', + 'androidx.navigation:navigation-common-ktx:2.5.3:navigation-common-ktx-2.5.3.aar:6f5de047a79023c7767f5d27ec8bf8baad24d60659ed9781b021852ec0db6168', + 'androidx.navigation:navigation-common:2.5.3:navigation-common-2.5.3.aar:841406807a7c2254c66460bfb71e65a112a95c84ecd6253302b3657f83332026', + 'androidx.navigation:navigation-fragment-ktx:2.5.3:navigation-fragment-ktx-2.5.3.aar:47d8400282d0360f390c218c3c5206e8f7e8c61257ddac4136d7e1c67c560fa1', + 'androidx.navigation:navigation-fragment:2.5.3:navigation-fragment-2.5.3.aar:8fd447ce032b1850bcded21855061d5dd209bf564dffb3a89451d0e642b26bec', + 'androidx.navigation:navigation-runtime-ktx:2.5.3:navigation-runtime-ktx-2.5.3.aar:9ab94a34966c5501fac62979b96a5d64d1325b62caf707358616cf24df86caae', + 'androidx.navigation:navigation-runtime:2.5.3:navigation-runtime-2.5.3.aar:b57ffe10d3be3fc814ead4df2a40092069aad4741ac26f0a1e763c31144fe120', + 'androidx.navigation:navigation-ui-ktx:2.5.3:navigation-ui-ktx-2.5.3.aar:2443dedf8b4b2fbfd149970c7e4282d04d030614726107c0893fce33aa1870f7', + 'androidx.navigation:navigation-ui:2.5.3:navigation-ui-2.5.3.aar:dcfefbd6274a6249d2843a547a554914fc86dc36479c15a631e33e7f22fc7d35', + 'androidx.preference:preference-ktx:1.2.0:preference-ktx-1.2.0.aar:4c7116888722053aabafb29f020604b02826990c61387d37c0e23509ef17fa83', + 'androidx.preference:preference:1.2.0:preference-1.2.0.aar:c6fea18e055df05e407384a34d78a009f381af0529db6a7622ab2334b72fed7b', + 'androidx.print:print:1.0.0:print-1.0.0.aar:1d5c7f3135a1bba661fc373fd72e11eb0a4adbb3396787826dd8e4190d5d9edd', + 'androidx.recyclerview:recyclerview:1.1.0:recyclerview-1.1.0.aar:f0d2b5a67d0a91ee1b1c73ef2b636a81f3563925ddd15a1d4e1c41ec28de7a4f', + 'androidx.resourceinspection:resourceinspection-annotation:1.0.1:resourceinspection-annotation-1.0.1.jar:8cff870ec6fb31db48a52f4a792335b4bf8de07e03bd37823181526433ccd5cb', + 'androidx.savedstate:savedstate-ktx:1.2.0:savedstate-ktx-1.2.0.aar:43112928d3cbb108801ee11130f303404bc4892cf78908811568195107bba7fe', + 'androidx.savedstate:savedstate:1.2.0:savedstate-1.2.0.aar:2de528d6898e95ef020d22d9ffdf9d1f77cbdd93f92d39dfaa5d5c43b0c311c8', + 'androidx.slidingpanelayout:slidingpanelayout:1.2.0:slidingpanelayout-1.2.0.aar:5f53339be2a4f90a9abea3571dd59e70a8a49e7f15dd82974a3898b4652e8714', + 'androidx.startup:startup-runtime:1.1.1:startup-runtime-1.1.1.aar:e0a6329a371262fe4c450372b70fdaf33b769ef6917094723787cfce896b1dd3', + 'androidx.test.espresso:espresso-core:3.5.1:espresso-core-3.5.1.aar:34b0493f4e002f205d961e562add0c0c31bb0acc657e89d89d4b188ac13f242c', + 'androidx.test.espresso:espresso-idling-resource:3.5.1:espresso-idling-resource-3.5.1.aar:84fb8e2f5eda937771bee28582f5d2cfa61b0e9438d02041ca61b81e3dac3c87', + 'androidx.test.ext:junit:1.1.5:junit-1.1.5.aar:4307c0e60f5d701db9c59bcd9115af705113c36a9132fa3dbad58db1294e9bfd', + 'androidx.test.services:storage:1.4.2:storage-1.4.2.aar:b34861f0cd920cb1089f08c3f27e5865b7f920284cc45f4ed12ef8d6980dac48', + 'androidx.test:annotation:1.0.1:annotation-1.0.1.aar:c0754928effe1968c3a9a7b55d1dfc7ceb1e1e7c9f3f09f98afd42431f712492', + 'androidx.test:core:1.5.0:core-1.5.0.aar:2c06715c0d0843cee2143ab8bb322bb3f34d5247630402fc8c1b6a0eafa15b9f', + 'androidx.test:monitor:1.6.1:monitor-1.6.1.aar:2985ce8556989baf7c84342e7f687713c037a39a922e614d1a3ddf1ca3777079', + 'androidx.test:runner:1.5.2:runner-1.5.2.aar:36cd6bc876daa1f183ccd11f9898e094c71f06960fde85a373422959613a44d6', + 'androidx.tracing:tracing:1.0.0:tracing-1.0.0.aar:07b8b6139665b884a162eccf97891ca50f7f56831233bf25168ae04f7b568612', + 'androidx.transition:transition:1.2.0:transition-1.2.0.aar:a1e059b3bc0b43a58dec0efecdcaa89c82d2bca552ea5bacf6656c46e853157e', + 'androidx.transition:transition:1.4.1:transition-1.4.1.aar:36d28d9ec33a8c64313842bce99c95736da5b27a6b3a513639050de82f075726', + 'androidx.vectordrawable:vectordrawable-animated:1.1.0:vectordrawable-animated-1.1.0.aar:76da2c502371d9c38054df5e2b248d00da87809ed058f3363eae87ce5e2403f8', + 'androidx.vectordrawable:vectordrawable:1.1.0:vectordrawable-1.1.0.aar:46fd633ac01b49b7fcabc263bf098c5a8b9e9a69774d234edcca04fb02df8e26', + 'androidx.versionedparcelable:versionedparcelable:1.1.1:versionedparcelable-1.1.1.aar:57e8d93260d18d5b9007c9eed3c64ad159de90c8609ebfc74a347cbd514535a4', + 'androidx.viewpager2:viewpager2:1.0.0:viewpager2-1.0.0.aar:e95c0031d4cc247cd48196c6287e58d2cee54d9c79b85afea7c90920330275af', + 'androidx.viewpager:viewpager:1.0.0:viewpager-1.0.0.aar:147af4e14a1984010d8f155e5e19d781f03c1d70dfed02a8e0d18428b8fc8682', + 'androidx.window:window:1.0.0:window-1.0.0.aar:3212985be4127373ca4d0ea7f8b81a250ae2105e924f7940105d067a0f9ac130', + 'antlr:antlr:2.7.7:antlr-2.7.7.jar:88fbda4b912596b9f56e8e12e580cc954bacfb51776ecfddd3e18fc1cf56dc4c', + 'com.android.tools:desugar_jdk_libs:1.2.2:desugar_jdk_libs-1.2.2.jar:563069c5ae127e5b3dff27aedd499271871e2eebca9830b18715c6726a6d1602', + 'com.android.tools:desugar_jdk_libs_configuration:1.2.2:desugar_jdk_libs_configuration-1.2.2.jar:38a4386075f6e7b03dfee1cdcd7f2dd4de8e6d11d68bd4d9fccf44872bd0f4b0', + 'com.github.shyiko.klob:klob:0.2.1:klob-0.2.1.jar:2f6174e3049008f263fd832813390df645ac5c7cfa79f170ace58690810476f2', + 'com.github.tony19:logback-android:2.0.1:logback-android-2.0.1.aar:3101005c17a7324515f74bec485d1566c3caedbc078d9dfa349354fd7859e368', + 'com.google.android.material:material:1.8.0:material-1.8.0.aar:adbec47686bc0c85cdcb2a9ec12a24f9c2aede17176f0b06e3683479db4792a7', + 'com.google.code.findbugs:jsr305:2.0.2:jsr305-2.0.2.jar:1e7f53fa5b8b5c807e986ba335665da03f18d660802d8bf061823089d1bee468', + 'com.google.code.findbugs:jsr305:3.0.2:jsr305-3.0.2.jar:766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7', + 'com.google.dagger:dagger-compiler:2.44.2:dagger-compiler-2.44.2.jar:6a3377f31695b9a53d47012a47e844432f7a6b9159fbf22ec10203de848de770', + 'com.google.dagger:dagger-lint-aar:2.44.2:dagger-lint-aar-2.44.2.aar:b7c63103e4705f07c989abb90bc2ba3438924b4b9be5e59828172bcb597c79e3', + 'com.google.dagger:dagger-producers:2.44.2:dagger-producers-2.44.2.jar:01cf6464bb5c551860936ae161f45f153298d1e11c8dd3a81c0d7340ed68c1cc', + 'com.google.dagger:dagger-spi:2.44.2:dagger-spi-2.44.2.jar:1fe86708acd729fa3322ac5968e5e835bb94a6cabe7991d6713e0cbf321e5e9b', + 'com.google.dagger:dagger:2.44.2:dagger-2.44.2.jar:b6d35d56b47cbfc3e484f678d0bacb497c6c0ec2cc2a5e180d79d0788d313ab8', + 'com.google.dagger:hilt-android:2.44.2:hilt-android-2.44.2.aar:736fa123fb6c887c4f78d777ea6bfcab379cce6227f0c34b93eb93d6eacd8660', + 'com.google.dagger:hilt-compiler:2.44.2:hilt-compiler-2.44.2.jar:76c59e60f045923f978143bd37aaef2274d344dc9bdeecafb290bc66de7c10b2', + 'com.google.dagger:hilt-core:2.44.2:hilt-core-2.44.2.jar:0df25c96836cc95cb7086cfe402a6145e95357a03b3ba16f8e4d3b237470a3fb', + 'com.google.devtools.ksp:symbol-processing-api:1.7.0-1.0.6:symbol-processing-api-1.7.0-1.0.6.jar:adc29417be5ca9ff42118105fea4e36d9ef44987abfc41432309371a60198941', + 'com.google.errorprone:error_prone_annotations:2.15.0:error_prone_annotations-2.15.0.jar:067047714349e7789a5bdbfad9d1c0af9f3a1eb28c55a0ee3f68e682f905c4eb', + 'com.google.errorprone:error_prone_annotations:2.3.4:error_prone_annotations-2.3.4.jar:baf7d6ea97ce606c53e11b6854ba5f2ce7ef5c24dddf0afa18d1260bd25b002c', + 'com.google.errorprone:error_prone_annotations:2.7.1:error_prone_annotations-2.7.1.jar:cd5257c08a246cf8628817ae71cb822be192ef91f6881ca4a3fcff4f1de1cff3', + 'com.google.errorprone:javac-shaded:9-dev-r4023-3:javac-shaded-9-dev-r4023-3.jar:65bfccf60986c47fbc17c9ebab0be626afc41741e0a6ec7109e0768817a36f30', + 'com.google.googlejavaformat:google-java-format:1.5:google-java-format-1.5.jar:aa19ad7850fb85178aa22f2fddb163b84d6ce4d0035872f30d4408195ca1144e', + 'com.google.guava:failureaccess:1.0.1:failureaccess-1.0.1.jar:a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26', + 'com.google.guava:guava:29.0-jre:guava-29.0-jre.jar:b22c5fb66d61e7b9522531d04b2f915b5158e80aa0b40ee7282c8bfb07b0da25', + 'com.google.guava:guava:31.0.1-jre:guava-31.0.1-jre.jar:d5be94d65e87bd219fb3193ad1517baa55a3b88fc91d21cf735826ab5af087b9', + 'com.google.guava:listenablefuture:1.0:listenablefuture-1.0.jar:e4ad7607e5c0477c6f890ef26a49cb8d1bb4dffb650bab4502afee64644e3069', + 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava:listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99', + 'com.google.j2objc:j2objc-annotations:1.3:j2objc-annotations-1.3.jar:21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b', + 'com.pinterest.ktlint:ktlint-core:0.43.2:ktlint-core-0.43.2.jar:401515a76b780a32ef9dfeaf69f77316934c4bb90f339488638311789eca7a1a', + 'com.pinterest.ktlint:ktlint-reporter-baseline:0.43.2:ktlint-reporter-baseline-0.43.2.jar:733ee7e2cadb321d6597b3501c70c7da73117adaa0c6bc084dfc16c455d68806', + 'com.pinterest.ktlint:ktlint-reporter-checkstyle:0.43.2:ktlint-reporter-checkstyle-0.43.2.jar:becafb4006b9f2e82c99749864a1a8de340ee84ac7271631a68981a44f51e808', + 'com.pinterest.ktlint:ktlint-reporter-html:0.43.2:ktlint-reporter-html-0.43.2.jar:800392e150d3266e72ca53c6ccca3136d4e26445dd9216c6ac6cfc1ba3afafe5', + 'com.pinterest.ktlint:ktlint-reporter-json:0.43.2:ktlint-reporter-json-0.43.2.jar:9d4a94190d96d671000a06a50c9d1ce111d0dcf629bef8b4f0221a9e3f3699a0', + 'com.pinterest.ktlint:ktlint-reporter-plain:0.43.2:ktlint-reporter-plain-0.43.2.jar:1cab63f431ec4e9463df7a767f131ccfa8d76259c01fecc63a4c000063e8ee43', + 'com.pinterest.ktlint:ktlint-reporter-sarif:0.43.2:ktlint-reporter-sarif-0.43.2.jar:ed0046aaa4a2e4544197bfdccf88d472ef413a55ad05b6dc8aae41338e9d3748', + 'com.pinterest.ktlint:ktlint-ruleset-experimental:0.43.2:ktlint-ruleset-experimental-0.43.2.jar:d89e0edcdca0ae375c090565e323520ab5d424d82fd6ac6290ea986d360f0b11', + 'com.pinterest.ktlint:ktlint-ruleset-standard:0.43.2:ktlint-ruleset-standard-0.43.2.jar:6774dc9d42aa7c7fdd4a7f3732b56fdab99ba78ce0c4eb5159036525657d0014', + 'com.pinterest.ktlint:ktlint-ruleset-test:0.43.2:ktlint-ruleset-test-0.43.2.jar:7270c4d98b2cda268c25397a02b7dea0ab8cb923958cb3853121e0d9366ce797', + 'com.pinterest:ktlint:0.43.2:ktlint-0.43.2.jar:99ec69ef0628695c24dbbc2cc4b8d7c61a754697d624f5233fc65f43faf2d235', + 'com.puppycrawl.tools:checkstyle:8.37:checkstyle-8.37.jar:3c8d29393129090b9f46a7f6852a70ff1e9d7bd581343e3d0fb895ad33c524fa', + 'com.squareup:javapoet:1.13.0:javapoet-1.13.0.jar:4c7517e848a71b36d069d12bb3bf46a70fd4cda3105d822b0ed2e19c00b69291', + 'com.squareup:javawriter:2.1.1:javawriter-2.1.1.jar:f699823d0081f69cbb676c1845ea222e0ada79bc88a53e5d22d8bd02d328f57e', + 'com.squareup:kotlinpoet:1.11.0:kotlinpoet-1.11.0.jar:2887ada1ca03dd83baa2758640d87e840d1907564db0ef88d2289c868a980492', + 'commons-beanutils:commons-beanutils:1.9.4:commons-beanutils-1.9.4.jar:7d938c81789028045c08c065e94be75fc280527620d5bd62b519d5838532368a', + 'commons-collections:commons-collections:3.2.2:commons-collections-3.2.2.jar:eeeae917917144a68a741d4c0dff66aa5c5c5fd85593ff217bced3fc8ca783b8', + 'info.picocli:picocli:3.9.6:picocli-3.9.6.jar:9442a6a18d869354a0d922ba37b40032aa1b0a172f414a7a644de39d1972f1f4', + 'info.picocli:picocli:4.5.2:picocli-4.5.2.jar:b4395e9a67932616efd2245d984bf5fcd453c2c5049558c3ce959ac2af4d3fac', + 'io.github.detekt.sarif4k:sarif4k:0.0.1:sarif4k-0.0.1.jar:41ec72cf2521783224581c76aaa7e97d4a50f396a66d642500ff4777b395a376', + 'javax.annotation:javax.annotation-api:1.3.2:javax.annotation-api-1.3.2.jar:e04ba5195bcd555dc95650f7cc614d151e4bcd52d29a10b8aa2197f3ab89ab9b', + 'javax.inject:javax.inject:1:javax.inject-1.jar:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff', + 'junit:junit:4.13.2:junit-4.13.2.jar:8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3', + 'net.java.dev.jna:jna:5.6.0:jna-5.6.0.jar:5557e235a8aa2f9766d5dc609d67948f2a8832c2d796cea9ef1d6cbe0b3b7eaf', + 'net.ltgt.gradle.incap:incap:0.2:incap-0.2.jar:b625b9806b0f1e4bc7a2e3457119488de3cd57ea20feedd513db070a573a4ffd', + 'net.sf.saxon:Saxon-HE:10.3:Saxon-HE-10.3.jar:660a89162a577cfd73bc3db3c53cbec7e82d4ab2051247f31927f135aff7c908', + 'org.antlr:antlr4-runtime:4.8-1:antlr4-runtime-4.8-1.jar:bdcf58107ba1a499b25e3db205086767dd409d3f5ab12c90f2d429f55ec774a6', + 'org.briarproject:dont-kill-me-lib:0.2.5:dont-kill-me-lib-0.2.5.aar:55cd9d511b7016ab573905d64bc54e222e2633144d36389192b8b34485b31b9d', + 'org.briarproject:obfs4proxy-android:0.0.14:obfs4proxy-android-0.0.14.jar:ad9b1ee4757b05867a19e993147bbb018bddd1f26ce3da746d5f037d5991a8c8', + 'org.briarproject:tor-android:0.4.7.13:tor-android-0.4.7.13.jar:7852aab7d2298b80878c7719f34ce665725b494d673ecf2e6f9e697564638cc6', + 'org.checkerframework:checker-compat-qual:2.5.5:checker-compat-qual-2.5.5.jar:11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a', + 'org.checkerframework:checker-qual:2.11.1:checker-qual-2.11.1.jar:015224a4b1dc6de6da053273d4da7d39cfea20e63038169fc45ac0d1dc9c5938', + 'org.checkerframework:checker-qual:3.12.0:checker-qual-3.12.0.jar:ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb', + 'org.ec4j.core:ec4j-core:0.3.0:ec4j-core-0.3.0.jar:cadef0207077074b11a12be442f89ab6cf93fbc2f848702d9371a9611414d558', + 'org.hamcrest:hamcrest-core:1.3:hamcrest-core-1.3.jar:66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9', + 'org.hamcrest:hamcrest-integration:1.3:hamcrest-integration-1.3.jar:70f418efbb506c5155da5f9a5a33262ea08a9e4d7fea186aa9015c41a7224ac2', + 'org.hamcrest:hamcrest-library:1.3:hamcrest-library-1.3.jar:711d64522f9ec410983bd310934296da134be4254a125080a0416ec178dfad1c', + 'org.jacoco:org.jacoco.agent:0.8.7:org.jacoco.agent-0.8.7.jar:9cbcc986e0fbe821a78ff1f8f7d5216f200e5eb124e7f6837d1dc4a77b28b143', + 'org.jacoco:org.jacoco.ant:0.8.7:org.jacoco.ant-0.8.7.jar:97ca96a382c3f23a44d8eb4c4e6c3742a30cb8005774a76ced0fc4806ce49605', + 'org.jacoco:org.jacoco.core:0.8.7:org.jacoco.core-0.8.7.jar:ad7739b5fb5969aa1a8aead3d74ed54dc82ed012f1f10f336bd1b96e71c1a13c', + 'org.jacoco:org.jacoco.report:0.8.7:org.jacoco.report-0.8.7.jar:cc89258623700a6c932592153cb528785876b6da183d5431f97efbba6f020e5b', + 'org.javassist:javassist:3.26.0-GA:javassist-3.26.0-GA.jar:ca5625874ff0a34f2422173a511b33c225218c146a3c961b18940efff430462d', + 'org.jetbrains.intellij.deps:trove4j:1.0.20181211:trove4j-1.0.20181211.jar:affb7c85a3c87bdcf69ff1dbb84de11f63dc931293934bc08cd7ab18de083601', + 'org.jetbrains.intellij.deps:trove4j:1.0.20200330:trove4j-1.0.20200330.jar:c5fd725bffab51846bf3c77db1383c60aaaebfe1b7fe2f00d23fe1b7df0a439d', + 'org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.7.22:kotlin-annotation-processing-gradle-1.7.22.jar:782a1df09fb59c25599c80b264b20aec836957254ba3abcfc4f7484c2e556707', + 'org.jetbrains.kotlin:kotlin-compiler-embeddable:1.5.31:kotlin-compiler-embeddable-1.5.31.jar:e39811a9e4c102e779c659eefe90b041c66ce87578c1bfdac07cf504d1551745', + 'org.jetbrains.kotlin:kotlin-compiler-embeddable:1.7.22:kotlin-compiler-embeddable-1.7.22.jar:87e5a8ba0eba2feb087ba94ceb9c28d0096fc1f6f3b55ef45a9d103ed5ef76c7', + 'org.jetbrains.kotlin:kotlin-daemon-embeddable:1.5.31:kotlin-daemon-embeddable-1.5.31.jar:f61eaf89e5e3848631650b25cdfb66fe8cae0281a054d9d986716000a15ba8d6', + 'org.jetbrains.kotlin:kotlin-daemon-embeddable:1.7.22:kotlin-daemon-embeddable-1.7.22.jar:4ce267ac5e84a9532d7269fcbc732ebab27e0d76ade71aeeedb369f746b281be', + 'org.jetbrains.kotlin:kotlin-klib-commonizer-embeddable:1.7.22:kotlin-klib-commonizer-embeddable-1.7.22.jar:de8c31a8092fb68ef80f34a3cbdfb1dcd40207b67cff87d40b5c479ec6a68ece', + 'org.jetbrains.kotlin:kotlin-reflect:1.5.31:kotlin-reflect-1.5.31.jar:6e0f5490e6b9649ddd2670534e4d3a03bd283c3358b8eef5d1304fd5f8a5a4fb', + 'org.jetbrains.kotlin:kotlin-reflect:1.6.10:kotlin-reflect-1.6.10.jar:3277ac102ae17aad10a55abec75ff5696c8d109790396434b496e75087854203', + 'org.jetbrains.kotlin:kotlin-reflect:1.7.22:kotlin-reflect-1.7.22.jar:4d4471d1cbc203d3f9e51d6123956dddbb96d5747f1aee02463c7b920feb2baf', + 'org.jetbrains.kotlin:kotlin-script-runtime:1.5.31:kotlin-script-runtime-1.5.31.jar:24e450fee7645ed3590981dddccf397c0d9ebb725815c94c4f555cc3db2f9f96', + 'org.jetbrains.kotlin:kotlin-script-runtime:1.7.22:kotlin-script-runtime-1.7.22.jar:caaa3dd214e8145e7e32deef571640cb65b55909e2af55fc26b30a1acb33930a', + 'org.jetbrains.kotlin:kotlin-stdlib-common:1.5.31:kotlin-stdlib-common-1.5.31.jar:dfa2a18e26b028388ee1968d199bf6f166f737ab7049c25a5e2da614404e22ad', + 'org.jetbrains.kotlin:kotlin-stdlib-common:1.7.0:kotlin-stdlib-common-1.7.0.jar:59c6ff64fe9a6604afce03e8aaa75f83586c6030ac71fb0b34ee7cdefed3618f', + 'org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10:kotlin-stdlib-common-1.7.10.jar:19f102efe9629f8eabc63853ad15c533e47c47f91fca09285c5bde86e59f91d4', + 'org.jetbrains.kotlin:kotlin-stdlib-common:1.7.22:kotlin-stdlib-common-1.7.22.jar:79488cdf284c4b5b3998d302eae9bf0980fa441e3906c6a53d1174f978a3e484', + 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.31:kotlin-stdlib-jdk7-1.5.31.jar:a25bf47353ce899d843cbddee516d621a73473e7fba97f8d0301e7b4aed7c15f', + 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.0:kotlin-stdlib-jdk7-1.7.0.jar:07e91be9b2ca20672d2bdb7e181b766e73453a2da13492b5ddaee8fa47aea239', + 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22:kotlin-stdlib-jdk7-1.7.22.jar:ade7768d98940a303856529af373f75ffd5e2695b4dc198e9b18396afa53f9e0', + 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31:kotlin-stdlib-jdk8-1.5.31.jar:b548f7767aacf029d2417e47440742bd6d3ebede19b60386e23554ce5c4c5fdc', + 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.0:kotlin-stdlib-jdk8-1.7.0.jar:cf058e11db1dfc9944680c8c61b95ac689aaaa8a3eb30bced028100f038f030b', + 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.22:kotlin-stdlib-jdk8-1.7.22.jar:315102ff1cc2e706286b227147b8db23783db911a89298976a90a22e071cd117', + 'org.jetbrains.kotlin:kotlin-stdlib:1.5.31:kotlin-stdlib-1.5.31.jar:4800ceacb2ec0bb9959a087154b8e35318ead1ea4eba32d4bb1b9734222a7e68', + 'org.jetbrains.kotlin:kotlin-stdlib:1.7.0:kotlin-stdlib-1.7.0.jar:aa88e9625577957f3249a46cb6e166ee09b369e600f7a11d148d16b0a6d87f05', + 'org.jetbrains.kotlin:kotlin-stdlib:1.7.10:kotlin-stdlib-1.7.10.jar:e771fe74250a943e8f6346713201ff1d8cb95c3a5d1a91a22b65a9e04f6a8901', + 'org.jetbrains.kotlin:kotlin-stdlib:1.7.22:kotlin-stdlib-1.7.22.jar:f98505f50a6a1c1dc002d6102e4b419af93d011d5a10696e75a38935a96ea92f', + 'org.jetbrains.kotlinx:atomicfu:0.18.5:atomicfu-metadata-0.18.5-all.jar:6890b4702234287cb2e81bdfa2a7bf61f83ef07faa741c7015155226b7832653', + 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1:kotlinx-coroutines-android-1.6.1.jar:961ebde8138779a299430ca325a86e28c490527a87ba518362fa45c44c7e7e95', + 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4:kotlinx-coroutines-android-1.6.4.jar:3fdc0eed5bc4b83ee9622774520a2db25470370eacd1581cac1e37704f095b00', + 'org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4:kotlinx-coroutines-core-jvm-1.6.4.jar:c24c8bb27bb320c4a93871501a7e5e0c61607638907b197aef675513d4c820be', + 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4:kotlinx-coroutines-core-metadata-1.6.4-all.jar:ae24d84fd33c5aaba1564b168142d0f210b0e257e0a0077e32616acc59e67fb7', + 'org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.5.0:kotlinx-metadata-jvm-0.5.0.jar:ca063a96639b08b9eaa0de4d65e899480740a6efbe28ab9a8681a2ced03055a4', + 'org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.1.0:kotlinx-serialization-core-jvm-1.1.0.jar:69d18c700cfdf207b3e9bf6f5d58e7de08482d9e34d7c2a0adcb1db8082df943', + 'org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.1.0:kotlinx-serialization-json-jvm-1.1.0.jar:cea6836d3a3990b7ac59f61a9534a0bf1c8d3932bd206080a3a13622ec7587d1', + 'org.jetbrains:annotations:13.0:annotations-13.0.jar:ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478', + 'org.ow2.asm:asm-analysis:9.1:asm-analysis-9.1.jar:81a88041b1b8beda5a8a99646098046c48709538270c49def68abff25ac3be34', + 'org.ow2.asm:asm-commons:9.1:asm-commons-9.1.jar:afcb26dc1fc12c0c4a99ada670908dd82e18dfc488caf5ee92546996b470c00c', + 'org.ow2.asm:asm-tree:9.1:asm-tree-9.1.jar:fd00afa49e9595d7646205b09cecb4a776a8ff0ba06f2d59b8f7bf9c704b4a73', + 'org.ow2.asm:asm:9.1:asm-9.1.jar:cda4de455fab48ff0bcb7c48b4639447d4de859a7afc30a094a986f0936beba2', + 'org.reflections:reflections:0.9.12:reflections-0.9.12.jar:d168f58d32f2ae7ac5a8d5d9092adeee526c604b41125dcb45eea877960a99cf', + ] +} diff --git a/mailbox-cli/build.gradle b/mailbox-cli/build.gradle index b734a186..64ec1f22 100644 --- a/mailbox-cli/build.gradle +++ b/mailbox-cli/build.gradle @@ -9,8 +9,10 @@ plugins { id 'idea' id 'org.jetbrains.kotlin.jvm' id 'org.jetbrains.kotlin.kapt' - id "org.jlleitschuh.gradle.ktlint" version "$ktlint_plugin_version" + id 'org.jlleitschuh.gradle.ktlint' + id 'witness' } +apply from: 'witness.gradle' sourceCompatibility = 1.8 targetCompatibility = 1.8 diff --git a/mailbox-cli/witness.gradle b/mailbox-cli/witness.gradle new file mode 100644 index 00000000..f32c45a0 --- /dev/null +++ b/mailbox-cli/witness.gradle @@ -0,0 +1,95 @@ +dependencyVerification { + verify = [ + 'ch.qos.logback:logback-classic:1.2.11:logback-classic-1.2.11.jar:4d8e899621a3006c2f66e19feab002b11e6cfc5cb1854fc41f01532c00deb2aa', + 'ch.qos.logback:logback-core:1.2.11:logback-core-1.2.11.jar:6ce1e9397be8298a2e99029f55f955c6fa3cef255171c554d0b9c201cffd0159', + 'com.github.ajalt:clikt:2.2.0:clikt-2.2.0.jar:beb3136d06764ec8ce0810a8fd6c8b7b49d04287d1deef3a07c016e43a458d33', + 'com.github.shyiko.klob:klob:0.2.1:klob-0.2.1.jar:2f6174e3049008f263fd832813390df645ac5c7cfa79f170ace58690810476f2', + 'com.google.code.findbugs:jsr305:3.0.2:jsr305-3.0.2.jar:766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7', + 'com.google.dagger:dagger-compiler:2.44.2:dagger-compiler-2.44.2.jar:6a3377f31695b9a53d47012a47e844432f7a6b9159fbf22ec10203de848de770', + 'com.google.dagger:dagger-producers:2.44.2:dagger-producers-2.44.2.jar:01cf6464bb5c551860936ae161f45f153298d1e11c8dd3a81c0d7340ed68c1cc', + 'com.google.dagger:dagger-spi:2.44.2:dagger-spi-2.44.2.jar:1fe86708acd729fa3322ac5968e5e835bb94a6cabe7991d6713e0cbf321e5e9b', + 'com.google.dagger:dagger:2.44.2:dagger-2.44.2.jar:b6d35d56b47cbfc3e484f678d0bacb497c6c0ec2cc2a5e180d79d0788d313ab8', + 'com.google.dagger:hilt-compiler:2.44.2:hilt-compiler-2.44.2.jar:76c59e60f045923f978143bd37aaef2274d344dc9bdeecafb290bc66de7c10b2', + 'com.google.devtools.ksp:symbol-processing-api:1.7.0-1.0.6:symbol-processing-api-1.7.0-1.0.6.jar:adc29417be5ca9ff42118105fea4e36d9ef44987abfc41432309371a60198941', + 'com.google.errorprone:error_prone_annotations:2.7.1:error_prone_annotations-2.7.1.jar:cd5257c08a246cf8628817ae71cb822be192ef91f6881ca4a3fcff4f1de1cff3', + 'com.google.errorprone:javac-shaded:9-dev-r4023-3:javac-shaded-9-dev-r4023-3.jar:65bfccf60986c47fbc17c9ebab0be626afc41741e0a6ec7109e0768817a36f30', + 'com.google.googlejavaformat:google-java-format:1.5:google-java-format-1.5.jar:aa19ad7850fb85178aa22f2fddb163b84d6ce4d0035872f30d4408195ca1144e', + 'com.google.guava:failureaccess:1.0.1:failureaccess-1.0.1.jar:a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26', + 'com.google.guava:guava:31.0.1-jre:guava-31.0.1-jre.jar:d5be94d65e87bd219fb3193ad1517baa55a3b88fc91d21cf735826ab5af087b9', + 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava:listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99', + 'com.google.j2objc:j2objc-annotations:1.3:j2objc-annotations-1.3.jar:21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b', + 'com.pinterest.ktlint:ktlint-core:0.43.2:ktlint-core-0.43.2.jar:401515a76b780a32ef9dfeaf69f77316934c4bb90f339488638311789eca7a1a', + 'com.pinterest.ktlint:ktlint-reporter-baseline:0.43.2:ktlint-reporter-baseline-0.43.2.jar:733ee7e2cadb321d6597b3501c70c7da73117adaa0c6bc084dfc16c455d68806', + 'com.pinterest.ktlint:ktlint-reporter-checkstyle:0.43.2:ktlint-reporter-checkstyle-0.43.2.jar:becafb4006b9f2e82c99749864a1a8de340ee84ac7271631a68981a44f51e808', + 'com.pinterest.ktlint:ktlint-reporter-html:0.43.2:ktlint-reporter-html-0.43.2.jar:800392e150d3266e72ca53c6ccca3136d4e26445dd9216c6ac6cfc1ba3afafe5', + 'com.pinterest.ktlint:ktlint-reporter-json:0.43.2:ktlint-reporter-json-0.43.2.jar:9d4a94190d96d671000a06a50c9d1ce111d0dcf629bef8b4f0221a9e3f3699a0', + 'com.pinterest.ktlint:ktlint-reporter-plain:0.43.2:ktlint-reporter-plain-0.43.2.jar:1cab63f431ec4e9463df7a767f131ccfa8d76259c01fecc63a4c000063e8ee43', + 'com.pinterest.ktlint:ktlint-reporter-sarif:0.43.2:ktlint-reporter-sarif-0.43.2.jar:ed0046aaa4a2e4544197bfdccf88d472ef413a55ad05b6dc8aae41338e9d3748', + 'com.pinterest.ktlint:ktlint-ruleset-experimental:0.43.2:ktlint-ruleset-experimental-0.43.2.jar:d89e0edcdca0ae375c090565e323520ab5d424d82fd6ac6290ea986d360f0b11', + 'com.pinterest.ktlint:ktlint-ruleset-standard:0.43.2:ktlint-ruleset-standard-0.43.2.jar:6774dc9d42aa7c7fdd4a7f3732b56fdab99ba78ce0c4eb5159036525657d0014', + 'com.pinterest.ktlint:ktlint-ruleset-test:0.43.2:ktlint-ruleset-test-0.43.2.jar:7270c4d98b2cda268c25397a02b7dea0ab8cb923958cb3853121e0d9366ce797', + 'com.pinterest:ktlint:0.43.2:ktlint-0.43.2.jar:99ec69ef0628695c24dbbc2cc4b8d7c61a754697d624f5233fc65f43faf2d235', + 'com.squareup:javapoet:1.13.0:javapoet-1.13.0.jar:4c7517e848a71b36d069d12bb3bf46a70fd4cda3105d822b0ed2e19c00b69291', + 'com.squareup:kotlinpoet:1.11.0:kotlinpoet-1.11.0.jar:2887ada1ca03dd83baa2758640d87e840d1907564db0ef88d2289c868a980492', + 'info.picocli:picocli:3.9.6:picocli-3.9.6.jar:9442a6a18d869354a0d922ba37b40032aa1b0a172f414a7a644de39d1972f1f4', + 'io.github.detekt.sarif4k:sarif4k:0.0.1:sarif4k-0.0.1.jar:41ec72cf2521783224581c76aaa7e97d4a50f396a66d642500ff4777b395a376', + 'io.mockk:mockk-agent-api:1.10.4:mockk-agent-api-1.10.4.jar:8deb59189b48d5870a746f954ca681424040544812c7ae295f3bef87a9499cfe', + 'io.mockk:mockk-agent-common:1.10.4:mockk-agent-common-1.10.4.jar:13b81a3297a3c15ed9f62b838aaede20347018f07c30cad2ca74a4dd99786f8f', + 'io.mockk:mockk-agent-jvm:1.10.4:mockk-agent-jvm-1.10.4.jar:51eb22de58c44f140384e61878e8c0da0fcf80c60a139d28ef7b027ea4bc2042', + 'io.mockk:mockk-common:1.10.4:mockk-common-1.10.4.jar:aaf3cc99442100767dc72776f250113f992facfb43bf6ba9a5282d1c8aaecd00', + 'io.mockk:mockk-dsl-jvm:1.10.4:mockk-dsl-jvm-1.10.4.jar:2432e2d0dfd31c3cb33e12137b8c712358cb0c4cddbd27b5bd6c55db2068e1a1', + 'io.mockk:mockk-dsl:1.10.4:mockk-dsl-1.10.4.jar:b97d750bebfd7da92a020f5417deface710c58802a78a8fff68661f77eaa3037', + 'io.mockk:mockk:1.10.4:mockk-1.10.4.jar:e26d4eb8c9c0c5ac00acb9bfeedfe0feb10055bf7e80db57539936413ea38f7c', + 'javax.annotation:javax.annotation-api:1.3.2:javax.annotation-api-1.3.2.jar:e04ba5195bcd555dc95650f7cc614d151e4bcd52d29a10b8aa2197f3ab89ab9b', + 'javax.inject:javax.inject:1:javax.inject-1.jar:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff', + 'net.bytebuddy:byte-buddy-agent:1.10.14:byte-buddy-agent-1.10.14.jar:30272167eceb1cb68fa84730a12d1abfd1daed6ae0c19fdefee47a9a9a0cfd33', + 'net.bytebuddy:byte-buddy:1.10.14:byte-buddy-1.10.14.jar:0e6b935bfcb3e451d525956acad53ec86ff916d714abdbd32b3d2039771896f8', + 'net.java.dev.jna:jna:5.6.0:jna-5.6.0.jar:5557e235a8aa2f9766d5dc609d67948f2a8832c2d796cea9ef1d6cbe0b3b7eaf', + 'net.ltgt.gradle.incap:incap:0.2:incap-0.2.jar:b625b9806b0f1e4bc7a2e3457119488de3cd57ea20feedd513db070a573a4ffd', + 'org.apiguardian:apiguardian-api:1.1.0:apiguardian-api-1.1.0.jar:a9aae9ff8ae3e17a2a18f79175e82b16267c246fbbd3ca9dfbbb290b08dcfdd4', + 'org.checkerframework:checker-compat-qual:2.5.5:checker-compat-qual-2.5.5.jar:11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a', + 'org.checkerframework:checker-qual:3.12.0:checker-qual-3.12.0.jar:ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb', + 'org.ec4j.core:ec4j-core:0.3.0:ec4j-core-0.3.0.jar:cadef0207077074b11a12be442f89ab6cf93fbc2f848702d9371a9611414d558', + 'org.jetbrains.intellij.deps:trove4j:1.0.20181211:trove4j-1.0.20181211.jar:affb7c85a3c87bdcf69ff1dbb84de11f63dc931293934bc08cd7ab18de083601', + 'org.jetbrains.intellij.deps:trove4j:1.0.20200330:trove4j-1.0.20200330.jar:c5fd725bffab51846bf3c77db1383c60aaaebfe1b7fe2f00d23fe1b7df0a439d', + 'org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.7.22:kotlin-annotation-processing-gradle-1.7.22.jar:782a1df09fb59c25599c80b264b20aec836957254ba3abcfc4f7484c2e556707', + 'org.jetbrains.kotlin:kotlin-compiler-embeddable:1.5.31:kotlin-compiler-embeddable-1.5.31.jar:e39811a9e4c102e779c659eefe90b041c66ce87578c1bfdac07cf504d1551745', + 'org.jetbrains.kotlin:kotlin-compiler-embeddable:1.7.22:kotlin-compiler-embeddable-1.7.22.jar:87e5a8ba0eba2feb087ba94ceb9c28d0096fc1f6f3b55ef45a9d103ed5ef76c7', + 'org.jetbrains.kotlin:kotlin-daemon-embeddable:1.5.31:kotlin-daemon-embeddable-1.5.31.jar:f61eaf89e5e3848631650b25cdfb66fe8cae0281a054d9d986716000a15ba8d6', + 'org.jetbrains.kotlin:kotlin-daemon-embeddable:1.7.22:kotlin-daemon-embeddable-1.7.22.jar:4ce267ac5e84a9532d7269fcbc732ebab27e0d76ade71aeeedb369f746b281be', + 'org.jetbrains.kotlin:kotlin-klib-commonizer-embeddable:1.7.22:kotlin-klib-commonizer-embeddable-1.7.22.jar:de8c31a8092fb68ef80f34a3cbdfb1dcd40207b67cff87d40b5c479ec6a68ece', + 'org.jetbrains.kotlin:kotlin-reflect:1.5.31:kotlin-reflect-1.5.31.jar:6e0f5490e6b9649ddd2670534e4d3a03bd283c3358b8eef5d1304fd5f8a5a4fb', + 'org.jetbrains.kotlin:kotlin-reflect:1.6.10:kotlin-reflect-1.6.10.jar:3277ac102ae17aad10a55abec75ff5696c8d109790396434b496e75087854203', + 'org.jetbrains.kotlin:kotlin-reflect:1.7.22:kotlin-reflect-1.7.22.jar:4d4471d1cbc203d3f9e51d6123956dddbb96d5747f1aee02463c7b920feb2baf', + 'org.jetbrains.kotlin:kotlin-script-runtime:1.5.31:kotlin-script-runtime-1.5.31.jar:24e450fee7645ed3590981dddccf397c0d9ebb725815c94c4f555cc3db2f9f96', + 'org.jetbrains.kotlin:kotlin-script-runtime:1.7.22:kotlin-script-runtime-1.7.22.jar:caaa3dd214e8145e7e32deef571640cb65b55909e2af55fc26b30a1acb33930a', + 'org.jetbrains.kotlin:kotlin-scripting-common:1.7.22:kotlin-scripting-common-1.7.22.jar:98596c09f94c024685a50db5bc3d0d47dee104da9987d41e4f9ca1c72fa2dfca', + 'org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.7.22:kotlin-scripting-compiler-embeddable-1.7.22.jar:0e28cfe570bebd8c3962bdefed1011905673ab8095312703fa22805efe3c5913', + 'org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.7.22:kotlin-scripting-compiler-impl-embeddable-1.7.22.jar:c8667734536a5661230bd7732809385827e087a75f8088958d384042581c3633', + 'org.jetbrains.kotlin:kotlin-scripting-jvm:1.7.22:kotlin-scripting-jvm-1.7.22.jar:f5410993723ff3437638b4acfee9cf5da373091459024fa8a54e1d9ad101c754', + 'org.jetbrains.kotlin:kotlin-stdlib-common:1.5.31:kotlin-stdlib-common-1.5.31.jar:dfa2a18e26b028388ee1968d199bf6f166f737ab7049c25a5e2da614404e22ad', + 'org.jetbrains.kotlin:kotlin-stdlib-common:1.7.0:kotlin-stdlib-common-1.7.0.jar:59c6ff64fe9a6604afce03e8aaa75f83586c6030ac71fb0b34ee7cdefed3618f', + 'org.jetbrains.kotlin:kotlin-stdlib-common:1.7.22:kotlin-stdlib-common-1.7.22.jar:79488cdf284c4b5b3998d302eae9bf0980fa441e3906c6a53d1174f978a3e484', + 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.31:kotlin-stdlib-jdk7-1.5.31.jar:a25bf47353ce899d843cbddee516d621a73473e7fba97f8d0301e7b4aed7c15f', + 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.0:kotlin-stdlib-jdk7-1.7.0.jar:07e91be9b2ca20672d2bdb7e181b766e73453a2da13492b5ddaee8fa47aea239', + 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22:kotlin-stdlib-jdk7-1.7.22.jar:ade7768d98940a303856529af373f75ffd5e2695b4dc198e9b18396afa53f9e0', + 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31:kotlin-stdlib-jdk8-1.5.31.jar:b548f7767aacf029d2417e47440742bd6d3ebede19b60386e23554ce5c4c5fdc', + 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.0:kotlin-stdlib-jdk8-1.7.0.jar:cf058e11db1dfc9944680c8c61b95ac689aaaa8a3eb30bced028100f038f030b', + 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.22:kotlin-stdlib-jdk8-1.7.22.jar:315102ff1cc2e706286b227147b8db23783db911a89298976a90a22e071cd117', + 'org.jetbrains.kotlin:kotlin-stdlib:1.5.31:kotlin-stdlib-1.5.31.jar:4800ceacb2ec0bb9959a087154b8e35318ead1ea4eba32d4bb1b9734222a7e68', + 'org.jetbrains.kotlin:kotlin-stdlib:1.7.0:kotlin-stdlib-1.7.0.jar:aa88e9625577957f3249a46cb6e166ee09b369e600f7a11d148d16b0a6d87f05', + 'org.jetbrains.kotlin:kotlin-stdlib:1.7.22:kotlin-stdlib-1.7.22.jar:f98505f50a6a1c1dc002d6102e4b419af93d011d5a10696e75a38935a96ea92f', + 'org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.5.0:kotlinx-metadata-jvm-0.5.0.jar:ca063a96639b08b9eaa0de4d65e899480740a6efbe28ab9a8681a2ced03055a4', + 'org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.1.0:kotlinx-serialization-core-jvm-1.1.0.jar:69d18c700cfdf207b3e9bf6f5d58e7de08482d9e34d7c2a0adcb1db8082df943', + 'org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.1.0:kotlinx-serialization-json-jvm-1.1.0.jar:cea6836d3a3990b7ac59f61a9534a0bf1c8d3932bd206080a3a13622ec7587d1', + 'org.jetbrains:annotations:13.0:annotations-13.0.jar:ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478', + 'org.junit.jupiter:junit-jupiter-api:5.7.2:junit-jupiter-api-5.7.2.jar:bc98326ecbc501e1860a2bc9780aebe5777bd29cf00059f88c2a56f48fbc9ce6', + 'org.junit.jupiter:junit-jupiter-engine:5.7.2:junit-jupiter-engine-5.7.2.jar:8a35afb26cd5e8393cb763ff13d26a52a507a35c5b2d7650d42024a7226b80db', + 'org.junit.jupiter:junit-jupiter-params:5.7.2:junit-jupiter-params-5.7.2.jar:17569f7da0ce2ebeab875aa8aa79c0f2c42433ea208291e73fc1a3c9d6143115', + 'org.junit.platform:junit-platform-commons:1.7.2:junit-platform-commons-1.7.2.jar:738d0df021a0611fff5d277634e890cc91858fa72227cf0bcf36232a7caf014c', + 'org.junit.platform:junit-platform-engine:1.7.2:junit-platform-engine-1.7.2.jar:abebbfa420fa8ffdc51083c06807e8692dd9bf8c52455dcdb72474ab90425573', + 'org.objenesis:objenesis:3.1:objenesis-3.1.jar:cdb3d038c188de6f46ffd5cd930be2d5e5dba59c53b26437995d534e3db2fb80', + 'org.opentest4j:opentest4j:1.2.0:opentest4j-1.2.0.jar:58812de60898d976fb81ef3b62da05c6604c18fd4a249f5044282479fc286af2', + 'org.slf4j:slf4j-api:1.7.36:slf4j-api-1.7.36.jar:d3ef575e3e4979678dc01bf1dcce51021493b4d11fb7f1be8ad982877c16a1c0', + ] +} diff --git a/mailbox-core/build.gradle b/mailbox-core/build.gradle index b8f62310..ebd57f8c 100644 --- a/mailbox-core/build.gradle +++ b/mailbox-core/build.gradle @@ -3,9 +3,11 @@ plugins { id 'idea' id 'org.jetbrains.kotlin.jvm' id 'org.jetbrains.kotlin.kapt' - id "org.jlleitschuh.gradle.ktlint" version "$ktlint_plugin_version" + id 'org.jlleitschuh.gradle.ktlint' id 'checkstyle' + id 'witness' } +apply from: 'witness.gradle' checkstyle { configFile = new File('../config/checkstyle/checkstyle.xml') diff --git a/mailbox-core/witness.gradle b/mailbox-core/witness.gradle new file mode 100644 index 00000000..8f486a39 --- /dev/null +++ b/mailbox-core/witness.gradle @@ -0,0 +1,185 @@ +dependencyVerification { + verify = [ + 'antlr:antlr:2.7.7:antlr-2.7.7.jar:88fbda4b912596b9f56e8e12e580cc954bacfb51776ecfddd3e18fc1cf56dc4c', + 'ch.qos.logback:logback-classic:1.2.11:logback-classic-1.2.11.jar:4d8e899621a3006c2f66e19feab002b11e6cfc5cb1854fc41f01532c00deb2aa', + 'ch.qos.logback:logback-core:1.2.11:logback-core-1.2.11.jar:6ce1e9397be8298a2e99029f55f955c6fa3cef255171c554d0b9c201cffd0159', + 'com.fasterxml.jackson.core:jackson-annotations:2.14.1:jackson-annotations-2.14.1.jar:d255b4b863ff8ec714a8f96fa55c34621d43dbb82b82d3f57476496a4c09e1e7', + 'com.fasterxml.jackson.core:jackson-core:2.14.1:jackson-core-2.14.1.jar:0114187e296b34c931c1bf9e5a84152b62bfab7d182f5623f3982dc2da35e526', + 'com.fasterxml.jackson.core:jackson-databind:2.14.1:jackson-databind-2.14.1.jar:423a0c806de4b3fa5eb4a28698305e3a3777c731e1bcfa1b2f3a3760c7b6e773', + 'com.fasterxml.jackson.module:jackson-module-kotlin:2.14.1:jackson-module-kotlin-2.14.1.jar:8d83e6fe0ee319266dde031126da7c67024151b7c6a56410c3abb065fcd1ee7c', + 'com.github.shyiko.klob:klob:0.2.1:klob-0.2.1.jar:2f6174e3049008f263fd832813390df645ac5c7cfa79f170ace58690810476f2', + 'com.google.code.findbugs:jsr305:3.0.2:jsr305-3.0.2.jar:766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7', + 'com.google.dagger:dagger-compiler:2.44.2:dagger-compiler-2.44.2.jar:6a3377f31695b9a53d47012a47e844432f7a6b9159fbf22ec10203de848de770', + 'com.google.dagger:dagger-producers:2.44.2:dagger-producers-2.44.2.jar:01cf6464bb5c551860936ae161f45f153298d1e11c8dd3a81c0d7340ed68c1cc', + 'com.google.dagger:dagger-spi:2.44.2:dagger-spi-2.44.2.jar:1fe86708acd729fa3322ac5968e5e835bb94a6cabe7991d6713e0cbf321e5e9b', + 'com.google.dagger:dagger:2.44.2:dagger-2.44.2.jar:b6d35d56b47cbfc3e484f678d0bacb497c6c0ec2cc2a5e180d79d0788d313ab8', + 'com.google.dagger:hilt-core:2.44.2:hilt-core-2.44.2.jar:0df25c96836cc95cb7086cfe402a6145e95357a03b3ba16f8e4d3b237470a3fb', + 'com.google.devtools.ksp:symbol-processing-api:1.7.0-1.0.6:symbol-processing-api-1.7.0-1.0.6.jar:adc29417be5ca9ff42118105fea4e36d9ef44987abfc41432309371a60198941', + 'com.google.errorprone:error_prone_annotations:2.3.4:error_prone_annotations-2.3.4.jar:baf7d6ea97ce606c53e11b6854ba5f2ce7ef5c24dddf0afa18d1260bd25b002c', + 'com.google.errorprone:error_prone_annotations:2.7.1:error_prone_annotations-2.7.1.jar:cd5257c08a246cf8628817ae71cb822be192ef91f6881ca4a3fcff4f1de1cff3', + 'com.google.errorprone:javac-shaded:9-dev-r4023-3:javac-shaded-9-dev-r4023-3.jar:65bfccf60986c47fbc17c9ebab0be626afc41741e0a6ec7109e0768817a36f30', + 'com.google.googlejavaformat:google-java-format:1.5:google-java-format-1.5.jar:aa19ad7850fb85178aa22f2fddb163b84d6ce4d0035872f30d4408195ca1144e', + 'com.google.guava:failureaccess:1.0.1:failureaccess-1.0.1.jar:a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26', + 'com.google.guava:guava:29.0-jre:guava-29.0-jre.jar:b22c5fb66d61e7b9522531d04b2f915b5158e80aa0b40ee7282c8bfb07b0da25', + 'com.google.guava:guava:31.0.1-jre:guava-31.0.1-jre.jar:d5be94d65e87bd219fb3193ad1517baa55a3b88fc91d21cf735826ab5af087b9', + 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava:listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99', + 'com.google.j2objc:j2objc-annotations:1.3:j2objc-annotations-1.3.jar:21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b', + 'com.google.zxing:core:3.4.1:core-3.4.1.jar:acfa30338c26267b6cab665509c2251bb96e8350bfcad89d59b949ba77011f8d', + 'com.h2database:h2:1.4.192:h2-1.4.192.jar:225b22e9857235c46c93861410b60b8c81c10dc8985f4faf188985ba5445126c', + 'com.pinterest.ktlint:ktlint-core:0.43.2:ktlint-core-0.43.2.jar:401515a76b780a32ef9dfeaf69f77316934c4bb90f339488638311789eca7a1a', + 'com.pinterest.ktlint:ktlint-reporter-baseline:0.43.2:ktlint-reporter-baseline-0.43.2.jar:733ee7e2cadb321d6597b3501c70c7da73117adaa0c6bc084dfc16c455d68806', + 'com.pinterest.ktlint:ktlint-reporter-checkstyle:0.43.2:ktlint-reporter-checkstyle-0.43.2.jar:becafb4006b9f2e82c99749864a1a8de340ee84ac7271631a68981a44f51e808', + 'com.pinterest.ktlint:ktlint-reporter-html:0.43.2:ktlint-reporter-html-0.43.2.jar:800392e150d3266e72ca53c6ccca3136d4e26445dd9216c6ac6cfc1ba3afafe5', + 'com.pinterest.ktlint:ktlint-reporter-json:0.43.2:ktlint-reporter-json-0.43.2.jar:9d4a94190d96d671000a06a50c9d1ce111d0dcf629bef8b4f0221a9e3f3699a0', + 'com.pinterest.ktlint:ktlint-reporter-plain:0.43.2:ktlint-reporter-plain-0.43.2.jar:1cab63f431ec4e9463df7a767f131ccfa8d76259c01fecc63a4c000063e8ee43', + 'com.pinterest.ktlint:ktlint-reporter-sarif:0.43.2:ktlint-reporter-sarif-0.43.2.jar:ed0046aaa4a2e4544197bfdccf88d472ef413a55ad05b6dc8aae41338e9d3748', + 'com.pinterest.ktlint:ktlint-ruleset-experimental:0.43.2:ktlint-ruleset-experimental-0.43.2.jar:d89e0edcdca0ae375c090565e323520ab5d424d82fd6ac6290ea986d360f0b11', + 'com.pinterest.ktlint:ktlint-ruleset-standard:0.43.2:ktlint-ruleset-standard-0.43.2.jar:6774dc9d42aa7c7fdd4a7f3732b56fdab99ba78ce0c4eb5159036525657d0014', + 'com.pinterest.ktlint:ktlint-ruleset-test:0.43.2:ktlint-ruleset-test-0.43.2.jar:7270c4d98b2cda268c25397a02b7dea0ab8cb923958cb3853121e0d9366ce797', + 'com.pinterest:ktlint:0.43.2:ktlint-0.43.2.jar:99ec69ef0628695c24dbbc2cc4b8d7c61a754697d624f5233fc65f43faf2d235', + 'com.puppycrawl.tools:checkstyle:8.37:checkstyle-8.37.jar:3c8d29393129090b9f46a7f6852a70ff1e9d7bd581343e3d0fb895ad33c524fa', + 'com.squareup:javapoet:1.13.0:javapoet-1.13.0.jar:4c7517e848a71b36d069d12bb3bf46a70fd4cda3105d822b0ed2e19c00b69291', + 'com.squareup:kotlinpoet:1.11.0:kotlinpoet-1.11.0.jar:2887ada1ca03dd83baa2758640d87e840d1907564db0ef88d2289c868a980492', + 'com.typesafe:config:1.4.2:config-1.4.2.jar:0076c249b4387d8369146528fd5dacb3efba098dc02ecf9ac81debdfc2e12fd5', + 'commons-beanutils:commons-beanutils:1.9.4:commons-beanutils-1.9.4.jar:7d938c81789028045c08c065e94be75fc280527620d5bd62b519d5838532368a', + 'commons-collections:commons-collections:3.2.2:commons-collections-3.2.2.jar:eeeae917917144a68a741d4c0dff66aa5c5c5fd85593ff217bced3fc8ca783b8', + 'info.picocli:picocli:3.9.6:picocli-3.9.6.jar:9442a6a18d869354a0d922ba37b40032aa1b0a172f414a7a644de39d1972f1f4', + 'info.picocli:picocli:4.5.2:picocli-4.5.2.jar:b4395e9a67932616efd2245d984bf5fcd453c2c5049558c3ce959ac2af4d3fac', + 'io.github.detekt.sarif4k:sarif4k:0.0.1:sarif4k-0.0.1.jar:41ec72cf2521783224581c76aaa7e97d4a50f396a66d642500ff4777b395a376', + 'io.ktor:ktor-client-cio-jvm:2.2.3:ktor-client-cio-jvm-2.2.3.jar:8c1f4fc89e81f321f538a9c7b1eda64a5166ee59e382656d2f516f41608eb9f8', + 'io.ktor:ktor-client-cio:2.2.3:ktor-client-cio-metadata-2.2.3-all.jar:c75add3d852cb75fbecb28b1b664cb4ffd2868e7ea4106d4ec251274add95aaf', + 'io.ktor:ktor-client-content-negotiation-jvm:2.2.3:ktor-client-content-negotiation-jvm-2.2.3.jar:ecf5e05bc4eebc7475c8f39cddfcce552b0b943497bd45370f38ca4a48c9db7b', + 'io.ktor:ktor-client-content-negotiation:2.2.3:ktor-client-content-negotiation-metadata-2.2.3-all.jar:8f5da8e6855084397f606d42631ceb3b31012bfc8684a59713115a28c6579dad', + 'io.ktor:ktor-client-core-jvm:2.2.3:ktor-client-core-jvm-2.2.3.jar:b5421c126e911ca9d87fcbffbd14e125950e025cd5524502b565da68a1c19210', + 'io.ktor:ktor-client-core:2.2.3:ktor-client-core-metadata-2.2.3-all.jar:95e9b1981175a5bb5913f8ce417882ed704bb973bfb554326aab71d7334adecb', + 'io.ktor:ktor-client-logging-jvm:2.2.3:ktor-client-logging-jvm-2.2.3.jar:507df70b7ea839f8230aa91e1a3eeb468901f371d25cb7120bb7a9167d4bc7d6', + 'io.ktor:ktor-client-logging:2.2.3:ktor-client-logging-metadata-2.2.3-all.jar:22505bdf825046bd76fe21149ef94117061dcf28f076ae8dd665c83cfaa7f384', + 'io.ktor:ktor-events-jvm:2.2.3:ktor-events-jvm-2.2.3.jar:379804998d036e906ca380258ad0c40366ec3aff836c6ffe7865712d576aacb2', + 'io.ktor:ktor-events:2.2.3:ktor-events-metadata-2.2.3-all.jar:b54d2dc051d05f0b165a8e717a0d80be4b8459e1782024e87ece7c3a4a6b2704', + 'io.ktor:ktor-http-cio-jvm:2.2.3:ktor-http-cio-jvm-2.2.3.jar:32805216d439bd084db4c176f606d8eb6d19a489d0cf13dd8ef70bdf46751985', + 'io.ktor:ktor-http-cio:2.2.3:ktor-http-cio-metadata-2.2.3-all.jar:992e47798b13df2eef7eb93de3c73f5f3d2e0bde20e00ae279522d5ee0acd856', + 'io.ktor:ktor-http-jvm:2.2.3:ktor-http-jvm-2.2.3.jar:5f2af591d586a993633d2fdd5b2cf5221bf41e00fcd3f35051e06ff6b0f1fb43', + 'io.ktor:ktor-http:2.2.3:ktor-http-metadata-2.2.3-all.jar:71d59a0fb5c5f9cd09a00b58f6121ddb62a6ded01d13d9c367b82dc72f111846', + 'io.ktor:ktor-io-jvm:2.2.3:ktor-io-jvm-2.2.3.jar:d04a8f86c6893e680fb0ec4df83ecc62d56f7d65e20489c475fc838a04662ebc', + 'io.ktor:ktor-io:2.2.3:ktor-io-metadata-2.2.3-all.jar:142b360ff20a598258a1cea29958485d5d55b885af3cb9811eeee0cecec9ba2d', + 'io.ktor:ktor-network-jvm:2.2.3:ktor-network-jvm-2.2.3.jar:7c49d818864a3a724dc4b9da7bc5f9bd4b9ea918e82d155e19988860f8283858', + 'io.ktor:ktor-network-tls-jvm:2.2.3:ktor-network-tls-jvm-2.2.3.jar:4c5aff3130d641a91924b7c8e4d17d3a5dc14d743a5901df6ca43a6d5a41f1fd', + 'io.ktor:ktor-network-tls:2.2.3:ktor-network-tls-metadata-2.2.3-all.jar:5515190c2b0a3130350685d948c683389f341963e6119e14d987dc98ae6454a7', + 'io.ktor:ktor-network:2.2.3:ktor-network-metadata-2.2.3-all.jar:9a228bbfd188cd64cdc78e3a54b950bce920fd90f248fdfb77a9f1fe8c517afd', + 'io.ktor:ktor-serialization-jackson-jvm:2.2.3:ktor-serialization-jackson-jvm-2.2.3.jar:5aea934969558b67f9984a5005d34b188be2c6a113f651a4a745098a3011da47', + 'io.ktor:ktor-serialization-jackson:2.2.3:ktor-serialization-jackson-metadata-2.2.3-all.jar:77299b0672a00909a463522c9315005eb130db795b02d622035e54f32dd50643', + 'io.ktor:ktor-serialization-jvm:2.2.3:ktor-serialization-jvm-2.2.3.jar:993dd046c40568681d487f1a0778519e0332e06685299d1d2c0c087e47604497', + 'io.ktor:ktor-serialization:2.2.3:ktor-serialization-metadata-2.2.3-all.jar:499ff72e537506413a972a34c711a52bd329e8174460c28ca51a42a5f63a45b0', + 'io.ktor:ktor-server-auth-jvm:2.2.3:ktor-server-auth-jvm-2.2.3.jar:c2aec991edf3a640b61fe54b479c6dc1b14b6170f458a93da170270e5b3e5a3e', + 'io.ktor:ktor-server-auth:2.2.3:ktor-server-auth-metadata-2.2.3-all.jar:f78ff8a130cb7543ccba61565cfe9958162bd458061aa95e35f80a26c18339ef', + 'io.ktor:ktor-server-call-logging-jvm:2.2.3:ktor-server-call-logging-jvm-2.2.3.jar:0741bc50d83f2851c1f0811dbce4ca3398fdca20e72f9db1a9e67521143d2fc6', + 'io.ktor:ktor-server-call-logging:2.2.3:ktor-server-call-logging-metadata-2.2.3-all.jar:17023a74ac4efe371057767f537c2a675dc14be62fa59b195bd994d8976cfca5', + 'io.ktor:ktor-server-content-negotiation-jvm:2.2.3:ktor-server-content-negotiation-jvm-2.2.3.jar:fe3c1340028c2d53474aac8f09c84bac2533580eb47951b4656f8a800473fe20', + 'io.ktor:ktor-server-content-negotiation:2.2.3:ktor-server-content-negotiation-metadata-2.2.3-all.jar:774d953aab28be347f8060cd35ee1833191a85558f43607a08df72a907be3b1c', + 'io.ktor:ktor-server-core-jvm:2.2.3:ktor-server-core-jvm-2.2.3.jar:9268ca267f46848456437d508cee1dd499ecf9ee389f3bdccdeecb02a9225e88', + 'io.ktor:ktor-server-core:2.2.3:ktor-server-core-metadata-2.2.3-all.jar:9615e051b305fcd5fe528b0808e53b6dcd58e305e3fa69a3f8631cb17f62ec5c', + 'io.ktor:ktor-server-host-common-jvm:2.2.3:ktor-server-host-common-jvm-2.2.3.jar:6340fa2787de734bd659453394dddacd432fa61c4b3a5fe1435ac13699c77eb4', + 'io.ktor:ktor-server-netty-jvm:2.2.3:ktor-server-netty-jvm-2.2.3.jar:58e6f0526fa0db7bfe28e368aa2d2aaafaca0011169007de7d88622484432985', + 'io.ktor:ktor-server-netty:2.2.3:ktor-server-netty-metadata-2.2.3-all.jar:015cd3a80868b4b8792b19a8cd7f928f1e811ae17b6768be8e97a702739c8b30', + 'io.ktor:ktor-server-sessions-jvm:2.2.3:ktor-server-sessions-jvm-2.2.3.jar:9e4ac64b0be3a9fd4bcc322ff233b6e9933460bac2b70adcfc683c14d1c56d0a', + 'io.ktor:ktor-server-sessions:2.2.3:ktor-server-sessions-metadata-2.2.3-all.jar:2e26ab847da43c851353dd83876fe59455f407a1d63e5afa58513e8c7be98f91', + 'io.ktor:ktor-utils-jvm:2.2.3:ktor-utils-jvm-2.2.3.jar:19cff4686cba391205fa3df5f6010211888c3e62999fa1acc0efc4ac1218d071', + 'io.ktor:ktor-utils:2.2.3:ktor-utils-metadata-2.2.3-all.jar:91b271254ad77f0c096750fdbecd85a7c57d0c1ac9ce62c8f1a40d55c0bac3ec', + 'io.ktor:ktor-websocket-serialization-jvm:2.2.3:ktor-websocket-serialization-jvm-2.2.3.jar:5f3544086b1b5d0d72985868614bc3ed616d9411db039c4d13ad61104ff66a88', + 'io.ktor:ktor-websocket-serialization:2.2.3:ktor-websocket-serialization-metadata-2.2.3-all.jar:edde7163e81132816b12694141bdf10c40b693f43fc05ee1444ae14d2f65be7a', + 'io.ktor:ktor-websockets-jvm:2.2.3:ktor-websockets-jvm-2.2.3.jar:355bef98a44cb588ca983d5552a8c76de29e4e75123e771087b4f279b5735aba', + 'io.ktor:ktor-websockets:2.2.3:ktor-websockets-metadata-2.2.3-all.jar:bc0b3a5f6dd97c1ba3abb3a51a05d60bd7acd9230d23e1876242b65d041e1ba1', + 'io.mockk:mockk-agent-api:1.10.4:mockk-agent-api-1.10.4.jar:8deb59189b48d5870a746f954ca681424040544812c7ae295f3bef87a9499cfe', + 'io.mockk:mockk-agent-common:1.10.4:mockk-agent-common-1.10.4.jar:13b81a3297a3c15ed9f62b838aaede20347018f07c30cad2ca74a4dd99786f8f', + 'io.mockk:mockk-agent-jvm:1.10.4:mockk-agent-jvm-1.10.4.jar:51eb22de58c44f140384e61878e8c0da0fcf80c60a139d28ef7b027ea4bc2042', + 'io.mockk:mockk-common:1.10.4:mockk-common-1.10.4.jar:aaf3cc99442100767dc72776f250113f992facfb43bf6ba9a5282d1c8aaecd00', + 'io.mockk:mockk-dsl-jvm:1.10.4:mockk-dsl-jvm-1.10.4.jar:2432e2d0dfd31c3cb33e12137b8c712358cb0c4cddbd27b5bd6c55db2068e1a1', + 'io.mockk:mockk-dsl:1.10.4:mockk-dsl-1.10.4.jar:b97d750bebfd7da92a020f5417deface710c58802a78a8fff68661f77eaa3037', + 'io.mockk:mockk:1.10.4:mockk-1.10.4.jar:e26d4eb8c9c0c5ac00acb9bfeedfe0feb10055bf7e80db57539936413ea38f7c', + 'io.netty:netty-buffer:4.1.86.Final:netty-buffer-4.1.86.Final.jar:e42e15f47c865266b1faa6e038ebfd7ddadcf9f4ae9e6617edd4881dbd4abe88', + 'io.netty:netty-codec-http2:4.1.86.Final:netty-codec-http2-4.1.86.Final.jar:e8e8e28e6ab6bb989aed904778922045f388cfb420bc1eb37abf4df8801db167', + 'io.netty:netty-codec-http:4.1.86.Final:netty-codec-http-4.1.86.Final.jar:3f6ceb3112cfcf7b70545eb5111220ce57db54d593f23f64c38333bb22c40b84', + 'io.netty:netty-codec:4.1.86.Final:netty-codec-4.1.86.Final.jar:0456840b5c851dad6cab881cd1a9ad5d916db65d81048145df1d9a6d03325bea', + 'io.netty:netty-common:4.1.86.Final:netty-common-4.1.86.Final.jar:a35a3f16e7cd45c5d8529aa3e7702d4ef3b36213ea332db59744ea348fc2ae99', + 'io.netty:netty-handler:4.1.86.Final:netty-handler-4.1.86.Final.jar:e69b42292929b278dc522e25177ddf7c54025484b55879f8227349adfbe1c04d', + 'io.netty:netty-resolver:4.1.86.Final:netty-resolver-4.1.86.Final.jar:7628a1309d7f2443dc41d8923a7f269e2981b9616f80a999eb7264ae6bcbfdba', + 'io.netty:netty-transport-classes-epoll:4.1.86.Final:netty-transport-classes-epoll-4.1.86.Final.jar:3cc7eb87d85d6b4bf3d596a172a92df09f8d746c2b283c85543c95795b51edda', + 'io.netty:netty-transport-classes-kqueue:4.1.86.Final:netty-transport-classes-kqueue-4.1.86.Final.jar:8059837d5304e5d0cab6afa010d4c319dfe8444ca936df28031d2ed636b2ebab', + 'io.netty:netty-transport-native-epoll:4.1.86.Final:netty-transport-native-epoll-4.1.86.Final.jar:bbbd9d367cb7371a34b39f75f4422d0a09667c72007dfb861e6cdd4b5b4a35cf', + 'io.netty:netty-transport-native-kqueue:4.1.86.Final:netty-transport-native-kqueue-4.1.86.Final.jar:28ca127aa734d71f472483253e4de77e215bc6eaf12480c8268c8ff7d6bcaba5', + 'io.netty:netty-transport-native-unix-common:4.1.86.Final:netty-transport-native-unix-common-4.1.86.Final.jar:ec26d03a06565791d57e997f793677ee4d3fc47b290b7951898c2ecd0232f115', + 'io.netty:netty-transport:4.1.86.Final:netty-transport-4.1.86.Final.jar:f6726dcd54e4922b46b3b4f4467b443a70a30eb08a62620c8fe502d8cb802c9f', + 'javax.inject:javax.inject:1:javax.inject-1.jar:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff', + 'net.bytebuddy:byte-buddy-agent:1.10.14:byte-buddy-agent-1.10.14.jar:30272167eceb1cb68fa84730a12d1abfd1daed6ae0c19fdefee47a9a9a0cfd33', + 'net.bytebuddy:byte-buddy:1.10.14:byte-buddy-1.10.14.jar:0e6b935bfcb3e451d525956acad53ec86ff916d714abdbd32b3d2039771896f8', + 'net.java.dev.jna:jna:5.6.0:jna-5.6.0.jar:5557e235a8aa2f9766d5dc609d67948f2a8832c2d796cea9ef1d6cbe0b3b7eaf', + 'net.ltgt.gradle.incap:incap:0.2:incap-0.2.jar:b625b9806b0f1e4bc7a2e3457119488de3cd57ea20feedd513db070a573a4ffd', + 'net.sf.saxon:Saxon-HE:10.3:Saxon-HE-10.3.jar:660a89162a577cfd73bc3db3c53cbec7e82d4ab2051247f31927f135aff7c908', + 'org.antlr:antlr4-runtime:4.8-1:antlr4-runtime-4.8-1.jar:bdcf58107ba1a499b25e3db205086767dd409d3f5ab12c90f2d429f55ec774a6', + 'org.apiguardian:apiguardian-api:1.1.0:apiguardian-api-1.1.0.jar:a9aae9ff8ae3e17a2a18f79175e82b16267c246fbbd3ca9dfbbb290b08dcfdd4', + 'org.briarproject:jtorctl:0.5:jtorctl-0.5.jar:43f8c7d390169772b9a2c82ab806c8414c136a2a8636c555e22754bb7260793b', + 'org.briarproject:null-safety:0.1:null-safety-0.1.jar:161760de5e838cb982bafa973df820675d4397098e9a91637a36a306d43ba011', + 'org.checkerframework:checker-compat-qual:2.5.5:checker-compat-qual-2.5.5.jar:11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a', + 'org.checkerframework:checker-qual:2.11.1:checker-qual-2.11.1.jar:015224a4b1dc6de6da053273d4da7d39cfea20e63038169fc45ac0d1dc9c5938', + 'org.checkerframework:checker-qual:3.12.0:checker-qual-3.12.0.jar:ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb', + 'org.ec4j.core:ec4j-core:0.3.0:ec4j-core-0.3.0.jar:cadef0207077074b11a12be442f89ab6cf93fbc2f848702d9371a9611414d558', + 'org.eclipse.jetty.alpn:alpn-api:1.1.3.v20160715:alpn-api-1.1.3.v20160715.jar:07be99758b699e194f70fb9784d94202dc6c98212877829e3d72b020f2660576', + 'org.fusesource.jansi:jansi:2.4.0:jansi-2.4.0.jar:6cd91991323dd7b2fb28ca93d7ac12af5a86a2f53279e2b35827b30313fd0b9f', + 'org.javassist:javassist:3.26.0-GA:javassist-3.26.0-GA.jar:ca5625874ff0a34f2422173a511b33c225218c146a3c961b18940efff430462d', + 'org.jetbrains.intellij.deps:trove4j:1.0.20181211:trove4j-1.0.20181211.jar:affb7c85a3c87bdcf69ff1dbb84de11f63dc931293934bc08cd7ab18de083601', + 'org.jetbrains.intellij.deps:trove4j:1.0.20200330:trove4j-1.0.20200330.jar:c5fd725bffab51846bf3c77db1383c60aaaebfe1b7fe2f00d23fe1b7df0a439d', + 'org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.7.22:kotlin-annotation-processing-gradle-1.7.22.jar:782a1df09fb59c25599c80b264b20aec836957254ba3abcfc4f7484c2e556707', + 'org.jetbrains.kotlin:kotlin-compiler-embeddable:1.5.31:kotlin-compiler-embeddable-1.5.31.jar:e39811a9e4c102e779c659eefe90b041c66ce87578c1bfdac07cf504d1551745', + 'org.jetbrains.kotlin:kotlin-compiler-embeddable:1.7.22:kotlin-compiler-embeddable-1.7.22.jar:87e5a8ba0eba2feb087ba94ceb9c28d0096fc1f6f3b55ef45a9d103ed5ef76c7', + 'org.jetbrains.kotlin:kotlin-daemon-embeddable:1.5.31:kotlin-daemon-embeddable-1.5.31.jar:f61eaf89e5e3848631650b25cdfb66fe8cae0281a054d9d986716000a15ba8d6', + 'org.jetbrains.kotlin:kotlin-daemon-embeddable:1.7.22:kotlin-daemon-embeddable-1.7.22.jar:4ce267ac5e84a9532d7269fcbc732ebab27e0d76ade71aeeedb369f746b281be', + 'org.jetbrains.kotlin:kotlin-klib-commonizer-embeddable:1.7.22:kotlin-klib-commonizer-embeddable-1.7.22.jar:de8c31a8092fb68ef80f34a3cbdfb1dcd40207b67cff87d40b5c479ec6a68ece', + 'org.jetbrains.kotlin:kotlin-reflect:1.5.31:kotlin-reflect-1.5.31.jar:6e0f5490e6b9649ddd2670534e4d3a03bd283c3358b8eef5d1304fd5f8a5a4fb', + 'org.jetbrains.kotlin:kotlin-reflect:1.6.10:kotlin-reflect-1.6.10.jar:3277ac102ae17aad10a55abec75ff5696c8d109790396434b496e75087854203', + 'org.jetbrains.kotlin:kotlin-reflect:1.7.22:kotlin-reflect-1.7.22.jar:4d4471d1cbc203d3f9e51d6123956dddbb96d5747f1aee02463c7b920feb2baf', + 'org.jetbrains.kotlin:kotlin-script-runtime:1.5.31:kotlin-script-runtime-1.5.31.jar:24e450fee7645ed3590981dddccf397c0d9ebb725815c94c4f555cc3db2f9f96', + 'org.jetbrains.kotlin:kotlin-script-runtime:1.7.22:kotlin-script-runtime-1.7.22.jar:caaa3dd214e8145e7e32deef571640cb65b55909e2af55fc26b30a1acb33930a', + 'org.jetbrains.kotlin:kotlin-scripting-common:1.7.22:kotlin-scripting-common-1.7.22.jar:98596c09f94c024685a50db5bc3d0d47dee104da9987d41e4f9ca1c72fa2dfca', + 'org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.7.22:kotlin-scripting-compiler-embeddable-1.7.22.jar:0e28cfe570bebd8c3962bdefed1011905673ab8095312703fa22805efe3c5913', + 'org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.7.22:kotlin-scripting-compiler-impl-embeddable-1.7.22.jar:c8667734536a5661230bd7732809385827e087a75f8088958d384042581c3633', + 'org.jetbrains.kotlin:kotlin-scripting-jvm:1.7.22:kotlin-scripting-jvm-1.7.22.jar:f5410993723ff3437638b4acfee9cf5da373091459024fa8a54e1d9ad101c754', + 'org.jetbrains.kotlin:kotlin-stdlib-common:1.5.31:kotlin-stdlib-common-1.5.31.jar:dfa2a18e26b028388ee1968d199bf6f166f737ab7049c25a5e2da614404e22ad', + 'org.jetbrains.kotlin:kotlin-stdlib-common:1.7.0:kotlin-stdlib-common-1.7.0.jar:59c6ff64fe9a6604afce03e8aaa75f83586c6030ac71fb0b34ee7cdefed3618f', + 'org.jetbrains.kotlin:kotlin-stdlib-common:1.7.22:kotlin-stdlib-common-1.7.22.jar:79488cdf284c4b5b3998d302eae9bf0980fa441e3906c6a53d1174f978a3e484', + 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.31:kotlin-stdlib-jdk7-1.5.31.jar:a25bf47353ce899d843cbddee516d621a73473e7fba97f8d0301e7b4aed7c15f', + 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.0:kotlin-stdlib-jdk7-1.7.0.jar:07e91be9b2ca20672d2bdb7e181b766e73453a2da13492b5ddaee8fa47aea239', + 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.20:kotlin-stdlib-jdk7-1.7.20.jar:524da3c1a2ad56fd52c4ae2272ef3de421de8d2047ab1c51fc306d351243f2f5', + 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31:kotlin-stdlib-jdk8-1.5.31.jar:b548f7767aacf029d2417e47440742bd6d3ebede19b60386e23554ce5c4c5fdc', + 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.0:kotlin-stdlib-jdk8-1.7.0.jar:cf058e11db1dfc9944680c8c61b95ac689aaaa8a3eb30bced028100f038f030b', + 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.20:kotlin-stdlib-jdk8-1.7.20.jar:1da0d306c995945e1f807240ef64b5cd2dd5ac58612afb1a8596143d10b7ded5', + 'org.jetbrains.kotlin:kotlin-stdlib:1.5.31:kotlin-stdlib-1.5.31.jar:4800ceacb2ec0bb9959a087154b8e35318ead1ea4eba32d4bb1b9734222a7e68', + 'org.jetbrains.kotlin:kotlin-stdlib:1.7.0:kotlin-stdlib-1.7.0.jar:aa88e9625577957f3249a46cb6e166ee09b369e600f7a11d148d16b0a6d87f05', + 'org.jetbrains.kotlin:kotlin-stdlib:1.7.22:kotlin-stdlib-1.7.22.jar:f98505f50a6a1c1dc002d6102e4b419af93d011d5a10696e75a38935a96ea92f', + 'org.jetbrains.kotlin:kotlin-test-annotations-common:1.7.22:kotlin-test-annotations-common-1.7.22.jar:35628f9f01e95b6162dc4b48e3cd49afdc3f463a751b6d793d6ab64459efaaef', + 'org.jetbrains.kotlin:kotlin-test-common:1.7.22:kotlin-test-common-1.7.22.jar:e9af870a320f3bc7e13dc2357888a34c2684d3c58ff028b6bc57aadbd84d424b', + 'org.jetbrains.kotlin:kotlin-test-junit5:1.7.22:kotlin-test-junit5-1.7.22.jar:bfb9fd2ef4742fb78180976e241596dc06913c2638da38a5f6906780f824811d', + 'org.jetbrains.kotlin:kotlin-test:1.7.22:kotlin-test-1.7.22.jar:f3060dd22a0c43ebc24b0b94df44874e8098eb05e8428a2215d0fe57832f9d37', + 'org.jetbrains.kotlinx:atomicfu:0.18.5:atomicfu-metadata-0.18.5-all.jar:6890b4702234287cb2e81bdfa2a7bf61f83ef07faa741c7015155226b7832653', + 'org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4:kotlinx-coroutines-core-jvm-1.6.4.jar:c24c8bb27bb320c4a93871501a7e5e0c61607638907b197aef675513d4c820be', + 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4:kotlinx-coroutines-core-metadata-1.6.4-all.jar:ae24d84fd33c5aaba1564b168142d0f210b0e257e0a0077e32616acc59e67fb7', + 'org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.6.4:kotlinx-coroutines-jdk8-1.6.4.jar:88c64b8eea3eb90597d2fb0fd30f3cf782fbcdad06312e5665a618f070f02119', + 'org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.6.4:kotlinx-coroutines-slf4j-1.6.4.jar:e8e47a5d7ff57e89e096a409486308ad58a2f392724145973f11f679e7d11d23', + 'org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.5.0:kotlinx-metadata-jvm-0.5.0.jar:ca063a96639b08b9eaa0de4d65e899480740a6efbe28ab9a8681a2ced03055a4', + 'org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.1.0:kotlinx-serialization-core-jvm-1.1.0.jar:69d18c700cfdf207b3e9bf6f5d58e7de08482d9e34d7c2a0adcb1db8082df943', + 'org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.4.1:kotlinx-serialization-core-jvm-1.4.1.jar:eba7f1c854296e4ce1418fb01360f8f10c5683e7c45aa3472018417a067636f3', + 'org.jetbrains.kotlinx:kotlinx-serialization-core:1.4.1:kotlinx-serialization-core-metadata-1.4.1-all.jar:11d00f05f4c0e1a894ef4cbc4370ba818d21ef70ebb015c8731af43751cfa233', + 'org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.1.0:kotlinx-serialization-json-jvm-1.1.0.jar:cea6836d3a3990b7ac59f61a9534a0bf1c8d3932bd206080a3a13622ec7587d1', + 'org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.4.1:kotlinx-serialization-json-jvm-1.4.1.jar:af604c46737121d4225fdb60ef0e17766a3c94b7c1c9ef76b4e3a5c7733d557e', + 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1:kotlinx-serialization-json-metadata-1.4.1-all.jar:c316fc2b8445af447f11239388069b781a50e6747b1dc3218b1f155bb9410d19', + 'org.jetbrains:annotations:13.0:annotations-13.0.jar:ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478', + 'org.junit.jupiter:junit-jupiter-api:5.7.2:junit-jupiter-api-5.7.2.jar:bc98326ecbc501e1860a2bc9780aebe5777bd29cf00059f88c2a56f48fbc9ce6', + 'org.junit.jupiter:junit-jupiter-engine:5.7.2:junit-jupiter-engine-5.7.2.jar:8a35afb26cd5e8393cb763ff13d26a52a507a35c5b2d7650d42024a7226b80db', + 'org.junit.jupiter:junit-jupiter-params:5.7.2:junit-jupiter-params-5.7.2.jar:17569f7da0ce2ebeab875aa8aa79c0f2c42433ea208291e73fc1a3c9d6143115', + 'org.junit.platform:junit-platform-commons:1.7.2:junit-platform-commons-1.7.2.jar:738d0df021a0611fff5d277634e890cc91858fa72227cf0bcf36232a7caf014c', + 'org.junit.platform:junit-platform-engine:1.7.2:junit-platform-engine-1.7.2.jar:abebbfa420fa8ffdc51083c06807e8692dd9bf8c52455dcdb72474ab90425573', + 'org.objenesis:objenesis:3.1:objenesis-3.1.jar:cdb3d038c188de6f46ffd5cd930be2d5e5dba59c53b26437995d534e3db2fb80', + 'org.opentest4j:opentest4j:1.2.0:opentest4j-1.2.0.jar:58812de60898d976fb81ef3b62da05c6604c18fd4a249f5044282479fc286af2', + 'org.reflections:reflections:0.9.12:reflections-0.9.12.jar:d168f58d32f2ae7ac5a8d5d9092adeee526c604b41125dcb45eea877960a99cf', + 'org.slf4j:slf4j-api:1.7.36:slf4j-api-1.7.36.jar:d3ef575e3e4979678dc01bf1dcce51021493b4d11fb7f1be8ad982877c16a1c0', + ] +} diff --git a/mailbox-lib/build.gradle b/mailbox-lib/build.gradle index 4cd8dde5..5c49d1c0 100644 --- a/mailbox-lib/build.gradle +++ b/mailbox-lib/build.gradle @@ -3,9 +3,11 @@ plugins { id 'idea' id 'org.jetbrains.kotlin.jvm' id 'org.jetbrains.kotlin.kapt' - id "org.jlleitschuh.gradle.ktlint" version "$ktlint_plugin_version" + id "org.jlleitschuh.gradle.ktlint" id 'checkstyle' + id 'witness' } +apply from: 'witness.gradle' checkstyle { configFile = new File('../config/checkstyle/checkstyle.xml') diff --git a/mailbox-lib/witness.gradle b/mailbox-lib/witness.gradle new file mode 100644 index 00000000..8de51c61 --- /dev/null +++ b/mailbox-lib/witness.gradle @@ -0,0 +1,111 @@ +dependencyVerification { + verify = [ + 'antlr:antlr:2.7.7:antlr-2.7.7.jar:88fbda4b912596b9f56e8e12e580cc954bacfb51776ecfddd3e18fc1cf56dc4c', + 'ch.qos.logback:logback-classic:1.2.11:logback-classic-1.2.11.jar:4d8e899621a3006c2f66e19feab002b11e6cfc5cb1854fc41f01532c00deb2aa', + 'ch.qos.logback:logback-core:1.2.11:logback-core-1.2.11.jar:6ce1e9397be8298a2e99029f55f955c6fa3cef255171c554d0b9c201cffd0159', + 'com.github.shyiko.klob:klob:0.2.1:klob-0.2.1.jar:2f6174e3049008f263fd832813390df645ac5c7cfa79f170ace58690810476f2', + 'com.google.code.findbugs:jsr305:3.0.2:jsr305-3.0.2.jar:766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7', + 'com.google.dagger:dagger-compiler:2.44.2:dagger-compiler-2.44.2.jar:6a3377f31695b9a53d47012a47e844432f7a6b9159fbf22ec10203de848de770', + 'com.google.dagger:dagger-producers:2.44.2:dagger-producers-2.44.2.jar:01cf6464bb5c551860936ae161f45f153298d1e11c8dd3a81c0d7340ed68c1cc', + 'com.google.dagger:dagger-spi:2.44.2:dagger-spi-2.44.2.jar:1fe86708acd729fa3322ac5968e5e835bb94a6cabe7991d6713e0cbf321e5e9b', + 'com.google.dagger:dagger:2.44.2:dagger-2.44.2.jar:b6d35d56b47cbfc3e484f678d0bacb497c6c0ec2cc2a5e180d79d0788d313ab8', + 'com.google.dagger:hilt-compiler:2.44.2:hilt-compiler-2.44.2.jar:76c59e60f045923f978143bd37aaef2274d344dc9bdeecafb290bc66de7c10b2', + 'com.google.dagger:hilt-core:2.44.2:hilt-core-2.44.2.jar:0df25c96836cc95cb7086cfe402a6145e95357a03b3ba16f8e4d3b237470a3fb', + 'com.google.devtools.ksp:symbol-processing-api:1.7.0-1.0.6:symbol-processing-api-1.7.0-1.0.6.jar:adc29417be5ca9ff42118105fea4e36d9ef44987abfc41432309371a60198941', + 'com.google.errorprone:error_prone_annotations:2.3.4:error_prone_annotations-2.3.4.jar:baf7d6ea97ce606c53e11b6854ba5f2ce7ef5c24dddf0afa18d1260bd25b002c', + 'com.google.errorprone:error_prone_annotations:2.7.1:error_prone_annotations-2.7.1.jar:cd5257c08a246cf8628817ae71cb822be192ef91f6881ca4a3fcff4f1de1cff3', + 'com.google.errorprone:javac-shaded:9-dev-r4023-3:javac-shaded-9-dev-r4023-3.jar:65bfccf60986c47fbc17c9ebab0be626afc41741e0a6ec7109e0768817a36f30', + 'com.google.googlejavaformat:google-java-format:1.5:google-java-format-1.5.jar:aa19ad7850fb85178aa22f2fddb163b84d6ce4d0035872f30d4408195ca1144e', + 'com.google.guava:failureaccess:1.0.1:failureaccess-1.0.1.jar:a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26', + 'com.google.guava:guava:29.0-jre:guava-29.0-jre.jar:b22c5fb66d61e7b9522531d04b2f915b5158e80aa0b40ee7282c8bfb07b0da25', + 'com.google.guava:guava:31.0.1-jre:guava-31.0.1-jre.jar:d5be94d65e87bd219fb3193ad1517baa55a3b88fc91d21cf735826ab5af087b9', + 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava:listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99', + 'com.google.j2objc:j2objc-annotations:1.3:j2objc-annotations-1.3.jar:21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b', + 'com.pinterest.ktlint:ktlint-core:0.43.2:ktlint-core-0.43.2.jar:401515a76b780a32ef9dfeaf69f77316934c4bb90f339488638311789eca7a1a', + 'com.pinterest.ktlint:ktlint-reporter-baseline:0.43.2:ktlint-reporter-baseline-0.43.2.jar:733ee7e2cadb321d6597b3501c70c7da73117adaa0c6bc084dfc16c455d68806', + 'com.pinterest.ktlint:ktlint-reporter-checkstyle:0.43.2:ktlint-reporter-checkstyle-0.43.2.jar:becafb4006b9f2e82c99749864a1a8de340ee84ac7271631a68981a44f51e808', + 'com.pinterest.ktlint:ktlint-reporter-html:0.43.2:ktlint-reporter-html-0.43.2.jar:800392e150d3266e72ca53c6ccca3136d4e26445dd9216c6ac6cfc1ba3afafe5', + 'com.pinterest.ktlint:ktlint-reporter-json:0.43.2:ktlint-reporter-json-0.43.2.jar:9d4a94190d96d671000a06a50c9d1ce111d0dcf629bef8b4f0221a9e3f3699a0', + 'com.pinterest.ktlint:ktlint-reporter-plain:0.43.2:ktlint-reporter-plain-0.43.2.jar:1cab63f431ec4e9463df7a767f131ccfa8d76259c01fecc63a4c000063e8ee43', + 'com.pinterest.ktlint:ktlint-reporter-sarif:0.43.2:ktlint-reporter-sarif-0.43.2.jar:ed0046aaa4a2e4544197bfdccf88d472ef413a55ad05b6dc8aae41338e9d3748', + 'com.pinterest.ktlint:ktlint-ruleset-experimental:0.43.2:ktlint-ruleset-experimental-0.43.2.jar:d89e0edcdca0ae375c090565e323520ab5d424d82fd6ac6290ea986d360f0b11', + 'com.pinterest.ktlint:ktlint-ruleset-standard:0.43.2:ktlint-ruleset-standard-0.43.2.jar:6774dc9d42aa7c7fdd4a7f3732b56fdab99ba78ce0c4eb5159036525657d0014', + 'com.pinterest.ktlint:ktlint-ruleset-test:0.43.2:ktlint-ruleset-test-0.43.2.jar:7270c4d98b2cda268c25397a02b7dea0ab8cb923958cb3853121e0d9366ce797', + 'com.pinterest:ktlint:0.43.2:ktlint-0.43.2.jar:99ec69ef0628695c24dbbc2cc4b8d7c61a754697d624f5233fc65f43faf2d235', + 'com.puppycrawl.tools:checkstyle:8.37:checkstyle-8.37.jar:3c8d29393129090b9f46a7f6852a70ff1e9d7bd581343e3d0fb895ad33c524fa', + 'com.squareup:javapoet:1.13.0:javapoet-1.13.0.jar:4c7517e848a71b36d069d12bb3bf46a70fd4cda3105d822b0ed2e19c00b69291', + 'com.squareup:kotlinpoet:1.11.0:kotlinpoet-1.11.0.jar:2887ada1ca03dd83baa2758640d87e840d1907564db0ef88d2289c868a980492', + 'commons-beanutils:commons-beanutils:1.9.4:commons-beanutils-1.9.4.jar:7d938c81789028045c08c065e94be75fc280527620d5bd62b519d5838532368a', + 'commons-collections:commons-collections:3.2.2:commons-collections-3.2.2.jar:eeeae917917144a68a741d4c0dff66aa5c5c5fd85593ff217bced3fc8ca783b8', + 'info.picocli:picocli:3.9.6:picocli-3.9.6.jar:9442a6a18d869354a0d922ba37b40032aa1b0a172f414a7a644de39d1972f1f4', + 'info.picocli:picocli:4.5.2:picocli-4.5.2.jar:b4395e9a67932616efd2245d984bf5fcd453c2c5049558c3ce959ac2af4d3fac', + 'io.github.detekt.sarif4k:sarif4k:0.0.1:sarif4k-0.0.1.jar:41ec72cf2521783224581c76aaa7e97d4a50f396a66d642500ff4777b395a376', + 'io.mockk:mockk-agent-api:1.10.4:mockk-agent-api-1.10.4.jar:8deb59189b48d5870a746f954ca681424040544812c7ae295f3bef87a9499cfe', + 'io.mockk:mockk-agent-common:1.10.4:mockk-agent-common-1.10.4.jar:13b81a3297a3c15ed9f62b838aaede20347018f07c30cad2ca74a4dd99786f8f', + 'io.mockk:mockk-agent-jvm:1.10.4:mockk-agent-jvm-1.10.4.jar:51eb22de58c44f140384e61878e8c0da0fcf80c60a139d28ef7b027ea4bc2042', + 'io.mockk:mockk-common:1.10.4:mockk-common-1.10.4.jar:aaf3cc99442100767dc72776f250113f992facfb43bf6ba9a5282d1c8aaecd00', + 'io.mockk:mockk-dsl-jvm:1.10.4:mockk-dsl-jvm-1.10.4.jar:2432e2d0dfd31c3cb33e12137b8c712358cb0c4cddbd27b5bd6c55db2068e1a1', + 'io.mockk:mockk-dsl:1.10.4:mockk-dsl-1.10.4.jar:b97d750bebfd7da92a020f5417deface710c58802a78a8fff68661f77eaa3037', + 'io.mockk:mockk:1.10.4:mockk-1.10.4.jar:e26d4eb8c9c0c5ac00acb9bfeedfe0feb10055bf7e80db57539936413ea38f7c', + 'javax.annotation:javax.annotation-api:1.3.2:javax.annotation-api-1.3.2.jar:e04ba5195bcd555dc95650f7cc614d151e4bcd52d29a10b8aa2197f3ab89ab9b', + 'javax.inject:javax.inject:1:javax.inject-1.jar:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff', + 'net.bytebuddy:byte-buddy-agent:1.10.14:byte-buddy-agent-1.10.14.jar:30272167eceb1cb68fa84730a12d1abfd1daed6ae0c19fdefee47a9a9a0cfd33', + 'net.bytebuddy:byte-buddy:1.10.14:byte-buddy-1.10.14.jar:0e6b935bfcb3e451d525956acad53ec86ff916d714abdbd32b3d2039771896f8', + 'net.java.dev.jna:jna-platform:5.8.0:jna-platform-5.8.0.jar:ffd93fe1bc07de6f33eabf3d051c3636e01a01c17cb0da8448c53a2ac5e3bf7a', + 'net.java.dev.jna:jna:5.6.0:jna-5.6.0.jar:5557e235a8aa2f9766d5dc609d67948f2a8832c2d796cea9ef1d6cbe0b3b7eaf', + 'net.java.dev.jna:jna:5.8.0:jna-5.8.0.jar:930273cc1c492f25661ea62413a6da3fd7f6e01bf1c4dcc0817fc8696a7b07ac', + 'net.ltgt.gradle.incap:incap:0.2:incap-0.2.jar:b625b9806b0f1e4bc7a2e3457119488de3cd57ea20feedd513db070a573a4ffd', + 'net.sf.saxon:Saxon-HE:10.3:Saxon-HE-10.3.jar:660a89162a577cfd73bc3db3c53cbec7e82d4ab2051247f31927f135aff7c908', + 'org.antlr:antlr4-runtime:4.8-1:antlr4-runtime-4.8-1.jar:bdcf58107ba1a499b25e3db205086767dd409d3f5ab12c90f2d429f55ec774a6', + 'org.apiguardian:apiguardian-api:1.1.0:apiguardian-api-1.1.0.jar:a9aae9ff8ae3e17a2a18f79175e82b16267c246fbbd3ca9dfbbb290b08dcfdd4', + 'org.briarproject:obfs4proxy-linux:0.0.14:obfs4proxy-linux-0.0.14.jar:6391d323d45a279362236c7c62e21b903d07d4f31f5e0c8d49d009769b720cc6', + 'org.briarproject:tor-linux:0.4.7.13:tor-linux-0.4.7.13.jar:9819ee973cbcdc133f7d04aef9d4b957a35087627a790e532142d15412a9636f', + 'org.checkerframework:checker-compat-qual:2.5.5:checker-compat-qual-2.5.5.jar:11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a', + 'org.checkerframework:checker-qual:2.11.1:checker-qual-2.11.1.jar:015224a4b1dc6de6da053273d4da7d39cfea20e63038169fc45ac0d1dc9c5938', + 'org.checkerframework:checker-qual:3.12.0:checker-qual-3.12.0.jar:ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb', + 'org.ec4j.core:ec4j-core:0.3.0:ec4j-core-0.3.0.jar:cadef0207077074b11a12be442f89ab6cf93fbc2f848702d9371a9611414d558', + 'org.javassist:javassist:3.26.0-GA:javassist-3.26.0-GA.jar:ca5625874ff0a34f2422173a511b33c225218c146a3c961b18940efff430462d', + 'org.jetbrains.intellij.deps:trove4j:1.0.20181211:trove4j-1.0.20181211.jar:affb7c85a3c87bdcf69ff1dbb84de11f63dc931293934bc08cd7ab18de083601', + 'org.jetbrains.intellij.deps:trove4j:1.0.20200330:trove4j-1.0.20200330.jar:c5fd725bffab51846bf3c77db1383c60aaaebfe1b7fe2f00d23fe1b7df0a439d', + 'org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.7.22:kotlin-annotation-processing-gradle-1.7.22.jar:782a1df09fb59c25599c80b264b20aec836957254ba3abcfc4f7484c2e556707', + 'org.jetbrains.kotlin:kotlin-compiler-embeddable:1.5.31:kotlin-compiler-embeddable-1.5.31.jar:e39811a9e4c102e779c659eefe90b041c66ce87578c1bfdac07cf504d1551745', + 'org.jetbrains.kotlin:kotlin-compiler-embeddable:1.7.22:kotlin-compiler-embeddable-1.7.22.jar:87e5a8ba0eba2feb087ba94ceb9c28d0096fc1f6f3b55ef45a9d103ed5ef76c7', + 'org.jetbrains.kotlin:kotlin-daemon-embeddable:1.5.31:kotlin-daemon-embeddable-1.5.31.jar:f61eaf89e5e3848631650b25cdfb66fe8cae0281a054d9d986716000a15ba8d6', + 'org.jetbrains.kotlin:kotlin-daemon-embeddable:1.7.22:kotlin-daemon-embeddable-1.7.22.jar:4ce267ac5e84a9532d7269fcbc732ebab27e0d76ade71aeeedb369f746b281be', + 'org.jetbrains.kotlin:kotlin-klib-commonizer-embeddable:1.7.22:kotlin-klib-commonizer-embeddable-1.7.22.jar:de8c31a8092fb68ef80f34a3cbdfb1dcd40207b67cff87d40b5c479ec6a68ece', + 'org.jetbrains.kotlin:kotlin-reflect:1.5.31:kotlin-reflect-1.5.31.jar:6e0f5490e6b9649ddd2670534e4d3a03bd283c3358b8eef5d1304fd5f8a5a4fb', + 'org.jetbrains.kotlin:kotlin-reflect:1.6.10:kotlin-reflect-1.6.10.jar:3277ac102ae17aad10a55abec75ff5696c8d109790396434b496e75087854203', + 'org.jetbrains.kotlin:kotlin-reflect:1.7.22:kotlin-reflect-1.7.22.jar:4d4471d1cbc203d3f9e51d6123956dddbb96d5747f1aee02463c7b920feb2baf', + 'org.jetbrains.kotlin:kotlin-script-runtime:1.5.31:kotlin-script-runtime-1.5.31.jar:24e450fee7645ed3590981dddccf397c0d9ebb725815c94c4f555cc3db2f9f96', + 'org.jetbrains.kotlin:kotlin-script-runtime:1.7.22:kotlin-script-runtime-1.7.22.jar:caaa3dd214e8145e7e32deef571640cb65b55909e2af55fc26b30a1acb33930a', + 'org.jetbrains.kotlin:kotlin-scripting-common:1.7.22:kotlin-scripting-common-1.7.22.jar:98596c09f94c024685a50db5bc3d0d47dee104da9987d41e4f9ca1c72fa2dfca', + 'org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.7.22:kotlin-scripting-compiler-embeddable-1.7.22.jar:0e28cfe570bebd8c3962bdefed1011905673ab8095312703fa22805efe3c5913', + 'org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.7.22:kotlin-scripting-compiler-impl-embeddable-1.7.22.jar:c8667734536a5661230bd7732809385827e087a75f8088958d384042581c3633', + 'org.jetbrains.kotlin:kotlin-scripting-jvm:1.7.22:kotlin-scripting-jvm-1.7.22.jar:f5410993723ff3437638b4acfee9cf5da373091459024fa8a54e1d9ad101c754', + 'org.jetbrains.kotlin:kotlin-stdlib-common:1.5.31:kotlin-stdlib-common-1.5.31.jar:dfa2a18e26b028388ee1968d199bf6f166f737ab7049c25a5e2da614404e22ad', + 'org.jetbrains.kotlin:kotlin-stdlib-common:1.7.0:kotlin-stdlib-common-1.7.0.jar:59c6ff64fe9a6604afce03e8aaa75f83586c6030ac71fb0b34ee7cdefed3618f', + 'org.jetbrains.kotlin:kotlin-stdlib-common:1.7.22:kotlin-stdlib-common-1.7.22.jar:79488cdf284c4b5b3998d302eae9bf0980fa441e3906c6a53d1174f978a3e484', + 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.31:kotlin-stdlib-jdk7-1.5.31.jar:a25bf47353ce899d843cbddee516d621a73473e7fba97f8d0301e7b4aed7c15f', + 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.0:kotlin-stdlib-jdk7-1.7.0.jar:07e91be9b2ca20672d2bdb7e181b766e73453a2da13492b5ddaee8fa47aea239', + 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.22:kotlin-stdlib-jdk7-1.7.22.jar:ade7768d98940a303856529af373f75ffd5e2695b4dc198e9b18396afa53f9e0', + 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31:kotlin-stdlib-jdk8-1.5.31.jar:b548f7767aacf029d2417e47440742bd6d3ebede19b60386e23554ce5c4c5fdc', + 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.0:kotlin-stdlib-jdk8-1.7.0.jar:cf058e11db1dfc9944680c8c61b95ac689aaaa8a3eb30bced028100f038f030b', + 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.22:kotlin-stdlib-jdk8-1.7.22.jar:315102ff1cc2e706286b227147b8db23783db911a89298976a90a22e071cd117', + 'org.jetbrains.kotlin:kotlin-stdlib:1.5.31:kotlin-stdlib-1.5.31.jar:4800ceacb2ec0bb9959a087154b8e35318ead1ea4eba32d4bb1b9734222a7e68', + 'org.jetbrains.kotlin:kotlin-stdlib:1.7.0:kotlin-stdlib-1.7.0.jar:aa88e9625577957f3249a46cb6e166ee09b369e600f7a11d148d16b0a6d87f05', + 'org.jetbrains.kotlin:kotlin-stdlib:1.7.22:kotlin-stdlib-1.7.22.jar:f98505f50a6a1c1dc002d6102e4b419af93d011d5a10696e75a38935a96ea92f', + 'org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.5.0:kotlinx-metadata-jvm-0.5.0.jar:ca063a96639b08b9eaa0de4d65e899480740a6efbe28ab9a8681a2ced03055a4', + 'org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.1.0:kotlinx-serialization-core-jvm-1.1.0.jar:69d18c700cfdf207b3e9bf6f5d58e7de08482d9e34d7c2a0adcb1db8082df943', + 'org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.1.0:kotlinx-serialization-json-jvm-1.1.0.jar:cea6836d3a3990b7ac59f61a9534a0bf1c8d3932bd206080a3a13622ec7587d1', + 'org.jetbrains:annotations:13.0:annotations-13.0.jar:ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478', + 'org.junit.jupiter:junit-jupiter-api:5.7.2:junit-jupiter-api-5.7.2.jar:bc98326ecbc501e1860a2bc9780aebe5777bd29cf00059f88c2a56f48fbc9ce6', + 'org.junit.jupiter:junit-jupiter-engine:5.7.2:junit-jupiter-engine-5.7.2.jar:8a35afb26cd5e8393cb763ff13d26a52a507a35c5b2d7650d42024a7226b80db', + 'org.junit.jupiter:junit-jupiter-params:5.7.2:junit-jupiter-params-5.7.2.jar:17569f7da0ce2ebeab875aa8aa79c0f2c42433ea208291e73fc1a3c9d6143115', + 'org.junit.platform:junit-platform-commons:1.7.2:junit-platform-commons-1.7.2.jar:738d0df021a0611fff5d277634e890cc91858fa72227cf0bcf36232a7caf014c', + 'org.junit.platform:junit-platform-engine:1.7.2:junit-platform-engine-1.7.2.jar:abebbfa420fa8ffdc51083c06807e8692dd9bf8c52455dcdb72474ab90425573', + 'org.objenesis:objenesis:3.1:objenesis-3.1.jar:cdb3d038c188de6f46ffd5cd930be2d5e5dba59c53b26437995d534e3db2fb80', + 'org.opentest4j:opentest4j:1.2.0:opentest4j-1.2.0.jar:58812de60898d976fb81ef3b62da05c6604c18fd4a249f5044282479fc286af2', + 'org.reflections:reflections:0.9.12:reflections-0.9.12.jar:d168f58d32f2ae7ac5a8d5d9092adeee526c604b41125dcb45eea877960a99cf', + 'org.slf4j:slf4j-api:1.7.36:slf4j-api-1.7.36.jar:d3ef575e3e4979678dc01bf1dcce51021493b4d11fb7f1be8ad982877c16a1c0', + ] +} diff --git a/update-dependency-pinning.sh b/update-dependency-pinning.sh new file mode 100755 index 00000000..79f7321f --- /dev/null +++ b/update-dependency-pinning.sh @@ -0,0 +1,22 @@ +#!/bin/bash +set -e + +PROJECTS=( + 'mailbox-core' + 'mailbox-android' + 'mailbox-cli' + 'mailbox-lib' +) + +# clear witness files to prevent errors when upgrading dependencies +for project in "${PROJECTS[@]}" +do + echo "" > "${project}/witness.gradle" +done + +# calculating new checksums +for project in "${PROJECTS[@]}" +do + echo "Calculating new checksums for ${project} ..." + ./gradlew -q --configure-on-demand "${project}:calculateChecksums" | grep -v '^\(Skipping\|Verifying\|Welcome to Gradle\)' > "${project}/witness.gradle" +done -- GitLab