You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by GitBox <gi...@apache.org> on 2022/05/04 07:11:44 UTC

[GitHub] [apisix] kwanhur opened a new pull request, #6980: refactor(ops): penlight path instead of shell command mkdir

kwanhur opened a new pull request, #6980:
URL: https://github.com/apache/apisix/pull/6980

   
   ### Description
   
   <!-- Please include a summary of the change and which issue is fixed. -->
   Using Lua library(penlight, luafilesystem) to do file system related operations.
   <!-- Please also include relevant motivation and context. -->
   * If shell command mkdir not exist, command `mkdir -p path` will failed.
   * Avoid `mkdir` dependency, use penlight path library, it's a dependent library of APISIX.
   
   Fixes # (issue)
   
   ### Checklist
   
   - [x] I have explained the need for this PR and the problem it solves
   - [x] I have explained the changes or the new features added to this PR
   - [ ] I have added tests corresponding to this change
   - [ ] I have updated the documentation to reflect this change
   - [x] I have verified that this change is backward compatible (If not, please discuss on the [APISIX mailing list](https://github.com/apache/apisix/tree/master#community) first)
   
   <!--
   
   Note
   
   1. Mark the PR as draft until it's ready to be reviewed.
   2. Always add/update tests for any changes unless you have a good reason.
   3. Always update the documentation to reflect the changes made in the PR.
   4. Make a new commit to resolve conversations instead of `push -f`.
   5. To resolve merge conflicts, merge master instead of rebasing.
   6. Use "request review" to notify the reviewer after making changes.
   7. Only a reviewer can mark a conversation as resolved.
   
   -->
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] spacewander commented on a diff in pull request #6980: refactor(ops): penlight path instead of shell command mkdir

Posted by GitBox <gi...@apache.org>.
spacewander commented on code in PR #6980:
URL: https://github.com/apache/apisix/pull/6980#discussion_r864784053


##########
apisix/cli/ops.lua:
##########
@@ -713,8 +713,16 @@ local function start(env, ...)
         util.die("Error: It is forbidden to run APISIX in the /root directory.\n")
     end
 
-    local cmd_logs = "mkdir -p " .. env.apisix_home .. "/logs"
-    util.execute_cmd(cmd_logs)
+    local logs = env.apisix_home .. "/logs"
+    local logs_path = pl_path.exists(logs)
+    if not logs_path then

Review Comment:
   We can use `if not pl_path.exists`? The `exists` will return the input argument back if it exists, so there is no need to reassign it back.



##########
apisix/cli/ops.lua:
##########
@@ -713,8 +713,16 @@ local function start(env, ...)
         util.die("Error: It is forbidden to run APISIX in the /root directory.\n")
     end
 
-    local cmd_logs = "mkdir -p " .. env.apisix_home .. "/logs"
-    util.execute_cmd(cmd_logs)
+    local logs = env.apisix_home .. "/logs"

Review Comment:
   Using name `logs_path` would be better?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] spacewander commented on pull request #6980: refactor(ops): penlight path instead of shell command mkdir

Posted by GitBox <gi...@apache.org>.
spacewander commented on PR #6980:
URL: https://github.com/apache/apisix/pull/6980#issuecomment-1117275465

   Approved the solution but some code style issues need to be addressed.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] spacewander commented on a diff in pull request #6980: refactor(ops): penlight path instead of shell command mkdir

Posted by GitBox <gi...@apache.org>.
spacewander commented on code in PR #6980:
URL: https://github.com/apache/apisix/pull/6980#discussion_r864788917


##########
apisix/cli/ops.lua:
##########
@@ -713,8 +713,16 @@ local function start(env, ...)
         util.die("Error: It is forbidden to run APISIX in the /root directory.\n")
     end
 
-    local cmd_logs = "mkdir -p " .. env.apisix_home .. "/logs"
-    util.execute_cmd(cmd_logs)
+    local logs = env.apisix_home .. "/logs"
+    local logs_path = pl_path.exists(logs)
+    if not logs_path then
+        local _, err = pl_path.mkdir(logs)
+        if err ~= nil then
+            util.die("failed to mkdir" .. logs .. ", error: ", err)

Review Comment:
   BTW, it's no need to concat the params in `die`.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] spacewander commented on a diff in pull request #6980: refactor(ops): penlight path instead of shell command mkdir

Posted by GitBox <gi...@apache.org>.
spacewander commented on code in PR #6980:
URL: https://github.com/apache/apisix/pull/6980#discussion_r864787713


##########
apisix/cli/ops.lua:
##########
@@ -713,8 +713,16 @@ local function start(env, ...)
         util.die("Error: It is forbidden to run APISIX in the /root directory.\n")
     end
 
-    local cmd_logs = "mkdir -p " .. env.apisix_home .. "/logs"
-    util.execute_cmd(cmd_logs)
+    local logs = env.apisix_home .. "/logs"
+    local logs_path = pl_path.exists(logs)
+    if not logs_path then
+        local _, err = pl_path.mkdir(logs)
+        if err ~= nil then
+            util.die("failed to mkdir" .. logs .. ", error: ", err)

Review Comment:
   ```suggestion
               util.die("failed to mkdir " .. logs .. ", error: ", err)
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] spacewander merged pull request #6980: refactor(ops): penlight path instead of shell command mkdir

Posted by GitBox <gi...@apache.org>.
spacewander merged PR #6980:
URL: https://github.com/apache/apisix/pull/6980


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org