[#716][#719] feat(UI): Initial frontend framework and Metalake page#788
[#716][#719] feat(UI): Initial frontend framework and Metalake page#788jerryshao merged 12 commits intoapache:mainfrom
Conversation
…r and view Details
…ify the docker section in README.md
…ve unused docker commands
(cherry picked from commit de76957227ef01c79c304f6a05e6fcc32b3f5f89)
Code Coverage Report
Files
|
web/.gitignore
Outdated
|
|
||
| # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. | ||
|
|
||
| # dependencies |
There was a problem hiding this comment.
I have modified the .gitignor file, Cloud you please review it?
Do we really need to include icons-bundle-react.js in the source code? It's very huge. Perhaps we should consider ignore it?
There was a problem hiding this comment.
It is necessary to retain these ignored rules that have been removed, because some development environments may generate unnecessary submitted files or folders, such as using other package managers, error files generated by build failures, local environments, etc.
The .vscode folder needs to be kept in the repository, as it provides all the extensions and settings required for the project to run smoothly. Similarly, in the future, editor development environment files or folders like .idea will also be created as needed.
There was a problem hiding this comment.
The file icons-bundle-react.js is generated using yarn build:icons and utilizes the iconify third-party dependency to provide the SVG icons used in the project.
Once generated, it does not require any further modification, making it convenient to locate the corresponding icons.
This also resolves issues related to icon loading due to network reasons, eliminating the dependency on third-party services.
The required icons can be found at https://icon-sets.iconify.design/.
If necessary, I will modify the configuration to only generate the icons that are already in use.
|
@xunliu please help to review this PR and get it merged this week. |
|
Because we changed JettyServer code, So I manually completed this test. This test case needs to be added to the next PR. |
server-common/src/main/java/com/datastrato/gravitino/server/web/JettyServer.java
Show resolved
Hide resolved
server-common/src/main/java/com/datastrato/gravitino/server/web/JettyServer.java
Outdated
Show resolved
Hide resolved
server-common/src/main/java/com/datastrato/gravitino/server/web/JettyServerConfig.java
Outdated
Show resolved
Hide resolved
server-common/src/main/java/com/datastrato/gravitino/server/web/JettyServer.java
Outdated
Show resolved
Hide resolved
9ae6589 to
2400e0b
Compare
|
@jerryshao I fixed all the problems in the comments. Please help me review it again. Thanks! |
build.gradle.kts
Outdated
| from(projectDir.dir("conf")) { | ||
| into("package/conf") | ||
| filter { line -> | ||
| line.replace("{version}", "${version}") |
There was a problem hiding this comment.
What is the usage of this code?
There was a problem hiding this comment.
I think it is not used anymore.
|
|
||
| public synchronized void initialize(JettyServerConfig serverConfig, String serverName) { | ||
| public synchronized void initialize( | ||
| JettyServerConfig serverConfig, String serverName, boolean isWebApp) { |
There was a problem hiding this comment.
isWebApp -> shouldEnableUI
web/package.json
Outdated
| @@ -0,0 +1,68 @@ | |||
| { | |||
| "name": "gravitino-web", | |||
| "version": "0.1.0", | |||
There was a problem hiding this comment.
I think the version should be aligned with Gravitino, like "0.3.0-SNAPSHOT"
There was a problem hiding this comment.
I removed "version" in package.json.
web/build.gradle.kts
Outdated
| from("dist") { | ||
| into("") | ||
| } | ||
| this.archiveFileName.set("${rootProject.name}-web.war") |
There was a problem hiding this comment.
Do we need a version number for war package?
There was a problem hiding this comment.
Modified to ${rootProject.name}-web-${version}.war
web/next.config.js
Outdated
| // config.watchOptions = { | ||
| // poll: 1000, | ||
| // aggregateTimeout: 300 | ||
| // } |
There was a problem hiding this comment.
You should remove any unwanted code here.
| JettyServerConfig serverConfig = JettyServerConfig.fromConfig(icebergConfig); | ||
| server = new JettyServer(); | ||
| server.initialize(serverConfig, SERVICE_NAME); | ||
| server.initialize(serverConfig, SERVICE_NAME, false); |
There was a problem hiding this comment.
Can you please change to this style: false /* shouldEnableUI */
| JettyServerConfig jettyServerConfig = | ||
| JettyServerConfig.fromConfig(serverConfig, WEBSERVER_CONF_PREFIX); | ||
| server.initialize(jettyServerConfig, SERVER_NAME); | ||
| server.initialize(jettyServerConfig, SERVER_NAME, true); |
There was a problem hiding this comment.
Can you please change to this style: true /* shouldEnableUI */
|
@jerryshao , I and @ch3yne fixed all the problems in the comments. Please help me review it again. Thanks! |
What changes were proposed in this pull request?
Initial frontend and add
Metalakes pageCreate MetalakeMetalake Detailswith mock data.Run below commands:
./gradlew compileDistribution -x test ./dirstribution/package/bin/gravitino.sh startYou can access the Gravitino WEB UI by typing http://localhost:8090/ in your browser.
Previews:
Why are the changes needed?
Fix: #716
Fix: #719
Does this PR introduce any user-facing change?
No
How was this patch tested?
No