From ad6345de88cdd4c49cb7f698c8037f16eee0e5da Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Wed, 21 Feb 2018 19:44:59 +0100 Subject: [PATCH] Re-write reprod to support all versions in one tree --- .gitmodules | 15 ++ gradle/reprod/build.gradle | 43 ++++ gradle/reprod/checksums.txt | 214 ++++++++++++++++-- gradle/reprod/init.gradle | 92 +++++--- ...mpilation-with-newer-gradle-versions.patch | 84 +++++++ ...tps-urls-with-http-for-proxy-witness.patch | 75 ++++++ ...tps-urls-with-http-for-proxy-witness.patch | 0 ...tps-urls-with-http-for-proxy-witness.patch | 75 ++++++ ...APSHOT-deps-with-manually-built-ones.patch | 41 ---- ...n-essential-parts-and-shade-manually.patch | 126 ----------- .../patches/mixin/0003-Fix-for-Gradle-3.patch | 25 ++ ...place-fernflower-SNAPSHOT-depencency.patch | 25 ++ ...de-java-version-and-user-name-in-jar.patch | 26 +++ ...ipt-dependencies-with-manually-built.patch | 40 ---- gradle/reprod/settings.gradle | 7 + gradle/reprod/setup.sh | 155 ++++--------- gradle/reprod/upstream/forgeflower | 1 + gradle/reprod/upstream/forgegradle-2.1 | 1 + gradle/reprod/upstream/forgegradle-2.2 | 1 + gradle/reprod/upstream/forgegradle-2.3 | 1 + gradle/reprod/upstream/mixin | 1 + settings.gradle | 4 - versions/common.gradle | 25 +- 23 files changed, 702 insertions(+), 375 deletions(-) create mode 100644 gradle/reprod/build.gradle create mode 100644 gradle/reprod/patches/forgegradle-2.1/0001-Fix-compilation-with-newer-gradle-versions.patch create mode 100644 gradle/reprod/patches/forgegradle-2.1/0001-Replace-https-urls-with-http-for-proxy-witness.patch rename gradle/reprod/patches/{forgegradle => forgegradle-2.2}/0001-Replace-https-urls-with-http-for-proxy-witness.patch (100%) create mode 100644 gradle/reprod/patches/forgegradle-2.3/0001-Replace-https-urls-with-http-for-proxy-witness.patch delete mode 100644 gradle/reprod/patches/forgegradle/0006-Replace-SNAPSHOT-deps-with-manually-built-ones.patch delete mode 100644 gradle/reprod/patches/mcinjector/0001-Remove-non-essential-parts-and-shade-manually.patch create mode 100644 gradle/reprod/patches/mixin/0003-Fix-for-Gradle-3.patch create mode 100644 gradle/reprod/patches/mixin/0005-Replace-fernflower-SNAPSHOT-depencency.patch create mode 100644 gradle/reprod/patches/mixin/0008-Do-not-include-java-version-and-user-name-in-jar.patch delete mode 100644 gradle/reprod/patches/replaymod/0001-Replace-buildscript-dependencies-with-manually-built.patch create mode 100644 gradle/reprod/settings.gradle create mode 160000 gradle/reprod/upstream/forgeflower create mode 160000 gradle/reprod/upstream/forgegradle-2.1 create mode 160000 gradle/reprod/upstream/forgegradle-2.2 create mode 160000 gradle/reprod/upstream/forgegradle-2.3 create mode 160000 gradle/reprod/upstream/mixin diff --git a/.gitmodules b/.gitmodules index 0d1b3611..f49ffdd4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -5,3 +5,18 @@ [submodule "src/main/resources/assets/replaymod/lang"] path = src/main/resources/assets/replaymod/lang url = https://github.com/ReplayMod/Translations +[submodule "gradle/reprod/upstream/forgeflower"] + path = gradle/reprod/upstream/forgeflower + url = https://github.com/MinecraftForge/ForgeFlower.git +[submodule "gradle/reprod/upstream/forgegradle-2.1"] + path = gradle/reprod/upstream/forgegradle-2.1 + url = https://github.com/MinecraftForge/ForgeGradle.git +[submodule "gradle/reprod/upstream/forgegradle-2.2"] + path = gradle/reprod/upstream/forgegradle-2.2 + url = https://github.com/MinecraftForge/ForgeGradle.git +[submodule "gradle/reprod/upstream/forgegradle-2.3"] + path = gradle/reprod/upstream/forgegradle-2.3 + url = https://github.com/MinecraftForge/ForgeGradle.git +[submodule "gradle/reprod/upstream/mixin"] + path = gradle/reprod/upstream/mixin + url = https://github.com/SpongePowered/Mixin.git diff --git a/gradle/reprod/build.gradle b/gradle/reprod/build.gradle new file mode 100644 index 00000000..87e8358d --- /dev/null +++ b/gradle/reprod/build.gradle @@ -0,0 +1,43 @@ +buildscript { + repositories { + maven { + url 'https://plugins.gradle.org/m2/' + } + } + dependencies { + classpath 'gradle.plugin.net.minecrell:gitpatcher:0.9.0' + } +} +subprojects { + apply plugin: 'net.minecrell.gitpatcher' + + patches { + def name = project.name + root = rootProject.file('../..') + submodule = "gradle/reprod/upstream/$name" + target = rootProject.file("deps/$name") + patches = rootProject.file("patches/$name") + } + + task build(type: Exec) { + dependsOn applyPatches + if (project.name == 'forgegradle-2.3') { + dependsOn ':forgeflower:build' + } + onlyIf { + !rootProject.file('deps/repo/' + [ + 'mixin': 'org/spongepowered/mixin/0.7.5-SNAPSHOT', + 'forgeflower': 'net/minecraftforge/forgeflower/1.0.342-SNAPSHOT', + 'forgegradle-2.1': 'net/minecraftforge/gradle/ForgeGradle/2.1-SNAPSHOT', + 'forgegradle-2.2': 'net/minecraftforge/gradle/ForgeGradle/2.2-SNAPSHOT', + 'forgegradle-2.3': 'net/minecraftforge/gradle/ForgeGradle/2.3-SNAPSHOT', + ][project.name]).exists() + } + workingDir patches.target + executable rootProject.file('../../gradlew').absolutePath + args System.getenv('PROXY_SETTINGS').tokenize(' ') + args '-I', rootProject.file('init.gradle').absolutePath + args 'uploadArchives' + args '-x', 'test', '-x', 'javadoc' + } +} diff --git a/gradle/reprod/checksums.txt b/gradle/reprod/checksums.txt index 3e560004..ecd81e85 100644 --- a/gradle/reprod/checksums.txt +++ b/gradle/reprod/checksums.txt @@ -8,6 +8,8 @@ cc3bfcc34a29c041e7cafc05ed6f0c3ebf8a7dcf812489a64f4c37f4f5279adf /com/fasterxml/ a30a3f89fbbea23deb5290e832eb0d12a8171ae8ba4461af2b936ed0245ee697 /com/fasterxml/oss-parent/4/oss-parent-4.pom 4cad4ee2f1c379fa1f6496912fe026d8a4f2febf0a140ff867206b00a22f988f /com/github/abrarsyed/jastyle/jAstyle/1.3/jAstyle-1.3.jar cd62bdfd946618c26b49451084361edf79cd6ddb3eae1a485ecb05319295896d /com/github/abrarsyed/jastyle/jAstyle/1.3/jAstyle-1.3.pom +bd1f6f51d00168a82c25f89204cfe6cbf120f8b92f5929f8b77ed123375d8488 /com/github/fesh0r/fernflower/adbf29f8/fernflower-adbf29f8.jar +737cd3c3e8065698ab54fbfaf345d9d4cc0aa897bf1aa0a328e7c7664c2c491e /com/github/fesh0r/fernflower/adbf29f8/fernflower-adbf29f8.pom 33b3d79f3e27d33c46411ab7b7d81f43f12756e18c8936063f18b1a950a5f84b /com/github/jengelman/gradle/plugins/shadow/1.2.3/shadow-1.2.3.jar f00facfc855e7d5517fc57553614b4690e61df9ab44f6e93ff583ae201b5a3aa /com/github/jengelman/gradle/plugins/shadow/1.2.3/shadow-1.2.3.pom 27fc3b7f0436f532c9d798dbc006d7e0b9b7c9b436f8d977f122665c633e9892 /com/github/johni0702/gradle-ecj-plugin/795736c/gradle-ecj-plugin-795736c.jar @@ -16,8 +18,30 @@ f98b3e07c6b6a32dd6f9f70f5cef4ac9be42a9a6c850ceb8f33767da94706635 /com/github/joh 03e3dff7f9b3ac6cd3b87684fd36a2f6996a4b164a2f8fab9c22c01cb7bfb84b /com/github/johni0702/gradle-reproducible-builds-plugin/a524ada/gradle-reproducible-builds-plugin-a524ada.pom 75ccc0e24d37ed5b8916e1bcffad1e067c2b1cfa21b635287f968db5c3c1963a /com/github/jponge/lzma-java/1.3/lzma-java-1.3.jar fbcba81b21a8bc3c0761e4798fa05285444b43d681c03c9af49f9b2e1ecb0184 /com/github/jponge/lzma-java/1.3/lzma-java-1.3.pom +8d35f8a2035036e29ce3edb0829c768ac74dae916a8415fdfbd066f95c9e3110 /com/github/MinecraftForge/FernFlowerLegacy/114aebe/FernFlowerLegacy-114aebe.jar +968b58bd750235a6d44babbd136d7887125553b015b8eb15c7652159acf71212 /com/github/MinecraftForge/FernFlowerLegacy/114aebe/FernFlowerLegacy-114aebe.pom +920a0f30342483ea5505e0f08718fe208e833db145a06c17f1dcf17d4d64dae7 /com/github/MinecraftForge/Srg2Source/dcad1a6/Srg2Source-dcad1a6.jar +485f5625683d9261d32a89c3725df4c361d4b35bfaf866fb68db17833f1fb820 /com/github/MinecraftForge/Srg2Source/dcad1a6/Srg2Source-dcad1a6.pom +f539e2ca00d43e3d2261b7334eb05137f0eb1d3d5e3cc2c2716b0071e27783ed /com/github/MinecraftForge/Srg2Source/ea4ea62/Srg2Source-ea4ea62.jar +fe525f413965d4f5f65b70f08b90b3d3f944714f665e2c5636a6e8fec08d3c74 /com/github/MinecraftForge/Srg2Source/ea4ea62/Srg2Source-ea4ea62.pom +ecf57aab63509ec0ce3937c2215bc3a2e3cb6357cd11095978db18bd3251731a /com/github/ModCoderPack/MCInjector/7258466/MCInjector-7258466.jar +dc7ed1f4f0ddd8f5ce3b449db944907a5eb2855dbbbc59b08dad1247ebafba33 /com/github/ModCoderPack/MCInjector/7258466/MCInjector-7258466.pom +9de10955f2f5e43c982fab9c88b9fb5a7984e4be08f8665294920fa866dc38e2 /com/github/replaymod/ReplayStudio/14daa88/ReplayStudio-14daa88.jar +2a48580e2a41a35303b5d661a8870f4adaefbd5216af1cbfcf3dd3ca1b906c61 /com/github/replaymod/ReplayStudio/14daa88/ReplayStudio-14daa88.pom +0dbc963a2906295a032f6b46459ad7e9fbd276243da4b347787b536c4ead3d2c /com/github/ReplayMod/ReplayStudio/2b063ec/ReplayStudio-2b063ec.jar +29a7d1756a4a080891bc7521811d848d6e4f1f61520d2327ebaaf3c5ab220c84 /com/github/ReplayMod/ReplayStudio/2b063ec/ReplayStudio-2b063ec.pom +259c0b9e7679cefc5fbf9e7fdada3dec5aaeefb28f6f41b09ea22b22809d9765 /com/github/replaymod/ReplayStudio/7d8c2f7/ReplayStudio-7d8c2f7.jar +c1f4e76c40b3cd3b7653b52a5aacbd2ef9561633879c127a5cb86bbe5ac49e7b /com/github/replaymod/ReplayStudio/7d8c2f7/ReplayStudio-7d8c2f7.pom +c9f435c3c429ee1f13e664614a27baf1d2ae308f4830fbc37fd66c639a877a6f /com/github/replaymod/ReplayStudio/9605121/ReplayStudio-9605121.jar +f55d2e3a29dfbdf76e19e76073b2750bcd33326d3c3a76d03ec4b65fc8c8ce32 /com/github/replaymod/ReplayStudio/9605121/ReplayStudio-9605121.pom +bdf1952a9d02fc8f0909436a097eeda55c31b8db555f2d83b6b975e8f5a9c247 /com/github/replaymod/ReplayStudio/9ee698e/ReplayStudio-9ee698e.jar +63ffed395d243e5b490042d9c1df9e1c35be0d2e511e2f4e298c3ea41686d0ef /com/github/replaymod/ReplayStudio/9ee698e/ReplayStudio-9ee698e.pom +04d7ceaf1e83006d2d93518884353a7856399669332d1174f2572e3d6ec03cd3 /com/github/replaymod/ReplayStudio/a2168ca/ReplayStudio-a2168ca.jar +0703ef825f3e3cd0943f6955fd12da923eb255ed94fe421cbb207b2dcfd61ba4 /com/github/replaymod/ReplayStudio/a2168ca/ReplayStudio-a2168ca.pom 6210f02aef75870d95f3edd13489ec4156f19e0c5816987fa98d24b965714c4a /com/github/replaymod/ReplayStudio/b040763/ReplayStudio-b040763.jar b61aa2c442a62059f632526b82016f9c8ca05f91dd145b049a19a1adcf516407 /com/github/replaymod/ReplayStudio/b040763/ReplayStudio-b040763.pom +bfdcda4cbf23f28392384818a1417c2d6df687e15ce77530ef96381393102f8a /com/github/SpongePowered/MixinGradle/dcfaf61/MixinGradle-dcfaf61.jar +3552e0c04817d91d1b6671a051d0e1d952c8b6a8eec57b54e829de9fa3ddf002 /com/github/SpongePowered/MixinGradle/dcfaf61/MixinGradle-dcfaf61.pom c6ebd74cd6108b8c372c95b842725ee5bd6d3303ba26cb00f18bc92f80b47956 /com/github/tony19/named-regexp/0.2.3/named-regexp-0.2.3.jar 7cdd89a892927998beab59398ef073232588f6e83e411cf4f0905833bf300487 /com/github/tony19/named-regexp/0.2.3/named-regexp-0.2.3.pom 47c625c83a8cf97b8bbdff2acde923ff8fd3174e62aabcfc5d1b86692594ffba /com/google/api-client/google-api-client/1.22.0/google-api-client-1.22.0.jar @@ -32,6 +56,8 @@ d8e9ec26a01cc19c530ab781cc71185acb9f9d576716e3d585a1d4f12f2089c8 /com/google/api 4dad29307c34e923ebb6d29e2c265850a0f0b691c7a63384279aa8353eae28b9 /com/google/apis/google-api-services-youtube/v3-rev178-1.22.0/google-api-services-youtube-v3-rev178-1.22.0.pom 905721a0eea90a81534abb7ee6ef4ea2e5e645fa1def0a5cd88402df1b46c9ed /com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar feab9191311c3d7aeef2b66d6064afc80d3d1d52d980fb07ae43c78c987ba93a /com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.pom +1e7f53fa5b8b5c807e986ba335665da03f18d660802d8bf061823089d1bee468 /com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1.jar +02c12c3c2ae12dd475219ff691c82a4d9ea21f44bc594a181295bf6d43dcfbb0 /com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1.pom c885ce34249682bc0236b4a7d56efcc12048e6135a5baf7a9cde8ad8cda13fcd /com/google/code/findbugs/jsr305/3.0.1/jsr305-3.0.1.jar 4170a761dc5bfd3981a8e6f7aab9e2acdce82d34fd5aa9bb11e3c090d25314ce /com/google/code/findbugs/jsr305/3.0.1/jsr305-3.0.1.pom 8cc1f0813a186079f82d300a43156bdf852a88008f4f1a1fa71e788fb3b9a86d /com/google/code/google-collections/google-collect/snapshot-20080530/google-collect-snapshot-20080530.jar @@ -51,17 +77,17 @@ ddbbf392f8e61f770a509a49aed5f32ead19768283b4b512c626e09e1ba5cc46 /com/googlecode 2a0d16010d3825c732aeab1d25f181074945063d8f76c28004e7d423d66cb75b /com/google/guava/guava/17.0/guava-17.0.pom d664fbfc03d2e5ce9cab2a44fb01f1d0bf9dfebeccc1a473b1f9ea31f79f6f99 /com/google/guava/guava/18.0/guava-18.0.jar e743d61d76f76b5dc060d6f7914fdd41c4418b3529062556920116a716719836 /com/google/guava/guava/18.0/guava-18.0.pom +58d4cc2e05ebb012bbac568b032f75623be1cb6fb096f3c60c72a86f7f057de4 /com/google/guava/guava/19.0/guava-19.0.jar +addc064da7f1077fdf4dc90e5aaa887cd790850d1b74fe2e6e25d5f78551ac63 /com/google/guava/guava/19.0/guava-19.0.pom 36a666e3b71ae7f0f0dca23654b67e086e6c93d192f60ba5dfd5519db6c288c8 /com/google/guava/guava/20.0/guava-20.0.jar 363cc83767b760d7a564d5301e09467e6d48fc1c1c1664b1e18c50815ce19076 /com/google/guava/guava/20.0/guava-20.0.pom 972139718abc8a4893fa78cba8cf7b2c903f35c97aaf44fa3031b0669948b480 /com/google/guava/guava/21.0/guava-21.0.jar c0b016a85c784e01ca51e9d64bf8fe80ce402b206fea897b03258d5e6d0ff80d /com/google/guava/guava/21.0/guava-21.0.pom -59bf456547b6dda3ced968cb56f7f2d3e14474e2de2960a32c47e31c1e456c61 /com/google/guava/guava-jdk5/17.0/guava-jdk5-17.0.jar -f8c152627813d45bc4e7cc17ad6ed6a649a0231ae819ffb8e05d19b205a3db66 /com/google/guava/guava-jdk5/17.0/guava-jdk5-17.0.pom 9fba53585551d3c775179de859760a73c4beab407dfde16b551a09a87b50532a /com/google/guava/guava-parent/17.0/guava-parent-17.0.pom a4accc8895e757f6a33f087e4fd0b661c5638ffe5e0728f298efe7d80551b166 /com/google/guava/guava-parent/18.0/guava-parent-18.0.pom +3b76ff43ecdf10f74da36e4aae2b470c9d063e053c5ca026f5512ae94f1c3e10 /com/google/guava/guava-parent/19.0/guava-parent-19.0.pom f1226fd07fc72af8d6232bdfa70bf31d883a1a01cbc547f23a74e9066c692df1 /com/google/guava/guava-parent/20.0/guava-parent-20.0.pom acdc6d6f07b346caeb174932788bccc63c035cc5c2b100958c21ffe0f6e19988 /com/google/guava/guava-parent/21.0/guava-parent-21.0.pom -5a9606bc27632956b3c11df887e9b3e785854068aaa4e0808ed5660f60b1fb6f /com/google/guava/guava-parent-jdk5/17.0/guava-parent-jdk5-17.0.pom f744c79f198e53deea4cd311f9135a568ab67052804d80fd3d60b0385644cf65 /com/google/http-client/google-http-client/1.20.0/google-http-client-1.20.0.pom f88ffa329ac52fb4f2ff0eb877ef7318423ac9b791a107f886ed5c7a00e77e11 /com/google/http-client/google-http-client/1.22.0/google-http-client-1.22.0.jar 30e7611df40360bdc24325caaa2f7888e847680f2e64e579c28c87a53e5bb422 /com/google/http-client/google-http-client/1.22.0/google-http-client-1.22.0.pom @@ -84,14 +110,38 @@ bbc21cab2e0b0c76c9977fdf8b80c311788094d81e6910a2a6e63d80910102c7 /com/gradle/pub 89aa507536b0a93d8c9d3087d738255eefffc002cefa255ebdbd6891b8165447 /com/gradle/publish/plugin-publish-plugin/0.9.1/plugin-publish-plugin-0.9.1.pom 147592c5eb8e11fc8394125954f877acf25918bae13aa210c2825aefc3030ed8 /com/ibm/icu/icu4j-core-mojang/51.2/icu4j-core-mojang-51.2.jar 06b382efe9d60474aa3df7f4851397b3ae0c4f142567f0fc66a8fa2706a665e4 /com/ibm/icu/icu4j-core-mojang/51.2/icu4j-core-mojang-51.2.pom +331746fa62cfbc3368260c5a2e660936ad11be612308c120a044e120361d474e /com/martiansoftware/jsap/2.1/jsap-2.1.jar +9acf56a8579c05bedd819d99232363e2bf327e8f73c67598dbd9885a845a3c69 /com/martiansoftware/jsap/2.1/jsap-2.1.pom 2c149735a093b6c65a27db760896ad5c5b06e29100bb8969937667784fef4ba0 /com/mojang/authlib/1.5.16/authlib-1.5.16.jar d05175230d79f518b5c4664d24e3d115f5f3888e3806f3b6076cd0b4943e6ca6 /com/mojang/authlib/1.5.16/authlib-1.5.16.pom +ce7a9c86ebebf30b89929026f4a0a3c58ce0f4d47937d6dc086ae4fd0c77544a /com/mojang/authlib/1.5.21/authlib-1.5.21.jar +d59283c7303b42e416518d8f5c265895295c11690fd8d36079f1a04c6a56b17c /com/mojang/authlib/1.5.21/authlib-1.5.21.pom +dc07988e5bb1609e8e027cc89c2993a19586e219c02ff74ea4298e73e97b0efb /com/mojang/authlib/1.5.22/authlib-1.5.22.jar +3e70bac893bb04ac2992baa6fc438f6fc33c0d0213c4edcc40d295e7938091ca /com/mojang/authlib/1.5.22/authlib-1.5.22.pom +795f783dc6301d10e356d1f3db9952d71692ed8004ffdd843f0049f813a0d1a5 /com/mojang/authlib/1.5.24/authlib-1.5.24.jar +0ff47d5e96e67c629513d5cc743a5180dc935603e5957b11ea05fe021bacd5f9 /com/mojang/authlib/1.5.24/authlib-1.5.24.pom c8a095123be93c59d4ac29e4a0616495b3d479ac65913cb719a81ee583e9dfcd /com/mojang/authlib/1.5.25/authlib-1.5.25.jar 194f9d56c3b05a6df8d4f94c383e2eb0b4d4c2ec0437f03a385cbe5d5ab314cd /com/mojang/authlib/1.5.25/authlib-1.5.25.pom +3120fd24c09ab9bc088cb9c1eb2065be86718608450fdbc27b5d371729a619cb /com/mojang/netty/1.6/netty-1.6.jar +568cc3fad81e5e389bad0012a07eca5db073e287200c6c9cb02caf3dc489e9f6 /com/mojang/netty/1.6/netty-1.6.pom c7c7f255b76ff208cac4febf58ddafadcd63bac970dbe0c26dd62c940e80f5b7 /com/mojang/patchy/1.1/patchy-1.1.jar 3dddf11f0085213c080ee6d2bfe387424339c6ec01d22796d3e26e6e813881ab /com/mojang/patchy/1.1/patchy-1.1.pom +a74b4370bc60e368b9c29940d3b6aae334aef3f5cf16b5c2ee5d0b775ef6ea18 /com/mojang/realms/1.10.16/realms-1.10.16.jar +23c16b609458580d2f12abba28604264bfc71451374584a673bd52ad3b99c25c /com/mojang/realms/1.10.16/realms-1.10.16.pom e3ab95d053a4e180693422bf56592f3c62ff273b0deb1d4a3cb5f76d8fb6994a /com/mojang/realms/1.10.17/realms-1.10.17.jar 152235c4a886c6c9a9af7c76092a8161c5e505199b728c1a965f069a7519290f /com/mojang/realms/1.10.17/realms-1.10.17.pom +50ab8f15526ef8166529159fdd56b511a38ea64f91e95619acbbc9b6914848ba /com/mojang/realms/1.10.19/realms-1.10.19.jar +b69780ed88a3df0941e10321685bbdbea80b415c5523ced071301189ea295de5 /com/mojang/realms/1.10.19/realms-1.10.19.pom +9076a115056a4a3ce85b3f8b8c06b8e4ea723d856ab87592d72ac9fd3fa67c9f /com/mojang/realms/1.10.4/realms-1.10.4.jar +0e436798162614ebaa8a04c225ff0100d046848759a3d8a5f5bc3c73dcdaea13 /com/mojang/realms/1.10.4/realms-1.10.4.pom +0ad91190cd480af14954d361d7b9ffc53ab3c5344797e3c9fd90c29bf5d28499 /com/mojang/realms/1.6.1/realms-1.6.1.jar +6c724ad415af96416e035a5ae96b113b1df9247d5833fbf73135c66b23263904 /com/mojang/realms/1.6.1/realms-1.6.1.pom +4a6a90ed956609d6cd3a7f84622fcac87d22e9a5d4858c6d1e965af860d07a63 /com/mojang/realms/1.7.59/realms-1.7.59.jar +5f414ea81dc3e809603844498228bba4dfd5d0fa6f1236b8a5553e9c74f9e36d /com/mojang/realms/1.7.59/realms-1.7.59.pom +c5bbcbcfba1c7444af30b94f7c3eb2ff215ec3cc17c57a9be6b2c815f9a93a0f /com/mojang/realms/1.8.19/realms-1.8.19.jar +c9a429757023ac6daa636205efebd16ef8c21e2ec4e45621fc134a5692c14380 /com/mojang/realms/1.8.19/realms-1.8.19.pom +fe558457679bc0734c83a80f579bbe73415d02a83709d19c6d78c011843ca17c /com/mojang/realms/1.9.8/realms-1.9.8.jar +28bcfc79565f33a1b6382f6ae2ed7841f456f088488083e199764de46c99efd6 /com/mojang/realms/1.9.8/realms-1.9.8.pom 841d2f407824a4a9c3dd872c51ecd76d50381c569b79c3ea7b06b69eec2bba53 /com/mojang/text2speech/1.10.3/text2speech-1.10.3.jar 4465dc903f2bb36f18474de86edd8db46c2538705f675f32cbcdbf8b01ecfc09 /com/mojang/text2speech/1.10.3/text2speech-1.10.3.pom e7cd8951956d349b568b7ccfd4f5b2529a8c113e67c32b028f52ffda371259d9 /commons-cli/commons-cli/1.2/commons-cli-1.2.jar @@ -104,8 +154,12 @@ d157e34244e884dd91fa01921ca84372e11f7bb08fedb5d456c0670c28054636 /commons-codec/ a06e35d3fff3a6b813d94894ebf3e498f9540c864c5b39ae783907e3a6c72889 /commons-codec/commons-codec/1.6/commons-codec-1.6.pom ad19d2601c3abf0b946b5c3a4113e226a8c1e3305e395b90013b78dd94a723ce /commons-codec/commons-codec/1.9/commons-codec-1.9.jar e5efcf039cd909688c201dc5479b144fd6f01f0e40252b7fc5e7d2e1b5c07990 /commons-codec/commons-codec/1.9/commons-codec-1.9.pom +551c13e49dab32aebdb7a70ec9c2767372e58864ae115ef389582e548cffee38 /commons-io/commons-io/1.3.2/commons-io-1.3.2.jar +1da5fdcd12e75b62ba85eed94ab46b64ab9ad7f66a5d1cfcbe194e4e9a0f5d84 /commons-io/commons-io/1.3.2/commons-io-1.3.2.pom a7f713593007813bf07d19bd1df9f81c86c0719e9a0bb2ef1b98b78313fc940d /commons-io/commons-io/1.4/commons-io-1.4.jar 2dae496a19c82b8e9985a1246aa80cf98082b1ae2217cf4b2d4d5ff13a365af2 /commons-io/commons-io/1.4/commons-io-1.4.pom +675f60bd11a82d481736591fe4054c66471fa5463d45616652fd71585792ba87 /commons-io/commons-io/2.2/commons-io-2.2.jar +6c221dc2dca94331a92a9cb19b3943631f7cb7c0302255fb5cd0450654e812c7 /commons-io/commons-io/2.2/commons-io-2.2.pom cc6a41dc3eaacc9e440a6bd0d2890b20d36b4ee408fe2d67122f328bb6e01581 /commons-io/commons-io/2.4/commons-io-2.4.jar b2b5dd46cf998fa626eb6f8a1c114f6167c8d392694164e62533e5898e9b31f2 /commons-io/commons-io/2.4/commons-io-2.4.pom a10418348d234968600ccb1d988efcbbd08716e1d96936ccc1880e7d22513474 /commons-io/commons-io/2.5/commons-io-2.5.jar @@ -118,6 +172,8 @@ d0f2e16d054e8bb97add9ca26525eb2346f692809fcd2a28787da8ceb3c35ee8 /commons-loggin 3250ac3ac6bd60ed0631f5cd0335032b2993d63e405a6ae0555d27a7e4865849 /commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.pom 33a4dd47bb4764e4eb3692d86386d17a0d9827f4f4bb0f70121efab6bc03ba35 /commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.jar 69b8be61aa746c7d02acb1b11eb3b57cb22b246780ed71d79764195cbbe3d99d /commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.pom +34a58d6d80a50748307e674ec27b4411e6536fd12e78bec428eb2ee49a123007 /commons-net/commons-net/3.1/commons-net-3.1.jar +f8acc383765303869a384b588b414e6e7260cc1275c67a23e21c3cef62b6cf19 /commons-net/commons-net/3.1/commons-net-3.1.pom f868fc9e23d7203834abb5e0d11782e1e8920d4e95a06735a13dd51ab8049de8 /com/mycila/maven-license-plugin/maven-license-plugin/1.10.b1/maven-license-plugin-1.10.b1.jar 9576f1134ebf1f0dae51d1e5cce46a6a6e5b5c5998cc12318ebfd16162702d8b /com/mycila/maven-license-plugin/maven-license-plugin/1.10.b1/maven-license-plugin-1.10.b1.pom d190c18ef3caf788c84a49d6bc200be29a76c00d3ad6030bf11f7afaa4b24f88 /com/mycila/parent-pom/5/parent-pom-5.pom @@ -139,32 +195,81 @@ c1a2438a4d35f8586c71d96c44a7e2f133ec924597147a246f8c501acca6acb5 /com/paulscode/ 9f9920b48ae5f1045fe966f08164d6b4e0a727cf17f8e4813ae5c0f2daecffbc /com/typesafe/akka/akka-actor_2.11/2.3.3/akka-actor_2.11-2.3.3.pom c160fbd78f51a0c2375a794e435ce2112524a6871f64d0331895e9e26ee8b9ee /com/typesafe/config/1.2.1/config-1.2.1.jar 62361ef10448869fff8c05150bd0449b423e3ff4498f2a4bab825b3c7685aa3c /com/typesafe/config/1.2.1/config-1.2.1.pom +f2ce9e7cdc3e3598390a495a07cc18aa930a8b9e1480d97bfae31f29e1e75a19 /de/oceanlabs/mcp/mcp/1.10.2/mcp-1.10.2-srg.zip +be95745a7052c11e232fe1b307e5e75444d8408b4d4127c32660e07fea338511 /de/oceanlabs/mcp/mcp/1.11.2/mcp-1.11.2-srg.zip +9346e52ec542a990ea18722a7ff61a208b14796ba4a117bf0a1a043dee3cfc7c /de/oceanlabs/mcp/mcp/1.11/mcp-1.11-srg.zip +a95c958f0c052e0a94d20de1d30a9151f68e66b19bdbea60a58cd41539558874 /de/oceanlabs/mcp/mcp/1.12.1/mcp-1.12.1-srg.zip bea27218818448851594889bf7d984df614ffc698bbe41599dd6237d627e3782 /de/oceanlabs/mcp/mcp/1.12.2/mcp-1.12.2-srg.zip +82cdc6283bc0842bdfa243c1eb807338d1f106db8aef73d26bc908649c586d36 /de/oceanlabs/mcp/mcp/1.12/mcp-1.12-srg.zip +ea6fdd37e68569a378fd149b0ab7cfede1de7fa3e794f4ed81f9018366fbdc51 /de/oceanlabs/mcp/mcp/1.8.9/mcp-1.8.9-srg.zip +68f43fed6611873d19f6dcf2d6739e1f2ddbed3cdd39e6a9f72ec1caee459f59 /de/oceanlabs/mcp/mcp/1.8/mcp-1.8-srg.zip +83b111d3d1a8e8cf06cacf2c877f40bc4fce23c3b04941fe9a1a582374e6d924 /de/oceanlabs/mcp/mcp/1.9.4/mcp-1.9.4-srg.zip +16f933fe337c265ed20fd616a2acadbd119a0b1d1fb186ca26fc8964aeebe0c2 /de/oceanlabs/mcp/mcp_snapshot/20160518-1.9.4/mcp_snapshot-20160518-1.9.4.zip +912bc85953e769198afbc52ac1b7f324a86990529706b36d4771415cab5f3a3d /de/oceanlabs/mcp/mcp_snapshot/20161111-1.10.2/mcp_snapshot-20161111-1.10.2.zip +755416d68281e0c6998fc743929f36e14563510467d1c749d4bf66ba5bf82b19 /de/oceanlabs/mcp/mcp_snapshot/20161220-1.11/mcp_snapshot-20161220-1.11.zip 5bbf57acadec0f5ea930b793772bbbf2885098aed8d2ecf6290c170a7cd9f33e /de/oceanlabs/mcp/mcp_snapshot/20170615-1.12/mcp_snapshot-20170615-1.12.zip +cf2630841a5ef712b4be22a814f1b83964850b0de4dc78f6131b66280beb3249 /de/oceanlabs/mcp/mcp_snapshot_nodoc/20141130-1.8/mcp_snapshot_nodoc-20141130-1.8.zip +aeed0aaba9d159b7ce60a21e2dcc36adb249fade65ce2f76c730dd0ec7270763 /de/oceanlabs/mcp/mcp_stable/22-1.8.9/mcp_stable-22-1.8.9.zip 22c45060f350fcaa94e503f4a420cf8237c26c0fcdb4ada4aa98389b75c7b231 /de/oceanlabs/mcp/RetroGuard/3.6.6/RetroGuard-3.6.6.jar d6f165bb39aaa20ee14fdcbbdb0b8fffae38067087f333ec6e0acd3f6666b2ad /de/oceanlabs/mcp/RetroGuard/3.6.6/RetroGuard-3.6.6.pom * /de/oceanlabs/mcp/versions.json +08e0b3db3d116301f16142c88932daf954ac447427d609710c2a5ee8dfcfa1f7 /fr/inria/gforge/spoon/spoon-core/5.1.0/spoon-core-5.1.0.jar +5339568b5996c1b5ddc11cc7a640b11d3b7c65ba0ae7e250dfa12fd906e483bd /fr/inria/gforge/spoon/spoon-core/5.1.0/spoon-core-5.1.0.pom 142667dfce3afeb5cc6e18e893d895604060ecef9dfc0d261f0eb9b9e8c81cb0 /gradle/plugin/net/minecrell/gitpatcher/0.9.0/gitpatcher-0.9.0.jar 37a6757b16b927873baefe8498fa92c5385eba0ded3852982965491da2dd8e3a /gradle/plugin/net/minecrell/gitpatcher/0.9.0/gitpatcher-0.9.0.pom +8bc2b71a17ed1b5c6329bcc61fa9a2f7fe071074548fa137ebafec2a23d49d89 /io/netty/netty-all/4.0.15.Final/netty-all-4.0.15.Final.jar +9dfcfbce5531faa07e6afb1a2fc9579f096ffe88707bf95869d83ad81228a157 /io/netty/netty-all/4.0.15.Final/netty-all-4.0.15.Final.pom +50510e9c9874b539b98ef931fe7eeeb002f6b5b1976ea37669b9493426294561 /io/netty/netty-all/4.0.23.Final/netty-all-4.0.23.Final.jar +990a10af14db6b136d3a539eadca5dc7b4d0ceab9a1c90c5268b0ca8ae27b14b /io/netty/netty-all/4.0.23.Final/netty-all-4.0.23.Final.pom fd5ad66cdd0a496d281b26c699f4511da7c3f95083659ebb7bae22dab876581a /io/netty/netty-all/4.1.9.Final/netty-all-4.1.9.Final.jar 8ec38a54fc6ed53201d507c6690805878158bcab25c2f476a74c0ccb1d78870b /io/netty/netty-all/4.1.9.Final/netty-all-4.1.9.Final.pom +8064a2f9d222704882928e6ff104decc071ab6b7b07dce8efb90100d1e624e30 /io/netty/netty-parent/4.0.15.Final/netty-parent-4.0.15.Final.pom +f7f1bd6f1e1df0b300730f1551b7222f13871e40ba5a464978bd3eed94e2212d /io/netty/netty-parent/4.0.23.Final/netty-parent-4.0.23.Final.pom 117ff8d9069d0278585c284ab0817f826f018d9cf4e30f7e1b11f4fbc73013d1 /io/netty/netty-parent/4.1.9.Final/netty-parent-4.1.9.Final.pom +b4533f3b4029e480288d85187fc9ee6789f3d362c6633d8e9b092ec455ad2f28 /it/unimi/dsi/fastutil/7.0.12_mojang/fastutil-7.0.12_mojang.jar +2b3db089f1f78a49a628d9015cca6a95e87421fa04262553cd2c4c79d66d04a7 /it/unimi/dsi/fastutil/7.0.12_mojang/fastutil-7.0.12_mojang.pom c266701bd7a4a2c36285862c1e682ccb7b5cb5b380d0de9bb1b34becf9e1c065 /it/unimi/dsi/fastutil/7.1.0/fastutil-7.1.0.jar 2846073506b6ff0361f08d0deafb2f3921797974e9685cae6c103f4a7f29100b /it/unimi/dsi/fastutil/7.1.0/fastutil-7.1.0.pom 09adf7955baa6bddf57a4bdbf9a91cf690261314969b59a18085ece1e05eccf9 /java3d/vecmath/1.5.2/vecmath-1.5.2.jar a4aee4668f1b127c95c9afe1b922f4c5a0b1ad879ba811077cb7d0e048dce231 /java3d/vecmath/1.5.2/vecmath-1.5.2.pom a6d2c9c0ddff7702662073b69c6dc4ec83011d22e4eb2dada28aa2d66ee47f97 /jline/jline/2.13/jline-2.13.jar ba62d78eb858e241a604cdf739594cd312f0572756ea7aba4544c746d7152c43 /jline/jline/2.13/jline-2.13.pom -90a8e1603eeca48e7e879f3afbc9560715322985f39a274f6f6070b43f9d06fe /junit/junit/4.11/junit-4.11.jar -18ad8b0ae9e65a9195d04e25427dfe8b58175abcdae875a5a406aee38bddfb26 /junit/junit/4.11/junit-4.11.pom dc67378cf428c06408e7959e83bdc1518dd22ccd313e7c28a986612d65c276c7 /log4j/log4j/1.2.12/log4j-1.2.12.jar cb54dedc5d8c4510148dfa792701cbac1a84c383a84f48f5a32e6d7e460bbb72 /log4j/log4j/1.2.12/log4j-1.2.12.pom +1d31696445697720527091754369082a6651bd49781b6005deb94e56753406f9 /log4j/log4j/1.2.17/log4j-1.2.17.jar +3b95a3d3cdd3aa4b91ab327ddb5a1bfe03d81e273794e36aa1440471d5d70e5e /log4j/log4j/1.2.17/log4j-1.2.17.pom 0c3085cb93c3ef95d731c274b6f2dd195aa0405fe9328d69cab7f5e899d5e124 /lzma/lzma/0.0.1/lzma-0.0.1.jar a096bc9f7579cec07483874151578720eeb3189c546c19cff56a6203df17b50e /lzma/lzma/0.0.1/lzma-0.0.1.pom * /mc/game/version_manifest.json +7cdf7fcdc1c92584a233bf3c42bd7f0df1bdad3007d306831fe50410692be1e9 /mc/game/1.10.2/client/dc8e75ac7274ff6af462b0dcec43c307de668e40/client.jar +195f468227c5f9218f3919538b9b16ba34adced67fc7d7b652c508a5e8d07a21 /mc/game/1.10.2/server/3d501b23df53c548254f5e3f66492d178a48db63/server.jar +be3fff4f2cc005a1310a96389efdeb983d2bcb4b8e747c402acd616ae73d0ba2 /mc/game/1.11.2/client/db5aa600f0b0bf508aaf579509b345c4e34087be/client.jar +dec47d36b429fd05076b90b1f42c2a25138bc39204aa51b9674ef2a98d64d88a /mc/game/1.11.2/server/f00c294a1576e03fddcac777c3cf4c7d404c4ba4/server.jar +f0d11987ea743f55a2c03bf77216e6dc9baea7201cc7bf498ceb18043e984634 /mc/game/1.11/client/780e46b3a96091a7f42c028c615af45974629072/client.jar +3277965fd83d26944dfbd1b9740d95cf206985da330a1b3733868e4de7dc6f83 /mc/game/1.11/server/48820c84cb1ed502cb5b2fe23b8153d5e4fa61c0/server.jar +19331fb29bf8b8d5ed764677c94cca9d66481e10104f660eb555894a4300cf22 /mc/game/1.12.1/client/83385d346cf7f97d1e447b888750fb88e9928b93/client.jar +848912640bccfa7ea34a2cc1c76cb2b35f8467c4216d9603917c991660f91a8b /mc/game/1.12.1/server/561c7b2d54bae80cc06b05d950633a9ac95da816/server.jar 8ada07da5ee77dad3527bd7278fbd05ee1fc8a597813b216a871a2d7d64cc64f /mc/game/1.12.2/client/0f275bc1547d01fa5f56ba34bdc87d981ee12daf/client.jar fe1f9274e6dad9191bf6e6e8e36ee6ebc737f373603df0946aafcded0d53167e /mc/game/1.12.2/server/886945bfb2b978778c3a0288fd7fab09d315b25f/server.jar +59e84cf6acc3912e1705ab05c722485afb3ec33343eef4756d8c16edfe6411ca /mc/game/1.12/client/909823f9c467f9934687f136bc95a667a0d19d7f/client.jar +feebff3834e41cc096522525707d2dd27adc2431b1f3145b9d0ccfc4c8a3dc09 /mc/game/1.12/server/8494e844e911ea0d63878f64da9dcc21f53a3463/server.jar +* /mc/game/12f260fc1976f6dd688a211f1a906f956344abdd/1.11.2.json +14f0d96d1a56fb4f5c3b2233d00699525893fe5ce3dcf181e7de59120595d298 /mc/game/1.8.9/client/3870888a6c3d349d3771a3e9d16c9bf5e076b908/client.jar +c18e4245073aaff580eb7359902f0251436568b1647a9e443a924cdb73fa8312 /mc/game/1.8.9/server/b58b2ceb36e01bcd8dbf49c8fb66c55a9f0676cd/server.jar +ccccd0a92f76fbb24279691daad9b67f85d80471a37e59e0da76d7754982dfe8 /mc/game/1.8/client/d722504db9de2b47f46cc592b8528446272ae648/client.jar +40e23f3823d6f0e3cbadc491cedb55b8ba53f8ab516b68182ddd1536babeb291 /mc/game/1.8/server/a028f00e678ee5c6aef0e29656dca091b5df11c7/server.jar +* /mc/game/1920a2b4e996bae0af1a67d38d63706bac10ac47/1.10.2.json +23e90103a1ca2ac71100004c6d5846de09f85695f579843ef8da41571e60c908 /mc/game/1.9.4/client/4a61c873be90bb1196d68dac7b29870408c56969/client.jar +13fea7aa10d804dd14ed7ebde2493dc64c7d3c8173369309bd7f6ea4c0ea40ad /mc/game/1.9.4/server/edbb7b1758af33d365bf835eb9d13de005b1e274/server.jar +* /mc/game/2ce9731e5bafdf69014e4e6db1cc56149958c5a8/1.12.1.json +* /mc/game/42c67f1d38e55da24741c9e40ef5253f289177f1/1.8.9.json +* /mc/game/71579a8bd04a542218613d8015aaf386b84c6ba1/1.12.json +* /mc/game/7a3e41e164f3e3124c05a8bc782bba466d20c431/1.11.json +* /mc/game/cdcd308b7cbd15bc595850ce6557d4ade48cee7a/1.9.4.json * /mc/game/cf72a57ff499d6d9ade870b2143ee54958bd33ef/1.12.2.json +* /mc/game/d74a4b45e8877084e1bcc8121012845f28def238/1.8.json +3bff6a1489b8e54cf130344bc5e8744db331045ad2fc736612576e1d80eb1f48 /net/java/dev/jna/jna/3.4.0/jna-3.4.0.jar +cf4605822bd56d135dd7031603f122a11a0ec772373f466a4f2aac72dd9a1761 /net/java/dev/jna/jna/3.4.0/jna-3.4.0.pom c4dadeeecaa90c8847902082aee5eb107fcf59c5d0e63a17fcaf273c0e2d2bd1 /net/java/dev/jna/jna/4.4.0/jna-4.4.0.jar 800bb2831dda341336ea69b7beb675f159973f64dad6aaa1ad8c4fa78e5cb19b /net/java/dev/jna/jna/4.4.0/jna-4.4.0.pom ea89d5090c8303ba4e9a0056e6d8a20429f3e021411e950bfd9eba3b6e6cf15c /net/java/dev/jna/platform/3.4.0/platform-3.4.0.jar @@ -177,11 +282,29 @@ ea89d5090c8303ba4e9a0056e6d8a20429f3e021411e950bfd9eba3b6e6cf15c /net/java/dev/j ba27597365ae85a836c1f51819903668b4a1a7490e39e530633cc8a7b40b5500 /net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5.pom c3334ff39cf0ab3b54925619101054c90098b7c733b1e7834c7b75e4c41e84a5 /net/java/jutils/jutils/1.0.0/jutils-1.0.0.jar af09ead4eb241473e7ec4d152a91a722ea09a717a202e20e4b385eac3217b7d6 /net/java/jutils/jutils/1.0.0/jutils-1.0.0.pom -* /net/minecraftforge/forge/json -e6305077f41e2bfe957b486bed110e8af9ce54a651d36722d8d23e8e260d5b83 /net/md-5/SpecialSource/1.8.1/SpecialSource-1.8.1.jar -dc5a991a91d6abc0059a7d0842a9e9899cf5e80354a727a22ffe35f508692d76 /net/md-5/SpecialSource/1.8.1/SpecialSource-1.8.1.pom +b47c5d5810643426a3147ddb2195ef2ab67c80b167e7c2ac64a5d0dee8c030dd /net/md-5/SpecialSource/1.7.4/SpecialSource-1.7.4.jar +5f374f8ae7afff8dbc23aff14e59c5bd585c230afe9a8dcaa7b928e8cb16a27e /net/md-5/SpecialSource/1.7.4/SpecialSource-1.7.4.pom +ea608fe91f9c77a7e91061fab2c4d8eb1b865db4d062ea0fcc12a76db06c9dea /net/md-5/SpecialSource/1.8.2/SpecialSource-1.8.2.jar +5c3cfa9275750df888575ce0875ca31e53a269b96937277a7e6f9406cef75b0d /net/md-5/SpecialSource/1.8.2/SpecialSource-1.8.2.pom +df07ca74ae02f9879c6e5dd49eac661ddb907e65ba1536694aa0f27932ac9b99 /net/minecraftforge/forge/1.10.2-12.18.2.2099/forge-1.10.2-12.18.2.2099.pom +305dbc9c547d87f650de3b1ded42d48a28533f45c857c9e05f217b61238fc1cb /net/minecraftforge/forge/1.10.2-12.18.2.2099/forge-1.10.2-12.18.2.2099-userdev.jar +c12e3e3e269007f40dab08d4632fa907a89c8cc2edcf0e0366cd230b99dfe1d4 /net/minecraftforge/forge/1.11-13.19.1.2188/forge-1.11-13.19.1.2188.pom +bca39299eb708ab47ec91b4adcfd1817da7ae7d049ced32469fd24d17bdd503f /net/minecraftforge/forge/1.11-13.19.1.2188/forge-1.11-13.19.1.2188-userdev.jar +b55cbfab15e7258d6d1640f655d5fcaf0e28222c81120b9d9be6b7853db34ccc /net/minecraftforge/forge/1.11.2-13.20.0.2216/forge-1.11.2-13.20.0.2216.pom +43734366d24d801abecd5b2dee8bfbb120d81622d0614838ef07e7f602beea27 /net/minecraftforge/forge/1.11.2-13.20.0.2216/forge-1.11.2-13.20.0.2216-userdev.jar +606b825e3920a1b7e8e2652a37e432f2b3066539e803a46212c5505a709cbff2 /net/minecraftforge/forge/1.12.1-14.22.0.2444/forge-1.12.1-14.22.0.2444.pom +c8396b067c800425d4f4e97ec6879262f2133b5c53575c6b82c4eb6feb22f2a1 /net/minecraftforge/forge/1.12.1-14.22.0.2444/forge-1.12.1-14.22.0.2444-userdev.jar +51de37266b446ce00dca7073825a8ea2e16641866222bcb7c079bb537a3badad /net/minecraftforge/forge/1.12-14.21.1.2387/forge-1.12-14.21.1.2387.pom +ce0229a5c0873e5085bfb67eaea93aeed2e9f95e0534d87eadba5f1864a90778 /net/minecraftforge/forge/1.12-14.21.1.2387/forge-1.12-14.21.1.2387-userdev.jar 0be3944587adda74c34735dc66757afed3223d8599ac6ad1b402d36d452a09f9 /net/minecraftforge/forge/1.12.2-14.23.0.2486/forge-1.12.2-14.23.0.2486.pom 7fdc682b7ae27f08d50873ae68ded2bc3e14756559fae5b9717efcf6814952c8 /net/minecraftforge/forge/1.12.2-14.23.0.2486/forge-1.12.2-14.23.0.2486-userdev.jar +5d166a260388526b502b07c167beb8ae5cd18d46f60a10a029c1d6e1206e093a /net/minecraftforge/forge/1.8-11.14.4.1563/forge-1.8-11.14.4.1563.pom +3e33989b813090abe749334b5a9a663bd37cb20e987b91f78fc616cc7fb91ee1 /net/minecraftforge/forge/1.8-11.14.4.1563/forge-1.8-11.14.4.1563-userdev.jar +029ba9ca09212fbb850ea78a6b53b96b1288195b4e191194793cf5cf80d5758a /net/minecraftforge/forge/1.8.9-11.15.1.1722/forge-1.8.9-11.15.1.1722.pom +521a5faf35432ea33ec342b6fd104311fabe6254366c601a63671508b27517fe /net/minecraftforge/forge/1.8.9-11.15.1.1722/forge-1.8.9-11.15.1.1722-userdev.jar +95f1435c1638b942f4a63d5c5b3cbc85653183caa5357e4586fb792e2d7a819b /net/minecraftforge/forge/1.9.4-12.17.0.1976/forge-1.9.4-12.17.0.1976.pom +f317d5572442e9c072046247a5f1c9e5643c5cf5af8900a2c2f878a44d07bbf1 /net/minecraftforge/forge/1.9.4-12.17.0.1976/forge-1.9.4-12.17.0.1976-userdev.jar +* /net/minecraftforge/forge/json e74b65b8948446982a506a96176dd8baf4688237ba4903f56ca6f667b6c7ee42 /net/minecraft/launchwrapper/1.11/launchwrapper-1.11.jar 616c4971035d1e6ab4809e16daabb02aa308c1dc001c06dd547c7d3b2e916999 /net/minecraft/launchwrapper/1.11/launchwrapper-1.11.pom 57f402b626d16cc2705bf2a37add7adbb074f0ca3b3102fa6e23aa303dae682f /net/minecraft/launchwrapper/1.12/launchwrapper-1.12.jar @@ -192,6 +315,8 @@ e74b65b8948446982a506a96176dd8baf4688237ba4903f56ca6f667b6c7ee42 /net/minecraft/ 692744a19473011539ebc1370a264b8af1c056e0ae21f5372aa9dd7d4b4e5a2b /net/sf/jopt-simple/jopt-simple/4.6/jopt-simple-4.6.pom 26c5856e954b5f864db76f13b86919b59c6eecf9fd930b96baa8884626baf2f5 /net/sf/jopt-simple/jopt-simple/4.9/jopt-simple-4.9.jar 7af7e2d8b24b4798f04c2b7da24c9fbd1b7557b4e017c2054481565916079092 /net/sf/jopt-simple/jopt-simple/4.9/jopt-simple-4.9.pom +9f0c8d50fa4b79b6ff1502dbec8502179d6b9497cacbe17a13074001aed537ec /net/sf/jopt-simple/jopt-simple/5.0.1/jopt-simple-5.0.1.jar +606e9b1d8e448a8f454b7eb585320b392e80f68880e92bef98cdf9dab8714340 /net/sf/jopt-simple/jopt-simple/5.0.1/jopt-simple-5.0.1.pom 6f45c00908265947c39221035250024f2caec9a15c1c8cf553ebeecee289f342 /net/sf/jopt-simple/jopt-simple/5.0.3/jopt-simple-5.0.3.jar df75c23d079c8f1a4f5b2fda4ba271ef535993d53d5664213aa2325784e50fd3 /net/sf/jopt-simple/jopt-simple/5.0.3/jopt-simple-5.0.3.pom dc0ba5bff6140dc92339973026a0ecbddc2a3b01bdd46ed9d16becc2f6d78de6 /net/sf/opencsv/opencsv/2.3/opencsv-2.3.jar @@ -214,10 +339,12 @@ c9193ed600adc6c7943a6c6dc6bd952edcb5f10fb2cda594b7199766fdeef698 /org/apache/ant a93aa9c66665872b0e51360c15ae282971e36a8aa987b40ef4d82d9a5aa151c4 /org/apache/ant/ant-parent/1.9.4/ant-parent-1.9.4.pom 802feece72852dafcbd0a425a60367c72c5cb9b6ea5aae59481128569189daf9 /org/apache/apache/10/apache-10.pom ff513db0361fd41237bef4784968bc15aae478d4ec0a9496f811072ccaf3841d /org/apache/apache/13/apache-13.pom +4c3acb6a5f8467babe3e9e4486e35224e20eff822f4bedb520f3319a96dc9579 /org/apache/apache/14/apache-14.pom 36c2f2f979ac67b450c0cb480e4e9baf6b40f3a681f22ba9692287d1139ad494 /org/apache/apache/15/apache-15.pom 9f85ff2fd7d6cb3097aa47fb419ee7f0ebe869109f98aba9f4eca3f49e74a40e /org/apache/apache/16/apache-16.pom 7831307285fd475bbc36b20ae38e7882f11c3153b1d5930f852d44eda8f33c17 /org/apache/apache/18/apache-18.pom 9e9323a26ba8eb2394efef0c96d31b70df570808630dc147cab1e73541cc5194 /org/apache/apache/4/apache-4.pom +12edb5096e13f40c362d0bd40902589fa9586505123fa26799ce50b116fa5bb3 /org/apache/apache/6/apache-6.pom 4946e60a547c8eda69f3bc23c5b6f0dadcf8469ea49b1d1da7de34aecfcf18dd /org/apache/apache/9/apache-9.pom 93f8dfcd20831a28d092427723f696bceb70b28e7fb89d7914f14d5ea492ce5a /org/apache/commons/commons-collections4/4.0/commons-collections4-4.0.jar f23d3625d35b016f3e8b77fb3ebf5e543807081fce2492f45a79d00160789a78 /org/apache/commons/commons-collections4/4.0/commons-collections4-4.0.pom @@ -231,12 +358,15 @@ e1875bf575999ebc62dec34304a0d108c30a4ff8101e8ea5c9a9332715277940 /org/apache/com 45e7fbb2c231db903a5d5aadafc636a173a4d54560f78a11ff498028ef9e345e /org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.pom b9e0306f393460105b8a3fa5105250c5291b1efaa99954ace0ec1c783109a02a /org/apache/commons/commons-parent/11/commons-parent-11.pom fb8c5e55e30a7addb4ff210858a0e8d2494ed6757bbe19012da99d51586c3cbb /org/apache/commons/commons-parent/22/commons-parent-22.pom +af105315410452d1016daa7c23d04c1c0a0016be504f8fe2bc441ecf9f4c737b /org/apache/commons/commons-parent/23/commons-parent-23.pom +aa392820b5e956f57f8d8f5b0878fcb8920b3961ffba153cb69203e96a713ccd /org/apache/commons/commons-parent/24/commons-parent-24.pom 467ae650442e876867379094e7518dfdd67d22c5352ebd39808c84259e9790ba /org/apache/commons/commons-parent/25/commons-parent-25.pom 14733a68e8b120b69de60cd96d222146dcf32f03c1c6cc6a750b1269bafe86c7 /org/apache/commons/commons-parent/28/commons-parent-28.pom e4d258af8b2ff4032148d415379def7870789a6003e80576f1504b10f26b4be8 /org/apache/commons/commons-parent/32/commons-parent-32.pom 53d0011352e2e5106f379dafccdac7754ec6f0f78243c0305e4969f5acddf8fb /org/apache/commons/commons-parent/33/commons-parent-33.pom 7098a1ab8336ecd4c9dc21cbbcac869f82c66f64b8ac4f7988d41b4fcb44e49a /org/apache/commons/commons-parent/35/commons-parent-35.pom 87cd27e1a02a5c3eb6d85059ce98696bb1b44c2b8b650f0567c86df60fa61da7 /org/apache/commons/commons-parent/39/commons-parent-39.pom +9b4771f073287d1f3f249d3a62c0b1ef76fdbba61fac64f099f3c6ef72fa3fb0 /org/apache/commons/commons-parent/3/commons-parent-3.pom b2877c8016f8b28924c8e90dd5ae40cd11f328d02a1de98d80de22574ab36ec7 /org/apache/commons/commons-parent/41/commons-parent-41.pom 8bd632c00bdf80a7de36c22b60f12452c147d8eca2f00d79d66699ebe7daa02a /org/apache/commons/commons-parent/5/commons-parent-5.pom 01e97067a1f9bd0e0a34f2f32bbf43fe6e9b11910f3b0dfe77fd7fb418619105 /org/apache/commons/commons-parent/7/commons-parent-7.pom @@ -275,23 +405,32 @@ f360def8ad0c62f5420a9b2ef8d6a51f87703e05c1df08494578a1d4024b05ad /org/apache/log 815a73e20e90a413662eefe8594414684df3d5723edcd76070e1a5aee864616e /org/apache/logging/log4j/log4j-core/2.8.1/log4j-core-2.8.1.jar 6efbf3a19b80fb812392ac99a113138f1e909d85dfa44c0813c1c69737b82c52 /org/apache/logging/log4j/log4j-core/2.8.1/log4j-core-2.8.1.pom 34b2bf4f531a809168961672ff419d1abf96725b8dfe52980f00c8c4eb134bd6 /org/apache/logging/logging-parent/1/logging-parent-1.pom +35420001ba5fe10723b2b9802c31f59869f8763d5367b3648fa519d207ae4178 /org/apache/maven/maven/3.0.1/maven-3.0.1.pom 4d223e01a6569d6655c1f4fce84969d45142cdbabdb118ea08c5c8c33ec632f6 /org/apache/maven/maven/3.0.4/maven-3.0.4.pom 4c2f8341518aeb9d488844e334c02fa66dd4bb091bfdeb965c8a848ac6ea5aa2 /org/apache/maven/maven/3.0-alpha-2/maven-3.0-alpha-2.pom 33ff4aabbd0d02e4dd8279cda8f366c69915302bc4bb97bc01814a985f5c0643 /org/apache/maven/maven-aether-provider/3.0.4/maven-aether-provider-3.0.4.jar a5082fe0a870bd361b3ecd6ab3e4641cfe775a8da19d80d8b2e277e7861f831b /org/apache/maven/maven-aether-provider/3.0.4/maven-aether-provider-3.0.4.pom +64c3d84c0aa343c135791106db7a1f38598b1e74763c4ce404b1cf28d9b31cc8 /org/apache/maven/maven-artifact/3.0.1/maven-artifact-3.0.1.jar +61ab43b13fc4066c5c176d5c2c700a7f9006438322dc1599772117679a234644 /org/apache/maven/maven-artifact/3.0.1/maven-artifact-3.0.1.pom 3c199a96af9550872724f41c053d7839dfcc6512e7704fa16c675363c4146796 /org/apache/maven/maven-artifact/3.0.4/maven-artifact-3.0.4.jar e39722dcdf98a6a245db3e0f54d0d4a5555c8c9361e3efbfed3a7be1158b9c6c /org/apache/maven/maven-artifact/3.0.4/maven-artifact-3.0.4.pom 85500348730f338599e5f454be4a9909a6d01e86effc1ed0650a71e544bc67d5 /org/apache/maven/maven-compat/3.0-alpha-2/maven-compat-3.0-alpha-2.jar 4196effcccdbe4ef8dc625e5dd8e13284971dd884dc80109cb1f44d76dd0d7e7 /org/apache/maven/maven-compat/3.0-alpha-2/maven-compat-3.0-alpha-2.pom 3dd795c0ad9742a0be65a2a5ec22428d59dd2a891a7565ae94f64661e3740528 /org/apache/maven/maven-core/3.0.4/maven-core-3.0.4.jar 61d1fc83ce71c4af6a5061d0c4884b0cad5a9bd4ef12bce0a628ece6db13a9a7 /org/apache/maven/maven-core/3.0.4/maven-core-3.0.4.pom +3ec2a8baef4dc4471bdcb461a57ce7f90335e2826785a71e9c48cc24ab90fccb /org/apache/maven/maven-model/3.0.1/maven-model-3.0.1.jar +6c1d23f6d6c8259c2221b3c2ab4aa63cdc631c0791ae19579350e696ded82f74 /org/apache/maven/maven-model/3.0.1/maven-model-3.0.1.pom 26b6825ea73ac4d7b1a6f5e62ac1c11b0fc272504da6dde9ba8f894cd847e1c1 /org/apache/maven/maven-model/3.0.4/maven-model-3.0.4.jar 264be3f212d59f9103d3b997c9d0197ff89489d06b7d195d80ee56356b6c662e /org/apache/maven/maven-model/3.0.4/maven-model-3.0.4.pom b4f1d3ae53c290e1ae45694c5ce2d17bf8d577ff5ece0f9aa0cffe151a6ef4e7 /org/apache/maven/maven-model-builder/3.0.4/maven-model-builder-3.0.4.jar ac605e66a84dd9ee63610d650b007e3c8fbb7feef73e94bdd899e60dd475a20f /org/apache/maven/maven-model-builder/3.0.4/maven-model-builder-3.0.4.pom 81fe14cb9779d36e0c610e1049e5b32a6b9974957f257921acf628b31c5486c8 /org/apache/maven/maven-parent/10/maven-parent-10.pom +e25770d5d46dcdfdbb9e38ca04f272c5bdf476d88392ab4044ba90678e616d54 /org/apache/maven/maven-parent/15/maven-parent-15.pom fc45af8911ea307d1b57564eef1f78b69801e9c11a5619e7eb58d5d00ae9db8e /org/apache/maven/maven-parent/21/maven-parent-21.pom +c7484a8a375ad6e3d14781c3675ff496d568b8c95e11b6a3784f6ef21419cdbf /org/apache/maven/maven-parent/24/maven-parent-24.pom 3cb6712f827c80dc6b0b0b967776dba451c023a92b7741bba45d23ab7a83281a /org/apache/maven/maven-parent/8/maven-parent-8.pom +3b5e7b3a72f400835c279d67e62d48d3fd41f2c6e1aa14145ed176d50a6be0b4 /org/apache/maven/maven-plugin-api/3.0.1/maven-plugin-api-3.0.1.jar +bd2ed289400594e7385cfdd14b7488789fe2c19d4c0ea2fde8b947325d5cbf8d /org/apache/maven/maven-plugin-api/3.0.1/maven-plugin-api-3.0.1.pom 4e5ee7f7ab7e43f691788489e59f2da4a322e3e35f2a2d8b714ad929f624eead /org/apache/maven/maven-plugin-api/3.0.4/maven-plugin-api-3.0.4.jar bd928e987661ac90495ca7cdcd5d2fd20cbed97fb9565e30d8425aadae26ee90 /org/apache/maven/maven-plugin-api/3.0.4/maven-plugin-api-3.0.4.pom 0b76d82011452170dddd21fb33da6bfc414ff6629fce6219fbf1d78ce1518e90 /org/apache/maven/maven-project/3.0-alpha-2/maven-project-3.0-alpha-2.jar @@ -305,8 +444,14 @@ beedffd7c7e49ad35ef945c3413f1819f04e43ea294a31804714c8cbb0f372b3 /org/apache/mav a38a54ec1e69a30ddfc14434e0aec2764fc268668abcc0e132d86692a5dce3e4 /org/apache/maven/maven-settings-builder/3.0.4/maven-settings-builder-3.0.4.jar 3e0b3f60267b6070a741b15db5b40fbd824c61db12a1f4f166ed658b9f62ece0 /org/apache/maven/maven-settings-builder/3.0.4/maven-settings-builder-3.0.4.pom 6c35daab503ff462f4f63317ae723bd37cae37460ea3576374a347583e7c4327 /org/apache/maven/wagon/wagon/1.0-beta-4/wagon-1.0-beta-4.pom +b494164ee41bc096a82f6e8ef00768e15037f05af275e2916adf611ddce3edd4 /org/apache/maven/wagon/wagon/2.7/wagon-2.7.pom +ead86734c45313072c8d0e94e7d3a8d4a139c4d12a34b6cf6cf73bb74d400749 /org/apache/maven/wagon/wagon-ftp/2.7/wagon-ftp-2.7.jar +67fe57e50cf0ebc40ffdf10a7aa182559e26cc36ebf6989deb094da805c51fef /org/apache/maven/wagon/wagon-ftp/2.7/wagon-ftp-2.7.pom 6a82569576cda4cae793800ed2985202de8a59e414d2140e217cf077709e7bbb /org/apache/maven/wagon/wagon-provider-api/1.0-beta-4/wagon-provider-api-1.0-beta-4.jar 1739331652c6e93dd3305a9c5b33f493c85782171e9e8a3e0c750b030dabadd1 /org/apache/maven/wagon/wagon-provider-api/1.0-beta-4/wagon-provider-api-1.0-beta-4.pom +c44f20c6eef746950ed8181c18ecf4b88df7c75a3f211ceac98d2bc77fafaff2 /org/apache/maven/wagon/wagon-provider-api/2.7/wagon-provider-api-2.7.jar +c1c01191b371c77e8a1414a6e2c538abc18c6c80d73eec05597f63af4481220d /org/apache/maven/wagon/wagon-provider-api/2.7/wagon-provider-api-2.7.pom +1b273b54909a0349c125ee06282075400861bab4d73d9ae0ace711dfc7add7f8 /org/apache/maven/wagon/wagon-providers/2.7/wagon-providers-2.7.pom 56ab9c6c2d022a9b7079006ba500a996cd2c21411d53cac524933af20c5a4b99 /org/apache/xbean/xbean/3.4/xbean-3.4.pom 17e0efa187127034623197fb88c50c30d3baa62baa0f07d6ec693047ac92ec3b /org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.jar 01c97d4286dd3b5e5441faac3abb589f1fe123cea138bb4ae0995ffae14938df /org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.pom @@ -314,8 +459,13 @@ c7964f00c3d3889c5223e8fcb7476610c59453c86bccc68ef493a56d171bf655 /org/aspectj/as ba5261a1f07260c3d8016623fdd27d662b9934266a75d4f57f165bfbaf9af1a8 /org/aspectj/aspectjrt/1.8.2/aspectjrt-1.8.2.pom f07694998acb204782c72cc8067b237a04097a2170f07d440614883f14a67630 /org/codehaus/groovy/groovy-backports-compat23/2.4.4/groovy-backports-compat23-2.4.4.jar 2f93f476d35dd52828e13f32a4be68ab80a3b999713079feb98c67ae9e8d858f /org/codehaus/groovy/groovy-backports-compat23/2.4.4/groovy-backports-compat23-2.4.4.pom +5197630dcd2336f5b4ab8e6d26e5b8675f5ebd83bd8c91d6aba431b09627d626 /org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom e246e2a062b5d989fdefc521c9c56431ba5554ff8d2344edee9218a34a546a33 /org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom +bea12e747708d25e73410ca1c731ebdfa102e8bdb6ec7d81bd4522583b234bcc /org/codehaus/plexus/plexus/2.0.6/plexus-2.0.6.pom 2b59062030ab0a15c5d0977ba22421706368926488739a65f25793e715cc8a74 /org/codehaus/plexus/plexus/2.0.7/plexus-2.0.7.pom +6ec96f889bc29250f90b167c14e547f1b05aa23565c63f9079595befbde816bb /org/codehaus/plexus/plexus/3.3.1/plexus-3.3.1.pom +7d95ad21733b060bfda2142b62439a196bde7644f9f127c299ae86d92179b518 /org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.jar +a2d14b6752e30a100a6cb03c040d0160b71b61928daf8ea97cabfb4a3335b213 /org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.pom 259d528a29722cab6349d7e7d432e3fd4877c087ffcb04985a6612e97023bba8 /org/codehaus/plexus/plexus-classworlds/2.4/plexus-classworlds-2.4.jar c0439c2b2d850488686143e2529f521b38f2abded6ac212add8f0c637eb912e9 /org/codehaus/plexus/plexus-classworlds/2.4/plexus-classworlds-2.4.pom 4df7a6a7be64b35bbccf60b5c115697f9ea3421d22674ae67135dde375fcca1f /org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar @@ -327,10 +477,16 @@ f53a82db260a2910a9823d6e72a927891daae33d8eb6884ab838a2a2768c6b86 /org/codehaus/p 1bc264824ec876b0ca6f4f5838175c541c638cbc43326a268b9aee7d4778b5ef /org/codehaus/plexus/plexus-containers/1.5.5/plexus-containers-1.5.5.pom 7fc63378d3e84663619b9bedace9f9fe78b276c2be3c62ca2245449294c84176 /org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar d08155c497df37b2c3d9b5b0dfdb02ec0525b2070b5be3739fffde942fcac9af /org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.pom +b4ecee4e3a90b6b782d3e0b260f708615402ae8f2729be2933fedd1234b4bf07 /org/codehaus/plexus/plexus-interpolation/1.1/plexus-interpolation-1.1.jar +72f6babf3ff5886b54a66d567305e85fc0fbecc7e0bd47eb81fa502c9447fae8 /org/codehaus/plexus/plexus-interpolation/1.1/plexus-interpolation-1.1.pom +b4c51a337078b934ad656ee78a2d3a805a507129dc034692c67db0f94b659d3e /org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.jar +35bc7d1213616236571072b2c56da18f7a57658de8b4a4100645b7054a2b273b /org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.pom 8b909f4ca9788647942f883d4e559bcc642123f7c6bcd3846983a2e465469c33 /org/codehaus/plexus/plexus-utils/2.0.6/plexus-utils-2.0.6.jar fddad4fa62c82310aec43525e519cd59f27d04c7569fe21b1b03ca210887810c /org/codehaus/plexus/plexus-utils/2.0.6/plexus-utils-2.0.6.pom 35608df55aa672a195d6b01573a5630a315998b3bbd06310b20eb169113923aa /org/codehaus/plexus/plexus-utils/2.1/plexus-utils-2.1.jar 9f4ac6987113d09099bf43b846d2ec1d5e7a8091a6185f1f16d68e845f681243 /org/codehaus/plexus/plexus-utils/2.1/plexus-utils-2.1.pom +d0be76c5ce910134a7e07fd2aa48d9b677800ab0e95873f314b445c6f177c973 /org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.jar +b4fe0bed469e2e973c661b4b7647db374afee7bda513560e96cd780132308f0b /org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.pom 03cbe8dcaa909a6f72219abec105675c6df08898971c326cf7e64373bff5e769 /org/codehaus/woodstox/wstx-asl/3.2.6/wstx-asl-3.2.6.jar 784db534cc3c5051f88198e8251da9c8b13625e0eb365a347e1085387d8203b1 /org/codehaus/woodstox/wstx-asl/3.2.6/wstx-asl-3.2.6.pom e4144cbc26da195c6b22a53691fd079f70b74aa5f55bd6089cd77ec99a0ee8fe /org/eclipse/core/contenttype/3.4.200-v20130326-1255/contenttype-3.4.200-v20130326-1255.pom @@ -391,9 +547,6 @@ b1f003f28c3ce1753ea0da22a6f0289197a2c369e7056b32e170af7904eff2c1 /org/fusesource 9e82163ed2fc6257fe627132ce554726e796edee4e5efe9d9e523aee217d60b8 /org/fusesource/jansi/jansi/1.11/jansi-1.11.jar b0975adc7450698033f3de4792dd6eba72a980c2b56d8e8d36d381385b37a5c9 /org/fusesource/jansi/jansi/1.11/jansi-1.11.pom 8ba9c49b55f979cf4e04d4871092eb50e834b388fca03a2274ccadff12cc9ce8 /org/fusesource/jansi/jansi-project/1.11/jansi-project-1.11.pom -66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9 /org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar -fde386a7905173a1b103de6ab820727584b50d0e32282e2797787c20a64ffa93 /org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.pom -6d535f94efb663bdb682c9f27a50335394688009642ba7a9677504bc1be4129b /org/hamcrest/hamcrest-parent/1.3/hamcrest-parent-1.3.pom 32ed093f39c46a8d99f801240069478eac93b35f07351c001f2cef4330e97b4a /org/jdom/jdom2/2.0.5/jdom2-2.0.5.jar ebac276b5ad62e9d312fb6ce663d55fdebaba9badc918166e7d60b1ffd1bd475 /org/jdom/jdom2/2.0.5/jdom2-2.0.5.pom ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478 /org/jetbrains/annotations/13.0/annotations-13.0.jar @@ -428,6 +581,8 @@ d312147c3999b868fd649887f45203a4195bc10fc563cee4c4f8d22761421f94 /org/lwjgl/lwjg 8831b2bd5a53dc343fd6fbed3c18f28ab33d3f28dbe62ebd4a3af81f25c0a5ab /org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-osx.jar f2e1f2c6bd7511a7504f389b8b716f5d8dc2fdc71e29c89b52644314cf0a228e /org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-windows.jar 11eeed66c2d56892f3e2046121438153e516dd95d368bcf93c0714f9f2bfdd6f /org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209.pom +32d7e73005a2dc0ccc3c62470c435b351f6501de8e8718e26960534754570a77 /org/lwjgl/lwjgl/lwjgl_util/2.9.1/lwjgl_util-2.9.1.jar +10eab9f1aa97eef450d6c8eca8f459dcdcb9b1d3efbf54eb3dcde33b7aaea1dc /org/lwjgl/lwjgl/lwjgl_util/2.9.1/lwjgl_util-2.9.1.pom 034456b132a336b72757325bb7aaf99e075681ee5650d2bea21717bd485de42f /org/lwjgl/lwjgl/lwjgl_util/2.9.4-nightly-20150209/lwjgl_util-2.9.4-nightly-20150209.jar cb7239de51893ee5abe90c2bc550422cb336140c0866e9d1c899399eeb8a3ba2 /org/lwjgl/lwjgl/lwjgl_util/2.9.4-nightly-20150209/lwjgl_util-2.9.4-nightly-20150209.pom 9cf1643b0d805db942498cebf941d1c43df0a1322137291c258aec6109200858 /org/lwjgl/lwjgl/parent/2.9.1/parent-2.9.1.pom @@ -443,12 +598,18 @@ a3d6e7608155600a73c763ccac74e6b321f8c23dc4747f90635fc2f7cfc1548a /org/mortbay/je 2d705bf03b0b653b0ba3a260b8fe94833e1266bb1e7eb9efc67821555141c9ee /org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.pom 71c4f78e437b8fdcd9cc0dfd2abea8c089eb677005a6a5cff320206cc52b46cc /org/ow2/asm/asm/5.0.3/asm-5.0.3.jar 7d34653ffe62be7714d2f1969660a17df9ec1b19d8250c4f03db1123c82ba6a0 /org/ow2/asm/asm/5.0.3/asm-5.0.3.pom +dd8971c74a4e697899a8e95caae4ea8760ea6c486dc6b97b1795e75760420461 /org/ow2/asm/asm/6.0/asm-6.0.jar +c2bc497e197112e699085426bbb45b1ab0be8002da68267a3b1f450a0312c32e /org/ow2/asm/asm/6.0/asm-6.0.pom 18c1e092230233c9d29e46f21943d769bdb48130cc279e4b0e663f423948c2da /org/ow2/asm/asm-commons/5.0.3/asm-commons-5.0.3.jar e87ea4823ecf2dd856901da359270be904236be59c27e2781eb8d78c97e45b2a /org/ow2/asm/asm-commons/5.0.3/asm-commons-5.0.3.pom +f1bce5c648a96a017bdcd01fe5d59af9845297fd7b79b81c015a6fbbd9719abf /org/ow2/asm/asm-commons/6.0/asm-commons-6.0.jar +90f4f29473afb957229016eb5741954976cc1b67bc049b3981c0d1e653ad5cdd /org/ow2/asm/asm-commons/6.0/asm-commons-6.0.pom 2969356ac1e40fe4141948c563690238f5d79d76aec7fd873536867a331ede81 /org/ow2/asm/asm-debug-all/5.0.3/asm-debug-all-5.0.3.jar 9c99d7a555725bc2f8379977935cdba16d687d9c93b6e0725e196180d490c995 /org/ow2/asm/asm-debug-all/5.0.3/asm-debug-all-5.0.3.pom 2341a72bba5e38c1028a332c11607e1706c13fa600fee6fb546b9a1708418097 /org/ow2/asm/asm-debug-all/5.0.4/asm-debug-all-5.0.4.jar 62efbf37e5068a8708541ae0a4da3d1140f4d711d30e4366445cb96ce13cc79e /org/ow2/asm/asm-debug-all/5.0.4/asm-debug-all-5.0.4.pom +f7ac3f642c36c406543bb56ae3db3a53f263f71bd857b04709986e2d5798c8c4 /org/ow2/asm/asm-debug-all/5.1/asm-debug-all-5.1.jar +0a46e33f6b80bd21ac41eec33fca2e43d79253fb46a32d64ba3867ee22451fff /org/ow2/asm/asm-debug-all/5.1/asm-debug-all-5.1.pom 254b82bec9da4f8efbc8b1f93ab2b87f7465227a82b36cf3d05d9e77a0e8dd2e /org/ow2/asm/asm-debug-all/5.2/asm-debug-all-5.2.jar 491f13bd60757a7cfe76e767766b061d557010394f52cec2fb067707de702caa /org/ow2/asm/asm-debug-all/5.2/asm-debug-all-5.2.pom b4845405fee9fe4f5f665dfe19badcf32581e3eea51b99a45e9f76a0a830c09d /org/ow2/asm/asm-debug-all/5.2/asm-debug-all-5.2-sources.jar @@ -456,13 +617,15 @@ b4845405fee9fe4f5f665dfe19badcf32581e3eea51b99a45e9f76a0a830c09d /org/ow2/asm/as 8eb5e974f89a8bde0065bb6ec46e8647d4d397b34e125f14ace8fb5c78b6f604 /org/ow2/asm/asm-debug-all/6.0_BETA/asm-debug-all-6.0_BETA.pom c2edabf4128a534df4b8b4b0b9b562e94f242ba95ac24dc61485432b8a188e32 /org/ow2/asm/asm-parent/5.0.3/asm-parent-5.0.3.pom fdf05b9df226573b331a7e5df01135e527dcc07c71626445732bd04379aa4a72 /org/ow2/asm/asm-parent/5.0.4/asm-parent-5.0.4.pom +85ec8258fafc283f61647e6a11b404890821c11db6fcf550779ecf7a14151007 /org/ow2/asm/asm-parent/5.1/asm-parent-5.1.pom cbfacd5dd812db16dc910994007fe58d9402a25507f81a1c2218e15c2c1bedfa /org/ow2/asm/asm-parent/5.2/asm-parent-5.2.pom +791d064bb9ecc9a46d43bc9efecd74c91464dfc451f321b802d2261e2ccd7d14 /org/ow2/asm/asm-parent/6.0/asm-parent-6.0.pom 6877adfe16143708322b98e4d23ab9c2a9761bec02d476a4600f39be877d6e09 /org/ow2/asm/asm-parent/6.0_BETA/asm-parent-6.0_BETA.pom 347a7a9400f9964e87c91d3980e48eebdc8d024bc3b36f7f22189c662853a51c /org/ow2/asm/asm-tree/5.0.3/asm-tree-5.0.3.jar 65819ca7c5a218ff49f8ebe72f3b39219c81f137d017acc1aec15b1054cf5236 /org/ow2/asm/asm-tree/5.0.3/asm-tree-5.0.3.pom +887998fb69727c8759e4d253f856822801e33f9fd4caa566b3ac58ee92106215 /org/ow2/asm/asm-tree/6.0/asm-tree-6.0.jar +36887e0d7fdb185a92378a38ea45e596a97f10f385c5d050eb6252454ee701b4 /org/ow2/asm/asm-tree/6.0/asm-tree-6.0.pom 51215c67d2c068d8b7d2f6f80f51372a098075deccc448d4bdd7b987ba8328fb /org/ow2/ow2/1.3/ow2-1.3.pom -3ca225ce3917eac8bf4b7d2186845df4e70dcdede356dca8537b6d78a535c91e /org/projectlombok/lombok/1.16.4/lombok-1.16.4.jar -fcb8d5745f776567f1cce332282750b1653568324621ecef03288c8a25919d0e /org/projectlombok/lombok/1.16.4/lombok-1.16.4.pom e0a471be03e1e6b02bf019480cec7a3ac9801702bf7bf62f15d077ad4df8dd5d /org/projectlombok/lombok/1.16.6/lombok-1.16.6.jar 32ac0a2363ccc0c5086b62cfc05e28a355b74e155efef6b426f5498a0dfc9e4c /org/projectlombok/lombok/1.16.6/lombok-1.16.6.pom 19495ce701fd9ba3c499c137e3ad5364acee8f87a01ef99e912f995a23fd4cb1 /org/scala-lang/modules/scala-parser-combinators_2.11/1.0.1/scala-parser-combinators_2.11-1.0.1.jar @@ -485,6 +648,9 @@ abe89207b0bfcbcf164c820cbba2c962ab5e9f3a0d0f37d81bde4f6c293a874b /org/scala-lang 3268a48dc36c664e7f4bd5d88b366bf098a13f7b6e8b87611e3a4413b72860d4 /org/scala-lang/scala-library/2.11.1/scala-library-2.11.1.pom 41938d1e89670979dd783102777a8b879999f4fb00a5b811b51c105b02a9d4f8 /org/scala-lang/scala-reflect/2.11.1/scala-reflect-2.11.1.jar 8b58df7e9e5f2f4f7d2f0dc24353f356abe965337e48504cec36a344e6294757 /org/scala-lang/scala-reflect/2.11.1/scala-reflect-2.11.1.pom +69980c038ca1b131926561591617d9c25fabfc7b29828af91597ca8570cf35fe /org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.jar +353904a7a6c28304d0dcac80fad30c48cd898f6db03b93f05ad6c90dd42d98ad /org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.pom +1dffae3ce768d0547e261c96898cf5d9d194bffd5600f597c9751cc6a73d33d4 /org/slf4j/slf4j-parent/1.7.7/slf4j-parent-1.7.7.pom 719fe091fd3fe4c6a7b8f69c8714935138b85a2b6145068a1ccfdb57d2e500d1 /org/sonatype/aether/aether/1.13.1/aether-1.13.1.pom ae8dc80232771f8913febfa410c5719e9ba8ded81fb99788e214fd676dbbe13f /org/sonatype/aether/aether-api/1.13.1/aether-api-1.13.1.jar 9a58a1ddbbbe5b635674a958ac9d95d4ffaba7a40b9f800cde2cdf4986c3ef2a /org/sonatype/aether/aether-api/1.13.1/aether-api-1.13.1.pom @@ -498,6 +664,7 @@ c14fb9c32b59cc03251f609416db7c0cff01f811edcccb4f6a865d6e7046bd0b /org/sonatype/f 03263b68791fb11e7464ffcc2c3de7eaeae235de8c94827ce6407e0454d2aae9 /org/sonatype/forge/forge-parent/3/forge-parent-3.pom 1838d132479005b4b7459b798e9d9915515090c288082fdcd86db0b10983a24c /org/sonatype/forge/forge-parent/4/forge-parent-4.pom e56188aa8ce51278006aa90bc7e0f304a81e2f1219f462e7d21f262535cd2795 /org/sonatype/forge/forge-parent/5/forge-parent-5.pom +9c5f7cd5226ac8c3798cb1f800c031f7dedc1606dc50dc29567877c8224459a7 /org/sonatype/forge/forge-parent/6/forge-parent-6.pom 1678d4120a585d8a630131aeec4c524d928398583b7eab616ee7d5a87f520d3d /org/sonatype/oss/oss-parent/5/oss-parent-5.pom b51f8867c92b6a722499557fc3a1fdea77bdf9ef574722fe90ce436a29559454 /org/sonatype/oss/oss-parent/7/oss-parent-7.pom fb40265f982548212ff82e362e59732b2187ec6f0d80182885c14ef1f982827a /org/sonatype/oss/oss-parent/9/oss-parent-9.pom @@ -507,27 +674,48 @@ a63a2e23988cca7fac6c93886d6f0506fd26d88d7e8cc0cb89b9c6e0d6c994ad /org/sonatype/p d5e650c50ef6958c028ed024b59af04cf3d38e1453a77d542b6b484bc0f4ca0b /org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.pom a966df5e36d54a9d9690db81c459806252b924da949a42b538eba5683d6267db /org/sonatype/sisu/inject/containers/2.3.0/containers-2.3.0.pom cfc3507491767609fb2da36dcf32ebb0055b8bd32a2af182c021df9ecce26a76 /org/sonatype/sisu/inject/guava-parent/0.9.9/guava-parent-0.9.9.pom +9e574d71cd6b17420ab64fcb2ccd5304644e0c949f4a9825ac940e9278b57c36 /org/sonatype/sisu/inject/guice-bean/1.4.3.1/guice-bean-1.4.3.1.pom 852f10c4ba2210c29f75d330dc81f406ab8db5cb46430c5ba4082f9c13df180d /org/sonatype/sisu/inject/guice-bean/2.3.0/guice-bean-2.3.0.pom +2f99935b6ce8dac24a2be17526b3c72428458b9924147294da05c9fd5cd4b4d8 /org/sonatype/sisu/inject/guice-parent/2.9.1/guice-parent-2.9.1.pom 6c1be769d69337f1a8cc2d7e756f94b8bdc02a76c3087545aad1e374ac4bd0ce /org/sonatype/sisu/inject/guice-parent/3.1.0/guice-parent-3.1.0.pom +9b99f071b2e10da9aaa8ee66ff0078d562fb2773f59600b5e8dcec323a55dd3e /org/sonatype/sisu/inject/guice-plexus/1.4.3.1/guice-plexus-1.4.3.1.pom 9188fe7eb026bf4c35309f685ea7cf14cb2ebd7c7d49572486f5a97d4b312a03 /org/sonatype/sisu/inject/guice-plexus/2.3.0/guice-plexus-2.3.0.pom 9897e80ff6c08fc45b5b5ebd81d9e943a1087bdf0ad50cda457d616abbdaacd9 /org/sonatype/sisu/sisu-guava/0.9.9/sisu-guava-0.9.9.jar 2c007ed1e50e0edc62f8e3cdf725e1f61068206bc955aec48f3eb13a3467c6e5 /org/sonatype/sisu/sisu-guava/0.9.9/sisu-guava-0.9.9.pom +a8d105cdb5c114458d75765f020e3158a0aab73b2662a44a9fe55aeb5c466243 /org/sonatype/sisu/sisu-guice/2.9.1/sisu-guice-2.9.1-noaop.jar +50c4e230ba725d627420b9f38fe1d129ac7a6e4c538f9fb7babc034e90ed0465 /org/sonatype/sisu/sisu-guice/2.9.1/sisu-guice-2.9.1.pom 4b76079f35407e5682aac1ecbe67afd5f430ae619044a9d6a413666a45750c25 /org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0-no_aop.jar 28a7c38bd751e9e2a9f8d13ddf876266f90f9d6e29c9178b524828afbc5e45f4 /org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0.pom +33a3f5884d6edf4cf77e480ee21e1c229b225bf9ae3e62172354d697940896c4 /org/sonatype/sisu/sisu-inject/1.4.3.1/sisu-inject-1.4.3.1.pom 4b112cc2452aee6930dff95512f05041e4c66a2df0a828e95f8439c23a8759e9 /org/sonatype/sisu/sisu-inject/2.3.0/sisu-inject-2.3.0.pom +10585526c51c6f5f7cf50d779798f6a295a0efed46dd45508e6ec77e80a1b96c /org/sonatype/sisu/sisu-inject-bean/1.4.3.1/sisu-inject-bean-1.4.3.1.jar +cbefb568cb07200f889d7509f7afcee709549816c66a5eea38f875bc6addfe57 /org/sonatype/sisu/sisu-inject-bean/1.4.3.1/sisu-inject-bean-1.4.3.1.pom 75819b29737c2bee1bfbda1011d455c7036738e0ef32ffbf85ba1d8fa157ceb2 /org/sonatype/sisu/sisu-inject-bean/2.3.0/sisu-inject-bean-2.3.0.jar f41fc69095282c2c332cf3d9f27a2f3b2d87cd22fcb6511df59fffd90a977ec0 /org/sonatype/sisu/sisu-inject-bean/2.3.0/sisu-inject-bean-2.3.0.pom +dca5fd3a0f613b55239201ae7cd30f1a938ae8d2b3879541c4822bb89046d71b /org/sonatype/sisu/sisu-inject-plexus/1.4.3.1/sisu-inject-plexus-1.4.3.1.jar +385ec86169e1529fc4b48dccc25adef45be7798781cae7325196aa7f4e9b0bb6 /org/sonatype/sisu/sisu-inject-plexus/1.4.3.1/sisu-inject-plexus-1.4.3.1.pom bf9083fb846993689409b2bdbc735048e53bac6cc32707cde7ef84817b6e9365 /org/sonatype/sisu/sisu-inject-plexus/2.3.0/sisu-inject-plexus-2.3.0.jar 34feae95889f78e7d4260167736e6af444296fbc5f3794b8c1b90eb6332c4714 /org/sonatype/sisu/sisu-inject-plexus/2.3.0/sisu-inject-plexus-2.3.0.pom +fff1c8d48c875cd2c06cf83a3c9d4e7eb3b81d4cecfc23ba5ea164f1db266538 /org/sonatype/sisu/sisu-parent/1.4.3.1/sisu-parent-1.4.3.1.pom aef1fd28efd25bd778aa3d3770c6f9e606ca2354149e985f1d63fc7c6a366bd2 /org/sonatype/sisu/sisu-parent/2.3.0/sisu-parent-2.3.0.pom 02161ae46462da669b1d7be3f9b64687c6347f84d04c890fa467eff6def0ae10 /org/sonatype/spice/model-builder/1.3/model-builder-1.3.jar 0d2cc363cdfc6c102203adb6a5c138c195eaf1198527a09e6a17aa0227a66bcd /org/sonatype/spice/model-builder/1.3/model-builder-1.3.pom 683c012c6bf5e1e31b232b3755c027ccd829692a09c8216652b414b09d4ae623 /org/sonatype/spice/spice-parent/10/spice-parent-10.pom 21a19b26dbe5c38ddb5114cf4eadbf5ccb411bc6b128fdd5949b1ccb12f3683e /org/sonatype/spice/spice-parent/12/spice-parent-12.pom 258f43b5e805687302a5bb400856b972a573ec42a44f949641354a84b9243758 /org/sonatype/spice/spice-parent/16/spice-parent-16.pom +9151f9a5b33ec36ee8778842fc56144fb0242d39cbcc42061b053b8909969bdf /org/sonatype/spice/spice-parent/17/spice-parent-17.pom 27901e5d4d60d3502571d5e6358fc89e3fcf874138b69d495d139bcc3e169404 /oshi-project/oshi-core/1.1/oshi-core-1.1.jar e7e154dd64e5bd87e6ae2652ab52ab88eb53d05606466faee382d11f59d0ab71 /oshi-project/oshi-core/1.1/oshi-core-1.1.pom d1968436fc216c901fb9b82c7e878b50fd1d30091676da95b2edd3a9c0ccf92e /stax/stax-api/1.0.1/stax-api-1.0.1.jar 87b13ae136a2bb9299271a0dfe8c351f76661b654ed8fde035c2cabb198cf259 /stax/stax-api/1.0.1/stax-api-1.0.1.pom ad68a86cfd0255a2bc0525ce11ec49640caea7e34ff91eb89c3193dcccd77f05 /trove/trove/1.0.2/trove-1.0.2.jar 83f2682bd3ded1fe417b7e98e7ac86510cd747378eae7e3a5d1d35c7c7f0d2ea /trove/trove/1.0.2/trove-1.0.2.pom +3b90f9f7ad968b9588482e3a09b6e7d0d81c6cf7c214c5cecd8120e3ee509ae9 /tv/twitch/twitch/6.5/twitch-6.5.jar +56820ae80518871ff0af04dbfa54e311f6fa54de922d201f71bd2d3f210e94ba /tv/twitch/twitch/6.5/twitch-6.5.pom +0825d6081eef7e57434cd15525d6c1e7bc5d590e08eaea5b7516820031978af9 /tv/twitch/twitch-external-platform/4.5/twitch-external-platform-4.5-natives-windows-32.jar +6428eb438f53afc563d58c7f2a563ca9fcaae80db3520af744de5e5db1c9df6a /tv/twitch/twitch-external-platform/4.5/twitch-external-platform-4.5-natives-windows-64.jar +5ac03ac36144e4aeeb57b8ccc968b1ed75ae4b9ed4b094f47cb2b7b64c23a67d /tv/twitch/twitch-external-platform/4.5/twitch-external-platform-4.5.pom +4005b7d20bc7e8c37cb0fd94bb7c44b5a6373846f3cb59e7a0095f6ebdf3e4f3 /tv/twitch/twitch-platform/6.5/twitch-platform-6.5-natives-osx.jar +8315b4943f4e1356c34b213d4f309784d5e36cbded1fb37c49efcc7d22c909cb /tv/twitch/twitch-platform/6.5/twitch-platform-6.5-natives-windows-32.jar +75337e7362e489a6f8c9712aeced9e131e82a3ce851cafbd4d03fda284cc7116 /tv/twitch/twitch-platform/6.5/twitch-platform-6.5-natives-windows-64.jar +3b5636dae28488379b110bd87a769497af8227518c273e62110cfd638f9fdcb6 /tv/twitch/twitch-platform/6.5/twitch-platform-6.5.pom diff --git a/gradle/reprod/init.gradle b/gradle/reprod/init.gradle index 822c25c5..a8adf366 100644 --- a/gradle/reprod/init.gradle +++ b/gradle/reprod/init.gradle @@ -19,53 +19,81 @@ def convertRepoToHttp = { repo -> } } +def setupDependencySubstitution = { Configuration configuration -> + configuration.resolutionStrategy.eachDependency { dep -> + def req = dep.requested + if (req.group == 'net.minecraftforge.gradle' && req.name == 'ForgeGradle' && req.version == '2.0-SNAPSHOT') { + // FG 2.1 works for MC 1.8 as well, as long as only CI builds are performed (fails when applying source patches) + dep.useTarget 'net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT' + } + if (req.group == 'de.oceanlabs.mcp' && req.name == 'mcinjector' && req.version == '3.4-SNAPSHOT') { + dep.useTarget 'com.github.ModCoderPack:MCInjector:7258466' + } + if (req.group == 'net.minecraftforge.srg2source' && req.name == 'Srg2Source') { + switch (req.version) { + case '3.3-SNAPSHOT': + // Note: 3.3-SNAPSHOT is actually 5f11e29 but that doesn't build due to broken javadoc + dep.useTarget 'com.github.MinecraftForge:Srg2Source:dcad1a6' + break + case '4.0-SNAPSHOT': + dep.useTarget 'com.github.MinecraftForge:Srg2Source:ea4ea62' + break + default: + throw new IllegalStateException("Don't know how to replace Srg2Source version $req.version") + } + } + if (req.group == 'net.minecraftforge' && req.name == 'fernflower' && req.version == '2.0-SNAPSHOT') { + dep.useTarget 'com.github.MinecraftForge:FernFlowerLegacy:114aebe' + } + /* Could theoretically be built by jitpack but that fails for some reason + if (req.group == 'net.minecraftforge' && req.name == 'forgeflower' && req.version == '1.0.342-SNAPSHOT') { + dep.useTarget 'com.github.MinecraftForge:ForgeFlower:41d2b9e' + } + */ + } +} + allprojects { buildscript { - repositories.all convertRepoToHttp + def localRepo = rootProject.file('gradle/reprod/deps/repo') + if (localRepo.exists()) repositories.maven { url localRepo.getAbsolutePath() } + repositories.all convertRepoToHttp + configurations.all setupDependencySubstitution } repositories { mavenCentral() } // for ecj repositories.all convertRepoToHttp apply plugin: de.johni0702.gradle.ReproducibleBuildsPlugin, to: project - apply plugin: xink.gradle.ecj.EcjPlugin, to: project - apply plugin: 'maven', to: project + afterEvaluate { + if (project.plugins.hasPlugin('java')) { + apply plugin: xink.gradle.ecj.EcjPlugin, to: project - ecj { - warn = ['none'] + ecj { + warn = ['none'] + } + } } + def localRepo = rootProject.file('gradle/reprod/deps/repo') + if (!localRepo.exists()) { + localRepo = rootProject.file('../repo') // building deps + } + localRepo = localRepo.getAbsolutePath() repositories { - maven { - url(project.file('gradle/reprod').exists() ? 'gradle/reprod/deps/repo' : '../repo') - } + maven { url localRepo } + maven { url 'https://jitpack.io' } } - task createPom { - doLast { - pom { - project { - groupId 'reprod' - artifactId project.file('.').name - version '0' - } - whenConfigured { - dependencies.removeAll { it.artifactId == 'mixin-asm-debug-all' } - } - }.writeTo("pom.xml") - } - } - if (!project.file('gradle/reprod').exists()) { - build.dependsOn createPom - } - - reproducibleBuilds { - if (project.file('.').name == 'forgegradle') { - project.tasks.all { - if (it.name == 'jar') { - println 'Manually repacking archive after jar task' - repackAfter it + afterEvaluate { + if (project.plugins.hasPlugin('maven')) { + uploadArchives { + repositories.mavenDeployer { + repository url: 'file://localhost/' + localRepo } } } } + + configurations.all setupDependencySubstitution + project.tasks.all { task -> if (task.name == 'reobfJar') { task.doLast { diff --git a/gradle/reprod/patches/forgegradle-2.1/0001-Fix-compilation-with-newer-gradle-versions.patch b/gradle/reprod/patches/forgegradle-2.1/0001-Fix-compilation-with-newer-gradle-versions.patch new file mode 100644 index 00000000..a74227fd --- /dev/null +++ b/gradle/reprod/patches/forgegradle-2.1/0001-Fix-compilation-with-newer-gradle-versions.patch @@ -0,0 +1,84 @@ +From 5d778fec168a72d41df672ad38ee5f01973916ce Mon Sep 17 00:00:00 2001 +From: Jonas Herzig +Date: Sat, 2 Sep 2017 15:40:15 +0200 +Subject: [PATCH] Fix compilation with newer gradle versions + +--- + src/main/java/net/minecraftforge/gradle/tasks/CreateStartTask.java | 1 - + src/main/java/net/minecraftforge/gradle/user/TaskRecompileMc.java | 1 - + src/main/java/net/minecraftforge/gradle/user/UserBasePlugin.java | 1 - + .../java/net/minecraftforge/gradle/util/SourceDirSetSupplier.java | 4 ++-- + src/main/java/net/minecraftforge/gradle/util/json/JsonFactory.java | 1 - + 5 files changed, 2 insertions(+), 6 deletions(-) + +diff --git a/src/main/java/net/minecraftforge/gradle/tasks/CreateStartTask.java b/src/main/java/net/minecraftforge/gradle/tasks/CreateStartTask.java +index 1de9ac3..8d0a5a5 100644 +--- a/src/main/java/net/minecraftforge/gradle/tasks/CreateStartTask.java ++++ b/src/main/java/net/minecraftforge/gradle/tasks/CreateStartTask.java +@@ -128,7 +128,6 @@ public class CreateStartTask extends CachedTask + LoggingManager log = getLogging(); + LogLevel startLevel = getProject().getGradle().getStartParameter().getLogLevel(); + if (startLevel.compareTo(LogLevel.LIFECYCLE) >= 0) { +- log.setLevel(LogLevel.ERROR); + } + // INVOKE! + this.getAnt().invokeMethod("javac", ImmutableMap.builder() +diff --git a/src/main/java/net/minecraftforge/gradle/user/TaskRecompileMc.java b/src/main/java/net/minecraftforge/gradle/user/TaskRecompileMc.java +index 224292c..f61618c 100644 +--- a/src/main/java/net/minecraftforge/gradle/user/TaskRecompileMc.java ++++ b/src/main/java/net/minecraftforge/gradle/user/TaskRecompileMc.java +@@ -86,7 +86,6 @@ public class TaskRecompileMc extends CachedTask + LoggingManager log = getLogging(); + LogLevel startLevel = getProject().getGradle().getStartParameter().getLogLevel(); + if (startLevel.compareTo(LogLevel.LIFECYCLE) >= 0) { +- log.setLevel(LogLevel.ERROR); + } + + // recompile +diff --git a/src/main/java/net/minecraftforge/gradle/user/UserBasePlugin.java b/src/main/java/net/minecraftforge/gradle/user/UserBasePlugin.java +index 98391fc..9408a07 100644 +--- a/src/main/java/net/minecraftforge/gradle/user/UserBasePlugin.java ++++ b/src/main/java/net/minecraftforge/gradle/user/UserBasePlugin.java +@@ -37,7 +37,6 @@ import javax.xml.transform.TransformerFactory; + import javax.xml.transform.dom.DOMSource; + import javax.xml.transform.stream.StreamResult; + +-import com.beust.jcommander.internal.Lists; + import org.gradle.api.Action; + import org.gradle.api.DefaultTask; + import org.gradle.api.NamedDomainObjectContainer; +diff --git a/src/main/java/net/minecraftforge/gradle/util/SourceDirSetSupplier.java b/src/main/java/net/minecraftforge/gradle/util/SourceDirSetSupplier.java +index 4e9dbe5..4f3744e 100644 +--- a/src/main/java/net/minecraftforge/gradle/util/SourceDirSetSupplier.java ++++ b/src/main/java/net/minecraftforge/gradle/util/SourceDirSetSupplier.java +@@ -19,13 +19,13 @@ + */ + package net.minecraftforge.gradle.util; + +-import com.beust.jcommander.internal.Lists; ++import com.google.common.collect.Lists; ++import com.google.common.collect.Maps; + import net.minecraftforge.srg2source.util.io.InputSupplier; + import net.minecraftforge.srg2source.util.io.OutputSupplier; + import org.gradle.api.file.FileVisitDetails; + import org.gradle.api.file.FileVisitor; + import org.gradle.api.file.SourceDirectorySet; +-import org.testng.collections.Maps; + + import java.io.*; + import java.util.List; +diff --git a/src/main/java/net/minecraftforge/gradle/util/json/JsonFactory.java b/src/main/java/net/minecraftforge/gradle/util/json/JsonFactory.java +index b75f653..fa61537 100644 +--- a/src/main/java/net/minecraftforge/gradle/util/json/JsonFactory.java ++++ b/src/main/java/net/minecraftforge/gradle/util/json/JsonFactory.java +@@ -26,7 +26,6 @@ import java.io.IOException; + import java.util.*; + import java.util.Map.Entry; + +-import com.beust.jcommander.internal.Lists; + import com.google.common.base.Strings; + import com.google.common.reflect.TypeToken; + import com.google.gson.Gson; +-- +2.9.5 + diff --git a/gradle/reprod/patches/forgegradle-2.1/0001-Replace-https-urls-with-http-for-proxy-witness.patch b/gradle/reprod/patches/forgegradle-2.1/0001-Replace-https-urls-with-http-for-proxy-witness.patch new file mode 100644 index 00000000..0fee26f7 --- /dev/null +++ b/gradle/reprod/patches/forgegradle-2.1/0001-Replace-https-urls-with-http-for-proxy-witness.patch @@ -0,0 +1,75 @@ +From 7127699cb761a518cce8872b0b78694e357f21fe Mon Sep 17 00:00:00 2001 +From: Jonas Herzig +Date: Mon, 28 Aug 2017 17:50:38 +0200 +Subject: [PATCH] Replace https urls with http for proxy-witness + +--- + .../java/net/minecraftforge/gradle/common/BasePlugin.java | 13 ++++++++++--- + .../java/net/minecraftforge/gradle/common/Constants.java | 4 ++-- + 2 files changed, 12 insertions(+), 5 deletions(-) + +diff --git a/src/main/java/net/minecraftforge/gradle/common/BasePlugin.java b/src/main/java/net/minecraftforge/gradle/common/BasePlugin.java +index df369f1..e3e50c0 100644 +--- a/src/main/java/net/minecraftforge/gradle/common/BasePlugin.java ++++ b/src/main/java/net/minecraftforge/gradle/common/BasePlugin.java +@@ -350,6 +350,13 @@ public abstract class BasePlugin implements Plugin implements Plugin implements Plugin implements Plugin +Date: Mon, 28 Aug 2017 17:50:38 +0200 +Subject: [PATCH] Replace https urls with http for proxy-witness + +--- + .../java/net/minecraftforge/gradle/common/BasePlugin.java | 13 ++++++++++--- + .../java/net/minecraftforge/gradle/common/Constants.java | 4 ++-- + 2 files changed, 12 insertions(+), 5 deletions(-) + +diff --git a/src/main/java/net/minecraftforge/gradle/common/BasePlugin.java b/src/main/java/net/minecraftforge/gradle/common/BasePlugin.java +index df369f1..e3e50c0 100644 +--- a/src/main/java/net/minecraftforge/gradle/common/BasePlugin.java ++++ b/src/main/java/net/minecraftforge/gradle/common/BasePlugin.java +@@ -350,6 +350,13 @@ public abstract class BasePlugin implements Plugin implements Plugin implements Plugin implements Plugin URLS_MCP_JSON = Arrays.asList( +-- +2.5.5 + diff --git a/gradle/reprod/patches/forgegradle/0006-Replace-SNAPSHOT-deps-with-manually-built-ones.patch b/gradle/reprod/patches/forgegradle/0006-Replace-SNAPSHOT-deps-with-manually-built-ones.patch deleted file mode 100644 index 58431a23..00000000 --- a/gradle/reprod/patches/forgegradle/0006-Replace-SNAPSHOT-deps-with-manually-built-ones.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 2309fc9515d4010c5d9db89008660e3e60ea529b Mon Sep 17 00:00:00 2001 -From: Jonas Herzig -Date: Sat, 26 Aug 2017 17:40:48 +0200 -Subject: [PATCH] Replace SNAPSHOT deps with manually built ones - ---- - build.gradle | 49 +++---------------------------------------------- - 1 file changed, 3 insertions(+), 46 deletions(-) - -diff --git a/build.gradle b/build.gradle -index bfadecd..774a015 100644 ---- a/build.gradle -+++ b/build.gradle -@@ -67,10 +67,10 @@ dependencies { - compile 'com.nothome:javaxdelta:2.0.1' // GDIFF implementation for BinPatches - compile 'com.google.code.gson:gson:2.2.4' // Used instead of Argo for buuilding changelog. - compile 'com.github.tony19:named-regexp:0.2.3' // 1.7 Named regexp features -- compile 'net.minecraftforge:forgeflower:1.0.342-SNAPSHOT' // Fernflower Forge edition -+ compile 'reprod:forgeflower:0' // Fernflower Forge edition - -- shade 'net.md-5:SpecialSource:1.8.1-SNAPSHOT' // deobf and reobs -- // shade 'net.md-5:SpecialSource:1.8.1' // when md5 publishes -+ // shade 'net.md-5:SpecialSource:1.8.1-SNAPSHOT' // deobf and reobs -+ shade 'net.md-5:SpecialSource:1.8.1' // when md5 publishes - - // because curse - compile 'org.apache.httpcomponents:httpclient:4.3.3' -@@ -78,8 +78,8 @@ dependencies { - - // mcp stuff - shade 'de.oceanlabs.mcp:RetroGuard:3.6.6' -- shade 'de.oceanlabs.mcp:mcinjector:3.4-SNAPSHOT' -- shade 'net.minecraftforge.srg2source:Srg2Source:4.0-SNAPSHOT' -+ shade 'reprod:mcinjector:0' -+ shade 'reprod:srg2source:0' - - //Stuff used in the GradleStart classes - compileOnly 'com.mojang:authlib:1.5.16' --- -2.5.5 - diff --git a/gradle/reprod/patches/mcinjector/0001-Remove-non-essential-parts-and-shade-manually.patch b/gradle/reprod/patches/mcinjector/0001-Remove-non-essential-parts-and-shade-manually.patch deleted file mode 100644 index a24af1a7..00000000 --- a/gradle/reprod/patches/mcinjector/0001-Remove-non-essential-parts-and-shade-manually.patch +++ /dev/null @@ -1,126 +0,0 @@ -From 85e6315018dd8ff9f613b1f0c4d00c5b0c6c37d6 Mon Sep 17 00:00:00 2001 -From: Jonas Herzig -Date: Sat, 26 Aug 2017 17:27:06 +0200 -Subject: [PATCH 1/2] Remove non-essential parts and shade manually - ---- - build.gradle | 92 +----------------------------------------------------------- - 1 file changed, 1 insertion(+), 91 deletions(-) - -diff --git a/build.gradle b/build.gradle -index 2e5f949..b6c63bb 100644 ---- a/build.gradle -+++ b/build.gradle -@@ -1,15 +1,5 @@ --buildscript { -- repositories { -- mavenCentral() -- } -- dependencies { -- classpath 'eu.appsatori:gradle-fatjar-plugin:0.2-rc1' -- } --} -- - apply plugin: 'java' - apply plugin: 'eclipse' --apply plugin: 'fatjar' - apply plugin: 'maven' - - group = 'de.oceanlabs.mcp' -@@ -22,93 +12,12 @@ repositories { - } - - jar { - manifest.attributes('Main-Class': 'de.oceanlabs.mcp.mcinjector.MCInjector') - } --fatJar { -- classifier 'fatjar' -- manifest.attributes('Main-Class': 'de.oceanlabs.mcp.mcinjector.MCInjector') --} -- --artifacts { -- archives jar -- archives fatJar --} - - dependencies { - compile 'org.ow2.asm:asm-debug-all:5.0.4' - compile 'net.sf.jopt-simple:jopt-simple:4.5' - compile 'com.google.code.gson:gson:2.2.4' - } --configurations { deployJars } --uploadArchives { -- repositories { -- add project.repositories.mavenLocal() -- } -- repositories.mavenDeployer { -- configuration = configurations.deployJars - -- if (project.hasProperty("filesmaven")) { -- logger.info('Publishing to files server') -- repository(url: project.filesmaven.url) { -- authentication(userName: project.filesmaven.username, privateKey: project.filesmaven.key) -- } -- } else { -- logger.info('Publishing to repo folder') -- repository(url: 'file://localhost/' + project.file('repo').getAbsolutePath()) -- } -- -- pom { -- groupId = project.group -- version = project.version -- artifactId = project.archivesBaseName -- } -- pom.project { -- name project.archivesBaseName -- packaging 'jar' -- description 'Java class metadata injector' -- url 'https://github.com/ModCoderPack/MCInjector' -- -- scm { -- url 'https://github.com/ModCoderPack/MCInjector' -- connection 'scm:git:git://github.com/ModCoderPack/MCInjector.git' -- developerConnection 'scm:git:git@github.com:ModCoderPack/MCInjector.git' -- } -- -- issueManagement { -- system 'github' -- url 'https://github.com/ModCoderPack/MCInjector/issues' -- } -- -- licenses { -- license { -- name '' -- url '' -- distribution 'repo' -- } -- } -- -- developers { -- developer { -- id 'Fesh0r' -- name 'Fesh0r' -- roles { role 'developer' } -- } -- developer { -- id 'Searge' -- name 'Searge' -- roles { role 'developer' } -- } -- developer { -- id 'cpw' -- name 'cpw' -- roles { role 'developer' } -- } -- developer { -- id 'LexManos' -- name 'Lex Manos' -- roles { role 'developer' } -- } -- } -- } -- } --} --- -2.5.5 - diff --git a/gradle/reprod/patches/mixin/0003-Fix-for-Gradle-3.patch b/gradle/reprod/patches/mixin/0003-Fix-for-Gradle-3.patch new file mode 100644 index 00000000..2b198da3 --- /dev/null +++ b/gradle/reprod/patches/mixin/0003-Fix-for-Gradle-3.patch @@ -0,0 +1,25 @@ +From 0f250141ba6515dbeffeb0722bf29976850bb323 Mon Sep 17 00:00:00 2001 +From: Jonas Herzig +Date: Tue, 8 Aug 2017 19:13:17 +0200 +Subject: [PATCH 3/7] Fix for Gradle 3 + +--- + build.gradle | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/build.gradle b/build.gradle +index 165dbe4..0f189ec 100644 +--- a/build.gradle ++++ b/build.gradle +@@ -92,7 +92,7 @@ dependencies { + + // Task to read ASM library and rename packages + task renamedASM { +- outputs.file files(configurations.asm.files.withIndex().collect { file, i -> def dep = configurations.asm.dependencies[i] ++ outputs.files files(configurations.asm.files.withIndex().collect { file, i -> def dep = configurations.asm.dependencies[i] + new File(new File(renamedPackageRoot, "org/spongepowered/mixin-" + dep.name + "/" + dep.version), "mixin-" + file.name).path + }) + ant { +-- +2.5.5 + diff --git a/gradle/reprod/patches/mixin/0005-Replace-fernflower-SNAPSHOT-depencency.patch b/gradle/reprod/patches/mixin/0005-Replace-fernflower-SNAPSHOT-depencency.patch new file mode 100644 index 00000000..4783f788 --- /dev/null +++ b/gradle/reprod/patches/mixin/0005-Replace-fernflower-SNAPSHOT-depencency.patch @@ -0,0 +1,25 @@ +From c66ba83e4b27f6f094c2dcdaaac095d3ca69b41c Mon Sep 17 00:00:00 2001 +From: Jonas Herzig +Date: Tue, 8 Aug 2017 19:35:08 +0200 +Subject: [PATCH 5/7] Replace fernflower SNAPSHOT depencency + +--- + build.gradle | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/build.gradle b/build.gradle +index f8598a3..e9a965b 100644 +--- a/build.gradle ++++ b/build.gradle +@@ -143,7 +143,7 @@ dependencies { + + // Fernflower decompiler + fernflowerCompile configurations.compile +- fernflowerCompile 'org.jetbrains.java.decompiler:fernflower:sponge-SNAPSHOT' ++ fernflowerCompile 'com.github.fesh0r:fernflower:adbf29f8' + + // LegacyLauncher service + launchwrapperCompile configurations.compile +-- +2.5.5 + diff --git a/gradle/reprod/patches/mixin/0008-Do-not-include-java-version-and-user-name-in-jar.patch b/gradle/reprod/patches/mixin/0008-Do-not-include-java-version-and-user-name-in-jar.patch new file mode 100644 index 00000000..1c510fe0 --- /dev/null +++ b/gradle/reprod/patches/mixin/0008-Do-not-include-java-version-and-user-name-in-jar.patch @@ -0,0 +1,26 @@ +From c3d6d12f47bae3c12c597e59d9a69989fdaa9550 Mon Sep 17 00:00:00 2001 +From: Jonas Herzig +Date: Fri, 25 Aug 2017 19:27:13 +0200 +Subject: [PATCH] Do not include java version and user name in jar + +--- + build.gradle | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/build.gradle b/build.gradle +index debc97b..ae53e1b 100644 +--- a/build.gradle ++++ b/build.gradle +@@ -241,8 +241,7 @@ jar { + + // JAR manifest configuration + manifest.mainAttributes( +- "Built-By": System.properties['user.name'], +- "Created-By": System.properties['java.vm.version'] + " (" + System.properties['java.vm.vendor'] + ")", ++ "Built-By": 'ReplayMod reprod', + "Implementation-Title": name, + "Implementation-Version": version + "+" + ciSystem + "-b" + buildNumber + ".git-" + commit, + "Implementation-Vendor": url, +-- +2.13.2 + diff --git a/gradle/reprod/patches/replaymod/0001-Replace-buildscript-dependencies-with-manually-built.patch b/gradle/reprod/patches/replaymod/0001-Replace-buildscript-dependencies-with-manually-built.patch deleted file mode 100644 index 68dc2b05..00000000 --- a/gradle/reprod/patches/replaymod/0001-Replace-buildscript-dependencies-with-manually-built.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 493dbd8ed387d661eef3e33ee614c79d7487f1bd Mon Sep 17 00:00:00 2001 -From: Jonas Herzig -Date: Mon, 7 Aug 2017 20:41:05 +0200 -Subject: [PATCH 1/5] Replace buildscript dependencies with manually built ones - ---- - build.gradle | 19 ++----------------- - 1 file changed, 2 insertions(+), 17 deletions(-) - -diff --git a/build.gradle b/build.gradle -index ee24828..42d0607 100755 ---- a/build.gradle -+++ b/build.gradle -@@ -1,21 +1,18 @@ - import groovy.json.JsonOutput - - buildscript { - repositories { - mavenCentral() -- maven { -- name = "forge" -- url = "http://files.minecraftforge.net/maven" -- } - maven { - name = "sonatype" - url = "https://oss.sonatype.org/content/repositories/snapshots/" - } - maven { url 'https://jitpack.io' } -+ maven { url 'gradle/reprod/deps/repo' } - } - dependencies { -- classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT' -+ classpath 'reprod:forgegradle:0' - classpath 'org.spongepowered:mixingradle:0.4-SNAPSHOT' - } - } - --- -2.5.5 - diff --git a/gradle/reprod/settings.gradle b/gradle/reprod/settings.gradle new file mode 100644 index 00000000..b5ed088c --- /dev/null +++ b/gradle/reprod/settings.gradle @@ -0,0 +1,7 @@ +include 'mixin' +include 'forgeflower' +include 'forgegradle-2.1' +include 'forgegradle-2.2' +include 'forgegradle-2.3' + +rootProject.children.each { it.projectDir = file("deps/gradle/$it.name") } diff --git a/gradle/reprod/setup.sh b/gradle/reprod/setup.sh index 30d0340d..a88fdba4 100755 --- a/gradle/reprod/setup.sh +++ b/gradle/reprod/setup.sh @@ -3,7 +3,7 @@ set -e set -x PROXY_PORT="25678" -PROXY_SETTINGS="-Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=$PROXY_PORT -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=$PROXY_PORT" +export PROXY_SETTINGS="-Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=$PROXY_PORT -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=$PROXY_PORT" pushd gradle/reprod @@ -13,130 +13,53 @@ sha256val () { $SHA256SUM $1 | cut -d' ' -f1 } -setup_dep () { - dep=$1 - url=$2 - commit=$3 - jar=$4 - jarhash=$5 - pomhash=$6 - - depjar="deps/repo/reprod/$dep/0/$dep-0.jar" - deppom="deps/repo/reprod/$dep/0/$dep-0.pom" - - [ -f "$depjar" ] && [ "$(sha256val "$depjar")" == "$jarhash" ] && [ -f "$deppom" ] && [ "$(sha256val "$deppom")" == "$pomhash" ] && return - [ -f "$depjar" ] && [ "*" == "$jarhash" ] && return - rm -rf "$depjar" "$deppom" - - mkdir -p "deps/repo/reprod/$dep/0" - - if [ "*" != "$jarhash" ] && [ "$OFFLINE" != "1" ]; then - # Try to fetch the pre-built artifact - if wget -O "deps/dl.jar" "https://www.johni0702.de/replaymod/artifact/$jarhash" && wget -O "deps/dl.pom" "https://www.johni0702.de/replaymod/artifact/$pomhash"; then - # Verify downloaded jar/pom files - if [ "$(sha256val "deps/dl.jar")" == "$jarhash" ] && [ "$(sha256val "deps/dl.pom")" == "$pomhash" ]; then - # Got valid pre-built artifact, use it - mv "deps/dl.jar" "$depjar" - mv "deps/dl.pom" "$deppom" - return - fi - fi - fi - - - if [ ! -d "deps/$dep" ] || [ "$(git -C "deps/$dep" rev-parse $commit^{commit})" != "$commit" ]; then - rm -rf "deps/$dep" - mkdir -p "deps/$dep" - pushd "deps/$dep" - git clone "$url" . - git fetch origin $commit - git checkout "$commit" - popd - fi - - pushd "deps/$dep" - git reset --hard "$commit" - git submodule update --init --recursive - patches=$(find ../../patches/$dep/ -name *.patch | sort) - [ "$patches" != "" ] && echo "$patches" | xargs git am - git reset --soft "$commit" # Because forgegradle includes the commit hash in the jar - - rm -rf gradle/wrapper gradlew - [ ! -d gradle ] && mkdir gradle - cp -r ../../../wrapper gradle/ - cp ../../../wrapper/gradle-wrapper.properties gradle/wrapper/ - cp ../../../../gradlew . - - chmod +x gradlew - if [ "$dep" == "proxy-witness" ]; then - ./gradlew $PROXY_SETTINGS build -x test -x javadoc - else - ./gradlew $PROXY_SETTINGS -I ../../init.gradle build -x test -x javadoc - fi - - actual_hash=$(sha256val "$jar") - if [ "*" != "$jarhash" ] && [ "$actual_hash" != "$jarhash" ]; then - echo "Failed to verify checksum of build artifact of dependency: $dep" - echo "Expected: $jarhash" - echo "But was: $actual_hash" - exit 1 - fi - - actual_hash=$(sha256val "pom.xml") - if [ "*" != "$jarhash" ] && [ "$actual_hash" != "$pomhash" ]; then - echo "Failed to verify checksum of build artifact pom of dependency: $dep" - echo "Expected: $pomhash" - echo "But was: $actual_hash" - exit 1 - fi - - # Subshell to allow for expansion of * - cp "$(echo $jar)" "../../$depjar" - [ "$dep" == "proxy-witness" ] || cp "pom.xml" "../../$deppom" - popd -} - # Setup http(s) proxy -setup_dep "proxy-witness" "https://github.com/johni0702/proxy-witness" "17ebb2e22f812faed9a28bae6bf1d8b28f798d56" "build/libs/proxy-witness.jar" "*" "*" -java -Dproxywitness.httpUris=http://export.mcpbot.bspk.rs/versions.json -jar deps/repo/reprod/proxy-witness/0/proxy-witness-0.jar "$PROXY_PORT" checksums.txt > proxy.log 2>&1 & +url="https://github.com/johni0702/proxy-witness" +commit="17ebb2e22f812faed9a28bae6bf1d8b28f798d56" +if [ ! -d "deps/proxy-witness" ] || [ "$(git -C "deps/proxy-witness" rev-parse $commit^{commit})" != "$commit" ]; then + rm -rf "deps/proxy-witness" + mkdir -p "deps/proxy-witness" + pushd "deps/proxy-witness" + git clone "$url" . + git fetch origin $commit + git checkout "$commit" + popd +fi + +pushd "deps/proxy-witness" + git reset --hard "$commit" + ./gradlew $PROXY_SETTINGS build -x test -x javadoc +popd + +java -Dproxywitness.httpUris=http://export.mcpbot.bspk.rs/versions.json -jar deps/proxy-witness/build/libs/proxy-witness.jar "$PROXY_PORT" checksums.txt > proxy.log 2>&1 & proxy_pid=$! trap "kill $proxy_pid" EXIT -# Required for forgegradle -setup_dep "forgeflower" "https://github.com/MinecraftForge/ForgeFlower.git" "41d2b9e00556bc735a2ee4181db7f30db0805816" "ForgeFlower/build/libs/forgeflower-1.0.342-SNAPSHOT.jar" "652d00f6c890c45b56dace444c3e9a7f81b56f510633f183a1fcc50681ba85b9" "79bca0778c764371c62aa9a9496c9fb04b3d8a0ff18047b8e6ef178d3d1ac600" -setup_dep "mcinjector" "https://github.com/ModCoderPack/MCInjector.git" "7258466461baf7dc4f313b06b0d589407e4e1fba" "build/libs/mcinjector-3.4-SNAPSHOT.jar" "98b685ea0d3ae9fad8b8a7e7b885512f7fe0b61becf27d9c74b91a626d107efc" "3c08655c11e6509bfc62ff87d0770cefa0ecbd8dccece9e083c9b7b89779a8c5" -setup_dep "srg2source" "https://github.com/MinecraftForge/Srg2Source.git" "ea4ea624672e8b75fb2a78f0fb9105db13d5a4a6" "build/libs/Srg2Source-4.0-SNAPSHOT.jar" "727445a7b946535217be658726c537acf1921f0a9e2ac0ea717dff9b36dc529f" "4ebd7b738f368ee5c25a1028a167257e7012cef7c72c8b5b06149286992c631e" - -# Required for RM -setup_dep "forgegradle" "https://github.com/MinecraftForge/ForgeGradle.git" "f49079dd11c037f74cc740285b2c5504fbf8a7f6" "build/libs/ForgeGradle-2.3-SNAPSHOT.jar" "8272cf68ae269c315969e3e94a41bdffe1cf96cfbc6d701cafda90ab19ef5f94" "9261c0855a19d86434c6f9e784265d91e3e3c9f12b29dd90f41efacd15add41e" - -rm -rf tmp -mkdir tmp -pushd tmp - cp ../../../build.gradle build.gradle - git init - git add build.gradle - git commit -m "Add build.gradle" - git am ../patches/replaymod/*.patch -popd +../../gradlew $PROXY_SETTINGS -I init.gradle build popd # Back to root ./gradlew -Preprod $PROXY_SETTINGS -I gradle/reprod/init.gradle "$@" if [ "$SIGNED_JAR" == "1" ]; then - echo "Trying fetch signature for resulting jar file.." - # Note: This requires there to be one and only one jar file (ignoring source artifacts) - jar="build/libs/$(ls build/libs | grep -v sources)" - jar_hash=$(sha256val "$jar") - pushd gradle/reprod/tmp - mkdir sign_tmp - pushd sign_tmp - # Signatures are generated using: - # jarsigner -sigfile johni -signedjar signed.jar unsigned.jar replaymod - # jar xf signed.jar META-INF/MANIFEST.MF META-INF/JOHNI.SF META-INF/JOHNI.RSA - # tar cJf signature.tar.xz META-INF - wget -O - "https://www.johni0702.de/replaymod/signature/$jar_hash" | tar xJ - jar uMf "../../../../$jar" META-INF/ + echo "Trying to fetch signature for resulting jar files.." + pushd versions + for ver in */; do + [ "$ver" == "core/" ] && continue + pushd "$ver" + # Note: This requires there to be one and only one jar file (ignoring source artifacts) + jar="build/libs/$(ls build/libs | grep -v sources)" + jar_hash=$(sha256val "$jar") + mkdir build/sign_tmp + pushd build/sign_tmp + # Signatures are generated using: + # jarsigner -sigfile johni -signedjar signed.jar unsigned.jar replaymod + # jar xf signed.jar META-INF/MANIFEST.MF META-INF/JOHNI.SF META-INF/JOHNI.RSA + # tar cJf signature.tar.xz META-INF + wget -O - "https://www.johni0702.de/replaymod/signature/$jar_hash" | tar xJ + jar uMf "../../$jar" META-INF/ + popd + popd + done popd fi diff --git a/gradle/reprod/upstream/forgeflower b/gradle/reprod/upstream/forgeflower new file mode 160000 index 00000000..41d2b9e0 --- /dev/null +++ b/gradle/reprod/upstream/forgeflower @@ -0,0 +1 @@ +Subproject commit 41d2b9e00556bc735a2ee4181db7f30db0805816 diff --git a/gradle/reprod/upstream/forgegradle-2.1 b/gradle/reprod/upstream/forgegradle-2.1 new file mode 160000 index 00000000..17806f45 --- /dev/null +++ b/gradle/reprod/upstream/forgegradle-2.1 @@ -0,0 +1 @@ +Subproject commit 17806f45d20d0b55bff70a616eaeb939bd6a543c diff --git a/gradle/reprod/upstream/forgegradle-2.2 b/gradle/reprod/upstream/forgegradle-2.2 new file mode 160000 index 00000000..d13a6c89 --- /dev/null +++ b/gradle/reprod/upstream/forgegradle-2.2 @@ -0,0 +1 @@ +Subproject commit d13a6c892f51937567b3d01d85bea4f3d128e71d diff --git a/gradle/reprod/upstream/forgegradle-2.3 b/gradle/reprod/upstream/forgegradle-2.3 new file mode 160000 index 00000000..de264b89 --- /dev/null +++ b/gradle/reprod/upstream/forgegradle-2.3 @@ -0,0 +1 @@ +Subproject commit de264b897d4c5c596aeb233ec137369d14d38a39 diff --git a/gradle/reprod/upstream/mixin b/gradle/reprod/upstream/mixin new file mode 160000 index 00000000..404f5da0 --- /dev/null +++ b/gradle/reprod/upstream/mixin @@ -0,0 +1 @@ +Subproject commit 404f5da0b6b18980b4e44c7f1cfeddcd47fe4aa6 diff --git a/settings.gradle b/settings.gradle index d5f5fa28..27d78551 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,7 +1,3 @@ -if (System.getenv('REPRODUCIBLE_BUILD') == '1') { - rootProject.buildFileName = 'gradle/reprod/tmp/build.gradle' -} - include ':jGui' ([ 'core', diff --git a/versions/common.gradle b/versions/common.gradle index 1885ede5..ceabda4d 100644 --- a/versions/common.gradle +++ b/versions/common.gradle @@ -5,6 +5,16 @@ buildscript { dependencies { classpath 'org.ow2.asm:asm:6.0' } + + // This and calls to it should really also be handled by the gradle/reprod/init.gradle script + // but apparently there's no sane way to do that for external scripts in gradle :( + def convertRepoToHttp = { repo -> + if (repo instanceof MavenArtifactRepository && repo.url.toString().startsWith('https://')) { + URL url = repo.url.toURL() + repo.url = new URL("http", url.getHost(), url.getPort(), url.getFile()).toURI() + } + } + if (System.getenv('REPRODUCIBLE_BUILD') == '1') repositories.all convertRepoToHttp } apply plugin: 'net.minecraftforge.gradle.forge' @@ -36,14 +46,23 @@ repositories { maven { url 'https://jitpack.io' } } +// And because gradle does *something*, this definition even needs to be duplicated instead of shared +def convertRepoToHttp = { repo -> + if (repo instanceof MavenArtifactRepository && repo.url.toString().startsWith('https://')) { + URL url = repo.url.toURL() + repo.url = new URL("http", url.getHost(), url.getPort(), url.getFile()).toURI() + } +} +if (System.getenv('REPRODUCIBLE_BUILD') == '1') repositories.all convertRepoToHttp + configurations { shade compile.extendsFrom shade } dependencies { - // Note: All but the latest version of mixin SNAPSHOTs are practically release versions, so we use them as such - // Do NOT update to the latest version (always only one before that one; should be the one listed in their README) + // compile 'com.github.SpongePowered:Mixin:404f5da' // 0.7.5-SNAPSHOT + // ^ mixin doesn't compile on jitpack, so we'll have to depend on the SNAPSHOT and build it manually for reprod compile 'org.spongepowered:mixin:0.7.5-SNAPSHOT' shade 'com.googlecode.mp4parser:isoparser:1.1.7' shade 'org.apache.commons:commons-exec:1.3' @@ -149,7 +168,7 @@ jar { exclude '**/NOTICE*' eachFile { if (getName() == 'LICENSE.txt') { - setName(getFile().getParentFile().getName().split('.jar_')[0] + '-LICENSE.txt') + setName(getFile().getParentFile().getName().split('.jar_')[0].tokenize('-')[0] + '-LICENSE.txt') } } }