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

ci: add bindings java docs and integrate with website #2346

Merged
merged 6 commits into from
May 28, 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
28 changes: 16 additions & 12 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,33 +30,41 @@ jobs:
steps:
- uses: actions/checkout@v3

# Build opendal docs ----------------------------------------------
- name: Checkout java env
uses: actions/setup-java@v3
# Build OpenDAL docs ----------------------------------------------
- uses: actions/setup-java@v3
with:
distribution: temurin
java-version: '11'
java-version: '17'

- name: Setup Rust toolchain
uses: ./.github/actions/setup
with:
cache-key: "-services-all"

- uses: actions-rs/cargo@v1
with:
command: doc
args: --lib --no-deps --all-features -p opendal
- name: Build OpenDAL doc
run: cargo doc --lib --no-deps --all-features -p opendal
env:
LD_LIBRARY_PATH: ${{ env.JAVA_HOME }}/lib/server:${{ env.LD_LIBRARY_PATH }}

- name: Copy docs into build
run: |
cp -r ./target/doc ./website/static/docs/rust

# Build bindings/java docs --------------------------------------
- name: Build and test
working-directory: bindings/java
run: mvn javadoc:javadoc

- name: Copy docs into build
run: |
cp -r ./bindings/java/target/site/apidocs ./website/static/docs/java

# Set node.js environment -----------------------------------------
- uses: actions/setup-node@v3
with:
node-version: '16'
- run: corepack enable
working-directory: bindings/nodejs

- name: Get yarn cache directory path
id: yarn-cache-dir-path
Expand All @@ -69,10 +77,6 @@ jobs:
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}

# Build bindings/nodejs docs --------------------------------------
- name: Corepack
working-directory: bindings/nodejs
run: corepack enable

- name: Install dependencies
working-directory: bindings/nodejs
run: yarn install
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,8 @@
* under the License.
*/

/**
* This package contains Java bindings over <a href="https://opendal.apache.org/">OpenDAL</a>
* via Java Native Interface (JNI).
*/
package org.apache.opendal;
4 changes: 1 addition & 3 deletions website/.gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Dependencies
/node_modules
/.yarn

# Production
/build
Expand All @@ -18,6 +19,3 @@
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Generated docs will be placed in the static folder
static/docs/
19 changes: 19 additions & 0 deletions website/.yarnrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# 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.

nodeLinker: node-modules

Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@ authors:
image_url: https://github.com/PsiACE.png
---

![OpenDAL successfully entered Apache Incubator](../static/img/blog/opendal-entered-apache-incubator/opendal-entered-apache.png)
![OpenDAL successfully entered Apache Incubator](opendal-entered-apache.png)

On February 27th, 2023, the [OpenDAL](https://github.com/apache/incubator-opendal) project achieved a milestone by winning the approval to join the incubator of the [Apache Software Foundation](https://www.apache.org/) (ASF), the world's leading open source software organization. On March 15th, the OpenDAL project was officially transferred to the Apache Software Foundation.

This is a significant moment for [Databend](https://github.com/datafuselabs/databend), as it means that OpenDAL's technology and vision have received wider recognition and support from the open source community.

> The Apache Incubator was established in October 2002 to provide a path for projects and codebases that aspire to become part of the Apache Software Foundation. Incubating projects need to follow ASF's governance and operational practices, and use ASF's infrastructure and resources. Incubating projects need to go through a series of stages and evaluations before they can graduate to become top-level projects (TLPs) of ASF.

![Apache OpenDAL Project Incubation Status - Apache Incubator](../static/img/blog/opendal-entered-apache-incubator/incubator-project-opendal.png)
![Apache OpenDAL Project Incubation Status - Apache Incubator](incubator-project-opendal.png)

_<https://incubator.apache.org/projects/opendal.html>_

Expand All @@ -30,7 +30,7 @@ There are various kinds of storage services in the market, each with its own uni

OpenDAL provides a unified, simple, efficient, reliable, and observable data access layer that allows developers to seamlessly use different storage services and enjoy the best user experience.

![M*N to M+N with OpenDAL](../static/img/blog/opendal-entered-apache-incubator/opendal-power.png)
![M*N to M+N with OpenDAL](opendal-power.png)

OpenDAL simplifies the process of interfacing different storage services, and provides features such as automatic retry, request optimization, and observability. With OpenDAL, developers can directly access a bunch of storage services, without having to understand and master the details of specific SDKs.

Expand Down
12 changes: 8 additions & 4 deletions website/docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ const config = {
},
navbar: {
logo: {
alt: 'Apache OpenDAL(incubating)',
alt: 'Apache OpenDAL (incubating)',
src: 'img/logo.svg',
srcDark: 'img/logo_dark.svg',
href: '/',
Expand All @@ -95,7 +95,7 @@ const config = {
items: [
{
position: 'right',
label: 'Documentation',
label: 'Docs',
items: [
{
label: 'General',
Expand All @@ -117,6 +117,10 @@ const config = {
label: 'Python Binding',
to: 'pathname:///docs/python/'
},
{
label: 'Java Binding',
to: 'pathname:///docs/java/'
},
]
},
{
Expand Down Expand Up @@ -150,11 +154,11 @@ const config = {
},
{
type: 'dropdown',
label: 'ASF Links',
label: 'ASF',
position: 'right',
items: [
{
label: 'Apache Software Foundation',
label: 'Foundation',
to: 'https://www.apache.org/'
},
{
Expand Down
3 changes: 2 additions & 1 deletion website/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,5 +39,6 @@
},
"engines": {
"node": ">=16.14"
}
},
"packageManager": "[email protected]"
}
1 change: 1 addition & 0 deletions website/static/docs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*
Empty file removed website/static/docs/.gitkeep
Empty file.
Loading