You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by ur...@apache.org on 2022/09/30 01:57:10 UTC

[pulsar-site] branch main updated: remove old release notes generation scripts (#238)

This is an automated email from the ASF dual-hosted git repository.

urfree pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pulsar-site.git


The following commit(s) were added to refs/heads/main by this push:
     new 68203259ca5 remove old release notes generation scripts (#238)
68203259ca5 is described below

commit 68203259ca57f14e6910db3a0495ed3d010610b4
Author: Li Li <ur...@apache.org>
AuthorDate: Fri Sep 30 09:57:02 2022 +0800

    remove old release notes generation scripts (#238)
---
 site2/tools/release-json-gen.sh                   |   1 -
 site2/website-next/scripts/release-notes-other.js | 195 ----------------------
 site2/website-next/scripts/release-notes.js       | 167 ------------------
 site2/website-next/scripts/release-notes.sh       |  60 -------
 4 files changed, 423 deletions(-)

diff --git a/site2/tools/release-json-gen.sh b/site2/tools/release-json-gen.sh
index 515e3a86cc5..980369ebe82 100755
--- a/site2/tools/release-json-gen.sh
+++ b/site2/tools/release-json-gen.sh
@@ -51,7 +51,6 @@ do
     echo "module.exports = [" > "$OUTPUT"
 done
 
-# gh auth login, ref: https://github.com/apache/pulsar-site/blob/760f7b47f437267a3c9d71d14c73e99ba32bd1ec/site2/website-next/scripts/release-notes.sh#L31-L33
 echo $GH_TOKEN > "$TOKEN_FILE"
 gh auth login --with-token < "$TOKEN_FILE"
 rm "$TOKEN_FILE"
diff --git a/site2/website-next/scripts/release-notes-other.js b/site2/website-next/scripts/release-notes-other.js
deleted file mode 100644
index b721da70166..00000000000
--- a/site2/website-next/scripts/release-notes-other.js
+++ /dev/null
@@ -1,195 +0,0 @@
-const fs = require("fs");
-const request = require("sync-request");
-const md2json = require("md-2-json");
-const _ = require("lodash");
-const path = require("path");
-const token = process.env.TOKEN;
-
-const COMP_MAP = {
-  "client-c#": "pulsar-dotpulsar",
-};
-
-const args = process.argv.slice(2);
-const dir = args[0];
-let VERSION = null;
-let COMPONENT = null;
-if (args.length > 1) {
-  COMPONENT = args[1];
-  COMPONENT = COMP_MAP[COMPONENT] || COMPONENT;
-}
-if (args.length > 2) {
-  VERSION = args[2];
-}
-
-let fileList = fs.readFileSync(
-  path.join(dir, "/site2/website-next/other-component.json"),
-  "utf-8"
-);
-let allPageMd = fs.readFileSync(
-  path.join(dir, "/site2/website-next/release-notes/all.md"),
-  "utf8"
-);
-let fileListJson = JSON.parse(fileList);
-
-let origin = "https://api.github.com/repos";
-
-for (let element of fileListJson) {
-  if (COMPONENT && element.indexOf(COMPONENT) < 0) {
-    continue;
-  }
-  let repo = new Object();
-  let repoContet = new Object();
-  let fileName = element.split("/")[2];
-
-  if (element == "/apache/pulsar-dotpulsar") {
-    let url = origin + element;
-    getDotPulsarMd(url);
-  } else {
-    repo = getRequest(origin + element + "/releases");
-    repoContet = JSON.parse(repo.getBody("utf-8"));
-
-    let typeList = fileName.split("-");
-    let type = typeList[typeList.length - 1]
-      .split("-")
-      .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
-      .join(" ");
-
-    for (let ele of repoContet) {
-      ele.fileName = fileName;
-      ele.type = type;
-      ele.bigVersion =
-        ele.tag_name.slice(1).slice(0, ele.tag_name.slice(1).lastIndexOf(".")) +
-        ".x";
-      let value = {
-        client: fileName,
-        version: ele.tag_name.slice(1),
-        body: ele.body,
-      };
-      if (VERSION && value.version != VERSION) {
-        continue;
-      }
-      let content = generateMdByContent(value);
-
-      let _path = path.join(
-        dir,
-        "/site2/website-next/release-notes/versioned/" +
-          value.client +
-          "-" +
-          value.version +
-          ".md"
-      );
-      fs.writeFileSync(_path, content);
-      console.log(_path);
-    }
-
-    let categoryGroup = _.groupBy(repoContet, "type");
-    for (let [key, value] of Object.entries(categoryGroup)) {
-      allPageMd += `\n### ${key === "Node" ? "NodeJs" : key}\n`;
-      let bigVersionGroup = _.groupBy(value, "bigVersion");
-
-      for (let [bigVersionKey, bigVersionVal] of Object.entries(
-        bigVersionGroup
-      )) {
-        allPageMd += `#### ${bigVersionKey}\n`;
-        let versionGroup = _.groupBy(bigVersionVal, "tag_name");
-        for (let [versionKey, versionVal] of Object.entries(versionGroup)) {
-          allPageMd += `[${versionKey}](/release-notes/versioned/${versionVal[0].fileName.toLowerCase()}-${versionKey.slice(
-            1
-          )})&ensp;&ensp;`;
-        }
-        allPageMd += `  \n`;
-      }
-    }
-  }
-}
-
-if (!VERSION) {
-  //Only if the version is not specified, please modify all.md manually if the version is specified to avoid overwriting the contents of other versions
-  fs.writeFileSync(
-    path.join(dir, "/site2/website-next/release-notes/all.md"),
-    allPageMd,
-    "utf8"
-  );
-}
-
-function generateMdByContent(value) {
-  let clientName = value.client
-    .toLowerCase()
-    .split("-")
-    .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
-    .join(" ");
-  let id = value.client + "-" + value.version;
-  if (!value.version) {
-    id = value.client;
-  }
-
-  let result = `---
-id: ${id}
-title: ${clientName}
-sidebar_label: ${clientName}
----
-
-`;
-  return result + value.body;
-}
-
-function getRequest(url) {
-  return (res = request("GET", url, {
-    headers: {
-      "User-Agent": "request",
-      Authorization: token,
-    },
-    json: true,
-  }));
-}
-
-function getDotPulsarMd(url) {
-  let contents = getRequest(url + "/contents/CHANGELOG.md").getBody("utf-8");
-  let contentsBody = JSON.parse(contents);
-  let changeLog = Buffer.from(contentsBody.content, "base64").toString();
-  let changeLogJson = md2json.parse(changeLog);
-  let versionObject = [];
-
-  for (let [key, value] of Object.entries(changeLogJson["Changelog"])) {
-    if (key.includes("[")) {
-      let strEnd = key.search("]");
-      let version = key.slice(1, strEnd);
-      if (VERSION && version != VERSION) {
-        continue;
-      }
-      let bigVersion = version.slice(0, version.lastIndexOf(".")) + ".x";
-
-      let content = md2json.toMd([value]);
-      let temp = `---
-id: pulsar-cs-${version}
-title: Pulsar DotPulsar
-sidebar_label: Pulsar DotPulsar
----
-${content.replace(/# 0/, " ")}
-`;
-      const _path = path.join(
-        dir,
-        "/site2/website-next/release-notes/versioned/pulsar-cs-" + version + ".md"
-      );
-      fs.writeFileSync(_path, temp);
-      console.log(_path);
-
-      versionObject.push({
-        bigVersion: bigVersion,
-        version: version,
-      });
-    }
-  }
-
-  allPageMd += `### C#\n`;
-
-  let bigVersionGroup = _.groupBy(versionObject, "bigVersion");
-
-  for (let [key, value] of Object.entries(bigVersionGroup)) {
-    allPageMd += `\n#### ${key}\n`;
-    let versionGroup = _.groupBy(value, "version");
-    for (let [versionKey, versionVal] of Object.entries(versionGroup)) {
-      allPageMd += `[${versionKey}](/release-notes/versioned/pulsar-cs-${versionVal[0].version})&ensp;&ensp;\n`;
-    }
-  }
-}
diff --git a/site2/website-next/scripts/release-notes.js b/site2/website-next/scripts/release-notes.js
deleted file mode 100644
index 73243c6cad7..00000000000
--- a/site2/website-next/scripts/release-notes.js
+++ /dev/null
@@ -1,167 +0,0 @@
-const fs = require("fs");
-const path = require("path");
-const _ = require("lodash");
-const versions = require("../versions.json");
-
-let allPageMd = `---
-id: all
-title: All Releases
-sidebar_label: All Releases
-slug: /
----
-
-`;
-let allList = [];
-
-const args = process.argv.slice(2);
-const dir = args[0];
-let VERSION = null;
-let COMPONENT = null;
-if (args.length > 1) {
-  COMPONENT = args[1];
-}
-if (args.length > 2) {
-  VERSION = args[2];
-}
-
-function generateMdByVersion(version) {
-  const src = path.join(
-    dir,
-    "/site2/website-next/scripts/release-notes",
-    version + ".json"
-  );
-  const dest = path.join(dir, "/site2/website-next/release-notes/versioned");
-
-  const data = fs.readFileSync(src, "utf8");
-
-  let list = JSON.parse(data);
-  list = list
-    .filter((item) => {
-      let { labels } = item;
-      return labels.find((label) => {
-        return label.name.startsWith("component");
-      });
-    })
-    .map((item) => {
-      let { title, number, labels } = item;
-      let label = labels.find((label) => {
-        return label.name.startsWith("component");
-      });
-      label = label.name.substr("component/".length).replace("c++", "CPP");
-      let category = "pulsar";
-      let top = category;
-      if (label.indexOf("client") > -1) {
-        top = "client";
-        category = label;
-        if (label == "client") {
-          category = "client-java";
-        }
-      }
-      let [v1, v2] = version.split(".");
-      return {
-        title,
-        number,
-        label,
-        category,
-        top,
-        bigVersion: v1 + "." + v2 + ".x",
-        version,
-      };
-    });
-  allList = allList.concat(list);
-
-  let group = _.groupBy(list, "category");
-
-  for (let [category, prs] of Object.entries(group)) {
-    if (COMPONENT && category != COMPONENT) {
-      continue;
-    }
-    let result = `---
-id: ${category.toLowerCase()}-${version}
-title: ${_.startCase(
-      category.toLowerCase() == "pulsar" ? "apache pulsar" : category
-    )} ${version} 
-sidebar_label: ${_.startCase(
-      category.toLowerCase() == "pulsar" ? "apache pulsar" : category
-    )} ${version} 
----
-
-`;
-
-    let _labelGroup = _.groupBy(prs, "label");
-    for (let [_label, _prs] of Object.entries(_labelGroup)) {
-      if (Object.keys(_labelGroup).length > 1) {
-        result += "## " + _label + "\n";
-      }
-      result += _prs
-        .map((pr) => {
-          return (
-            pr.title +
-            " [#" +
-            pr.number +
-            "](https://github.com/apache/pulsar/pull/" +
-            pr.number +
-            ")  "
-          );
-        })
-        .join("\n");
-      result += "\n\n";
-    }
-    fs.writeFileSync(
-      path.join(dest, category.toLowerCase() + "-" + version + ".md"),
-      result,
-      "utf8"
-    );
-    console.log(
-      path.join(dest, category.toLowerCase() + "-" + version + ".md")
-    );
-  }
-}
-
-function generateAll() {
-  let topGroup = _.groupBy(allList, "top");
-  for (let [topKey, topVal] of Object.entries(topGroup)) {
-    allPageMd += `## ${_.startCase(topKey)} Release Notes\n`;
-    let categoryGroup = _.groupBy(topVal, "category");
-    for (let [categoryKey, categoryVal] of Object.entries(categoryGroup)) {
-      if (categoryKey.toLowerCase() != "pulsar") {
-        if (categoryKey.toLocaleLowerCase() == "client-cpp") {
-          allPageMd += `### C++\n`;
-        } else if (categoryKey.toLocaleLowerCase() == "client-websocket") {
-          allPageMd += `### WebSocket\n`;
-        } else {
-          allPageMd += `### ${_.startCase(
-            categoryKey.replace("client-", "")
-          )}\n`;
-        }
-      }
-      let bigVersionGroup = _.groupBy(categoryVal, "bigVersion");
-      for (let [bigVersionKey, bigVersionVal] of Object.entries(
-        bigVersionGroup
-      )) {
-        allPageMd += `#### ${bigVersionKey}\n`;
-        let versionGroup = _.groupBy(bigVersionVal, "version");
-        for (let [versionKey, versionVal] of Object.entries(versionGroup)) {
-          allPageMd += `[${versionKey}](/release-notes/versioned/${categoryKey.toLowerCase()}-${versionKey})&ensp;&ensp;`;
-        }
-        allPageMd += `  \n`;
-      }
-    }
-  }
-
-  fs.writeFileSync(
-    path.join(dir, "/site2/website-next/release-notes", "all.md"),
-    allPageMd,
-    "utf8"
-  );
-}
-
-if (VERSION) {
-  generateMdByVersion(VERSION);
-} else {
-  for (let version of versions) {
-    generateMdByVersion(version);
-  }
-  //Only if the version is not specified, please modify all.md manually if the version is specified to avoid overwriting the contents of other versions
-  generateAll();
-}
diff --git a/site2/website-next/scripts/release-notes.sh b/site2/website-next/scripts/release-notes.sh
deleted file mode 100755
index 422c1d298dc..00000000000
--- a/site2/website-next/scripts/release-notes.sh
+++ /dev/null
@@ -1,60 +0,0 @@
-#! /bin/sh
-
-ROOT_DIR=$(git rev-parse --show-toplevel)
-MAIN=(
-    "pulsar"
-    "client-java"
-    "client-python"
-    "client-cpp"
-    "client-websocket"
-)
-OTHER=(
-    "client-go"
-    "client-node"
-    "client-c#"
-)
-
-echo "Supported components: "${MAIN[@]} ${OTHER[@]}
-read -p "Please enter component name: " COMPONENT
-if [ ! $COMPONENT ]; then
-    echo "Generate all release notes(all versions) of all components"
-else
-    read -p "Please enter version: " VERSION
-    if [ ! $VERSION ]; then
-        echo "Generate release notes(all versions) of $COMPONENT"
-    else
-        echo "Generate release notes($VERSION) of $COMPONENT"
-    fi
-fi
-
-function _ghFromPulsar() {
-    echo $TOKEN >$ROOT_DIR/site2/website-next/scripts/token
-    gh auth login --with-token <$ROOT_DIR/site2/website-next/scripts/token
-    rm $ROOT_DIR/site2/website-next/scripts/token
-
-    cd $ROOT_DIR/../pulsar
-
-    mkdir -p $ROOT_DIR/site2/website-next/scripts/release-notes
-
-    if [ ! $VERSION ]; then
-        VERSIONS=$(cat $ROOT_DIR/site2/website-next/versions.json | jq -r ".[]")
-        for version in $VERSIONS; do
-            gh pr list --limit 200 --label "release/"$version --state merged --json labels,title,number >$ROOT_DIR/site2/website-next/scripts/release-notes/$version.json
-        done
-    else
-        gh pr list --limit 200 --label "release/"$VERSION --state merged --json labels,title,number >$ROOT_DIR/site2/website-next/scripts/release-notes/$VERSION.json
-    fi
-}
-
-if [ ! $COMPONENT ]; then
-    _ghFromPulsar
-    node $ROOT_DIR/site2/website-next/scripts/release-notes.js $ROOT_DIR
-    node $ROOT_DIR/site2/website-next/scripts/release-notes-other.js $ROOT_DIR
-else
-    if [[ "${OTHER[@]}" =~ "${COMPONENT}" ]]; then
-        node $ROOT_DIR/site2/website-next/scripts/release-notes-other.js $ROOT_DIR $COMPONENT $VERSION
-    else
-        _ghFromPulsar
-        node $ROOT_DIR/site2/website-next/scripts/release-notes.js $ROOT_DIR $COMPONENT $VERSION
-    fi
-fi