.gitattributes | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
.gitignore | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
build.gradle | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
customUnixStartScript.txt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
customWindowsStartScript.txt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
gradle/wrapper/gradle-wrapper.jar | 补丁 | 查看 | 原始文档 | blame | 历史 | |
gradle/wrapper/gradle-wrapper.properties | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
gradlew | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
gradlew.bat | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
settings.gradle | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/demo @ d92861 | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/testElectronJ/App.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/test/java/testElectronJ/AppTest.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
.gitattributes
New file @@ -0,0 +1,6 @@ # # https://help.github.com/articles/dealing-with-line-endings/ # # These are explicitly windows files and should use crlf *.bat text eol=crlf .gitignore
New file @@ -0,0 +1,7 @@ # Ignore Gradle project-specific cache directory .gradle .idea .gradle # Ignore Gradle build output directory build build.gradle
New file @@ -0,0 +1,156 @@ /* * This file was generated by the Gradle 'init' task. * * This generated file contains a sample Java project to get you started. * For more details take a look at the Java Quickstart chapter in the Gradle * User Manual available at https://docs.gradle.org/6.5/userguide/tutorial_java_projects.html */ plugins { // Apply the java plugin to add support for Java id 'java' id 'org.springframework.boot' version "2.4.2" id 'com.moowork.node' version "1.3.1" // Apply the application plugin to add support for building a CLI application. id 'application' } tasks { bootJar { archiveFileName.set("app.jar") } build { dependsOn("buildApp") } bootStartScripts { (unixStartScriptGenerator as TemplateBasedScriptGenerator).template = resources.text.fromFile("customUnixStartScript.txt") (windowsStartScriptGenerator as TemplateBasedScriptGenerator).template = resources.text.fromFile("customWindowsStartScript.txt") } } task("setupNode") { group = "build" dependsOn("npm_install") } task("buildApp") { group = "build" dependsOn("installBootDist") doLast { def targetDir = project.file("src/main/demo/public") def runtimeDir = new File(targetDir, "runtime") if (runtimeDir.exists()) { runtimeDir.delete() } runtimeDir.mkdir() copy { from(new File(System.getProperty("java.home"))) into(runtimeDir) } copy { from(project.file("build/install/testElectronJ-boot")) into(targetDir) } def osName = System.getProperty("os.name").toLowerCase() def isWindows = osName.contains("windows") def appFile = new File(targetDir, "bin/testElectronJ") if (!isWindows) { exec { commandLine("chmod", "+x", appFile.absolutePath) commandLine("chmod", "-R", "755", runtimeDir.absolutePath) } } } } task("runApp") { group = "debug" dependsOn("buildApp") doLast { def osName = System.getProperty("os.name").toLowerCase() def isWindows = osName.contains("windows") exec { workingDir("src/main/electron/redis-electron") if (isWindows) { setExecutable(new File(workingDir, "node_modules/.bin/vue-cli-service.cmd")) args("electron:serve") } else { setExecutable(new File(workingDir, "node_modules/.bin/vue-cli-service")) args("electron:serve") } } } } task("bundleApp") { group = "build" dependsOn("buildApp") outputs.dir(project.file("build/bundle")) doLast { def osName = System.getProperty("os.name").toLowerCase() def isWindows = osName.contains("windows") def isMacOS = osName.contains("darwin") def nodeDir = (isWindows) ? new File("node") : new File("node", "bin") exec { workingDir("src/main/electron/redis-electron") if (isWindows) { setExecutable(new File(workingDir, "node_modules/.bin/vue-cli-service.cmd")) args("electron:build") } else if (isMacOS) { setExecutable(new File(workingDir, "node_modules/.bin/vue-cli-service")) args("electron:build") } else { setExecutable(new File(workingDir, "node_modules/.bin/vue-cli-service")) args("electron:build") } } } } node { nodeModulesDir = project.file("src/main/demo") } repositories { jcenter() mavenCentral() maven { url = uri("https://maven.pkg.jetbrains.space/public/p/compose/dev") } } dependencies { implementation("org.projectlombok:lombok:1.18.16") compileOnly("org.gradle:gradle-tooling-api:2.13") implementation("org.springframework.boot:spring-boot-starter-data-redis:2.4.2") implementation("org.springframework.boot:spring-boot-starter-web:2.4.2") implementation("org.apache.commons:commons-pool2:2.6.0") implementation("com.alibaba:fastjson:1.2.73") } application { // Define the main class for the application. mainClassName = 'testElectronJ.App' } customUnixStartScript.txt
New file @@ -0,0 +1,154 @@ #!/usr/bin/env sh ############################################################################## ## ## ${applicationName} start up script for UN*X ## ############################################################################## # G. Seinfeld COMMENT # Attempt to set APP_HOME # Resolve links: \$0 may be a link PRG="\$0" # Need this for relative symlinks. while [ -h "\$PRG" ] ; do ls=`ls -ld "\$PRG"` link=`expr "\$ls" : '.*-> \\(.*\\)\$'` if expr "\$link" : '/.*' > /dev/null; then PRG="\$link" else PRG=`dirname "\$PRG"`"/\$link" fi done SAVED="`pwd`" cd "`dirname \"\$PRG\"`/${appHomeRelativePath}" >/dev/null APP_HOME="`pwd -P`" cd "\$SAVED" >/dev/null APP_NAME="${applicationName}" APP_BASE_NAME=`basename "\$0"` # Add default JVM options here. You can also use JAVA_OPTS and ${optsEnvironmentVar} to pass JVM options to this script. DEFAULT_JVM_OPTS=${defaultJvmOpts} # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" warn ( ) { echo "\$*" } die ( ) { echo echo "\$*" echo exit 1 } # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false nonstop=false case "`uname`" in CYGWIN* ) cygwin=true ;; Darwin* ) darwin=true ;; MINGW* ) msys=true ;; NONSTOP* ) nonstop=true ;; esac JARPATH=$classpath # Determine the Java command to use to start the JVM. JAVACMD="\$APP_HOME/runtime/bin/java" # Increase the maximum file descriptors if we can. if [ "\$cygwin" = "false" -a "\$darwin" = "false" -a "\$nonstop" = "false" ] ; then MAX_FD_LIMIT=`ulimit -H -n` if [ \$? -eq 0 ] ; then if [ "\$MAX_FD" = "maximum" -o "\$MAX_FD" = "max" ] ; then MAX_FD="\$MAX_FD_LIMIT" fi ulimit -n \$MAX_FD if [ \$? -ne 0 ] ; then warn "Could not set maximum file descriptor limit: \$MAX_FD" fi else warn "Could not query maximum file descriptor limit: \$MAX_FD_LIMIT" fi fi # For Darwin, add options to specify how the application appears in the dock if \$darwin; then GRADLE_OPTS="\$GRADLE_OPTS \\"-Xdock:name=\$APP_NAME\\" \\"-Xdock:icon=\$APP_HOME/media/gradle.icns\\"" fi # For Cygwin, switch paths to Windows format before running java if \$cygwin ; then APP_HOME=`cygpath --path --mixed "\$APP_HOME"` JARPATH=`cygpath --path --mixed "\$JARPATH"` JAVACMD=`cygpath --unix "\$JAVACMD"` # We build the pattern for arguments to be converted via cygpath ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` SEP="" for dir in \$ROOTDIRSRAW ; do ROOTDIRS="\$ROOTDIRS\$SEP\$dir" SEP="|" done OURCYGPATTERN="(^(\$ROOTDIRS))" # Add a user-defined pattern to the cygpath arguments if [ "\$GRADLE_CYGPATTERN" != "" ] ; then OURCYGPATTERN="\$OURCYGPATTERN|(\$GRADLE_CYGPATTERN)" fi # Now convert the arguments - kludge to limit ourselves to /bin/sh i=0 for arg in "\$@" ; do CHECK=`echo "\$arg"|egrep -c "\$OURCYGPATTERN" -` CHECK2=`echo "\$arg"|egrep -c "^-"` ### Determine if an option if [ \$CHECK -ne 0 ] && [ \$CHECK2 -eq 0 ] ; then ### Added a condition eval `echo args\$i`=`cygpath --path --ignore --mixed "\$arg"` else eval `echo args\$i`="\"\$arg\"" fi i=\$((i+1)) done case \$i in (0) set -- ;; (1) set -- "\$args0" ;; (2) set -- "\$args0" "\$args1" ;; (3) set -- "\$args0" "\$args1" "\$args2" ;; (4) set -- "\$args0" "\$args1" "\$args2" "\$args3" ;; (5) set -- "\$args0" "\$args1" "\$args2" "\$args3" "\$args4" ;; (6) set -- "\$args0" "\$args1" "\$args2" "\$args3" "\$args4" "\$args5" ;; (7) set -- "\$args0" "\$args1" "\$args2" "\$args3" "\$args4" "\$args5" "\$args6" ;; (8) set -- "\$args0" "\$args1" "\$args2" "\$args3" "\$args4" "\$args5" "\$args6" "\$args7" ;; (9) set -- "\$args0" "\$args1" "\$args2" "\$args3" "\$args4" "\$args5" "\$args6" "\$args7" "\$args8" ;; esac fi # Escape application args save ( ) { for i do printf %s\\\\n "\$i" | sed "s/'/'\\\\\\\\''/g;1s/^/'/;\\\$s/\\\$/' \\\\\\\\/" ; done echo " " } APP_ARGS=\$(save "\$@") # Collect all arguments for the java command, following the shell quoting and substitution rules eval set -- \$DEFAULT_JVM_OPTS \$JAVA_OPTS \$${optsEnvironmentVar} <% if ( appNameSystemProperty ) { %>"\"-D${appNameSystemProperty}=\$APP_BASE_NAME\"" <% } %>-jar "\"\$JARPATH\"" "\$APP_ARGS" # by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong if [ "\$(uname)" = "Darwin" ] && [ "\$HOME" = "\$PWD" ]; then cd "\$(dirname "\$0")" fi exec "\$JAVACMD" "\$@" customWindowsStartScript.txt
New file @@ -0,0 +1,71 @@ @if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem @rem ${applicationName} startup script for Windows @rem @rem ########################################################################## @rem Set local scope for the variables with windows NT shell if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 if "%DIRNAME%" == "" set DIRNAME=.\ set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME%${appHomeRelativePath} @rem Add default JVM options here. You can also use JAVA_OPTS and ${optsEnvironmentVar} to pass JVM options to this script. set DEFAULT_JVM_OPTS=${defaultJvmOpts} @rem Find java.exe set JAVA_EXE=%APP_HOME%/runtime/bin/java.exe %JAVA_EXE% -version >NUL 2>&1 if "%ERRORLEVEL%" == "0" goto init echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. echo. echo Please set the JAVA_HOME variable in your environment to match the echo location of your Java installation. goto fail :init @rem Get command-line arguments, handling Windows variants if not "%OS%" == "Windows_NT" goto win9xME_args :win9xME_args @rem Slurp the command line arguments. set CMD_LINE_ARGS= set _SKIP=2 :win9xME_args_slurp if "x%~1" == "x" goto execute set CMD_LINE_ARGS=%* :execute @rem Setup the command line set JARPATH=$classpath @rem Execute ${applicationName} "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %${optsEnvironmentVar}% <% if ( appNameSystemProperty ) { %>"-D${appNameSystemProperty}=%APP_BASE_NAME%"<% } %> -jar "%JARPATH%" %CMD_LINE_ARGS% :end @rem End local scope for the variables with windows NT shell if "%ERRORLEVEL%"=="0" goto mainEnd :fail rem Set variable ${exitEnvironmentVar} if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! if not "" == "%${exitEnvironmentVar}%" exit 1 exit /b 1 :mainEnd if "%OS%"=="Windows_NT" endlocal :omega gradle/wrapper/gradle-wrapper.jarBinary files differ
gradle/wrapper/gradle-wrapper.properties
New file @@ -0,0 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists gradlew
New file @@ -0,0 +1,185 @@ #!/usr/bin/env sh # # Copyright 2015 the original author or authors. # # Licensed 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 # # https://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. # ############################################################################## ## ## Gradle start up script for UN*X ## ############################################################################## # Attempt to set APP_HOME # Resolve links: $0 may be a link PRG="$0" # Need this for relative symlinks. while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG=`dirname "$PRG"`"/$link" fi done SAVED="`pwd`" cd "`dirname \"$PRG\"`/" >/dev/null APP_HOME="`pwd -P`" cd "$SAVED" >/dev/null APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" warn () { echo "$*" } die () { echo echo "$*" echo exit 1 } # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false nonstop=false case "`uname`" in CYGWIN* ) cygwin=true ;; Darwin* ) darwin=true ;; MINGW* ) msys=true ;; NONSTOP* ) nonstop=true ;; esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi else JAVACMD="java" which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi # Increase the maximum file descriptors if we can. if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then MAX_FD_LIMIT=`ulimit -H -n` if [ $? -eq 0 ] ; then if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then MAX_FD="$MAX_FD_LIMIT" fi ulimit -n $MAX_FD if [ $? -ne 0 ] ; then warn "Could not set maximum file descriptor limit: $MAX_FD" fi else warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" fi fi # For Darwin, add options to specify how the application appears in the dock if $darwin; then GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" fi # For Cygwin or MSYS, switch paths to Windows format before running java if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` SEP="" for dir in $ROOTDIRSRAW ; do ROOTDIRS="$ROOTDIRS$SEP$dir" SEP="|" done OURCYGPATTERN="(^($ROOTDIRS))" # Add a user-defined pattern to the cygpath arguments if [ "$GRADLE_CYGPATTERN" != "" ] ; then OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" fi # Now convert the arguments - kludge to limit ourselves to /bin/sh i=0 for arg in "$@" ; do CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` else eval `echo args$i`="\"$arg\"" fi i=`expr $i + 1` done case $i in 0) set -- ;; 1) set -- "$args0" ;; 2) set -- "$args0" "$args1" ;; 3) set -- "$args0" "$args1" "$args2" ;; 4) set -- "$args0" "$args1" "$args2" "$args3" ;; 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; esac fi # Escape application args save () { for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done echo " " } APP_ARGS=`save "$@"` # Collect all arguments for the java command, following the shell quoting and substitution rules eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" exec "$JAVACMD" "$@" gradlew.bat
New file @@ -0,0 +1,104 @@ @rem @rem Copyright 2015 the original author or authors. @rem @rem Licensed under the Apache License, Version 2.0 (the "License"); @rem you may not use this file except in compliance with the License. @rem You may obtain a copy of the License at @rem @rem https://www.apache.org/licenses/LICENSE-2.0 @rem @rem Unless required by applicable law or agreed to in writing, software @rem distributed under the License is distributed on an "AS IS" BASIS, @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem @if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @rem @rem ########################################################################## @rem Set local scope for the variables with windows NT shell if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @rem Resolve any "." and ".." in APP_HOME to make it shorter. for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 if "%ERRORLEVEL%" == "0" goto init echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. echo. echo Please set the JAVA_HOME variable in your environment to match the echo location of your Java installation. goto fail :findJavaFromJavaHome set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto init echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% echo. echo Please set the JAVA_HOME variable in your environment to match the echo location of your Java installation. goto fail :init @rem Get command-line arguments, handling Windows variants if not "%OS%" == "Windows_NT" goto win9xME_args :win9xME_args @rem Slurp the command line arguments. set CMD_LINE_ARGS= set _SKIP=2 :win9xME_args_slurp if "x%~1" == "x" goto execute set CMD_LINE_ARGS=%* :execute @rem Setup the command line set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar @rem Execute Gradle "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% :end @rem End local scope for the variables with windows NT shell if "%ERRORLEVEL%"=="0" goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 exit /b 1 :mainEnd if "%OS%"=="Windows_NT" endlocal :omega settings.gradle
New file @@ -0,0 +1,10 @@ /* * This file was generated by the Gradle 'init' task. * * The settings file is used to specify which projects to include in your build. * * Detailed information about configuring a multi-project build in Gradle can be found * in the user manual at https://docs.gradle.org/6.5/userguide/multi_project_builds.html */ rootProject.name = 'testElectronJ' src/main/demo
New file @@ -0,0 +1 @@ Subproject commit d928618ba3a41e15ef49ee954eb8f052281a36c6 src/main/java/testElectronJ/App.java
New file @@ -0,0 +1,14 @@ /* * This Java source file was generated by the Gradle 'init' task. */ package testElectronJ; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; @SpringBootApplication public class App { public static void main(String[] args) { new SpringApplicationBuilder(App.class).run(args); } } src/test/java/testElectronJ/AppTest.java
New file @@ -0,0 +1,14 @@ /* * This Java source file was generated by the Gradle 'init' task. */ package testElectronJ; import org.junit.Test; import static org.junit.Assert.*; public class AppTest { @Test public void testAppHasAGreeting() { App classUnderTest = new App(); assertNotNull("app should have a greeting", classUnderTest.getGreeting()); } }