From c188f732e890309c43f5864cea5d76b35ff34014 Mon Sep 17 00:00:00 2001 From: stfwi Date: Sun, 4 Aug 2019 14:34:20 +0200 Subject: [PATCH] 1.14: Forge testing update: Forge 1.14.4-28.0.40/20190719-1.14.3. --- 1.14/gradle.properties | 4 +- 1.14/meta/update.json | 3 +- 1.14/readme.md | 103 +++++++++++++++++++++-------------------- meta/lib/constants.js | 4 +- meta/lib/libtask.js | 31 +++++++++++-- meta/update.json | 17 +++---- tasks.js | 36 +++++++------- 7 files changed, 117 insertions(+), 81 deletions(-) diff --git a/1.14/gradle.properties b/1.14/gradle.properties index eff64e2..fae4637 100644 --- a/1.14/gradle.properties +++ b/1.14/gradle.properties @@ -2,10 +2,10 @@ org.gradle.daemon=false org.gradle.jvmargs=-Xmx8G version_minecraft=1.14.4 -version_forge_minecraft=1.14.4-28.0.11 +version_forge_minecraft=1.14.4-28.0.40 version_fml_mappings=20190719-1.14.3 version_jei=1.14.3:6.0.0.8 -version_engineersdecor=1.0.9-b8 +version_engineersdecor=1.0.9-b9 # # jar signing data loaded from signing.properties in the project root. # diff --git a/1.14/meta/update.json b/1.14/meta/update.json index fd3cd7b..a03895a 100644 --- a/1.14/meta/update.json +++ b/1.14/meta/update.json @@ -1,6 +1,7 @@ { "homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/", "1.14.4": { + "1.0.9-b9": "[U] Update to Forge 1.14.4-28.0.40/20190719-1.14.3 for Forge testing.", "1.0.9-b8": "[U] UPDATE TO 1.14.4. Forge 1.14.4-28.0.11/20190719-1.14.3.", "1.0.9-b7": "[U] Updated to Forge 1.14.3-27.0.60/20190719-1.14.3.\n[F] Disabled all early implemented fuild handling of valves and the Fluid Accumulator to prevent world loading hang-ups (issue #42, thx TheOhmegha for reporting). Will be re-enabled after fluid handling released in Forge.\n[F] Fixed blockstate model locations for signs and crafting table (issue #43, thx ProsperCraft for the beta test).", "1.0.9-b6": "[U] Updated to Forge 1.14.3-27.0.50/20190621-1.14.2.", @@ -18,6 +19,6 @@ }, "promos": { "1.14.4-recommended": "", - "1.14.4-latest": "1.0.9-b8" + "1.14.4-latest": "1.0.9-b9" } } \ No newline at end of file diff --git a/1.14/readme.md b/1.14/readme.md index 713d3af..01a74f7 100644 --- a/1.14/readme.md +++ b/1.14/readme.md @@ -10,68 +10,71 @@ Mod sources for Minecraft version 1.14.3. ---- ## Version history - - v1.0.9-b8 [U] UPDATE TO 1.14.4. Forge 1.14.4-28.0.11/20190719-1.14.3. + - v1.0.9-b9 [U] Update to Forge 1.14.4-28.0.40/20190719-1.14.3 for Forge + testing. - - v1.0.9-b7 [U] Updated to Forge 1.14.3-27.0.60/20190719-1.14.3. - [F] Disabled all early implemented fuild handling of valves - and the Fluid Accumulator to prevent world loading - hang-ups (issue #42, thx TheOhmegha for reporting). - Will be re-enabled after fluid handling released in Forge. - [F] Fixed blockstate model locations for signs and crafting - table (issue #43, thx ProsperCraft for the beta test). + - v1.0.9-b8 [U] UPDATE TO 1.14.4. Forge 1.14.4-28.0.11/20190719-1.14.3. - - v1.0.9-b6 [U] Updated to Forge 1.14.3-27.0.50/20190621-1.14.2. + - v1.0.9-b7 [U] Updated to Forge 1.14.3-27.0.60/20190719-1.14.3. + [F] Disabled all early implemented fuild handling of valves + and the Fluid Accumulator to prevent world loading + hang-ups (issue #42, thx TheOhmegha for reporting). + Will be re-enabled after fluid handling released in Forge. + [F] Fixed blockstate model locations for signs and crafting + table (issue #43, thx ProsperCraft for the beta test). - - v1.0.9-b5 [A] Added missing recipes for slabs, stained clinker, half-slabs, valves. - [M] Standalone recipes adapted. - [F] Lang files: Fixed double newline escape. - [A] Implicit opt-out of hard IE dependent blocks ported (e.g. Concrete Wall). - [M] Basic mod config features, opt-outs and tweaks ported. + - v1.0.9-b6 [U] Updated to Forge 1.14.3-27.0.50/20190621-1.14.2. - - v1.0.9-b4 [E] Experimental: Config skel ported (!not all options have effect yet). - [E] Experimental: JEI integration for opt-outs and crafting table ported - (also addresses issue #38). + - v1.0.9-b5 [A] Added missing recipes for slabs, stained clinker, half-slabs, valves. + [M] Standalone recipes adapted. + [F] Lang files: Fixed double newline escape. + [A] Implicit opt-out of hard IE dependent blocks ported (e.g. Concrete Wall). + [M] Basic mod config features, opt-outs and tweaks ported. - - v1.0.9-b3 [F] Additional item drop fixes when blocks are destroyed (issue #39). + - v1.0.9-b4 [E] Experimental: Config skel ported (!not all options have effect yet). + [E] Experimental: JEI integration for opt-outs and crafting table ported + (also addresses issue #38). - - v1.0.9-b2 [U] Updated to Forge 1.14.3-27.0.25/20190621-1.14.2. - [F] Fixed recipe collision of Metal Rung Ladder (issue #37, - thx ProsperCraft for reporting). - [F] Fixed opening crafting table, furni, dropper server crash - issue #35 (thx ProsperCraft also here). - [F] Fixed missing pole/support item drops (issue #36, ProsperCraft). + - v1.0.9-b3 [F] Additional item drop fixes when blocks are destroyed (issue #39). - - v1.0.9-b1 [U] Updated to MC1.14.3, Forge 1.14.3-27.0.17/20190621-1.14.2. - [A] Added Small Mineral Smelter. + - v1.0.9-b2 [U] Updated to Forge 1.14.3-27.0.25/20190621-1.14.2. + [F] Fixed recipe collision of Metal Rung Ladder (issue #37, + thx ProsperCraft for reporting). + [F] Fixed opening crafting table, furni, dropper server crash + issue #35 (thx ProsperCraft also here). + [F] Fixed missing pole/support item drops (issue #36, ProsperCraft). - - v1.0.8-b3 [A] Ported slabs and slab slices from 1.12.2. - [A] IE independent ("standalone") recipes ported. + - v1.0.9-b1 [U] Updated to MC1.14.3, Forge 1.14.3-27.0.17/20190621-1.14.2. + [A] Added Small Mineral Smelter. - - v1.0.8-b2 [U] Updated to Forge BETA 1.14.2-26.0.63/20190621-1.14.2, - code adapted to new mappings. - [M] Updated 1st/3rd person item model rotations/translations. + - v1.0.8-b3 [A] Ported slabs and slab slices from 1.12.2. + [A] IE independent ("standalone") recipes ported. - - v1.0.8-b1 [V] Feature set of 1.12 ported. - [A] CTRL-SHIFT tooltips ported. - [A] Ported stained clinker block/stairs. - [M] Updated textures. - [I] Issue: Scoped recipe constants still not working. + - v1.0.8-b2 [U] Updated to Forge BETA 1.14.2-26.0.63/20190621-1.14.2, + code adapted to new mappings. + [M] Updated 1st/3rd person item model rotations/translations. - - v1.0.7-b5 [U] Updated to Forge BETA 1.14.2-26.0.35/20190608-1.14.2. - [A] Factory dropper functionality ported. - [A] Small lab furnace functionality ported. - [A] Small electrical lab furnace functionality ported. - [A] Small waste incinerator functionality ported. - [A] Fluid valves, Passive Fluid Accumulator ported. - [I] Issue: Scoped recipe constants still not working. + - v1.0.8-b1 [V] Feature set of 1.12 ported. + [A] CTRL-SHIFT tooltips ported. + [A] Ported stained clinker block/stairs. + [M] Updated textures. + [I] Issue: Scoped recipe constants still not working. - - v1.0.7-b4 [U] Updated to Forge BETA 1.14.2-26.0.32/20190608-1.14.2. - [A] Sitting on the stool ported. - [A] Ladder climbing speed boost ported. - [A] Crafting table functionality ported. - [I] Issue: Scoped recipe constants not working yet with - the current Forge version (or somehow changed). + - v1.0.7-b5 [U] Updated to Forge BETA 1.14.2-26.0.35/20190608-1.14.2. + [A] Factory dropper functionality ported. + [A] Small lab furnace functionality ported. + [A] Small electrical lab furnace functionality ported. + [A] Small waste incinerator functionality ported. + [A] Fluid valves, Passive Fluid Accumulator ported. + [I] Issue: Scoped recipe constants still not working. - - v1.0.7-b3 [A] Initial 1.14.2 port of decorative blocks. + - v1.0.7-b4 [U] Updated to Forge BETA 1.14.2-26.0.32/20190608-1.14.2. + [A] Sitting on the stool ported. + [A] Ladder climbing speed boost ported. + [A] Crafting table functionality ported. + [I] Issue: Scoped recipe constants not working yet with + the current Forge version (or somehow changed). + + - v1.0.7-b3 [A] Initial 1.14.2 port of decorative blocks. ---- diff --git a/meta/lib/constants.js b/meta/lib/constants.js index 8ac4431..4a4359d 100644 --- a/meta/lib/constants.js +++ b/meta/lib/constants.js @@ -1,13 +1,15 @@ "use strict"; (function(){ var c = {}; - c.mod_registry_name = function() { return "engineersdecor" } + c.modid = "engineersdecor"; + c.mod_registry_name = function() { return c.modid; } c.local_assets_root = function() { return "src/main/resources/assets/" + c.mod_registry_name(); } c.reference_repository = function() { return "git@github.com:stfwi/engineers-decor.git"; } c.gradle_property_modversion = function() { return "version_engineersdecor"; } c.gradle_property_version_minecraft = function() { return "version_minecraft"; } c.gradle_property_version_forge = function() { return "version_forge"; } c.project_download_inet_page = function() { return "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/"; } + c.options = {}; // don't freeze that c.languages = { "en_us": { code:"en_us", name:"English", region:"United States" }, "de_de": { code:"de_de", name:"German", region:"Germany" }, diff --git a/meta/lib/libtask.js b/meta/lib/libtask.js index ee7c87d..9625359 100644 --- a/meta/lib/libtask.js +++ b/meta/lib/libtask.js @@ -104,6 +104,24 @@ return properties; } + /** + * Returns an object containing the version data for MC, forge, the + * mod, and the combined mod version. + */ + me.parsing.version_data = function() { + const properties = me.parsing.gradle_properties("gradle.properties"); + const version_minecraft = properties[constants.gradle_property_version_minecraft()]; + const version_forge = properties[constants.gradle_property_version_forge()]; + const version_mod = properties[constants.gradle_property_modversion()]; + const combined_version = version_minecraft + "-" + version_mod; + return { + minecraft: version_minecraft, + forge: version_forge, + mod: version_mod, + combined: combined_version + } + }; + /** * Changes one tab to two spaces in files with the given extension * recursively found in the current working directory. @@ -202,14 +220,19 @@ if(line.trim().indexOf(constants.gradle_property_modversion())!=0) return false; return line.replace(/^.*?=/,"").trim() }).trim(); + const mcversion = fs.readfile("gradle.properties", function(line){ + if(line.trim().indexOf("version_minecraft")!=0) return false; + return line.replace(/^.*?=/,"").trim() + }).trim(); const git_remote = sys.shell("git remote -v").trim(); const git_branch = sys.shell("git rev-parse --abbrev-ref HEAD").trim(); const git_diff = sys.shell("git diff .").trim(); var fails = []; if(modversion=="") fails.push("Could not determine '"+ constants.gradle_property_modversion() +"' from gradle properties."); if(!gittags.length) fails.push("Version not tagged."); - if(!gittags.filter(function(s){return s.indexOf(modversion.replace(/[-]/g,""))>=0}).length) fails.push("No tag version not found matching the gradle properties version."); - if(git_remote.replace(/[\s]/g,"").indexOf(constants.reference_repository() + "(push)") < 0) fails.push("Not the reference repository."); + const expected_commit_version = modversion.replace(/[-]/g,"") + "-mc" + mcversion; + if(!gittags.filter(function(s){return s.indexOf(expected_commit_version)>=0}).length) fails.push("No tag version on this commit matching the gradle properties version (should be v" + expected_commit_version + ")."); + if(((!constants.options.without_ref_repository_check)) && (git_remote.replace(/[\s]/g,"").indexOf(constants.reference_repository() + "(push)") < 0)) fails.push("Not the reference repository."); if((git_branch != "develop") && (git_branch != "master")) { fails.push("No valid branch for dist. (branch:'"+git_branch+"')"); } else if((git_branch == "develop") && (modversion.replace(/[^ab]/g,"")=="")) { @@ -312,8 +335,10 @@ stdtasks["version-html"] = function() { if(!fs.isdir("dist")) throw new Error("'dist' directory does not exist."); const hist = me.parsing.readme_history_section("readme.md"); + const version = me.parsing.version_data().combined; + const modid = constants.modid; const html = "
\n" + (hist.replace(/&/g, "&").replace(/>/g, ">").replace(/";
-    fs.writefile("dist/revision-history.html", html);
+    fs.writefile("dist/" + modid + "-" + version + ".html", html);
   };
   stdtasks["tabs-to-spaces"] = function() {
     me.sanatizing.tabs_to_spaces(['java','lang']);
diff --git a/meta/update.json b/meta/update.json
index b4a3c93..fc5a346 100644
--- a/meta/update.json
+++ b/meta/update.json
@@ -1,5 +1,13 @@
 {
   "homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/",
+  "promos": {
+    "1.12.2-recommended": "1.0.9",
+    "1.12.2-latest": "1.0.10-b1",
+    "1.13.2-recommended": "",
+    "1.13.2-latest": "1.0.7-b5",
+    "1.14.4-recommended": "",
+    "1.14.4-latest": "1.0.9-b9"
+  },
   "1.12.2": {
     "1.0.10-b1": "[A] Treated wood side table added.\n[F] Fixed recipe collision of Metal Rung Ladder (issue #37, thx ProsperCraft for reporting).\n[A] Added Exit Sign (texture design by J. Carver).",
     "1.0.9": "[R] Release based on v1.0.9-b3. Release-to-release changes: * Slabs for clinker, concrete, slag bricks. * Slab slices for sheet metals, treated wood, and concretes. * Language updates. * Block hardness adaptions. * 1st/3rd person item model fixes. * Furnace initialisation issue fixed.",
@@ -63,6 +71,7 @@
     "1.0.0-a1": "[A] Initial port to 1.13.2 with Forge beta."
   },
   "1.14.4": {
+    "1.0.9-b9": "[U] Update to Forge 1.14.4-28.0.40/20190719-1.14.3 for Forge testing.",
     "1.0.9-b8": "[U] UPDATE TO 1.14.4. Forge 1.14.4-28.0.11/20190719-1.14.3.",
     "1.0.9-b7": "[U] Updated to Forge 1.14.3-27.0.60/20190719-1.14.3.\n[F] Disabled all early implemented fuild handling of valves and the Fluid Accumulator to prevent world loading hang-ups (issue #42, thx TheOhmegha for reporting). Will be re-enabled after fluid handling released in Forge.\n[F] Fixed blockstate model locations for signs and crafting table (issue #43, thx ProsperCraft for the beta test).",
     "1.0.9-b6": "[U] Updated to Forge 1.14.3-27.0.50/20190621-1.14.2.",
@@ -77,13 +86,5 @@
     "1.0.7-b5": "[U] Updated to Forge BETA 1.14.2-26.0.35/20190608-1.14.2.\n[A] Factory dropper functionality ported.\n[A] Small lab furnace functionality ported.\n[A] Small electrical lab furnace functionality ported.\n[A] Small waste incinerator functionality ported.\n[A] Fluid valves, Passive Fluid Accumulator ported.\n[I] Issue: Scoped recipe constants still not working.",
     "1.0.7-b4": "[U] Updated to Forge BETA 1.14.2-26.0.32/20190608-1.14.2.\n[A] Sitting on the stool ported.\n[A] Ladder climbing speed boost ported.\n[A] Crafting table functionality ported.\n[I] Issue: Scoped recipe constants not working yet with the current Forge version (or somehow changed).",
     "1.0.7-b3": "[A] Initial 1.14.2 port of decorative blocks."
-  },
-  "promos": {
-    "1.12.2-recommended": "1.0.9",
-    "1.12.2-latest": "1.0.10-b1",
-    "1.13.2-recommended": "",
-    "1.13.2-latest": "1.0.7-b5",
-    "1.14.4-recommended": "",
-    "1.14.4-latest": "1.0.9-b8"
   }
 }
\ No newline at end of file
diff --git a/tasks.js b/tasks.js
index 3cf8bb8..61a9911 100644
--- a/tasks.js
+++ b/tasks.js
@@ -10,25 +10,29 @@ var tasks = {};
 
 tasks["update-json"] = function() {
   const root_dir = fs.realpath(fs.dirname(sys.script));
-  var update_jsons = {
-    "1.12.2": JSON.parse(fs.readfile(root_dir + "/1.12/meta/update.json")),
-    "1.13.2": JSON.parse(fs.readfile(root_dir + "/1.13/meta/update.json")),
-    "1.14.4": JSON.parse(fs.readfile(root_dir + "/1.14/meta/update.json"))
-  };
-  var update_json = {
+  const update_json = {
     homepage: "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/",
-    "1.12.2": update_jsons["1.12.2"]["1.12.2"],
-    "1.13.2": update_jsons["1.13.2"]["1.13.2"],
-    "1.14.4": update_jsons["1.14.4"]["1.14.4"],
-    promos: {
-      "1.12.2-recommended": update_jsons["1.12.2"]["promos"]["1.12.2-recommended"],
-      "1.12.2-latest": update_jsons["1.12.2"]["promos"]["1.12.2-latest"],
-      "1.13.2-recommended": update_jsons["1.13.2"]["promos"]["1.13.2-recommended"],
-      "1.13.2-latest": update_jsons["1.13.2"]["promos"]["1.13.2-latest"],
-      "1.14.4-recommended": update_jsons["1.14.4"]["promos"]["1.14.4-recommended"],
-      "1.14.4-latest": update_jsons["1.14.4"]["promos"]["1.14.4-latest"]
+    promos: {}
+  };
+  var update_json_src = [];
+  fs.find(root_dir + "/1.12/meta/", "update*.json", function(path){ update_json_src.push(JSON.parse(fs.readfile(path))); });
+  fs.find(root_dir + "/1.13/meta/", "update*.json", function(path){ update_json_src.push(JSON.parse(fs.readfile(path))); });
+  fs.find(root_dir + "/1.14/meta/", "update*.json", function(path){ update_json_src.push(JSON.parse(fs.readfile(path))); });
+  for(var i in update_json_src) {
+    const version_update_json = update_json_src[i];
+    for(var key in version_update_json) {
+      if(key=="homepage") {
+        continue;
+      } else if(key=="promos") {
+        for(var prkey in version_update_json.promos) {
+          update_json.promos[prkey] = version_update_json.promos[prkey];
+        }
+      } else {
+        update_json[key] = version_update_json[key];
+      }
     }
   }
+  update_json_src = undefined;
   fs.mkdir(root_dir + "/meta");
   fs.writefile(root_dir + "/meta/update.json", JSON.stringify(update_json, null, 2));
 };