diff --git a/.github/workflows/java-format.yml b/.github/workflows/java-format.yml
new file mode 100644
index 0000000..c6c72f0
--- /dev/null
+++ b/.github/workflows/java-format.yml
@@ -0,0 +1,38 @@
+name: Google Java Style Format
+
+on:
+ pull_request:
+ branches: [ master, develop ]
+
+jobs:
+ java-formatting:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout Repo
+ uses: actions/checkout@v4
+ with:
+ token: ${{ secrets.PAT }}
+
+ - name: Check for Java files
+ id: check_java_files
+ run: |
+ if [ -n "$(find . -name '*.java' -print -quit)" ]; then
+ echo "java_files_exist=true" >> $GITHUB_OUTPUT
+ else
+ echo "java_files_exist=false" >> $GITHUB_OUTPUT
+ fi
+
+ - name: Google Java Style Format
+ if: steps.check_java_files.outputs.java_files_exist == 'true'
+ uses: axel-op/googlejavaformat-action@v3
+ with:
+ # --aosp: 4-space indentation
+ args: "--replace --aosp"
+ # Can not auto commit, we'll commit manually
+ skip-commit: true
+
+ - name: Commit Changes
+ if: steps.check_java_files.outputs.java_files_exist == 'true'
+ uses: stefanzweifel/git-auto-commit-action@v5
+ with:
+ commit_message: "Apply Google Java Style Format"
diff --git a/.gitignore b/.gitignore
index 524f096..a99912a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,40 @@
+# maven target
+target
+
+HELP.md
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
+
# Compiled class file
*.class
@@ -22,3 +59,6 @@
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
replay_pid*
+
+# root directory for the file explorer
+.root/
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..9967aee
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "3rdparty/docker-script"]
+ path = 3rdparty/docker-script
+ url = https://github.com/CMIPT/docker-script.git
diff --git a/3rdparty/docker-script b/3rdparty/docker-script
new file mode 160000
index 0000000..934e238
--- /dev/null
+++ b/3rdparty/docker-script
@@ -0,0 +1 @@
+Subproject commit 934e238510d11617dfdb89ea28f5acd941db74cd
diff --git a/gcs-back-end/.classpath b/gcs-back-end/.classpath
deleted file mode 100644
index df66b20..0000000
--- a/gcs-back-end/.classpath
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/gcs-back-end/.factorypath b/gcs-back-end/.factorypath
deleted file mode 100644
index 3a17f86..0000000
--- a/gcs-back-end/.factorypath
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/gcs-back-end/.project b/gcs-back-end/.project
deleted file mode 100644
index 66111e4..0000000
--- a/gcs-back-end/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
- gcs-back-end
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- org.eclipse.m2e.core.maven2Builder
-
-
-
-
-
- org.eclipse.jdt.core.javanature
- org.eclipse.m2e.core.maven2Nature
-
-
-
- 1721574432059
-
- 30
-
- org.eclipse.core.resources.regexFilterMatcher
- node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__
-
-
-
-
diff --git a/gcs-back-end/.settings/org.eclipse.core.resources.prefs b/gcs-back-end/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index f9fe345..0000000
--- a/gcs-back-end/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-eclipse.preferences.version=1
-encoding//src/main/java=UTF-8
-encoding//src/test/java=UTF-8
-encoding/=UTF-8
diff --git a/gcs-back-end/.settings/org.eclipse.jdt.apt.core.prefs b/gcs-back-end/.settings/org.eclipse.jdt.apt.core.prefs
deleted file mode 100644
index dfa4f3a..0000000
--- a/gcs-back-end/.settings/org.eclipse.jdt.apt.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.apt.aptEnabled=true
-org.eclipse.jdt.apt.genSrcDir=target/generated-sources/annotations
-org.eclipse.jdt.apt.genTestSrcDir=target/generated-test-sources/test-annotations
diff --git a/gcs-back-end/.settings/org.eclipse.jdt.core.prefs b/gcs-back-end/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 87f474b..0000000
--- a/gcs-back-end/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,9 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
-org.eclipse.jdt.core.compiler.compliance=17
-org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
-org.eclipse.jdt.core.compiler.processAnnotations=enabled
-org.eclipse.jdt.core.compiler.release=disabled
-org.eclipse.jdt.core.compiler.source=17
diff --git a/gcs-back-end/.settings/org.eclipse.m2e.core.prefs b/gcs-back-end/.settings/org.eclipse.m2e.core.prefs
deleted file mode 100644
index f897a7f..0000000
--- a/gcs-back-end/.settings/org.eclipse.m2e.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-activeProfiles=
-eclipse.preferences.version=1
-resolveWorkspaceProjects=true
-version=1
diff --git a/gcs-back-end/pom.xml b/gcs-back-end/pom.xml
deleted file mode 100644
index f978585..0000000
--- a/gcs-back-end/pom.xml
+++ /dev/null
@@ -1,94 +0,0 @@
-
-
-
- 4.0.0
-
- com.cmipt
- gcs-back-end
- 1.0-SNAPSHOT
-
- gcs-back-end
-
- http://www.example.com
-
-
- UTF-8
- 17
- 17
- 17
-
-
-
-
- org.springframework.boot
- spring-boot-starter-web
- ${spring.boot.version}
-
-
-
- org.springframework.boot
- spring-boot-starter-data-jpa
- ${spring.boot.version}
-
-
-
- org.junit.jupiter
- junit-jupiter-api
- 5.8.2
- test
-
-
-
- org.apache.logging.log4j
- log4j-core
- 2.17.1
-
-
-
-
-
-
-
-
- maven-clean-plugin
- 3.1.0
-
-
-
- maven-resources-plugin
- 3.0.2
-
-
- maven-compiler-plugin
- 3.8.0
-
-
- maven-surefire-plugin
- 2.22.1
-
-
- maven-jar-plugin
- 3.0.2
-
-
- maven-install-plugin
- 2.5.2
-
-
- maven-deploy-plugin
- 2.8.2
-
-
-
- maven-site-plugin
- 3.7.1
-
-
- maven-project-info-reports-plugin
- 3.0.0
-
-
-
-
-
diff --git a/gcs-back-end/src/main/java/com/cmipt/App.java b/gcs-back-end/src/main/java/com/cmipt/App.java
deleted file mode 100644
index 1f3dfab..0000000
--- a/gcs-back-end/src/main/java/com/cmipt/App.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package com.cmipt;
-
-/** Hello world! */
-public class App {
- public static void main(String[] args) {
- System.out.println("Hello World!");
- }
-}
diff --git a/gcs-back-end/src/test/java/com/cmipt/AppTest.java b/gcs-back-end/src/test/java/com/cmipt/AppTest.java
deleted file mode 100644
index 4a05d7a..0000000
--- a/gcs-back-end/src/test/java/com/cmipt/AppTest.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.cmipt;
-
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Test;
-
-/** Unit test for simple App. */
-public class AppTest {
- /** Rigorous Test :-) */
- @Test
- public void shouldAnswerWithTrue() {
- assertTrue(true);
- }
-}
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..1e75409
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,84 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 3.3.2
+
+
+ edu.cmipt
+ gcs
+ 0.0.1-SNAPSHOT
+ gcs
+ The back end of git center server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 17
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+ true
+
+
+ org.projectlombok
+ lombok
+ true
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.apache.logging.log4j
+ log4j-core
+ 2.17.1
+
+
+ junit
+ junit
+ 4.12
+ test
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ org.projectlombok
+ lombok
+
+
+
+
+
+
+
+
diff --git a/src/main/java/edu/cmipt/gcs/GcsApplication.java b/src/main/java/edu/cmipt/gcs/GcsApplication.java
new file mode 100644
index 0000000..2c7f286
--- /dev/null
+++ b/src/main/java/edu/cmipt/gcs/GcsApplication.java
@@ -0,0 +1,13 @@
+package edu.cmipt.gcs;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class GcsApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(GcsApplication.class, args);
+ }
+
+}
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
new file mode 100644
index 0000000..32f747e
--- /dev/null
+++ b/src/main/resources/application.properties
@@ -0,0 +1 @@
+spring.application.name=gcs
diff --git a/src/main/resources/static/.gitkeep b/src/main/resources/static/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/src/main/resources/templates/.gitkeep b/src/main/resources/templates/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/src/test/java/edu/cmipt/gcs/GcsApplicationTests.java b/src/test/java/edu/cmipt/gcs/GcsApplicationTests.java
new file mode 100644
index 0000000..3d9dc13
--- /dev/null
+++ b/src/test/java/edu/cmipt/gcs/GcsApplicationTests.java
@@ -0,0 +1,13 @@
+package edu.cmipt.gcs;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class GcsApplicationTests {
+
+ @Test
+ void contextLoads() {
+ }
+
+}