Skip to content

Commit

Permalink
Assorted Fixes #7 (#1745)
Browse files Browse the repository at this point in the history
* Fixes #1684: Support CREATE MATERIALIZED VIEW with AUTO REFRESH

Support parsing create view statements in Redshift with AUTO REFRESH
option.

* Reduce cyclomatic complexity in CreateView.toString

Extract adding the force option into a dedicated method resulting in the
cyclomatic complexity reduction of the CreateView.toString method.

* Enhanced Keywords

Add Keywords and document, which keywords are allowed for what purpose

* Fix incorrect tests

* Define Reserved Keywords explicitly
Derive All Keywords from Grammar directly
Generate production for Object Names (semi-) automatically
Add parametrized Keyword Tests

* Fix test resources

* Adjust Gradle to JUnit 5

Parallel Test execution
Gradle Caching
Explicitly request for latest JavaCC 7.0.10

* Do not mark SpeedTest for concurrent execution

* Remove unused imports

* Adjust Gradle to JUnit 5

Parallel Test execution
Gradle Caching
Explicitly request for latest JavaCC 7.0.10

* Do not mark SpeedTest for concurrent execution

* Remove unused imports

* Sphinx Documentation

Update the MANTICORE Sphinx Theme, but ignore it in GIT
Add the content to the Sphinx sites
Add a Gradle function to derive Stable and Snapshot version from GIT Tags
Add a Gradle GIT change task
Add a Gradle sphinx task
Add a special Test case for illustrating the use of JSQLParser

* doc: request for `Conventional Commit` messages

* feat: make important Classes Serializable

Implement Serializable for persisting via ObjectOutputStream

* chore: Make Serializable

* doc: Better integration of the RR diagrams

- apply neutral Sphinx theme
- insert the RR diagrams into the sphinx sources
- better documentation on Gradle dependencies
- link GitHub repository

* Merge

* feat: Oracle Alternative Quoting

- add support for Oracle Alternative Quoting e.g. `q'(...)'`
- fixes #1718
- add a Logo and FavIcon to the Website
- document recent changes on Quoting/Escaping
- add an example on building SQL from Java
- rework the README.md, promote the Website
- add Spotless Formatter, using Google Java Style (with Tab=4 Spaces)

* style: Appease PMD/Codacy

* doc: fix the issue template

- fix the issue template
- fix the -SNAPSHOT version number

* Update issue templates

* Update issue templates

* feat: Support more Statement Separators

- `GO`
- Slash `/`
- Two empty lines

* feat: FETCH uses EXPRESSION

- `FETCH` uses `EXPRESSION` instead of SimpleJDBCParameter only
- Visit/Accept `FETCH` `EXPRESSION` instead of `append` to String
- Visit/Accept `OFFSET` `EXPRESSION` instead of `append` to String
- Gradle: remove obsolete/incompatible `jvmArgs` from Test()

* style: apply Spotless

* test: commit missing test

* fix: JSon Operator can use Simple Function

Supports `Function() ->> Literal` (although `Function()` would not allow Nested Expression Parameters)

fixes #1571

* style: Reformat changed files and headers

* style: Remove unused variable

* feat: Add support for Hangul "\uAC00"-"\uD7A3"

fixes #1747

* style: expose `SetStatement` key-value list

fixes #1746

* style: Appease PMD/Codacy

* feat: `ConflictTarget` allows multiple `IndexColumnNames`

fixes #1749
fixes #1633
fixes #955

* doc: fix reference in the Java Doc

* build: better Upload Groovy Task

---------

Co-authored-by: zaza <tzarna@gmail.com>
  • Loading branch information
manticore-projects and zaza authored Mar 21, 2023
1 parent 476d969 commit 31ef1aa
Show file tree
Hide file tree
Showing 17 changed files with 957 additions and 659 deletions.
67 changes: 35 additions & 32 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ plugins {

// download the RR tools which have no Maven Repository
id "de.undercouch.download" version "latest.release"
id 'org.hidetake.ssh' version "latest.release"

id "se.bjurr.gitchangelog.git-changelog-gradle-plugin" version "latest.release"
}
Expand Down Expand Up @@ -85,8 +86,8 @@ dependencies {
testImplementation 'org.mockito:mockito-junit-jupiter:4.+'

// enforce latest version of JavaCC
testImplementation 'net.java.dev.javacc:javacc:7.0.12'
javacc 'net.java.dev.javacc:javacc:7.0.12'
testImplementation 'net.java.dev.javacc:javacc:+'
javacc 'net.java.dev.javacc:javacc:+'
}

compileJavacc {
Expand All @@ -98,6 +99,11 @@ java {
withJavadocJar()
}

javadoc {
options.addBooleanOption('html5', true)
options.addBooleanOption("Xdoclint:none", true)
}

test {
environment = [ 'EXPORT_TEST_TO_FILE': 'True' ]
useJUnitPlatform()
Expand Down Expand Up @@ -231,7 +237,7 @@ spotless {

format 'misc', {
// define the files to apply `misc` to
target '*.gradle', '*.md', '.gitignore'
target '*.rst', '*.md', '.gitignore'

// define the steps to apply to those files
trimTrailingWhitespace()
Expand Down Expand Up @@ -426,36 +432,33 @@ tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}

task upload(type: Exec) {
dependsOn(build, gitChangelogTask)

def versionStable = getVersion(false)

if( findProperty("${project.name}.host")==null ) {
println(
"""
Property \"${project.name}.host\' not found.
Please define \"${project.name}.host\" in the Gradle configuration (e. g. \$HOME/.gradle/gradle.properties.
"""
)
} else {

// define the USERNAME and HOST properties in ~/.gradle/gradle.properties
args = ["sftp://${findProperty("${project.name}.username")}@${findProperty("${project.name}.host")}/download"]

executable "sftp"

standardInput = new ByteArrayInputStream("""<<EOF
mkdir ${project.name}-${versionStable}
cd ${project.name}-${versionStable}
put build/libs/*
quit
EOF"""
.getBytes(Charset.defaultCharset()))
remotes {
webServer {
host = findProperty("${project.name}.host")
user = findProperty("${project.name}.username")
identity = new File("${System.properties['user.home']}/.ssh/id_rsa")
}
}

standardOutput = new ByteArrayOutputStream()
ext.output = {
return standardOutput.toString()
task upload {
doFirst {
if( findProperty("${project.name}.host")==null ) {
println(
"""
Property \"${project.name}.host\' not found.
Please define \"${project.name}.host\" in the Gradle configuration (e. g. \$HOME/.gradle/gradle.properties.
"""
)
}
}
doLast {
ssh.run {
session(remotes.webServer) {
def versionStable = getVersion(false)
execute "mkdir -p download/${project.name}-${versionStable}"
put from: "${project.buildDir}/libs", into: "download/${project.name}-${versionStable}"
}
}
}
}

Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
3 changes: 2 additions & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading

0 comments on commit 31ef1aa

Please sign in to comment.