Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc(binding/lua): add ldoc generactor for lua binding #2549

Merged
merged 9 commits into from
Jun 27, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,25 @@ jobs:
with:
name: C-docs
path: ./bindings/c/docs/doxygen/html
build-lua-doc:
runs-on: ubuntu-latest

steps:
oowl marked this conversation as resolved.
Show resolved Hide resolved
- uses: actions/checkout@v3

- name: Setup lua-ldoc
run: sudo apt-get install lua-ldoc

- name: Build Docs
working-directory: "bindings/lua"
run: ldoc ./src

- name: Upload docs
uses: actions/upload-artifact@v3
with:
name: lua-docs
path: ./bindings/lua/doc/


build-website:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -216,6 +235,12 @@ jobs:
name: C-docs
path: ./website/static/docs/c

- name: Download lua docs
uses: actions/download-artifact@v3
with:
name: lua-docs
path: ./website/static/docs/lua

- name: Install Dependencies
working-directory: website
run: yarn install --immutable
Expand Down
41 changes: 41 additions & 0 deletions bindings/lua/src/metadata_doc.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
--[[

Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.

]]


--- OpenDAL metadata It must be returned operator::stat()
-- @classmod opendal.metadata
-- @pragma nostrip

local _M = {}

--- Return whether the path represents a file
-- @return bool if it is file, otherwise false
-- @function is_file

--- Return whether the path represents a directory
-- @return bool if it is directory, otherwise false
-- @function is_dir

--- Return the content_length of the metadata
-- @return bool if it is directory, otherwise false
-- @function content_length

return _M
69 changes: 69 additions & 0 deletions bindings/lua/src/operator_doc.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
--[[

Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.

]]

--- OpenDAL operator.
-- @classmod opendal.operator
-- @pragma nostrip

local _M = {}

--- Construct an operator based on scheme and option. Uses an table of key-value pairs to initialize
--- the operator based on provided scheme and options. For each scheme, i.e. Backend,
--- different options could be set, you may reference the https://opendal.apache.org/docs/category/services/
--- for each service, especially for the **Configuration Part**.
-- @param string scheme the service scheme you want to specify, e.g. "fs", "s3", "supabase"
-- @param table options the table to the options for this operators
-- @return table, error opendal operator table which contain opendal operator instance, error nil if success, others otherwise
-- @function new


--- Blockingly write raw bytes to path.
--- Write the bytes into the path blockingly, returns nil if success, others otherwise
-- @param string path the designated path you want to write your bytes in
-- @param string bytes the bytes to be written
-- @return error nil if success, otherwise error message
-- @function write

--- Blockingly read raw bytes from path.
--- Read the data out from `path` blockingly by operator, returns the string if success, others otherwise
-- @param string path the designated path you want to write your bytes in
-- @return string, error read data, error nil if success, otherwise error message
-- @function read

--- Blockingly delete the object in path.
--- Delete the object in path blockingly, returns error nil
--- if success, others otherwise
-- @param string path the designated path you want to write your delete
-- @return error error nil if success, otherwise error message
-- @function delete

--- Check whether the path exists.
-- @param string path the designated path you want to write your delete
-- @return bool, error true or false depend on operator instance and path, error nil if success, otherwise error message
-- @function is_exist

--- Stat the path, return its metadata.
-- @param string ,path the designated path you want to write your delete
-- @return table , error opendal.metadata instance table, error nil if success, otherwise error message
-- @function stat


return _M
4 changes: 4 additions & 0 deletions website/docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,10 @@ const config = {
label: 'C Binding',
to: 'pathname:///docs/c/'
},
{
label: 'Lua Binding',
to: 'pathname:///docs/lua/'
},
]
},
{
Expand Down