-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Sphinx Website #1624
Sphinx Website #1624
Conversation
Add Keywords and document, which keywords are allowed for what purpose
Derive All Keywords from Grammar directly Generate production for Object Names (semi-) automatically Add parametrized Keyword Tests
Parallel Test execution Gradle Caching Explicitly request for latest JavaCC 7.0.10
Parallel Test execution Gradle Caching Explicitly request for latest JavaCC 7.0.10
# Conflicts: # src/main/jjtree/net/sf/jsqlparser/parser/JSqlParserCC.jjt
Update keywords
# Conflicts: # build.gradle
I have added a Github Action, that builds the Website on Commit to Master and deploys the static Site to GH Pages. |
Parse Tokens via Regex Move JavaCC Token Parser into the KeywordsTest Make JavaCC a Test Dependency only
@@ -0,0 +1,29 @@ | |||
name: Sphinx Pages |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool. And using this the sphinx sources somewhere within the master branch are generated and published to Github pages?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes.
@@ -10,14 +10,15 @@ | |||
|
|||
package net.sf.jsqlparser.expression; | |||
|
|||
import java.io.Serializable; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why all these implements Serializable stuff?
On Thu, 2022-12-22 at 14:46 -0800, Tobias wrote:
Why all these implements Serializable stuff?
The tree viewer, i need to serialize the objects first into xml before
applying xpath and deserialize.
|
Kind reminder, since I am not allowed to do that by myself unfortunately. |
Disabled CSSLint, StyleLint in Codacy. |
Thanks. Will you accept the PR or do you expect me to push/update and rerun the Codacy CI-Tests before? |
Where is this xpath parser implemented? I did not find it at first glance. You know this serialization stuff is somehow deprecated: https://www.securityinfowatch.com/cybersecurity/information-security/article/12420169/oracle-plans-to-end-java-serialization-but-thats-not-the-end-of-the-story. I would like to find another way. To make things easier I could make node generation for every production a default. Since performance is not that important anymore. I measured a decrease of 20% for queries. |
Separately, in JSQLFormatter only.
There are other ways like Jackson, however that would introduce Third Party dependencies because they all rely on a kind of annotation and implementation of Serializers and De-Serializers. In your own link its written, that "Oracle plans ..." since 2018 and nothing has happened since. Even if anything happens, it would depend on Java 19 plus while we still (want to) maintain Java 8 compliance for a good reason. Companies still run JRE/JDK 8 and won't upgrade. Last but not least, I think some |
Fair point. |
Could you check this Codacy checks again (making a commit). Codacy somehow does not to allow me to reevaluate specific commits again. |
Pew, finally! |
- apply neutral Sphinx theme - insert the RR diagrams into the sphinx sources - better documentation on Gradle dependencies - link GitHub repository
Integrate the RR diagram into the website. Preview: https://manticore-projects.github.io/JSqlParser/syntax.html Besser als das wird es nicht! |
So this is ready to be merged? |
yes, Sir. |
Summary
Add a HTML5 Website based on Sphinx:
a) scales on devices (from mobile phone to very large screens)
b) theme-able (shown is a modified theme based on Read The Docs, being cleaner and scaling on large screens much better, landing page added)
c) CSS customizable (you can change the Accent Colours)
d) integrated search function
e) please adjust/change the icons according to your needs
Integrate the Sphinx Website into the Gradle Build:
d) derive the actual Version Number (Release and Snapshot) from the GIT Tags
e) generate a clean Changelog from GIT (template can be customized)
f) update all Version references (Maven Artifact, Downloads etc) automatically
Add some content:
g) explain the Contribution process
h) link to JSQLFormatter online for Statement Testing and Visualisation
i) add the Railroad Diagrams explaining the syntax (but without Reserved Keywords yet)
Added Object Tree Visualization tools, which will generate a
TreeNode
based tree structure explaining the parsed java Object Tree.Build Instructions
gradle sphinx
_themes
folder and/or provide acustom.css
filePreview
Live preview: http://manticore-projects.com/JSQLParser/index.html
Static preview image:
Static preview package:
sphinx.zip
Attention
It has been built upon the
Keywords
PR, mainly because of the build infrastructure and the keywords documentation.So the
Keywords
PR is included and need to be accepted first (or dropped altogether in favor of thisSphinx
PR).