diff --git a/README.md b/README.md index d3cf6123930aba5ae43db561571522405e5ae9ec..f94170b83bf67d4f2e99a9cbd480fa715e01b143 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,18 @@ # Spirit -一种轻量的语言,可生成Java代码。 +一种轻量的转译型语言,可生成Java代码。它致力于减少Java代码的冗余,并提供流畅的开发体验。它能够和Java代码无缝集成,并减少60%的代码量。 ## 代码示例 ``` -func main(){ +func main() { print "hello world!" } ``` 生成代码如下: -``` +```java package com.sum.test.main; import org.slf4j.Logger; @@ -31,23 +31,62 @@ public class Main { ## 快速开始 +1、在pom文件中,引入Maven插件。 + +```xml + + + + com.gitee.chentaoah + spirit-maven-plugin + 最新版(>= 2.1.30) + + + + compile + + + + + + +``` + +2、在src/main/resources目录下,创建sources子目录。在sources目录下,创建一个文件夹,作为包。例如:com.sum.spirit.example。 + +3、在刚创建的包下,创建Main.sp文本文件。内容如下: + +``` +func main() { + print "hello world!" +} +``` + +4、执行Maven命令(mvn spirit:compile)并刷新,在src/main/java目录下,即可看到生成Java代码。 + +## 编辑器 + 1. 下载安装sublime编辑器,并将项目中sublime-plugs目录下的所有文件,拷贝到sublime插件目录下的User文件夹中。 -2. 下载项目中的spirit文件夹,到任意目录下。(spirit文件夹内为打包产物) -3. 在eclipse中,借助maven命令导出工程依赖项,并拷贝到spirit/lib_dep文件夹中。(Run As->Maven-build->dependency:copy-dependencies) -4. 双击运行spirit/bin/compile.bat,并在target目录下查看生成的示例代码。 +2. 在sublime中打开后缀名为sp的文件,即可看到代码样式。 ## Maven依赖 -生成的代码可以直接拷贝到maven项目中,但项目中必须包含以下依赖。 +请确保项目中有如下依赖: -``` - +```xml + + + com.gitee.chentaoah + spirit-stdlib + ${project.version} + + org.slf4j slf4j-api ${slf4j.version} - + org.apache.commons commons-lang3 diff --git a/pom.xml b/pom.xml index 189b5ed1664b9b7ac1d23323bdc0c0534ca95eb2..c52971771563d495f1e69ef15a70645e5ce37805 100644 --- a/pom.xml +++ b/pom.xml @@ -1,57 +1,146 @@ - - 4.0.0 - com.sum.spirit - spirit-parent - 2.0.48 - pom - - - - nexus-aliyun - Nexus aliyun - default - http://maven.aliyun.com/nexus/content/groups/public - - false - - - true - - - - - - spirit-common - spirit-core - spirit-output - spirit-starter - spirit-test - - - - UTF-8 - UTF-8 - 1.8 - 1.8 - 2.2.2.RELEASE - 1.18.16 - 5.5.1 - 29.0-jre - 3.9 - 2.8.0 - - - - - - maven-surefire-plugin - - true - - - - - + + + 4.0.0 + com.gitee.chentaoah + spirit-parent + 2.1.30 + pom + + spirit + A new programming language based on Java. + https://gitee.com/chentaoah/spirit + + + + GNU General Public License + http://www.gnu.org/licenses/gpl-3.0.txt + + + + + + chentaoah + 609580885@qq.com + gitee + https://gitee.com + + + + + scm:git:https://gitee.com/chentaoah/spirit.git + scm:git:https://gitee.com/chentaoah/spirit.git + https://gitee.com/chentaoah/spirit/tree/master + + + + spirit-stdlib + spirit-common + spirit-core + spirit-output + spirit-starter + spirit-tools + spirit-example + + + + UTF-8 + UTF-8 + 1.8 + 1.8 + 2.2.2.RELEASE + 1.18.16 + 1.7.25 + 3.9 + 2.8.0 + 5.5.1 + 29.0-jre + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + true + + 2.22.2 + + + org.apache.maven.plugins + maven-jar-plugin + 3.0.2 + + + org.apache.maven.plugins + maven-deploy-plugin + 2.8.2 + + + + + + + + release + + + ossrh + https://s01.oss.sonatype.org/content/repositories/snapshots + + + ossrh + https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/ + + + + + + org.apache.maven.plugins + maven-source-plugin + 2.2.1 + + + attach-sources + + jar-no-fork + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.9.1 + + + attach-javadocs + + jar + + + + + + org.apache.maven.plugins + maven-gpg-plugin + 1.6 + + + sign-artifacts + verify + + sign + + + + + + + + + \ No newline at end of file diff --git a/spirit-common/pom.xml b/spirit-common/pom.xml index bee67c6a426b0dc1001145b7a84627e6813fa6e6..ec7b96773b998f910d15b7469a70d7dcfd17432d 100644 --- a/spirit-common/pom.xml +++ b/spirit-common/pom.xml @@ -3,13 +3,13 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.sum.spirit + com.gitee.chentaoah spirit-parent - 2.0.48 + 2.1.30 spirit-common - + org.springframework.boot spring-boot-starter @@ -21,7 +21,19 @@ lombok ${lombok.version} - + + + org.apache.commons + commons-lang3 + ${lang3.version} + + + + commons-io + commons-io + ${commons-io.version} + + cn.hutool hutool-all @@ -33,17 +45,11 @@ guava ${guava.version} - + - org.apache.commons - commons-lang3 - ${lang3.version} - - - - commons-io - commons-io - ${commons-io.version} + com.gitee.chentaoah + spirit-stdlib + ${project.version} \ No newline at end of file diff --git a/spirit-common/src/main/java/com/sum/spirit/common/constants/AppConfig.java b/spirit-common/src/main/java/com/sum/spirit/common/constants/AppConfig.java index 21c4d896f4846616cb8c04b0ea2d1f41343fb3c1..ff25b5e5d200479f8b30ed856c4aa6e98a2dc72e 100644 --- a/spirit-common/src/main/java/com/sum/spirit/common/constants/AppConfig.java +++ b/spirit-common/src/main/java/com/sum/spirit/common/constants/AppConfig.java @@ -6,6 +6,7 @@ public class AppConfig { public static final String INPUT_ARG_KEY = "input"; public static final String OUTPUT_ARG_KEY = "output"; + public static final String CLASSPATHS_ARG_KEY = "classpaths"; public static final String FILENAME_EXTENSION_KEY = "spirit.compile.file.extension"; public static final String DEBUG_KEY = "spirit.compile.debug"; diff --git a/spirit-common/src/main/java/com/sum/spirit/common/utils/ConfigUtils.java b/spirit-common/src/main/java/com/sum/spirit/common/utils/ConfigUtils.java index 74b671c2c9ec3cac63a77b8ca046d576863c85b9..54036e27bec79cefb9b7a96fa71bd43cb5f4c6d6 100644 --- a/spirit-common/src/main/java/com/sum/spirit/common/utils/ConfigUtils.java +++ b/spirit-common/src/main/java/com/sum/spirit/common/utils/ConfigUtils.java @@ -48,6 +48,10 @@ public class ConfigUtils implements EnvironmentAware { return ConfigUtils.getProperty(AppConfig.OUTPUT_ARG_KEY); } + public static String getClasspaths() { + return ConfigUtils.getProperty(AppConfig.CLASSPATHS_ARG_KEY); + } + public static String getFileExtension() { return ConfigUtils.getProperty(AppConfig.FILENAME_EXTENSION_KEY, AppConfig.DEFAULT_FILENAME_EXTENSION); } diff --git a/spirit-common/src/main/java/com/sum/spirit/lib/Maps.java b/spirit-common/src/main/java/com/sum/spirit/lib/Maps.java deleted file mode 100644 index 2d1599a60b9b29c78607ccba718d42acd00c9ccb..0000000000000000000000000000000000000000 --- a/spirit-common/src/main/java/com/sum/spirit/lib/Maps.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.sum.spirit.lib; - -import java.util.HashMap; -import java.util.Map; - -public class Maps { - - public static HashMap newHashMap() { - return new HashMap<>(); - } - - public static Map of() { - return newHashMap(); - } - - public static Map of(K k1, V v1) { - Map map = of(); - map.put(k1, v1); - return map; - } - - public static Map of(K k1, V v1, K k2, V v2) { - Map map = of(); - map.put(k1, v1); - map.put(k2, v2); - return map; - } - - public static Map of(K k1, V v1, K k2, V v2, K k3, V v3) { - Map map = of(); - map.put(k1, v1); - map.put(k2, v2); - map.put(k3, v3); - return map; - } - - public static Map of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4) { - Map map = of(); - map.put(k1, v1); - map.put(k2, v2); - map.put(k3, v3); - map.put(k4, v4); - return map; - } - - public static Map of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5) { - Map map = of(); - map.put(k1, v1); - map.put(k2, v2); - map.put(k3, v3); - map.put(k4, v4); - map.put(k5, v5); - return map; - } - - public static Map of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6) { - Map map = of(); - map.put(k1, v1); - map.put(k2, v2); - map.put(k3, v3); - map.put(k4, v4); - map.put(k5, v5); - map.put(k6, v6); - return map; - } - - public static Map of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7) { - Map map = of(); - map.put(k1, v1); - map.put(k2, v2); - map.put(k3, v3); - map.put(k4, v4); - map.put(k5, v5); - map.put(k6, v6); - map.put(k7, v7); - return map; - } - - public static Map of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7, K k8, V v8) { - Map map = of(); - map.put(k1, v1); - map.put(k2, v2); - map.put(k3, v3); - map.put(k4, v4); - map.put(k5, v5); - map.put(k6, v6); - map.put(k7, v7); - map.put(k8, v8); - return map; - } - -} diff --git a/spirit-core/pom.xml b/spirit-core/pom.xml index eab6d87bf091238885c51d54243697ad6451577a..e54d02ae1181b8aa77a530aebc99b455422f446e 100644 --- a/spirit-core/pom.xml +++ b/spirit-core/pom.xml @@ -3,9 +3,9 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.sum.spirit + com.gitee.chentaoah spirit-parent - 2.0.48 + 2.1.30 spirit-core pom diff --git a/spirit-core/spirit-core-class/pom.xml b/spirit-core/spirit-core-class/pom.xml index 4b34723f5d036bc2b65e3477ab15ef89a5412325..22dd71ff91bebff4fd5c7f35dcd88d5682bb95e9 100644 --- a/spirit-core/spirit-core-class/pom.xml +++ b/spirit-core/spirit-core-class/pom.xml @@ -3,15 +3,15 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.sum.spirit + com.gitee.chentaoah spirit-core - 2.0.48 + 2.1.30 spirit-core-class - com.sum.spirit + com.gitee.chentaoah spirit-core-element ${project.version} diff --git a/spirit-core/spirit-core-compile/pom.xml b/spirit-core/spirit-core-compile/pom.xml index 3fcc3b5be104a0f7f2973446a7fb787538905df4..ea50037b5739344dcf0b2a389fa649e8cde0c25e 100644 --- a/spirit-core/spirit-core-compile/pom.xml +++ b/spirit-core/spirit-core-compile/pom.xml @@ -3,15 +3,15 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.sum.spirit + com.gitee.chentaoah spirit-core - 2.0.48 + 2.1.30 spirit-core-compile - com.sum.spirit + com.gitee.chentaoah spirit-core-class ${project.version} diff --git a/spirit-core/spirit-core-element/pom.xml b/spirit-core/spirit-core-element/pom.xml index c92c5c44e616642939a3cd6f364e9bb2fbbbcb38..9268bda16d8a56e659a1f126378c641f8ba82831 100644 --- a/spirit-core/spirit-core-element/pom.xml +++ b/spirit-core/spirit-core-element/pom.xml @@ -3,19 +3,19 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.sum.spirit + com.gitee.chentaoah spirit-core - 2.0.48 + 2.1.30 spirit-core-element - com.sum.spirit + com.gitee.chentaoah spirit-core-lexer ${project.version} - + org.springframework.boot spring-boot-starter-test diff --git a/spirit-core/spirit-core-lexer/pom.xml b/spirit-core/spirit-core-lexer/pom.xml index 5b9fe6d1c3a8d6a1cf03f4005f547c2e028caf58..bbfbaa39157e156baf8c4c1eba3d907f5b9fe0b7 100644 --- a/spirit-core/spirit-core-lexer/pom.xml +++ b/spirit-core/spirit-core-lexer/pom.xml @@ -3,19 +3,19 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.sum.spirit + com.gitee.chentaoah spirit-core - 2.0.48 + 2.1.30 spirit-core-lexer - com.sum.spirit + com.gitee.chentaoah spirit-common ${project.version} - + org.springframework.boot spring-boot-starter-test diff --git a/spirit-test/pom.xml b/spirit-core/target/spirit-core-2.1.30.pom similarity index 48% rename from spirit-test/pom.xml rename to spirit-core/target/spirit-core-2.1.30.pom index d89c27ee3cf6551c2f60452b61b40b9bf62d9a20..8a75fef9ce14f48f7ec118faa806a0bcdb15eaa2 100644 --- a/spirit-test/pom.xml +++ b/spirit-core/target/spirit-core-2.1.30.pom @@ -1,19 +1,18 @@ - - 4.0.0 - - com.sum.spirit - spirit-parent - 2.0.48 - - spirit-test - - - - com.sum.spirit - spirit-starter-java - ${project.version} - - + + 4.0.0 + + com.gitee.chentaoah + spirit-parent + 2.1.30 + + spirit-core + pom + + spirit-core-lexer + spirit-core-element + spirit-core-class + spirit-core-compile + \ No newline at end of file diff --git a/spirit-core/target/spirit-core-2.1.30.pom.asc b/spirit-core/target/spirit-core-2.1.30.pom.asc new file mode 100644 index 0000000000000000000000000000000000000000..c05aab4c894d15af4389086874e2f928f2512e00 --- /dev/null +++ b/spirit-core/target/spirit-core-2.1.30.pom.asc @@ -0,0 +1,14 @@ +-----BEGIN PGP SIGNATURE----- + +iQGzBAABCAAdFiEEqOc4k/2bIzSwX8nzS1qmeLEMVg4FAmClx2IACgkQS1qmeLEM +Vg4kzgv8DWJJ9PktdD8eRvsApdiFlaQhLfASStmgNfR6HWxypijldrptGu6MswZw +Se+ONTbbCRW9Fcot4P6tcCrWyMy1adDBRmSN6Hkz5RccMSa9iJaCW++dq2pebt2a +q0A3mLrXeInay3r+IYOTVjuA2dqBMXLfGjJ54DQVoT67vGrtgF4qHq5/tJZbS/Ga +ZXTpc6XJ23Fs6LW4+Td+lzMJY2jyy/5w5ROTgI77MgiDXIeX3gOXBiuvOuRaKycr +I1AROTh8F2av5oupMqj/lQpqIoyMqizFgLhp9iBAEJnAlNlmKbSAttZ/h9MAAjsz +sYcwEpQUVb1C1brbtQZUOb9kUr4A8eehxPFYivMoyHB63EOYXSILrJQBbv5LwCEy +i/zxPMcUcXCw6hixgmTwgrpHSm9MDZBc6CbICE4KZ0Os8dE2vRebkDsb4PtC5DkS +6A1wkiAlWHWn/ouGrh3NCWacFjObz6JrAzVRDCJUgy11hIEaZQ8k1OBGaU2Jdrwm +yD2CcZEL +=UXdc +-----END PGP SIGNATURE----- diff --git a/spirit-example/pom.xml b/spirit-example/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..156d0a35edd833829a670a97aa0aaa4d7ed9c48d --- /dev/null +++ b/spirit-example/pom.xml @@ -0,0 +1,16 @@ + + 4.0.0 + + com.gitee.chentaoah + spirit-parent + 2.1.30 + + spirit-example + pom + + spirit-example-common + spirit-example-plugin + + \ No newline at end of file diff --git a/spirit-example/spirit-example-common/pom.xml b/spirit-example/spirit-example-common/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..75950c72d2d2955708009bc722ef1ce88835959b --- /dev/null +++ b/spirit-example/spirit-example-common/pom.xml @@ -0,0 +1,31 @@ + + 4.0.0 + + com.gitee.chentaoah + spirit-example + 2.1.30 + + spirit-example-common + + + + com.gitee.chentaoah + spirit-stdlib + ${project.version} + + + + org.slf4j + slf4j-api + ${slf4j.version} + + + + org.apache.commons + commons-lang3 + ${lang3.version} + + + \ No newline at end of file diff --git a/spirit-test/src/main/java/com/sum/spirit/test/example/ClassGenericTest.java b/spirit-example/spirit-example-common/src/main/java/com/sum/spirit/example/ClassGenericTest.java similarity index 81% rename from spirit-test/src/main/java/com/sum/spirit/test/example/ClassGenericTest.java rename to spirit-example/spirit-example-common/src/main/java/com/sum/spirit/example/ClassGenericTest.java index a99a201d9e4d3db32237f25865ef88f6eeb41856..24f1744c55cd83d01f1887ca5e01b8cfae24cb3b 100644 --- a/spirit-test/src/main/java/com/sum/spirit/test/example/ClassGenericTest.java +++ b/spirit-example/spirit-example-common/src/main/java/com/sum/spirit/example/ClassGenericTest.java @@ -1,15 +1,15 @@ -package com.sum.spirit.test.example; - -@MyTest -public class ClassGenericTest { - - public Class getClazz() { - return null; - } - - public void getAnno() { - MyTest myTest = ClassGenericTest.class.getAnnotation(MyTest.class); - System.out.println(myTest); - } - -} +package com.sum.spirit.example; + +@MyTest +public class ClassGenericTest { + + public Class getClazz() { + return null; + } + + public void getAnno() { + MyTest myTest = ClassGenericTest.class.getAnnotation(MyTest.class); + System.out.println(myTest); + } + +} diff --git a/spirit-test/src/main/java/com/sum/spirit/test/example/GenericType.java b/spirit-example/spirit-example-common/src/main/java/com/sum/spirit/example/GenericType.java similarity index 86% rename from spirit-test/src/main/java/com/sum/spirit/test/example/GenericType.java rename to spirit-example/spirit-example-common/src/main/java/com/sum/spirit/example/GenericType.java index f1459e8ea4927a96278472c5fe9bd5400d84189b..c44c34e99d0517e5ab94ef34a1a81ba648f1657a 100644 --- a/spirit-test/src/main/java/com/sum/spirit/test/example/GenericType.java +++ b/spirit-example/spirit-example-common/src/main/java/com/sum/spirit/example/GenericType.java @@ -1,24 +1,24 @@ -package com.sum.spirit.test.example; - -import java.util.HashMap; -import java.util.Map; - -public class GenericType extends HashMap { - - public static final long serialVersionUID = 1L; - - public String test(T t) { - return ""; - } - -// public int test(K k) { -// return ""; -// } - - public void Test(String string) { - Map map = new HashMap<>(); -// map.put(123, null); - map.put("", 123); - } - -} +package com.sum.spirit.example; + +import java.util.HashMap; +import java.util.Map; + +public class GenericType extends HashMap { + + public static final long serialVersionUID = 1L; + + public String test(T t) { + return ""; + } + +// public int test(K k) { +// return ""; +// } + + public void Test(String string) { + Map map = new HashMap<>(); +// map.put(123, null); + map.put("", 123); + } + +} diff --git a/spirit-test/src/main/java/com/sum/spirit/test/example/MyTest.java b/spirit-example/spirit-example-common/src/main/java/com/sum/spirit/example/MyTest.java similarity index 86% rename from spirit-test/src/main/java/com/sum/spirit/test/example/MyTest.java rename to spirit-example/spirit-example-common/src/main/java/com/sum/spirit/example/MyTest.java index faa20da24a9b7b369da41984b48b64e61b4e2bb3..d42a7fb43b497f8e3f7157c783e7746b3f402da1 100644 --- a/spirit-test/src/main/java/com/sum/spirit/test/example/MyTest.java +++ b/spirit-example/spirit-example-common/src/main/java/com/sum/spirit/example/MyTest.java @@ -1,16 +1,16 @@ -package com.sum.spirit.test.example; - -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -@Target({ ElementType.TYPE }) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface MyTest { - - String value() default ""; - -} +package com.sum.spirit.example; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target({ ElementType.TYPE }) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface MyTest { + + String value() default ""; + +} diff --git a/spirit-example/spirit-example-plugin/pom.xml b/spirit-example/spirit-example-plugin/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..65113aa2af1cdd76d72c9ed3f0f4bc08e463f302 --- /dev/null +++ b/spirit-example/spirit-example-plugin/pom.xml @@ -0,0 +1,35 @@ + + 4.0.0 + + com.gitee.chentaoah + spirit-example + 2.1.30 + + spirit-example-plugin + + + + com.gitee.chentaoah + spirit-example-common + ${project.version} + + + + + + com.gitee.chentaoah + spirit-maven-plugin + ${project.version} + + + + compile + + + + + + + \ No newline at end of file diff --git a/spirit-test/src/test/java/com/sum/test/auto/Alias.java b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/auto/Alias.java similarity index 68% rename from spirit-test/src/test/java/com/sum/test/auto/Alias.java rename to spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/auto/Alias.java index 05daa7947d285728a4331a7c0d0d91cca7ed8cb2..d02164857d89b7ac02f1049805b0ccf329a20119 100644 --- a/spirit-test/src/test/java/com/sum/test/auto/Alias.java +++ b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/auto/Alias.java @@ -1,4 +1,4 @@ -package com.sum.test.auto; +package com.sum.spirit.example.auto; public class Alias { diff --git a/spirit-test/src/test/java/com/sum/test/auto/Friend.java b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/auto/Friend.java similarity index 87% rename from spirit-test/src/test/java/com/sum/test/auto/Friend.java rename to spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/auto/Friend.java index 858fad86067b882136fc7e1a28928f9c68e10eb8..1cfc5ddd2fe2f5667bbc302932a242b5ba97d589 100644 --- a/spirit-test/src/test/java/com/sum/test/auto/Friend.java +++ b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/auto/Friend.java @@ -1,4 +1,4 @@ -package com.sum.test.auto; +package com.sum.spirit.example.auto; public class Friend { diff --git a/spirit-test/src/test/java/com/sum/test/auto/Import.java b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/auto/Import.java similarity index 79% rename from spirit-test/src/test/java/com/sum/test/auto/Import.java rename to spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/auto/Import.java index 29eaec237e2843197aece672351cb669cf874d47..37fd186e35df35a8b34af8210a206647aae036f3 100644 --- a/spirit-test/src/test/java/com/sum/test/auto/Import.java +++ b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/auto/Import.java @@ -1,4 +1,4 @@ -package com.sum.test.auto; +package com.sum.spirit.example.auto; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -7,7 +7,7 @@ public class Import { public static final Logger logger = LoggerFactory.getLogger(Import.class); public Friend f = new Friend(); - public com.sum.test.auto.Alias a = new com.sum.test.auto.Alias(); + public com.sum.spirit.example.auto.Alias a = new com.sum.spirit.example.auto.Alias(); public String xxxxG_Alias = "Clock moved backwards.G_Alias to generate id for %d milliseconds"; public String testFriend(String text, Integer number) { diff --git a/spirit-test/src/test/java/com/sum/test/block/Block.java b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/block/Block.java similarity index 93% rename from spirit-test/src/test/java/com/sum/test/block/Block.java rename to spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/block/Block.java index ad97a0ea3e6e8e6b5153e58360fa5dc4166ff489..a5c9839f2f5dc27620b52b689c855aa554465855 100644 --- a/spirit-test/src/test/java/com/sum/test/block/Block.java +++ b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/block/Block.java @@ -1,14 +1,14 @@ -package com.sum.test.block; +package com.sum.spirit.example.block; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.sum.spirit.lib.Maps; +import com.sum.spirit.stdlib.Maps; import java.util.Map; import java.util.Map.Entry; -import com.sum.spirit.lib.Lists; +import com.sum.spirit.stdlib.Lists; import java.util.List; -import static com.sum.spirit.lib.Empty.empty; +import static com.sum.spirit.stdlib.Emptys.empty; public class Block { diff --git a/spirit-test/src/test/java/com/sum/test/clazz/AbsService.java b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/clazz/AbsService.java similarity index 74% rename from spirit-test/src/test/java/com/sum/test/clazz/AbsService.java rename to spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/clazz/AbsService.java index ab7ff1f8820fde82a1fa5bfb890dc0941178e4b6..7a0be296a409db346a8f32aacd7dcfc7c1e00b4a 100644 --- a/spirit-test/src/test/java/com/sum/test/clazz/AbsService.java +++ b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/clazz/AbsService.java @@ -1,4 +1,4 @@ -package com.sum.test.clazz; +package com.sum.spirit.example.clazz; public abstract class AbsService implements Service { diff --git a/spirit-test/src/test/java/com/sum/test/clazz/Service.java b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/clazz/Service.java similarity index 90% rename from spirit-test/src/test/java/com/sum/test/clazz/Service.java rename to spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/clazz/Service.java index 97a8cb30a50679f3d3124bab2535c7838139b398..b1a671eb8f43ba6e35e89e2fa0a2547c83d917b2 100644 --- a/spirit-test/src/test/java/com/sum/test/clazz/Service.java +++ b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/clazz/Service.java @@ -1,4 +1,4 @@ -package com.sum.test.clazz; +package com.sum.spirit.example.clazz; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/spirit-test/src/test/java/com/sum/test/clazz/ServiceImpl.java b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/clazz/ServiceImpl.java similarity index 94% rename from spirit-test/src/test/java/com/sum/test/clazz/ServiceImpl.java rename to spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/clazz/ServiceImpl.java index 6c748e32dc71e4771ea2501020491b69e6bd5c31..2984d71bd19d06c5f836b455a79f28b9027f8c0b 100644 --- a/spirit-test/src/test/java/com/sum/test/clazz/ServiceImpl.java +++ b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/clazz/ServiceImpl.java @@ -1,4 +1,4 @@ -package com.sum.test.clazz; +package com.sum.spirit.example.clazz; public class ServiceImpl extends AbsService { diff --git a/spirit-test/src/test/java/com/sum/test/deduce/Child.java b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/deduce/Child.java similarity index 89% rename from spirit-test/src/test/java/com/sum/test/deduce/Child.java rename to spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/deduce/Child.java index d46e55f2044c8f19eb081302fb97130933770a1d..3b8f6aa319f04ca44026ba20279c87ba4dcdfe05 100644 --- a/spirit-test/src/test/java/com/sum/test/deduce/Child.java +++ b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/deduce/Child.java @@ -1,6 +1,6 @@ -package com.sum.test.deduce; +package com.sum.spirit.example.deduce; -import com.sum.spirit.test.example.ClassGenericTest; +import com.sum.spirit.example.ClassGenericTest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/spirit-test/src/test/java/com/sum/test/deduce/Father.java b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/deduce/Father.java similarity index 83% rename from spirit-test/src/test/java/com/sum/test/deduce/Father.java rename to spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/deduce/Father.java index bfb2da9cb6ed62e5bc3ef0c6cd0470bc3b25b6c3..a4bd919f172f23ad827bfe53aa42e84730949b9d 100644 --- a/spirit-test/src/test/java/com/sum/test/deduce/Father.java +++ b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/deduce/Father.java @@ -1,4 +1,4 @@ -package com.sum.test.deduce; +package com.sum.spirit.example.deduce; public class Father { diff --git a/spirit-test/src/test/java/com/sum/test/inner/Inner.java b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/inner/Inner.java similarity index 80% rename from spirit-test/src/test/java/com/sum/test/inner/Inner.java rename to spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/inner/Inner.java index e9234ff5ab830e3aa3ff4e4cf827c4d147e6a96c..c0b8be9349ebc859f8f06fe16b9fb5d08f2b4b64 100644 --- a/spirit-test/src/test/java/com/sum/test/inner/Inner.java +++ b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/inner/Inner.java @@ -1,6 +1,6 @@ -package com.sum.test.inner; +package com.sum.spirit.example.inner; -import com.sum.test.deduce.Father; +import com.sum.spirit.example.deduce.Father; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/spirit-test/src/test/java/com/sum/test/inner/Outside.java b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/inner/Outside.java similarity index 87% rename from spirit-test/src/test/java/com/sum/test/inner/Outside.java rename to spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/inner/Outside.java index 0d47052a77334f298eaf31d0ca83dd4e457804b7..b8d9607effc7bf025e5cdad4428dd7e1664b3fa8 100644 --- a/spirit-test/src/test/java/com/sum/test/inner/Outside.java +++ b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/inner/Outside.java @@ -1,4 +1,4 @@ -package com.sum.test.inner; +package com.sum.spirit.example.inner; public class Outside { diff --git a/spirit-test/src/test/java/com/sum/test/process/Main.java b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/process/Main.java similarity index 92% rename from spirit-test/src/test/java/com/sum/test/process/Main.java rename to spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/process/Main.java index b33603b65e4003c60949842ec6730e6ace6e742d..05f4217052d03b242c72481ed364160a84010c5c 100644 --- a/spirit-test/src/test/java/com/sum/test/process/Main.java +++ b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/process/Main.java @@ -1,4 +1,4 @@ -package com.sum.test.process; +package com.sum.spirit.example.process; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; diff --git a/spirit-test/src/test/java/com/sum/test/snow/IdWorker.java b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/snow/IdWorker.java similarity index 98% rename from spirit-test/src/test/java/com/sum/test/snow/IdWorker.java rename to spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/snow/IdWorker.java index 208fdbd37b1cf9afd3d744835d57f00bcacb4de9..1eaf9f6d55ffd65fea78b89f3baf2fe55f4a9a0e 100644 --- a/spirit-test/src/test/java/com/sum/test/snow/IdWorker.java +++ b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/snow/IdWorker.java @@ -1,4 +1,4 @@ -package com.sum.test.snow; +package com.sum.spirit.example.snow; public class IdWorker { diff --git a/spirit-test/src/test/java/com/sum/test/subexpress/Express.java b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/subexpress/Express.java similarity index 92% rename from spirit-test/src/test/java/com/sum/test/subexpress/Express.java rename to spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/subexpress/Express.java index c7052a8b9088727c5e1fb02a102a2c38db7b6e47..377482361c58fe4b649562e2b0fab9368f5bc4e2 100644 --- a/spirit-test/src/test/java/com/sum/test/subexpress/Express.java +++ b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/subexpress/Express.java @@ -1,11 +1,11 @@ -package com.sum.test.subexpress; +package com.sum.spirit.example.subexpress; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.sum.spirit.lib.Lists; +import com.sum.spirit.stdlib.Lists; import java.util.List; -import static com.sum.spirit.lib.Empty.empty; +import static com.sum.spirit.stdlib.Emptys.empty; public class Express { diff --git a/spirit-test/src/test/java/com/sum/test/syntax/Syntax.java b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/syntax/Syntax.java similarity index 87% rename from spirit-test/src/test/java/com/sum/test/syntax/Syntax.java rename to spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/syntax/Syntax.java index eaef0a731af78b0e594b632d2d8e04bb0b70d4d7..a11d71b5631440ffd4ef6cc54c5b20c8e75f1ce5 100644 --- a/spirit-test/src/test/java/com/sum/test/syntax/Syntax.java +++ b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/syntax/Syntax.java @@ -1,10 +1,10 @@ -package com.sum.test.syntax; +package com.sum.spirit.example.syntax; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.sum.spirit.lib.Lists; +import com.sum.spirit.stdlib.Lists; import java.util.List; -import com.sum.spirit.lib.Maps; +import com.sum.spirit.stdlib.Maps; import java.util.Map; public class Syntax { diff --git a/spirit-test/src/test/java/com/sum/test/type/GenericType.java b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/type/GenericType.java similarity index 95% rename from spirit-test/src/test/java/com/sum/test/type/GenericType.java rename to spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/type/GenericType.java index b78158f3119cfc3a9670e490737a5ef3a41af79b..608abef21b112d47cdb42d01faf0a36cf6fbc8ba 100644 --- a/spirit-test/src/test/java/com/sum/test/type/GenericType.java +++ b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/type/GenericType.java @@ -1,4 +1,4 @@ -package com.sum.test.type; +package com.sum.spirit.example.type; import java.util.HashMap; import org.slf4j.Logger; diff --git a/spirit-test/src/test/java/com/sum/test/type/People.java b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/type/People.java similarity index 90% rename from spirit-test/src/test/java/com/sum/test/type/People.java rename to spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/type/People.java index 27828ec8def71addda629c3e8ec61d758439bfc2..515cb618e5fb68d5fc880f77a02fc620228f4a0b 100644 --- a/spirit-test/src/test/java/com/sum/test/type/People.java +++ b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/type/People.java @@ -1,4 +1,4 @@ -package com.sum.test.type; +package com.sum.spirit.example.type; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/spirit-test/src/test/java/com/sum/test/type/Type.java b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/type/Type.java similarity index 91% rename from spirit-test/src/test/java/com/sum/test/type/Type.java rename to spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/type/Type.java index f212ebe7a6e5ec3e35366e80dbce6dcb4ed7869e..e841ce90ecb065ca816501026ec52b7dd7a994ed 100644 --- a/spirit-test/src/test/java/com/sum/test/type/Type.java +++ b/spirit-example/spirit-example-plugin/src/main/java/com/sum/spirit/example/type/Type.java @@ -1,16 +1,16 @@ -package com.sum.test.type; +package com.sum.spirit.example.type; import java.util.HashMap; -import com.sum.spirit.test.example.ClassGenericTest; -import com.sum.spirit.test.example.MyTest; -import com.sum.spirit.test.example.GenericType; -import com.sum.test.clazz.ServiceImpl; -import com.sum.test.process.Main; +import com.sum.spirit.example.ClassGenericTest; +import com.sum.spirit.example.MyTest; +import com.sum.spirit.example.GenericType; +import com.sum.spirit.example.clazz.ServiceImpl; +import com.sum.spirit.example.process.Main; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.sum.spirit.lib.Lists; +import com.sum.spirit.stdlib.Lists; import java.util.List; -import com.sum.spirit.lib.Maps; +import com.sum.spirit.stdlib.Maps; import java.util.Map; @Deprecated diff --git a/spirit-test/src/test/resources/com.sum.test/auto/Alias.sp b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/auto/Alias.sp similarity index 89% rename from spirit-test/src/test/resources/com.sum.test/auto/Alias.sp rename to spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/auto/Alias.sp index d806f28a6389d0d772ffefddd9f0bc1182d2ea98..5073e473edd2fcb589f49599c283210c22f9a276 100644 --- a/spirit-test/src/test/resources/com.sum.test/auto/Alias.sp +++ b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/auto/Alias.sp @@ -1,8 +1,8 @@ - -class Alias{ - - func getName(){ - return "I am alias" - } - + +class Alias{ + + func getName(){ + return "I am alias" + } + } \ No newline at end of file diff --git a/spirit-test/src/test/resources/com.sum.test/auto/Friend.sp b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/auto/Friend.sp similarity index 91% rename from spirit-test/src/test/resources/com.sum.test/auto/Friend.sp rename to spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/auto/Friend.sp index 4605f85516ca1534b2335840c810df112f527a6c..225a0a538c5310f8758deace018728cf74fc1566 100644 --- a/spirit-test/src/test/resources/com.sum.test/auto/Friend.sp +++ b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/auto/Friend.sp @@ -1,20 +1,20 @@ - -class Friend { - - func sayHello(){ - return "hello" - } - - func sayHello1(){ - return "hello" - } - - func sayHello2(){ - return "hello" - } - - func sayYes(String text, Integer number){ - return "hello" - } - + +class Friend { + + func sayHello(){ + return "hello" + } + + func sayHello1(){ + return "hello" + } + + func sayHello2(){ + return "hello" + } + + func sayYes(String text, Integer number){ + return "hello" + } + } \ No newline at end of file diff --git a/spirit-test/src/test/resources/com.sum.test/auto/Import.sp b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/auto/Import.sp similarity index 81% rename from spirit-test/src/test/resources/com.sum.test/auto/Import.sp rename to spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/auto/Import.sp index 30812e1803db509ea604ba70c00b6d71a015f0cb..5e7f37f80c9fae13903f5ea92f26d3f4a1728907 100644 --- a/spirit-test/src/test/resources/com.sum.test/auto/Import.sp +++ b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/auto/Import.sp @@ -1,27 +1,27 @@ - -//别名 -import com.sum.test.auto.Alias G_Alias - -class Import { - - f=Friend() - a=G_Alias() - xxxxG_Alias="Clock moved backwards.G_Alias to generate id for %d milliseconds" - - func testFriend(String text, Integer number){ - return f.sayHello2() - } - - func testAlias(){ - return a.getName() - } - - func testStr(){ - print xxxxG_Alias - } - - -} - - - + +//别名 +import com.sum.spirit.example.auto.Alias G_Alias + +class Import { + + f=Friend() + a=G_Alias() + xxxxG_Alias="Clock moved backwards.G_Alias to generate id for %d milliseconds" + + func testFriend(String text, Integer number){ + return f.sayHello2() + } + + func testAlias(){ + return a.getName() + } + + func testStr(){ + print xxxxG_Alias + } + + +} + + + diff --git a/spirit-test/src/test/resources/com.sum.test/block/Block.sp b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/block/Block.sp similarity index 93% rename from spirit-test/src/test/resources/com.sum.test/block/Block.sp rename to spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/block/Block.sp index ec8efbfe731d865d73525ca24773fea27910079c..e274ce070fdf01730df5055c0e8336b609f551e8 100644 --- a/spirit-test/src/test/resources/com.sum.test/block/Block.sp +++ b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/block/Block.sp @@ -1,102 +1,102 @@ - -//代码块 -class Block { - - s="hello" - - func testIf(){ - if s=="hello"{ - print s - } - if s!="hello"{ - print s - } - if empty(s) { - print s - } - if !empty(s) { - print s - } - - if s : print s - - if s : print s : print "yes" - } - - func testFor(){ - //遍历Map - map={"key":100,"key":100} - for key in map.keySet(){ - print key - } - for value in map.values(){ - print "number is {}",value - } - for entry in map.entrySet(){ - print "test entry!",entry.getKey() - } - - //遍历List - list=["first","second","third"] - for str in list : print str : break - - //索引遍历 - for (i=0; i extends AbsService{ - - T key - - K value - - String name - //测试构造方法 - func ServiceImpl(){ - this("chentao") - } - - func ServiceImpl(String name){ - super() - this.name=name - } - - func one(){ - return "one" - } - - func two(){ - return 10 - } - - func three(){ - return byte[10] - } - - func testT(T t){ - return value - } - - func testAbsMethod(String test){ - return "success" - } - - T testReturnGenericType(T t){ - return t - } - - func test1(T t){ - return "hello" - } - - func test1(int number){ - return 1 - } - + +class ServiceImpl extends AbsService{ + + T key + + K value + + String name + //测试构造方法 + func ServiceImpl(){ + this("chentao") + } + + func ServiceImpl(String name){ + super() + this.name=name + } + + func one(){ + return "one" + } + + func two(){ + return 10 + } + + func three(){ + return byte[10] + } + + func testT(T t){ + return value + } + + func testAbsMethod(String test){ + return "success" + } + + T testReturnGenericType(T t){ + return t + } + + func test1(T t){ + return "hello" + } + + func test1(int number){ + return 1 + } + } \ No newline at end of file diff --git a/spirit-test/src/test/resources/com.sum.test/deduce/Child.sp b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/deduce/Child.sp similarity index 83% rename from spirit-test/src/test/resources/com.sum.test/deduce/Child.sp rename to spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/deduce/Child.sp index 9acdbdcd7c011e0f0e9b2a170f1e20448f2e2d00..adaa6caec1ce19566efa926a4bc8e5e0b770a03c 100644 --- a/spirit-test/src/test/resources/com.sum.test/deduce/Child.sp +++ b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/deduce/Child.sp @@ -1,35 +1,35 @@ - -import com.sum.spirit.test.example.ClassGenericTest - -class Child extends Father{ - - father=Father() - age=18 - t=ClassGenericTest() - - func sayHello(){ - return super.sayHello() - } - - func getFather(){ - return father - } - - func testMembers(){ - a=getFather().getChild().getFather().name - b=father.child.father.child.father.name - c=father.getChild() - print "test members {} {}",a,b,c - return this.sayHello() - } - - func testClassGeneric(){ - a = t.getClazz() - return a.getName() - } - - - - - + +import com.sum.spirit.example.ClassGenericTest + +class Child extends Father{ + + father=Father() + age=18 + t=ClassGenericTest() + + func sayHello(){ + return super.sayHello() + } + + func getFather(){ + return father + } + + func testMembers(){ + a=getFather().getChild().getFather().name + b=father.child.father.child.father.name + c=father.getChild() + print "test members {} {}",a,b,c + return this.sayHello() + } + + func testClassGeneric(){ + a = t.getClazz() + return a.getName() + } + + + + + } \ No newline at end of file diff --git a/spirit-test/src/test/resources/com.sum.test/deduce/Father.sp b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/deduce/Father.sp similarity index 87% rename from spirit-test/src/test/resources/com.sum.test/deduce/Father.sp rename to spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/deduce/Father.sp index 96c0ecc4fb34d886dd106853f8ca46cd5ec93ab0..55547484944d3fe5acd57304aa5056543410ce64 100644 --- a/spirit-test/src/test/resources/com.sum.test/deduce/Father.sp +++ b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/deduce/Father.sp @@ -1,19 +1,19 @@ - -class Father { - - child=Child() - name="caixukun" - - func sayHello(){ - return "hello" - } - - func getChild(){ - return child - } - - -} - - - + +class Father { + + child=Child() + name="caixukun" + + func sayHello(){ + return "hello" + } + + func getChild(){ + return child + } + + +} + + + diff --git a/spirit-test/src/test/resources/com.sum.test/inner/Outside.sp b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/inner/Outside.sp similarity index 90% rename from spirit-test/src/test/resources/com.sum.test/inner/Outside.sp rename to spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/inner/Outside.sp index 65cb574655872dbc127643464064f7cd10ac0c8f..05fe47cc3d3c59e4926697e0dcf23a1a1bb57b68 100644 --- a/spirit-test/src/test/resources/com.sum.test/inner/Outside.sp +++ b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/inner/Outside.sp @@ -1,35 +1,35 @@ - -//主类 -class Outside { - - f1=100 - f2=100.01 - func getName(){ - return "I am Outside" - } - - func getF1(){ - return f1 - } - - func testInner(){ - inner=Inner() - return inner.getAge() - } - -} -//测试内部类 -class Inner { - - f1="I am Inner!" - f2="hello world!" - - func getAge(){ - return 18 - } - - func testImport(){ - print Father().toString() - } - + +//主类 +class Outside { + + f1=100 + f2=100.01 + func getName(){ + return "I am Outside" + } + + func getF1(){ + return f1 + } + + func testInner(){ + inner=Inner() + return inner.getAge() + } + +} +//测试内部类 +class Inner { + + f1="I am Inner!" + f2="hello world!" + + func getAge(){ + return 18 + } + + func testImport(){ + print Father().toString() + } + } \ No newline at end of file diff --git a/spirit-test/src/test/resources/com.sum.test/process/Main.sp b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/process/Main.sp similarity index 91% rename from spirit-test/src/test/resources/com.sum.test/process/Main.sp rename to spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/process/Main.sp index 5ad5cd842d09d80bab5ff78d8a1c4b093dab6c12..d2c87bcf48a08641e99e31b50b9d8f0a94baba24 100644 --- a/spirit-test/src/test/resources/com.sum.test/process/Main.sp +++ b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/process/Main.sp @@ -1,16 +1,16 @@ - -x=100 -y=100.0 -//面向过程 -func main(){ - doSomething() -} - -func doSomething(){ - s="hello" - if s=="hello" { - print "hi!" - return true - } - return false + +x=100 +y=100.0 +//面向过程 +func main(){ + doSomething() +} + +func doSomething(){ + s="hello" + if s=="hello" { + print "hi!" + return true + } + return false } \ No newline at end of file diff --git a/spirit-test/src/test/resources/com.sum.test/snow/IdWorker.sp b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/snow/IdWorker.sp similarity index 97% rename from spirit-test/src/test/resources/com.sum.test/snow/IdWorker.sp rename to spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/snow/IdWorker.sp index 0f20d723962b00697cf0a80455fff2edda4ce119..34d9aa1fb078392a486dc9ec21fe3bb4fdd638a6 100644 --- a/spirit-test/src/test/resources/com.sum.test/snow/IdWorker.sp +++ b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/snow/IdWorker.sp @@ -1,72 +1,72 @@ - -//雪花分片实现 -class IdWorker { - //开始时间截 (2015-01-01) - twepoch = 1420041600000L - //机器id所占的位数 - workerIdBits = 5L - //数据标识id所占的位数 - datacenterIdBits = 5L - //支持的最大机器id,结果是31 (这个移位算法可以很快的计算出几位二进制数所能表示的最大十进制数) - maxWorkerId = -1L ^ (-1L << workerIdBits) - //支持的最大数据标识id,结果是31 - maxDatacenterId = -1L ^ (-1L << datacenterIdBits) - //序列在id中占的位数 - sequenceBits = 12L - //机器ID向左移12位 - workerIdShift = sequenceBits - //数据标识id向左移17位(12+5) - datacenterIdShift = sequenceBits + workerIdBits - //时间截向左移22位(5+5+12) - timestampLeftShift = sequenceBits + workerIdBits + datacenterIdBits - //生成序列的掩码,这里为4095 (0b111111111111=0xfff=4095) - sequenceMask = -1L ^ (-1L << sequenceBits) - //工作机器ID(0~31) - long workerId - //数据中心ID(0~31) - long datacenterId - //毫秒内序列(0~4095) - sequence = 0L - //上次生成ID的时间截 - lastTimestamp = -1L - - func IdWorker(long workerId, long datacenterId){ - if workerId > maxWorkerId || workerId < 0 { - message = String.format("worker id can't be greater than %d or less than 0", maxWorkerId) - throw IllegalArgumentException(message) - } - if datacenterId > maxDatacenterId || datacenterId < 0 { - message = String.format("datacenter id can't be greater than %d or less than 0", maxDatacenterId) - throw IllegalArgumentException(message) - } - this.workerId = workerId - this.datacenterId = datacenterId - } - - synch func nextId(){ - timestamp = timeGen() - if timestamp < lastTimestamp { - message = String.format("Clock moved backwards.Refusing to generate id for %d milliseconds", lastTimestamp - timestamp) - throw RuntimeException(message) - } - if timestamp == lastTimestamp { - sequence = (sequence + 1) & sequenceMask - if sequence == 0 : timestamp = tilNextMillis(lastTimestamp) - } else { - sequence = 0L - } - lastTimestamp = timestamp - return ((timestamp - twepoch) << timestampLeftShift) | (datacenterId << datacenterIdShift) | (workerId << workerIdShift) | sequence - } - - func tilNextMillis(long lastTimestamp){ - timestamp = timeGen() - while timestamp <= lastTimestamp : timestamp = timeGen() - return timestamp - } - - func timeGen(){ - return System.currentTimeMillis() - } - -} + +//雪花分片实现 +class IdWorker { + //开始时间截 (2015-01-01) + twepoch = 1420041600000L + //机器id所占的位数 + workerIdBits = 5L + //数据标识id所占的位数 + datacenterIdBits = 5L + //支持的最大机器id,结果是31 (这个移位算法可以很快的计算出几位二进制数所能表示的最大十进制数) + maxWorkerId = -1L ^ (-1L << workerIdBits) + //支持的最大数据标识id,结果是31 + maxDatacenterId = -1L ^ (-1L << datacenterIdBits) + //序列在id中占的位数 + sequenceBits = 12L + //机器ID向左移12位 + workerIdShift = sequenceBits + //数据标识id向左移17位(12+5) + datacenterIdShift = sequenceBits + workerIdBits + //时间截向左移22位(5+5+12) + timestampLeftShift = sequenceBits + workerIdBits + datacenterIdBits + //生成序列的掩码,这里为4095 (0b111111111111=0xfff=4095) + sequenceMask = -1L ^ (-1L << sequenceBits) + //工作机器ID(0~31) + long workerId + //数据中心ID(0~31) + long datacenterId + //毫秒内序列(0~4095) + sequence = 0L + //上次生成ID的时间截 + lastTimestamp = -1L + + func IdWorker(long workerId, long datacenterId){ + if workerId > maxWorkerId || workerId < 0 { + message = String.format("worker id can't be greater than %d or less than 0", maxWorkerId) + throw IllegalArgumentException(message) + } + if datacenterId > maxDatacenterId || datacenterId < 0 { + message = String.format("datacenter id can't be greater than %d or less than 0", maxDatacenterId) + throw IllegalArgumentException(message) + } + this.workerId = workerId + this.datacenterId = datacenterId + } + + synch func nextId(){ + timestamp = timeGen() + if timestamp < lastTimestamp { + message = String.format("Clock moved backwards.Refusing to generate id for %d milliseconds", lastTimestamp - timestamp) + throw RuntimeException(message) + } + if timestamp == lastTimestamp { + sequence = (sequence + 1) & sequenceMask + if sequence == 0 : timestamp = tilNextMillis(lastTimestamp) + } else { + sequence = 0L + } + lastTimestamp = timestamp + return ((timestamp - twepoch) << timestampLeftShift) | (datacenterId << datacenterIdShift) | (workerId << workerIdShift) | sequence + } + + func tilNextMillis(long lastTimestamp){ + timestamp = timeGen() + while timestamp <= lastTimestamp : timestamp = timeGen() + return timestamp + } + + func timeGen(){ + return System.currentTimeMillis() + } + +} diff --git a/spirit-test/src/test/resources/com.sum.test/subexpress/Express.sp b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/subexpress/Express.sp similarity index 94% rename from spirit-test/src/test/resources/com.sum.test/subexpress/Express.sp rename to spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/subexpress/Express.sp index 0bd557f8684b9987ffac6f47896ca5c24df68b1f..9e9fdf3baae60075354c685cf3f0aaec0f7563cf 100644 --- a/spirit-test/src/test/resources/com.sum.test/subexpress/Express.sp +++ b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/subexpress/Express.sp @@ -1,58 +1,58 @@ - -class Express { - - x=1 - y=100 - s="test" - d=1.1 - e=d+10 - - func testSubexpress(){ - if ((x+1>0)&&(y<100)) && s=="test"{ - print "hello" - } - } - - func testCast(){ - s1="I am a str" - o1=(Object)s1 - print "test success",o1 - } - - func testTree(){ - //这里有一个问题s=="test"必须转换成equals - b=(x +1 >0 && y <100 ) && s=="test" && s instanceof Object - print "test tree",b - list=["one","two","three"] - b1=((Object)list.get(1)).toString().length()+100>0 - print "tree",b1 - s1=((Object)list.get(1)).toString() - print "tree",s1 - d1=100.0 - i1=100 - num=d1+i1 - print "tree",num - express=(x+1>0 && y<100) - print "{}",express - express1=((Object)list.get(1)) - print "{}",express1 - b11=(x +1 >0 && y <100 ) && list.get(0)=="test" && s instanceof Object - print "{}",b11 - - b111=( s!="test" ) && s=="test" && !empty(list.get(0)) - print "{}",b111 - - b222=list.get(1).toString() - print "{}",b222 - if s { - return null - } else { - return "this is return type test" - } - - } - - - - -} + +class Express { + + x=1 + y=100 + s="test" + d=1.1 + e=d+10 + + func testSubexpress(){ + if ((x+1>0)&&(y<100)) && s=="test"{ + print "hello" + } + } + + func testCast(){ + s1="I am a str" + o1=(Object)s1 + print "test success",o1 + } + + func testTree(){ + //这里有一个问题s=="test"必须转换成equals + b=(x +1 >0 && y <100 ) && s=="test" && s instanceof Object + print "test tree",b + list=["one","two","three"] + b1=((Object)list.get(1)).toString().length()+100>0 + print "tree",b1 + s1=((Object)list.get(1)).toString() + print "tree",s1 + d1=100.0 + i1=100 + num=d1+i1 + print "tree",num + express=(x+1>0 && y<100) + print "{}",express + express1=((Object)list.get(1)) + print "{}",express1 + b11=(x +1 >0 && y <100 ) && list.get(0)=="test" && s instanceof Object + print "{}",b11 + + b111=( s!="test" ) && s=="test" && !empty(list.get(0)) + print "{}",b111 + + b222=list.get(1).toString() + print "{}",b222 + if s { + return null + } else { + return "this is return type test" + } + + } + + + + +} diff --git a/spirit-test/src/test/resources/com.sum.test/syntax/Syntax.sp b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/syntax/Syntax.sp similarity index 94% rename from spirit-test/src/test/resources/com.sum.test/syntax/Syntax.sp rename to spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/syntax/Syntax.sp index 28f0fe35cf2197150c2358fbd3e5e2b02ac3d307..94f4d3e331a28ce2fcc0ae8f88fb2148a4df274c 100644 --- a/spirit-test/src/test/resources/com.sum.test/syntax/Syntax.sp +++ b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/syntax/Syntax.sp @@ -1,29 +1,29 @@ - -//特殊语法 -class Syntax { - - list=["first","second"] - map={"key":100,"key":100} - - //一般判断 - func testJudge(){ - b=list.get(1) != null - bb=list instanceof Object - if b && bb : print "yes" - if list.get(1)!=null && list instanceof Object : print "test success" - } - - //异常处理 - func testLog(){ - try{ - print "test print keyword" - debug "test debug keyword" - throw Exception("test") - }catch Exception e{ - error "There is a Exception!",e - } - } - -} - - + +//特殊语法 +class Syntax { + + list=["first","second"] + map={"key":100,"key":100} + + //一般判断 + func testJudge(){ + b=list.get(1) != null + bb=list instanceof Object + if b && bb : print "yes" + if list.get(1)!=null && list instanceof Object : print "test success" + } + + //异常处理 + func testLog(){ + try{ + print "test print keyword" + debug "test debug keyword" + throw Exception("test") + }catch Exception e{ + error "There is a Exception!",e + } + } + +} + + diff --git a/spirit-test/src/test/resources/com.sum.test/type/GenericType.sp b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/type/GenericType.sp similarity index 93% rename from spirit-test/src/test/resources/com.sum.test/type/GenericType.sp rename to spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/type/GenericType.sp index faada267d0ef952aee64702fbde371f42b05574b..e9be60f906484521a5904ee25edfe559daece494 100644 --- a/spirit-test/src/test/resources/com.sum.test/type/GenericType.sp +++ b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/type/GenericType.sp @@ -1,30 +1,30 @@ - -import java.util.HashMap - -@SuppressWarnings("serial") -class GenericType extends HashMap { - - func testGeneric(){ - return get("test") - } - - func test(){ - return HashMap() - } - - func test1(){ - g=GenericType() - return g.get("test") - } - - func test2(){ - g=GenericType() - return g.test() - } - - func testB(){ - clazz=int.class - print clazz.getName() - } - + +import java.util.HashMap + +@SuppressWarnings("serial") +class GenericType extends HashMap { + + func testGeneric(){ + return get("test") + } + + func test(){ + return HashMap() + } + + func test1(){ + g=GenericType() + return g.get("test") + } + + func test2(){ + g=GenericType() + return g.test() + } + + func testB(){ + clazz=int.class + print clazz.getName() + } + } \ No newline at end of file diff --git a/spirit-test/src/test/resources/com.sum.test/type/People.sp b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/type/People.sp similarity index 92% rename from spirit-test/src/test/resources/com.sum.test/type/People.sp rename to spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/type/People.sp index e00c0e11322c99a5398a7ef29190381645f9579d..ec1dcf393083e01bc02e63fceeb051b249912322 100644 --- a/spirit-test/src/test/resources/com.sum.test/type/People.sp +++ b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/type/People.sp @@ -1,14 +1,14 @@ - -class People { - - name = "chentao" - age = 28 - money = -10.0 - - func show() { - print name - print "age:{}", age - print "money:{}", money - return null - } + +class People { + + name = "chentao" + age = 28 + money = -10.0 + + func show() { + print name + print "age:{}", age + print "money:{}", money + return null + } } \ No newline at end of file diff --git a/spirit-test/src/test/resources/com.sum.test/type/Type.sp b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/type/Type.sp similarity index 89% rename from spirit-test/src/test/resources/com.sum.test/type/Type.sp rename to spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/type/Type.sp index 8917d7f9b6cc8c082dc53a38d1e072a721534f93..813e7d85890a82730b9be4c89c6117fe60984167 100644 --- a/spirit-test/src/test/resources/com.sum.test/type/Type.sp +++ b/spirit-example/spirit-example-plugin/src/main/resources/sources/com.sum.spirit.example/type/Type.sp @@ -1,156 +1,156 @@ - -import java.util.HashMap -import com.sum.spirit.test.example.ClassGenericTest -import com.sum.spirit.test.example.MyTest -import com.sum.spirit.test.example.GenericType - -const NUMBER = 100.0 -const NAME = "chentao" - -@Deprecated -class Type { - @Deprecated - b=true - b1=false - i=100 - d=100.0 - s="string" - emptyList=[] - emptyMap={} - list=["first","second","third"] - list1=["string",100] - map=[{"key1":123,"key2":"123"},{"key1":123,"key2":"123"}] - map1={"key1":"string","key2":100} - bArray=boolean[10] - cArray=char[10] - sArray=short[10] - iArray=int[10] - fArray=float[10] - dArray=double[10] - objArray=Object[10] - strArray=String[10] - String s111="I am a new assign syntax!" - //测试静态访问 - num=Main.x - myChar='c' - const cv = "test const voliate" - volatile vo = false - - @Deprecated - func testType(){ - - //list << "fourth" - //测试不同类型 - //list1 << 100.0 - - //map << "key3",100 - //测试不同类型 - //map1 << "key3",100.0 - - //测试数组返回 - a1=bArray[0] - a2=cArray[0] - a3=sArray[0] - a4=iArray[0] - a5=fArray[0] - a6=dArray[0] - a7=objArray[0] - a8=strArray[0] - print "test array{}{}{}{}{}{}{}{}{}",a1,a2,a3,a4,a5,a6,a7,a8 - - //测试class - Class clazz - clazz=Type.class - clz=clazz - print "test class {}",clz - - //测试this - self=this - print "test this {}",self - - //测试泛型类型 - hmap=HashMap() - hmap.put("key","value") - - //测试long - long1=100L - print "long1 is ",long1 - - //测试位操作符 - mask= 1L << 8 - print "mask",mask - - //测试新的数组声明方式 - ints=int[]{123, 456, 789} - strs=String[]{"hello", "hello", "hello"} - print "ints{}", ints - print "strs{}", strs[0] - - yyy=1 - iii=100+yyy+++100 - iii=yyy+100 - print iii+"" - - objxxx=ClassGenericTest.class.getAnnotation(MyTest.class) - ssss=objxxx.value() - print ""+ssss - - xxss = testParam(null, null) - print xxss - - service=ServiceImpl() - type=service.testReturnGenericType("text") - print type.toString() - - key = service.key - print key - - serNum=service.test1(123) - print "" + serNum - - serStr=service.test1("hello") - print "" + serStr - - generic=GenericType() - gKey=generic.get("test") - print gKey + "" - - intsss=[1,123,8987879] - integer=intsss.get(0) - numberxxx=integer.intValue() - print ""+numberxxx - - const finalNum=1000 - print "" + finalNum - - const String strxxxx - strxxxx="hello" - print strxxxx - - bbxxx=getArray()[0] - print "" + bbxxx - - objvar = { - "name" : "chen", - "age" : 18, - "from" : "China", - "brother" : ["wanhao", "chenzhe"] - } - str0 = objvar.toString() - print str0 - } - - func testParam(@Deprecated String str, Object obj){ - return "yes" - } - - String testReturnType(){ - anumx=1111 - return "I am a Str!" + anumx - } - - func getArray(){ - return bArray - } - + +import java.util.HashMap +import com.sum.spirit.example.ClassGenericTest +import com.sum.spirit.example.MyTest +import com.sum.spirit.example.GenericType + +const NUMBER = 100.0 +const NAME = "chentao" + +@Deprecated +class Type { + @Deprecated + b=true + b1=false + i=100 + d=100.0 + s="string" + emptyList=[] + emptyMap={} + list=["first","second","third"] + list1=["string",100] + map=[{"key1":123,"key2":"123"},{"key1":123,"key2":"123"}] + map1={"key1":"string","key2":100} + bArray=boolean[10] + cArray=char[10] + sArray=short[10] + iArray=int[10] + fArray=float[10] + dArray=double[10] + objArray=Object[10] + strArray=String[10] + String s111="I am a new assign syntax!" + //测试静态访问 + num=Main.x + myChar='c' + const cv = "test const voliate" + volatile vo = false + + @Deprecated + func testType(){ + + //list << "fourth" + //测试不同类型 + //list1 << 100.0 + + //map << "key3",100 + //测试不同类型 + //map1 << "key3",100.0 + + //测试数组返回 + a1=bArray[0] + a2=cArray[0] + a3=sArray[0] + a4=iArray[0] + a5=fArray[0] + a6=dArray[0] + a7=objArray[0] + a8=strArray[0] + print "test array{}{}{}{}{}{}{}{}{}",a1,a2,a3,a4,a5,a6,a7,a8 + + //测试class + Class clazz + clazz=Type.class + clz=clazz + print "test class {}",clz + + //测试this + self=this + print "test this {}",self + + //测试泛型类型 + hmap=HashMap() + hmap.put("key","value") + + //测试long + long1=100L + print "long1 is ",long1 + + //测试位操作符 + mask= 1L << 8 + print "mask",mask + + //测试新的数组声明方式 + ints=int[]{123, 456, 789} + strs=String[]{"hello", "hello", "hello"} + print "ints{}", ints + print "strs{}", strs[0] + + yyy=1 + iii=100+yyy+++100 + iii=yyy+100 + print iii+"" + + objxxx=ClassGenericTest.class.getAnnotation(MyTest.class) + ssss=objxxx.value() + print ""+ssss + + xxss = testParam(null, null) + print xxss + + service=ServiceImpl() + type=service.testReturnGenericType("text") + print type.toString() + + key = service.key + print key + + serNum=service.test1(123) + print "" + serNum + + serStr=service.test1("hello") + print "" + serStr + + generic=GenericType() + gKey=generic.get("test") + print gKey + "" + + intsss=[1,123,8987879] + integer=intsss.get(0) + numberxxx=integer.intValue() + print ""+numberxxx + + const finalNum=1000 + print "" + finalNum + + const String strxxxx + strxxxx="hello" + print strxxxx + + bbxxx=getArray()[0] + print "" + bbxxx + + objvar = { + "name" : "chen", + "age" : 18, + "from" : "China", + "brother" : ["wanhao", "chenzhe"] + } + str0 = objvar.toString() + print str0 + } + + func testParam(@Deprecated String str, Object obj){ + return "yes" + } + + String testReturnType(){ + anumx=1111 + return "I am a Str!" + anumx + } + + func getArray(){ + return bArray + } + } \ No newline at end of file diff --git a/spirit-example/target/spirit-example-2.1.30.pom b/spirit-example/target/spirit-example-2.1.30.pom new file mode 100644 index 0000000000000000000000000000000000000000..156d0a35edd833829a670a97aa0aaa4d7ed9c48d --- /dev/null +++ b/spirit-example/target/spirit-example-2.1.30.pom @@ -0,0 +1,16 @@ + + 4.0.0 + + com.gitee.chentaoah + spirit-parent + 2.1.30 + + spirit-example + pom + + spirit-example-common + spirit-example-plugin + + \ No newline at end of file diff --git a/spirit-example/target/spirit-example-2.1.30.pom.asc b/spirit-example/target/spirit-example-2.1.30.pom.asc new file mode 100644 index 0000000000000000000000000000000000000000..89b83698825427955c892629c859fe9e1a14e5c8 --- /dev/null +++ b/spirit-example/target/spirit-example-2.1.30.pom.asc @@ -0,0 +1,14 @@ +-----BEGIN PGP SIGNATURE----- + +iQGzBAABCAAdFiEEqOc4k/2bIzSwX8nzS1qmeLEMVg4FAmClx7EACgkQS1qmeLEM +Vg7CLgwAoReQ1YclT6ca3PCJgCENn227+VBwy7HgIgh1Bi71EmbZ0MslIR/cL2I+ +LMMf3/7gBsUpfJ6ql05vtd+C1x6CfFc/NnJcjr3TA07hr8QA3BN10bNeP6zBW0ka +xaMVdUkaScr3NP9ydKGK0ZC/F9dNo09qnmmBE8WEARE+IMnIZOX+60Yn2D5KqUCA +vxo2S69Z0aPNmjy6iQCXXxbJpX2g35Fia3tdZm1u+ErEW6ug0ReFLtS0u4PuVbIh +LUOYcd/f9Dyyls/lswfv9iLHCZ9P2pBFAW/DOavk0crj4ICDHhI7SYFVnFhIFPdJ +s9486CI7EiLYkuRsps4gLy+lUvOX1hSrGoGVNvpmQLe6UIkDv7PqFQS/tMyPV3gC +TZI4o8q65yal0T6HFPPWO52iyaSdAHFuwlyxucs3UT4rW5+tfSLpo4gbrzgChavC +MVS4txoNvk5HqHJ+P10KSyxbb60SEr/YfxUTrB93hdxRK/Gm0yn8J2gpoUSRZiUG +4J0R0Eci +=Vfrt +-----END PGP SIGNATURE----- diff --git a/spirit-output/pom.xml b/spirit-output/pom.xml index 5758ed82d64639471a6e955b1d847c456cd58354..af7cceaffcb3970ecfbc78d32da26258e8cc43cf 100644 --- a/spirit-output/pom.xml +++ b/spirit-output/pom.xml @@ -3,9 +3,9 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.sum.spirit + com.gitee.chentaoah spirit-parent - 2.0.48 + 2.1.30 spirit-output pom diff --git a/spirit-output/spirit-output-java/pom.xml b/spirit-output/spirit-output-java/pom.xml index 7765d24f41bef3d4b994e34944cd4156196e2ce5..45baf121697412b481146dd342a2ccd82b4836db 100644 --- a/spirit-output/spirit-output-java/pom.xml +++ b/spirit-output/spirit-output-java/pom.xml @@ -3,15 +3,15 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.sum.spirit + com.gitee.chentaoah spirit-output - 2.0.48 + 2.1.30 spirit-output-java - com.sum.spirit + com.gitee.chentaoah spirit-core-compile ${project.version} diff --git a/spirit-output/spirit-output-java/src/main/java/com/sum/spirit/output/java/ExtClassLoader.java b/spirit-output/spirit-output-java/src/main/java/com/sum/spirit/output/java/ExtClassLoader.java index 9d2a8fd8e6d395e3b71526a00f956cc242ccea17..919b97a5c56e4fd1ecac6c3333902df38d1c2fda 100644 --- a/spirit-output/spirit-output-java/src/main/java/com/sum/spirit/output/java/ExtClassLoader.java +++ b/spirit-output/spirit-output-java/src/main/java/com/sum/spirit/output/java/ExtClassLoader.java @@ -5,9 +5,14 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.context.annotation.DependsOn; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; +import com.google.common.base.Splitter; +import com.sum.spirit.common.utils.ConfigUtils; import com.sum.spirit.core.api.StaticTypesCtor; import com.sum.spirit.core.clazz.AbstractClassLoader; import com.sum.spirit.core.clazz.entity.IType; @@ -17,7 +22,21 @@ import com.sum.spirit.output.java.utils.ReflectUtils; @Component @Order(-80) -public class ExtClassLoader extends AbstractClassLoader> implements StaticTypesCtor { +@DependsOn("configUtils") +public class ExtClassLoader extends AbstractClassLoader> implements InitializingBean, StaticTypesCtor { + + public ClassLoader classLoader; + + @Override + public void afterPropertiesSet() throws Exception { + String classpathsArg = ConfigUtils.getClasspaths(); + if (StringUtils.isNotBlank(classpathsArg)) { + List classpaths = Splitter.on(",").trimResults().splitToList(classpathsArg); + classLoader = ReflectUtils.getClassLoader(classpaths); + } else { + classLoader = this.getClass().getClassLoader(); + } + } @Override public Map prepareStaticTypes() { @@ -61,12 +80,17 @@ public class ExtClassLoader extends AbstractClassLoader> implements Sta @Override public Class findClass(String name) { - return ReflectUtils.getClass(name); + try { + return classLoader.loadClass(name); + + } catch (ClassNotFoundException e) { + throw new RuntimeException(e); + } } @Override public Class findLoadedClass(String name) { - return ReflectUtils.getClass(name); + return findClass(name); } @Override diff --git a/spirit-output/spirit-output-java/src/main/java/com/sum/spirit/output/java/action/CommonAction.java b/spirit-output/spirit-output-java/src/main/java/com/sum/spirit/output/java/action/CommonAction.java index e640eb7e8645c300ce7d0743d36a28dbc1ebae8f..5af34b302a3f4324d34a1055b989def84b1ab10a 100644 --- a/spirit-output/spirit-output-java/src/main/java/com/sum/spirit/output/java/action/CommonAction.java +++ b/spirit-output/spirit-output-java/src/main/java/com/sum/spirit/output/java/action/CommonAction.java @@ -11,8 +11,8 @@ import com.sum.spirit.core.compile.entity.ElementEvent; import com.sum.spirit.core.element.entity.Statement; import com.sum.spirit.core.element.entity.Token; import com.sum.spirit.core.element.utils.StmtVisiter; -import com.sum.spirit.lib.Lists; -import com.sum.spirit.lib.Maps; +import com.sum.spirit.stdlib.Lists; +import com.sum.spirit.stdlib.Maps; @Native @Component diff --git a/spirit-output/spirit-output-java/src/main/java/com/sum/spirit/output/java/action/EmptyAction.java b/spirit-output/spirit-output-java/src/main/java/com/sum/spirit/output/java/action/EmptyAction.java index b7429b8945a0f96a47da096142c40a09a73ce3c9..891fe9d33a2d4e339ce41bc1e54a68024142172e 100644 --- a/spirit-output/spirit-output-java/src/main/java/com/sum/spirit/output/java/action/EmptyAction.java +++ b/spirit-output/spirit-output-java/src/main/java/com/sum/spirit/output/java/action/EmptyAction.java @@ -11,7 +11,7 @@ import com.sum.spirit.core.compile.action.AbstractElementAction; import com.sum.spirit.core.compile.entity.ElementEvent; import com.sum.spirit.core.element.entity.Statement; import com.sum.spirit.core.element.utils.StmtVisiter; -import com.sum.spirit.lib.Empty; +import com.sum.spirit.stdlib.Emptys; @Native @Component @@ -26,7 +26,7 @@ public class EmptyAction extends AbstractElementAction { stmt.forEach(token -> { if (token.isLocalMethod()) {// empty(str) if (KeywordEnum.EMPTY.value.equals(token.attr(Attribute.MEMBER_NAME))) { - clazz.addStaticImport(Empty.class.getName() + ".empty"); + clazz.addStaticImport(Emptys.class.getName() + ".empty"); } } }); diff --git a/spirit-output/spirit-output-java/src/main/java/com/sum/spirit/output/java/utils/ReflectUtils.java b/spirit-output/spirit-output-java/src/main/java/com/sum/spirit/output/java/utils/ReflectUtils.java index abf1fe2138395692174dc2d9cbf44fabbb688393..81bf03a5b669205e322a010e6e58cdd1ad8ffba3 100644 --- a/spirit-output/spirit-output-java/src/main/java/com/sum/spirit/output/java/utils/ReflectUtils.java +++ b/spirit-output/spirit-output-java/src/main/java/com/sum/spirit/output/java/utils/ReflectUtils.java @@ -1,15 +1,34 @@ package com.sum.spirit.output.java.utils; +import java.io.File; import java.lang.reflect.Field; import java.lang.reflect.Member; import java.lang.reflect.Method; import java.lang.reflect.Parameter; +import java.net.URL; +import java.net.URLClassLoader; +import java.util.List; public class ReflectUtils { + @SuppressWarnings("deprecation") + public static ClassLoader getClassLoader(List classpaths) { + try { + URL urls[] = new URL[classpaths.size()]; + for (int i = 0; i < classpaths.size(); ++i) { + urls[i] = new File(classpaths.get(i)).toURL(); + } + return new URLClassLoader(urls, ReflectUtils.class.getClassLoader()); + + } catch (Exception e) { + throw new RuntimeException(e); + } + } + public static Class getClass(String className) { try { return Class.forName(className); + } catch (ClassNotFoundException e) { throw new RuntimeException("The class was not found!className:[" + className + "]"); } diff --git a/spirit-output/target/spirit-output-2.1.30.pom b/spirit-output/target/spirit-output-2.1.30.pom new file mode 100644 index 0000000000000000000000000000000000000000..af7cceaffcb3970ecfbc78d32da26258e8cc43cf --- /dev/null +++ b/spirit-output/target/spirit-output-2.1.30.pom @@ -0,0 +1,15 @@ + + 4.0.0 + + com.gitee.chentaoah + spirit-parent + 2.1.30 + + spirit-output + pom + + spirit-output-java + + \ No newline at end of file diff --git a/spirit-output/target/spirit-output-2.1.30.pom.asc b/spirit-output/target/spirit-output-2.1.30.pom.asc new file mode 100644 index 0000000000000000000000000000000000000000..57f09d9819ef57c5d3c0131eb3e52b08660c119b --- /dev/null +++ b/spirit-output/target/spirit-output-2.1.30.pom.asc @@ -0,0 +1,14 @@ +-----BEGIN PGP SIGNATURE----- + +iQGzBAABCAAdFiEEqOc4k/2bIzSwX8nzS1qmeLEMVg4FAmClx4gACgkQS1qmeLEM +Vg6wKgv+LFxOcOJhyqE+6yOFcMUDp5kTGlMr08nmzBzQ93yOs4x4vT0bF19D7HgN +YAYZCtZp63pVAu/RIoGVQBK3z9eyVc2I6W84LVpgTPM64nwuBkhupSUavF965lNq +Ei07XxibPwummfKbDOUz5zNAY1NNOpl9ezYJinvK5xmssyXgKISoDCnkCnQ5RlQu +9gV6hSHXtEMaGmegeFnNphkb6CBWs6n9m+0yTpjCYb//Bc+DHx075fmMcSqOrwQr +pzG62CxlZSvRDg88G+rkGaexND/KdNzb92s9a3J1Dc3JdXjgPwJ229gHqpql40qD +9ewqYngXzvrsBPMiJ10EGqWtde/xwEPjLr+JuquhEiUp0f7e79zAvVKcsZ7PGRcB +kt/3sdxaKzDjtBas2jsh1YA3kUEEK9yluOLRdaJeTsYT1M3c7bnR4L0Zny2aZuXZ +FvqBDfI0dvdLvxwZE3NM/VehEEQ1SRGrRe+Gs50K7Zq9tg4jdLXA2Zq6lvqMUJKi +an9W6kUP +=vQvx +-----END PGP SIGNATURE----- diff --git a/spirit-starter/pom.xml b/spirit-starter/pom.xml index f757ef9fa9a526614acd3aec590fe2d4717d8874..c7c747ded81dc1fdac7af160b5bb00f1c0b0cc70 100644 --- a/spirit-starter/pom.xml +++ b/spirit-starter/pom.xml @@ -3,14 +3,13 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.sum.spirit + com.gitee.chentaoah spirit-parent - 2.0.48 + 2.1.30 spirit-starter pom spirit-starter-java - spirit-starter-kit \ No newline at end of file diff --git a/spirit-starter/spirit-starter-java/pom.xml b/spirit-starter/spirit-starter-java/pom.xml index d2b7209c8b3dd2dfa7ff204ec88617fddadcbfd8..835ddf5f10716a96da2aae8afa8349edb546e89f 100644 --- a/spirit-starter/spirit-starter-java/pom.xml +++ b/spirit-starter/spirit-starter-java/pom.xml @@ -3,50 +3,17 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.sum.spirit + com.gitee.chentaoah spirit-starter - 2.0.48 + 2.1.30 spirit-starter-java - - com.sum.spirit + com.gitee.chentaoah spirit-output-java ${project.version} - - - - - org.apache.maven.plugins - maven-jar-plugin - - - false - - ${project.build.directory}/../../../spirit/lib - - - - org.apache.maven.plugins - maven-dependency-plugin - - - copy-dependencies - package - - copy-dependencies - - - ${project.build.directory}/../../../spirit/lib - - - - - - - \ No newline at end of file diff --git a/spirit-starter/spirit-starter-java/src/main/java/com/sum/spirit/starter/JavaRunner.java b/spirit-starter/spirit-starter-java/src/main/java/com/sum/spirit/starter/java/JavaRunner.java similarity index 98% rename from spirit-starter/spirit-starter-java/src/main/java/com/sum/spirit/starter/JavaRunner.java rename to spirit-starter/spirit-starter-java/src/main/java/com/sum/spirit/starter/java/JavaRunner.java index ac187242e3bad9d997ac8eeb2832db6bdfccd25a..953a40c39e54dddd2534b2c2562746416b5368ad 100644 --- a/spirit-starter/spirit-starter-java/src/main/java/com/sum/spirit/starter/JavaRunner.java +++ b/spirit-starter/spirit-starter-java/src/main/java/com/sum/spirit/starter/java/JavaRunner.java @@ -1,4 +1,4 @@ -package com.sum.spirit.starter; +package com.sum.spirit.starter.java; import java.util.List; diff --git a/spirit-starter/spirit-starter-java/src/main/java/com/sum/spirit/starter/JavaStarter.java b/spirit-starter/spirit-starter-java/src/main/java/com/sum/spirit/starter/java/JavaStarter.java similarity index 89% rename from spirit-starter/spirit-starter-java/src/main/java/com/sum/spirit/starter/JavaStarter.java rename to spirit-starter/spirit-starter-java/src/main/java/com/sum/spirit/starter/java/JavaStarter.java index 2c4060315bfd14225efae79b2705f2566dbab72d..211ea87d7fc531ff46a887175c5510c7274e72a3 100644 --- a/spirit-starter/spirit-starter-java/src/main/java/com/sum/spirit/starter/JavaStarter.java +++ b/spirit-starter/spirit-starter-java/src/main/java/com/sum/spirit/starter/java/JavaStarter.java @@ -1,4 +1,4 @@ -package com.sum.spirit.starter; +package com.sum.spirit.starter.java; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; diff --git a/spirit-starter/spirit-starter-java/src/main/java/com/sum/spirit/starter/RunningMonitor.java b/spirit-starter/spirit-starter-java/src/main/java/com/sum/spirit/starter/java/RunningMonitor.java similarity index 92% rename from spirit-starter/spirit-starter-java/src/main/java/com/sum/spirit/starter/RunningMonitor.java rename to spirit-starter/spirit-starter-java/src/main/java/com/sum/spirit/starter/java/RunningMonitor.java index 8e08851d270bf22ee5945117b6e1e39784d130af..9196be5e0b07cb0e15e1cf3a2eb464648fa2430d 100644 --- a/spirit-starter/spirit-starter-java/src/main/java/com/sum/spirit/starter/RunningMonitor.java +++ b/spirit-starter/spirit-starter-java/src/main/java/com/sum/spirit/starter/java/RunningMonitor.java @@ -1,4 +1,4 @@ -package com.sum.spirit.starter; +package com.sum.spirit.starter.java; import org.springframework.boot.ApplicationArguments; import org.springframework.stereotype.Component; diff --git a/spirit-starter/target/spirit-starter-2.1.30.pom b/spirit-starter/target/spirit-starter-2.1.30.pom new file mode 100644 index 0000000000000000000000000000000000000000..c7c747ded81dc1fdac7af160b5bb00f1c0b0cc70 --- /dev/null +++ b/spirit-starter/target/spirit-starter-2.1.30.pom @@ -0,0 +1,15 @@ + + 4.0.0 + + com.gitee.chentaoah + spirit-parent + 2.1.30 + + spirit-starter + pom + + spirit-starter-java + + \ No newline at end of file diff --git a/spirit-starter/target/spirit-starter-2.1.30.pom.asc b/spirit-starter/target/spirit-starter-2.1.30.pom.asc new file mode 100644 index 0000000000000000000000000000000000000000..a266250432a610ceb3cb6b7c4e2b836b40742d32 --- /dev/null +++ b/spirit-starter/target/spirit-starter-2.1.30.pom.asc @@ -0,0 +1,14 @@ +-----BEGIN PGP SIGNATURE----- + +iQGzBAABCAAdFiEEqOc4k/2bIzSwX8nzS1qmeLEMVg4FAmClx5MACgkQS1qmeLEM +Vg5abgv/ZB3FGay0ROBWs/xVvhk/GzJXJ6mnNEsN+AvfoLaPxFQMNeCgOk3SXCeS +EhuMzxu4jKRMLFe+hQIzvTC/AXog0whi+JfUwe0IqPrUU2C4kHVC4w2AJBb81LcE +6CVELM1a9D8ZjTUM3ed7/BkrCYmyWg/buFjHCYdLvLq+vZJ0cqIQkwZA3L58qsnw +Tb42iEp4Mc5zV5q70rxrNLtP+r1F1hL3ZaA6JxMBHKIb1err45h5Vxx5/xvsY3ZS +JztJFYEHv4lUMCgAD8N13ip3f5uR8PHKql1k9qJrHCGvmZQBMsJnYGY8FIuOnf19 +9g7U+pnzRKM96YksLaYepZt3nowSJxS5jGrmaC3EA2B7XPBurvoUszgW2hBkn0pr +vOJI2eGYo4Qjhe/p6beYWBb4VX7+RizJh41gy6X0Z5GSL5+hfCNxewxFZ6Xn7fFd +L0eE7tf0hQrclrOvFMs07XgXYNTmjeI7yd9rttOSPA46oSIN1R7yVmcMPnJpieKt +vXKjwHUJ +=Xv2Y +-----END PGP SIGNATURE----- diff --git a/spirit-stdlib/pom.xml b/spirit-stdlib/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..e2656d1143ba82dea3fe3dd4d267af96d94f95a4 --- /dev/null +++ b/spirit-stdlib/pom.xml @@ -0,0 +1,11 @@ + + 4.0.0 + + com.gitee.chentaoah + spirit-parent + 2.1.30 + + spirit-stdlib + \ No newline at end of file diff --git a/spirit-common/src/main/java/com/sum/spirit/lib/Empty.java b/spirit-stdlib/src/main/java/com/sum/spirit/stdlib/Emptys.java similarity index 63% rename from spirit-common/src/main/java/com/sum/spirit/lib/Empty.java rename to spirit-stdlib/src/main/java/com/sum/spirit/stdlib/Emptys.java index f8a4fdfac402f742ab1d94a7f7a194137685c17b..86c526fa5eaab4459ed0c73b9439fc46a9909fda 100644 --- a/spirit-common/src/main/java/com/sum/spirit/lib/Empty.java +++ b/spirit-stdlib/src/main/java/com/sum/spirit/stdlib/Emptys.java @@ -1,6 +1,6 @@ -package com.sum.spirit.lib; +package com.sum.spirit.stdlib; -public class Empty { +public class Emptys { public static boolean empty(String str) { return str == null || str.length() == 0; diff --git a/spirit-common/src/main/java/com/sum/spirit/lib/Lists.java b/spirit-stdlib/src/main/java/com/sum/spirit/stdlib/Lists.java similarity index 98% rename from spirit-common/src/main/java/com/sum/spirit/lib/Lists.java rename to spirit-stdlib/src/main/java/com/sum/spirit/stdlib/Lists.java index ac3ae368bbf06620047ebcab94c8414d13052c83..cb73d7a5ab7f2d1979089d21a213d8a752430a65 100644 --- a/spirit-common/src/main/java/com/sum/spirit/lib/Lists.java +++ b/spirit-stdlib/src/main/java/com/sum/spirit/stdlib/Lists.java @@ -1,4 +1,4 @@ -package com.sum.spirit.lib; +package com.sum.spirit.stdlib; import java.util.ArrayList; import java.util.List; diff --git a/spirit/target/com/sum/spirit/lib/Maps.java b/spirit-stdlib/src/main/java/com/sum/spirit/stdlib/Maps.java similarity index 94% rename from spirit/target/com/sum/spirit/lib/Maps.java rename to spirit-stdlib/src/main/java/com/sum/spirit/stdlib/Maps.java index aca3a4b2fdea9157b9c7d4678516e9549dbda151..ac0284c49d574897b7afc8355d433cea4cf9124c 100644 --- a/spirit/target/com/sum/spirit/lib/Maps.java +++ b/spirit-stdlib/src/main/java/com/sum/spirit/stdlib/Maps.java @@ -1,92 +1,92 @@ -package com.sum.spirit.lib; - -import java.util.HashMap; -import java.util.Map; - -public class Maps { - - public static HashMap newHashMap() { - return new HashMap<>(); - } - - public static Map of() { - return newHashMap(); - } - - public static Map of(K k1, V v1) { - Map map = of(); - map.put(k1, v1); - return map; - } - - public static Map of(K k1, V v1, K k2, V v2) { - Map map = of(); - map.put(k1, v1); - map.put(k2, v2); - return map; - } - - public static Map of(K k1, V v1, K k2, V v2, K k3, V v3) { - Map map = of(); - map.put(k1, v1); - map.put(k2, v2); - map.put(k3, v3); - return map; - } - - public static Map of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4) { - Map map = of(); - map.put(k1, v1); - map.put(k2, v2); - map.put(k3, v3); - map.put(k4, v4); - return map; - } - - public static Map of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5) { - Map map = of(); - map.put(k1, v1); - map.put(k2, v2); - map.put(k3, v3); - map.put(k4, v4); - map.put(k5, v5); - return map; - } - - public static Map of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6) { - Map map = of(); - map.put(k1, v1); - map.put(k2, v2); - map.put(k3, v3); - map.put(k4, v4); - map.put(k5, v5); - map.put(k6, v6); - return map; - } - - public static Map of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7) { - Map map = of(); - map.put(k1, v1); - map.put(k2, v2); - map.put(k3, v3); - map.put(k4, v4); - map.put(k5, v5); - map.put(k6, v6); - map.put(k7, v7); - return map; - } - - public static Map of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7, K k8, V v8) { - Map map = of(); - map.put(k1, v1); - map.put(k2, v2); - map.put(k3, v3); - map.put(k4, v4); - map.put(k5, v5); - map.put(k6, v6); - map.put(k7, v7); - map.put(k8, v8); - return map; - } - -} +package com.sum.spirit.stdlib; + +import java.util.HashMap; +import java.util.Map; + +public class Maps { + + public static HashMap newHashMap() { + return new HashMap<>(); + } + + public static Map of() { + return newHashMap(); + } + + public static Map of(K k1, V v1) { + Map map = of(); + map.put(k1, v1); + return map; + } + + public static Map of(K k1, V v1, K k2, V v2) { + Map map = of(); + map.put(k1, v1); + map.put(k2, v2); + return map; + } + + public static Map of(K k1, V v1, K k2, V v2, K k3, V v3) { + Map map = of(); + map.put(k1, v1); + map.put(k2, v2); + map.put(k3, v3); + return map; + } + + public static Map of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4) { + Map map = of(); + map.put(k1, v1); + map.put(k2, v2); + map.put(k3, v3); + map.put(k4, v4); + return map; + } + + public static Map of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5) { + Map map = of(); + map.put(k1, v1); + map.put(k2, v2); + map.put(k3, v3); + map.put(k4, v4); + map.put(k5, v5); + return map; + } + + public static Map of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6) { + Map map = of(); + map.put(k1, v1); + map.put(k2, v2); + map.put(k3, v3); + map.put(k4, v4); + map.put(k5, v5); + map.put(k6, v6); + return map; + } + + public static Map of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7) { + Map map = of(); + map.put(k1, v1); + map.put(k2, v2); + map.put(k3, v3); + map.put(k4, v4); + map.put(k5, v5); + map.put(k6, v6); + map.put(k7, v7); + return map; + } + + public static Map of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7, K k8, V v8) { + Map map = of(); + map.put(k1, v1); + map.put(k2, v2); + map.put(k3, v3); + map.put(k4, v4); + map.put(k5, v5); + map.put(k6, v6); + map.put(k7, v7); + map.put(k8, v8); + return map; + } + +} diff --git a/spirit-test/src/main/java/com/sum/spirit/test/SpiritTest.java b/spirit-test/src/main/java/com/sum/spirit/test/SpiritTest.java deleted file mode 100644 index c87272f9f0484a3a83114b2913eba6632650fcf0..0000000000000000000000000000000000000000 --- a/spirit-test/src/main/java/com/sum/spirit/test/SpiritTest.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.sum.spirit.test; - -import com.sum.spirit.starter.JavaStarter; - -public class SpiritTest { - - public static void main(String[] args) { - JavaStarter.main(args); - } - -} diff --git a/spirit-tools/pom.xml b/spirit-tools/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..354d707bdd1c38a62ab76d129223976a52d3c960 --- /dev/null +++ b/spirit-tools/pom.xml @@ -0,0 +1,16 @@ + + 4.0.0 + + com.gitee.chentaoah + spirit-parent + 2.1.30 + + spirit-tools + pom + + spirit-maven-plugin + spirit-code-tools + + \ No newline at end of file diff --git a/spirit-starter/spirit-starter-kit/pom.xml b/spirit-tools/spirit-code-tools/pom.xml similarity index 76% rename from spirit-starter/spirit-starter-kit/pom.xml rename to spirit-tools/spirit-code-tools/pom.xml index b338a663e4b05a7ddafc99ecf1e7ed8825794ad6..519de38e80f6292325b598a8e5b7a5d90ffef522 100644 --- a/spirit-starter/spirit-starter-kit/pom.xml +++ b/spirit-tools/spirit-code-tools/pom.xml @@ -3,34 +3,25 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.sum.spirit - spirit-starter - 2.0.48 + com.gitee.chentaoah + spirit-tools + 2.1.30 - spirit-starter-kit - + spirit-code-tools - - - com.sum.spirit - spirit-starter-java - ${project.version} - provided - - + org.springframework.boot spring-boot-starter-web ${spring.boot.version} - - - org.springframework.boot - spring-boot-starter - - + + + + com.gitee.chentaoah + spirit-starter-java + ${project.version} - @@ -40,7 +31,7 @@ false - ${project.build.directory}/../../../spirit/lib_web + ${project.build.directory}/../../../spirit/lib @@ -54,7 +45,7 @@ copy-dependencies - ${project.build.directory}/../../../spirit/lib_web + ${project.build.directory}/../../../spirit/lib compile runtime @@ -63,5 +54,4 @@ - \ No newline at end of file diff --git a/spirit-tools/spirit-code-tools/spirit/lib/spirit-code-tools-2.1.30.jar.asc b/spirit-tools/spirit-code-tools/spirit/lib/spirit-code-tools-2.1.30.jar.asc new file mode 100644 index 0000000000000000000000000000000000000000..caf6f3f912cbf6d6824bda3ab56c19e601296d70 --- /dev/null +++ b/spirit-tools/spirit-code-tools/spirit/lib/spirit-code-tools-2.1.30.jar.asc @@ -0,0 +1,14 @@ +-----BEGIN PGP SIGNATURE----- + +iQGzBAABCAAdFiEEqOc4k/2bIzSwX8nzS1qmeLEMVg4FAmClx6sACgkQS1qmeLEM +Vg4yNAwArJA1kdmxLSFxYqtva6vcqGzlast8XWT1PiJSsO0Wg+OVh5l+M6+AUEH/ +A78wDU7DGiKpdbkS45sJc5W1LDoS27UWBV7CtKogaetRJFypqLDri19fhnWxB8M+ +8mpgYbPLEqgzK6QJiB7r9kdxOf0ejl9gwEPIJSbb5igyNOiILJwzOyZXsnj9DcXr +EdhCyQ2JDXjugCgUQ3Kn/tMTpMIUWdzHZEjrQWh58GuQJwgffNULRul4FYfqjIra +4hcCnpn7MjWV6frzJSH1YFoRSBjWZsLKVm8IY840ZAlQgvqC2uiVySWSgCGOm9cX +I9tbZ/DMybtnO/71thrLQE1cyT6QFZ1y7gE5eC/FqPEsNWGa/fngY4i2oG8V+05h +iLqMrr0mH7eJy0srFJd6JzitkZyKZtYYzd220Yraruw0ZbP5DygG4NspE0EzJWY8 ++ERsssYG7nJXfC5931dAeTf9jsg+7TBXCfYIjcyMMvhb/nhXci/dFW/s27nYJNwE +h1NgDiAp +=GuoG +-----END PGP SIGNATURE----- diff --git a/spirit-starter/spirit-starter-kit/src/main/java/com/sum/spirit/starter/kit/SpiritKitStarter.java b/spirit-tools/spirit-code-tools/src/main/java/com/sum/spirit/code/tools/CodeToolsStarter.java similarity index 65% rename from spirit-starter/spirit-starter-kit/src/main/java/com/sum/spirit/starter/kit/SpiritKitStarter.java rename to spirit-tools/spirit-code-tools/src/main/java/com/sum/spirit/code/tools/CodeToolsStarter.java index 7c81f82e24873c198697434821a069272294cc00..b724d518a04d10ecfc6c7513c6b72b4cda269736 100644 --- a/spirit-starter/spirit-starter-kit/src/main/java/com/sum/spirit/starter/kit/SpiritKitStarter.java +++ b/spirit-tools/spirit-code-tools/src/main/java/com/sum/spirit/code/tools/CodeToolsStarter.java @@ -1,11 +1,11 @@ -package com.sum.spirit.starter.kit; +package com.sum.spirit.code.tools; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication(scanBasePackages = "com.sum.spirit") -public class SpiritKitStarter { +public class CodeToolsStarter { public static void main(String[] args) { - SpringApplication.run(SpiritKitStarter.class, args); + SpringApplication.run(CodeToolsStarter.class, args); } } diff --git a/spirit-starter/spirit-starter-kit/src/main/java/com/sum/spirit/starter/kit/controller/SpiritKitController.java b/spirit-tools/spirit-code-tools/src/main/java/com/sum/spirit/code/tools/controller/CodeToolsController.java similarity index 78% rename from spirit-starter/spirit-starter-kit/src/main/java/com/sum/spirit/starter/kit/controller/SpiritKitController.java rename to spirit-tools/spirit-code-tools/src/main/java/com/sum/spirit/code/tools/controller/CodeToolsController.java index 062a372d1b4d80ade5877245e4b875c312d10cd8..3ec2371241e5d02bdb6d10d4104010d895f0b9b2 100644 --- a/spirit-starter/spirit-starter-kit/src/main/java/com/sum/spirit/starter/kit/controller/SpiritKitController.java +++ b/spirit-tools/spirit-code-tools/src/main/java/com/sum/spirit/code/tools/controller/CodeToolsController.java @@ -1,4 +1,4 @@ -package com.sum.spirit.starter.kit.controller; +package com.sum.spirit.code.tools.controller; import java.util.List; import java.util.Map; @@ -9,13 +9,13 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.sum.spirit.starter.kit.pojo.MethodInfo; -import com.sum.spirit.starter.kit.pojo.Result; -import com.sum.spirit.starter.kit.service.MethodService; +import com.sum.spirit.code.tools.pojo.MethodInfo; +import com.sum.spirit.code.tools.pojo.Result; +import com.sum.spirit.code.tools.service.MethodService; @RestController @RequestMapping("/spirit/kit") -public class SpiritKitController { +public class CodeToolsController { @Autowired public MethodService service; diff --git a/spirit-starter/spirit-starter-kit/src/main/java/com/sum/spirit/starter/kit/core/CustomClassLoader.java b/spirit-tools/spirit-code-tools/src/main/java/com/sum/spirit/code/tools/core/CustomClassLoader.java similarity index 97% rename from spirit-starter/spirit-starter-kit/src/main/java/com/sum/spirit/starter/kit/core/CustomClassLoader.java rename to spirit-tools/spirit-code-tools/src/main/java/com/sum/spirit/code/tools/core/CustomClassLoader.java index bcaefc09699d5c575127bb9dd4a067fa761e2c0d..447a98c97b523f69c813f8dd19dcf58da5b31ed5 100644 --- a/spirit-starter/spirit-starter-kit/src/main/java/com/sum/spirit/starter/kit/core/CustomClassLoader.java +++ b/spirit-tools/spirit-code-tools/src/main/java/com/sum/spirit/code/tools/core/CustomClassLoader.java @@ -1,4 +1,4 @@ -package com.sum.spirit.starter.kit.core; +package com.sum.spirit.code.tools.core; import java.io.File; import java.io.InputStream; diff --git a/spirit-starter/spirit-starter-kit/src/main/java/com/sum/spirit/starter/kit/core/ElementSelector.java b/spirit-tools/spirit-code-tools/src/main/java/com/sum/spirit/code/tools/core/ElementSelector.java similarity index 96% rename from spirit-starter/spirit-starter-kit/src/main/java/com/sum/spirit/starter/kit/core/ElementSelector.java rename to spirit-tools/spirit-code-tools/src/main/java/com/sum/spirit/code/tools/core/ElementSelector.java index d7a2174268231b9adac7940ed6f45da3dbc44986..6beffc1b0a250eea833c67ca79b5d831cb3ddc70 100644 --- a/spirit-starter/spirit-starter-kit/src/main/java/com/sum/spirit/starter/kit/core/ElementSelector.java +++ b/spirit-tools/spirit-code-tools/src/main/java/com/sum/spirit/code/tools/core/ElementSelector.java @@ -1,4 +1,4 @@ -package com.sum.spirit.starter.kit.core; +package com.sum.spirit.code.tools.core; import java.util.Arrays; import java.util.List; diff --git a/spirit-starter/spirit-starter-kit/src/main/java/com/sum/spirit/starter/kit/pojo/MethodInfo.java b/spirit-tools/spirit-code-tools/src/main/java/com/sum/spirit/code/tools/pojo/MethodInfo.java similarity index 85% rename from spirit-starter/spirit-starter-kit/src/main/java/com/sum/spirit/starter/kit/pojo/MethodInfo.java rename to spirit-tools/spirit-code-tools/src/main/java/com/sum/spirit/code/tools/pojo/MethodInfo.java index c8f7876a172c4541c7d9dd59191cbe6bd207c1c8..c772d50426e65c54e91e3c1b886304d0b731a8df 100644 --- a/spirit-starter/spirit-starter-kit/src/main/java/com/sum/spirit/starter/kit/pojo/MethodInfo.java +++ b/spirit-tools/spirit-code-tools/src/main/java/com/sum/spirit/code/tools/pojo/MethodInfo.java @@ -1,4 +1,4 @@ -package com.sum.spirit.starter.kit.pojo; +package com.sum.spirit.code.tools.pojo; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/spirit-starter/spirit-starter-kit/src/main/java/com/sum/spirit/starter/kit/pojo/Result.java b/spirit-tools/spirit-code-tools/src/main/java/com/sum/spirit/code/tools/pojo/Result.java similarity index 93% rename from spirit-starter/spirit-starter-kit/src/main/java/com/sum/spirit/starter/kit/pojo/Result.java rename to spirit-tools/spirit-code-tools/src/main/java/com/sum/spirit/code/tools/pojo/Result.java index a5f52001d724cc3b3bc4566c70070e82d6d31529..54330a4b9d75b260d2b5aac387f706dbf37a17e2 100644 --- a/spirit-starter/spirit-starter-kit/src/main/java/com/sum/spirit/starter/kit/pojo/Result.java +++ b/spirit-tools/spirit-code-tools/src/main/java/com/sum/spirit/code/tools/pojo/Result.java @@ -1,4 +1,4 @@ -package com.sum.spirit.starter.kit.pojo; +package com.sum.spirit.code.tools.pojo; import java.io.Serializable; diff --git a/spirit-starter/spirit-starter-kit/src/main/java/com/sum/spirit/starter/kit/service/MethodService.java b/spirit-tools/spirit-code-tools/src/main/java/com/sum/spirit/code/tools/service/MethodService.java similarity index 95% rename from spirit-starter/spirit-starter-kit/src/main/java/com/sum/spirit/starter/kit/service/MethodService.java rename to spirit-tools/spirit-code-tools/src/main/java/com/sum/spirit/code/tools/service/MethodService.java index 7dbf04df513628a36abb52bc387b908aa13cedda..fc9d0f9bb3514b8b6208a5c9cd2e7be34f171e05 100644 --- a/spirit-starter/spirit-starter-kit/src/main/java/com/sum/spirit/starter/kit/service/MethodService.java +++ b/spirit-tools/spirit-code-tools/src/main/java/com/sum/spirit/code/tools/service/MethodService.java @@ -1,4 +1,4 @@ -package com.sum.spirit.starter.kit.service; +package com.sum.spirit.code.tools.service; import java.io.StringReader; import java.lang.reflect.Method; @@ -10,6 +10,9 @@ import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import com.sum.spirit.code.tools.core.CustomClassLoader; +import com.sum.spirit.code.tools.core.ElementSelector; +import com.sum.spirit.code.tools.pojo.MethodInfo; import com.sum.spirit.common.constants.AppConfig; import com.sum.spirit.common.utils.LineUtils; import com.sum.spirit.core.api.ClassLinker; @@ -17,9 +20,6 @@ import com.sum.spirit.core.clazz.entity.IClass; import com.sum.spirit.core.clazz.entity.IMethod; import com.sum.spirit.core.clazz.entity.IType; import com.sum.spirit.core.element.entity.Line; -import com.sum.spirit.starter.kit.core.CustomClassLoader; -import com.sum.spirit.starter.kit.core.ElementSelector; -import com.sum.spirit.starter.kit.pojo.MethodInfo; import cn.hutool.core.io.IoUtil; diff --git a/spirit-starter/spirit-starter-kit/src/main/resources/application.properties b/spirit-tools/spirit-code-tools/src/main/resources/application.properties similarity index 35% rename from spirit-starter/spirit-starter-kit/src/main/resources/application.properties rename to spirit-tools/spirit-code-tools/src/main/resources/application.properties index 900fe3a6de131d9ac4fb2abc5740f583c288a8e1..dde2df47a3e87238ad53bb0925a55e24fe6b985e 100644 --- a/spirit-starter/spirit-starter-kit/src/main/resources/application.properties +++ b/spirit-tools/spirit-code-tools/src/main/resources/application.properties @@ -1,2 +1,2 @@ -spring.profiles.active=kit +spring.profiles.active=tools server.port=8729 \ No newline at end of file diff --git a/spirit-tools/spirit-maven-plugin/pom.xml b/spirit-tools/spirit-maven-plugin/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..0de41c65a079fc50a4384b65401d99980f8c5800 --- /dev/null +++ b/spirit-tools/spirit-maven-plugin/pom.xml @@ -0,0 +1,99 @@ + + + 4.0.0 + + com.gitee.chentaoah + spirit-tools + 2.1.30 + + spirit-maven-plugin + maven-plugin + + + + org.apache.maven + maven-plugin-api + 3.6.0 + + + + org.apache.maven.plugin-tools + maven-plugin-annotations + 3.5 + + + + org.apache.maven + maven-core + 3.0 + + + + junit + junit + 3.8.1 + test + + + + com.gitee.chentaoah + spirit-starter-java + ${project.version} + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.6.1 + + 1.8 + 1.8 + + + + org.apache.maven.plugins + maven-plugin-plugin + 3.6.0 + + + + org.eclipse.m2e + lifecycle-mapping + 1.0.0 + + + + + + + org.apache.maven.plugins + + + maven-plugin-plugin + + + [3.2,) + + + descriptor + + + + + + + + + + + + + + diff --git a/spirit-tools/spirit-maven-plugin/src/main/java/com/sum/spirit/maven/plugin/SpiritCompileMojo.java b/spirit-tools/spirit-maven-plugin/src/main/java/com/sum/spirit/maven/plugin/SpiritCompileMojo.java new file mode 100644 index 0000000000000000000000000000000000000000..069aa9fb9b24f759aa4031b664b70a9adb93b7a8 --- /dev/null +++ b/spirit-tools/spirit-maven-plugin/src/main/java/com/sum/spirit/maven/plugin/SpiritCompileMojo.java @@ -0,0 +1,63 @@ +package com.sum.spirit.maven.plugin; + +import java.util.List; + +import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugins.annotations.LifecyclePhase; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.Parameter; +import org.apache.maven.plugins.annotations.ResolutionScope; +import org.apache.maven.project.MavenProject; + +import com.google.common.base.Joiner; +import com.sum.spirit.starter.java.JavaStarter; + +@Mojo(name = "compile", defaultPhase = LifecyclePhase.NONE, requiresDependencyResolution = ResolutionScope.COMPILE) +public class SpiritCompileMojo extends AbstractMojo { + + @Parameter(defaultValue = "${project}") + public MavenProject project; + @Parameter + private String inputPath; + @Parameter + private String outputPath; + + public void execute() throws MojoExecutionException, MojoFailureException { + try { + if (inputPath == null) { + inputPath = project.getResources().get(0).getDirectory(); + inputPath = inputPath.endsWith("\\resources") ? inputPath + "\\sources" : inputPath + "/sources"; + } + if (outputPath == null) { + outputPath = project.getBuild().getSourceDirectory(); + } + getLog().info(""); + getLog().info("-----------------------[ inputPath, outputPath ]------------------------"); + getLog().info(inputPath); + getLog().info(outputPath); + getLog().info(""); + + getLog().info("-----------------------------[ classpaths ]-----------------------------"); + List classpaths = project.getCompileClasspathElements(); + classpaths.add(project.getBuild().getTestOutputDirectory()); + classpaths.forEach(getLog()::info); + getLog().info(""); + + JavaStarter.main(new String[] { "--input=" + inputPath, "--output=" + outputPath, "--classpaths=" + Joiner.on(", ").join(classpaths) }); + + } catch (Exception e) { + e.printStackTrace(); + } + } + + public static void main(String[] args) throws ClassNotFoundException { + String inputPath = "D:\\Work\\CloudSpace\\spirit\\spirit-example\\spirit-example-plugin\\src\\main\\resources\\sources"; + String outputPath = "D:\\Work\\CloudSpace\\spirit\\spirit-example\\spirit-example-plugin\\src\\main\\java"; + String classpaths = "D:\\Work\\CloudSpace\\spirit\\spirit-example\\spirit-example-plugin\\target\\classes, "; + classpaths += "C:\\Users\\tao.chen1\\.m2\\repository\\com\\sum\\spirit\\spirit-example-common\\2.1.30\\spirit-example-common-2.1.30.jar, "; + classpaths += "D:\\Work\\CloudSpace\\spirit\\spirit-example\\spirit-example-plugin\\target\\test-classes"; + JavaStarter.main(new String[] { "--input=" + inputPath, "--output=" + outputPath, "--classpaths=" + classpaths }); + } +} diff --git a/spirit-tools/target/spirit-tools-2.1.30.pom b/spirit-tools/target/spirit-tools-2.1.30.pom new file mode 100644 index 0000000000000000000000000000000000000000..354d707bdd1c38a62ab76d129223976a52d3c960 --- /dev/null +++ b/spirit-tools/target/spirit-tools-2.1.30.pom @@ -0,0 +1,16 @@ + + 4.0.0 + + com.gitee.chentaoah + spirit-parent + 2.1.30 + + spirit-tools + pom + + spirit-maven-plugin + spirit-code-tools + + \ No newline at end of file diff --git a/spirit-tools/target/spirit-tools-2.1.30.pom.asc b/spirit-tools/target/spirit-tools-2.1.30.pom.asc new file mode 100644 index 0000000000000000000000000000000000000000..a05ffbd4d465c7d5cfd39d174f4bab4948d5cf5e --- /dev/null +++ b/spirit-tools/target/spirit-tools-2.1.30.pom.asc @@ -0,0 +1,14 @@ +-----BEGIN PGP SIGNATURE----- + +iQGzBAABCAAdFiEEqOc4k/2bIzSwX8nzS1qmeLEMVg4FAmClx50ACgkQS1qmeLEM +Vg62dAv/YeqLwmGtIurdXFruO0tC17ntDmVWFq2ipq3YJZpA5jUk5DvV31mRySFC +dWjsjym1YFl/bYjjTO+MK8kL+GpzfAPBZelD/GLc7QwI2YhiCkYHjA8vl73yA+dB +V1G0OPyHD5ggog+UzrHOoglqdyyTALLVPn03Jm/sJRd8DGC7zu8PMPCln/1OZBWy +gHsH76wGBzMvMmISGbTmqzQQXfBSn0ZK/JH1LchcrjJ55ihgtvBUhImNNBAhyS+d +q+yQHuEqQDGC1SBq8h1BqMNE7I7Gbg3EhstuSIUKa5zDiTRIVx2iHzzDU9pyM5Zh +3g3dmar0jF1Q8SqybwqeNQ1rPR3f+gQMUN4nDEZ2BHpO/aekYF5Uw6CUfqK2X+UY +ehnKxP0StWYLXOrlrAMYTxeEFngad66XloheGiMf4yBGg7fhfBmGqPuUv2TR96Ut +VeEG5g2ZKF4liERJeT6SJy6VMIuV77+wKXHStWvsUDP1Mx0fClXxhBgMM+u57US8 +UZIshZOp +=hmsr +-----END PGP SIGNATURE----- diff --git a/spirit/bin/assistant.bat b/spirit/bin/assistant.bat deleted file mode 100644 index 2a70b417bb655e691eead891524139a9016612b4..0000000000000000000000000000000000000000 --- a/spirit/bin/assistant.bat +++ /dev/null @@ -1,5 +0,0 @@ -@echo off -title SPIRIT-STARTER-KIT -echo path:%~dp0 -java -Xms128m -Xmx128m -cp ".;../lib/*;../lib_web/*;../lib_dep/*" com.sum.spirit.starter.kit.KitStarter --input=%~dp0..\src -@pause \ No newline at end of file diff --git a/spirit/bin/compile.bat b/spirit/bin/compile.bat deleted file mode 100644 index 06b154f047614da1ad38dd96a40c0e853579846b..0000000000000000000000000000000000000000 --- a/spirit/bin/compile.bat +++ /dev/null @@ -1,5 +0,0 @@ -@echo off -title SPIRIT-STARTER-JAVA -echo path:%~dp0 -java -Xms128m -Xmx128m -cp ".;../lib/*;../lib_dep/*" com.sum.spirit.starter.JavaStarter --input=%~dp0..\src --output=%~dp0..\target -@pause \ No newline at end of file diff --git a/spirit/bin/tools.bat b/spirit/bin/tools.bat new file mode 100644 index 0000000000000000000000000000000000000000..e173bad35aba807099da8a47d657eee15ecd54ca --- /dev/null +++ b/spirit/bin/tools.bat @@ -0,0 +1,5 @@ +@echo off +title SPIRIT-CODE-TOOLS +echo path:%~dp0 +java -Xms512m -Xmx512m -cp ".;../lib/*" com.sum.spirit.code.tools.CodeToolsStarter +@pause \ No newline at end of file diff --git a/spirit/lib_web/classmate-1.3.4.jar b/spirit/lib/classmate-1.3.4.jar similarity index 100% rename from spirit/lib_web/classmate-1.3.4.jar rename to spirit/lib/classmate-1.3.4.jar diff --git a/spirit/lib_web/hibernate-validator-6.0.18.Final.jar b/spirit/lib/hibernate-validator-6.0.18.Final.jar similarity index 100% rename from spirit/lib_web/hibernate-validator-6.0.18.Final.jar rename to spirit/lib/hibernate-validator-6.0.18.Final.jar diff --git a/spirit/lib_web/jackson-annotations-2.10.1.jar b/spirit/lib/jackson-annotations-2.10.1.jar similarity index 100% rename from spirit/lib_web/jackson-annotations-2.10.1.jar rename to spirit/lib/jackson-annotations-2.10.1.jar diff --git a/spirit/lib_web/jackson-core-2.10.1.jar b/spirit/lib/jackson-core-2.10.1.jar similarity index 100% rename from spirit/lib_web/jackson-core-2.10.1.jar rename to spirit/lib/jackson-core-2.10.1.jar diff --git a/spirit/lib_web/jackson-databind-2.10.1.jar b/spirit/lib/jackson-databind-2.10.1.jar similarity index 100% rename from spirit/lib_web/jackson-databind-2.10.1.jar rename to spirit/lib/jackson-databind-2.10.1.jar diff --git a/spirit/lib_web/jackson-datatype-jdk8-2.10.1.jar b/spirit/lib/jackson-datatype-jdk8-2.10.1.jar similarity index 100% rename from spirit/lib_web/jackson-datatype-jdk8-2.10.1.jar rename to spirit/lib/jackson-datatype-jdk8-2.10.1.jar diff --git a/spirit/lib_web/jackson-datatype-jsr310-2.10.1.jar b/spirit/lib/jackson-datatype-jsr310-2.10.1.jar similarity index 100% rename from spirit/lib_web/jackson-datatype-jsr310-2.10.1.jar rename to spirit/lib/jackson-datatype-jsr310-2.10.1.jar diff --git a/spirit/lib_web/jackson-module-parameter-names-2.10.1.jar b/spirit/lib/jackson-module-parameter-names-2.10.1.jar similarity index 100% rename from spirit/lib_web/jackson-module-parameter-names-2.10.1.jar rename to spirit/lib/jackson-module-parameter-names-2.10.1.jar diff --git a/spirit/lib_web/jakarta.validation-api-2.0.1.jar b/spirit/lib/jakarta.validation-api-2.0.1.jar similarity index 100% rename from spirit/lib_web/jakarta.validation-api-2.0.1.jar rename to spirit/lib/jakarta.validation-api-2.0.1.jar diff --git a/spirit/lib_web/jboss-logging-3.3.2.Final.jar b/spirit/lib/jboss-logging-3.3.2.Final.jar similarity index 100% rename from spirit/lib_web/jboss-logging-3.3.2.Final.jar rename to spirit/lib/jboss-logging-3.3.2.Final.jar diff --git a/spirit/lib/spirit-code-tools-2.1.30.jar b/spirit/lib/spirit-code-tools-2.1.30.jar new file mode 100644 index 0000000000000000000000000000000000000000..c27c014b4568b2d5931d051c0482ffaed78420e3 Binary files /dev/null and b/spirit/lib/spirit-code-tools-2.1.30.jar differ diff --git a/spirit/lib/spirit-common-2.0.48.jar b/spirit/lib/spirit-common-2.0.48.jar deleted file mode 100644 index 096fb90c847740dd3e894bba10744f8fec31dd39..0000000000000000000000000000000000000000 Binary files a/spirit/lib/spirit-common-2.0.48.jar and /dev/null differ diff --git a/spirit/lib/spirit-common-2.1.30.jar b/spirit/lib/spirit-common-2.1.30.jar new file mode 100644 index 0000000000000000000000000000000000000000..d227df6489a53143bd19d0cef9754afc240eb8a3 Binary files /dev/null and b/spirit/lib/spirit-common-2.1.30.jar differ diff --git a/spirit/lib/spirit-core-class-2.0.48.jar b/spirit/lib/spirit-core-class-2.0.48.jar deleted file mode 100644 index 21b195775651bd3f5cab4187dd6e8ff33147c58a..0000000000000000000000000000000000000000 Binary files a/spirit/lib/spirit-core-class-2.0.48.jar and /dev/null differ diff --git a/spirit/lib/spirit-core-class-2.1.30.jar b/spirit/lib/spirit-core-class-2.1.30.jar new file mode 100644 index 0000000000000000000000000000000000000000..8ef7c5b70290328d3706c41ac4f25d5c6594ce2f Binary files /dev/null and b/spirit/lib/spirit-core-class-2.1.30.jar differ diff --git a/spirit/lib/spirit-core-compile-2.0.48.jar b/spirit/lib/spirit-core-compile-2.0.48.jar deleted file mode 100644 index 2174902935934f2a8bb298ebb70915ab37da94c6..0000000000000000000000000000000000000000 Binary files a/spirit/lib/spirit-core-compile-2.0.48.jar and /dev/null differ diff --git a/spirit/lib/spirit-core-compile-2.1.30.jar b/spirit/lib/spirit-core-compile-2.1.30.jar new file mode 100644 index 0000000000000000000000000000000000000000..0179841af3066feb6f160be264a1f34eee3248c2 Binary files /dev/null and b/spirit/lib/spirit-core-compile-2.1.30.jar differ diff --git a/spirit/lib/spirit-core-element-2.0.48.jar b/spirit/lib/spirit-core-element-2.0.48.jar deleted file mode 100644 index f45307d13eeb854683964d2e34315045e59dd50b..0000000000000000000000000000000000000000 Binary files a/spirit/lib/spirit-core-element-2.0.48.jar and /dev/null differ diff --git a/spirit/lib/spirit-core-element-2.1.30.jar b/spirit/lib/spirit-core-element-2.1.30.jar new file mode 100644 index 0000000000000000000000000000000000000000..e37a7ed92b09735873775a0ba7d670b2f25c1305 Binary files /dev/null and b/spirit/lib/spirit-core-element-2.1.30.jar differ diff --git a/spirit/lib/spirit-core-lexer-2.0.48.jar b/spirit/lib/spirit-core-lexer-2.0.48.jar deleted file mode 100644 index 07f245ab0e8abc7b0e4acebdccd6ffd6d701aa9c..0000000000000000000000000000000000000000 Binary files a/spirit/lib/spirit-core-lexer-2.0.48.jar and /dev/null differ diff --git a/spirit/lib/spirit-core-lexer-2.1.30.jar b/spirit/lib/spirit-core-lexer-2.1.30.jar new file mode 100644 index 0000000000000000000000000000000000000000..376049334b9290dadaf28644fdfce31fff989360 Binary files /dev/null and b/spirit/lib/spirit-core-lexer-2.1.30.jar differ diff --git a/spirit/lib/spirit-output-java-2.0.48.jar b/spirit/lib/spirit-output-java-2.0.48.jar deleted file mode 100644 index 8d1cad385481a0a4611e4b23f65de3d09b21de36..0000000000000000000000000000000000000000 Binary files a/spirit/lib/spirit-output-java-2.0.48.jar and /dev/null differ diff --git a/spirit/lib/spirit-output-java-2.1.30.jar b/spirit/lib/spirit-output-java-2.1.30.jar new file mode 100644 index 0000000000000000000000000000000000000000..ed0dcf18deb9dc157f2dc7f290fcf32321d737aa Binary files /dev/null and b/spirit/lib/spirit-output-java-2.1.30.jar differ diff --git a/spirit/lib/spirit-starter-java-2.0.48.jar b/spirit/lib/spirit-starter-java-2.0.48.jar deleted file mode 100644 index 5c00ea9e9332fbd188f1e914f5d53e6f480cd834..0000000000000000000000000000000000000000 Binary files a/spirit/lib/spirit-starter-java-2.0.48.jar and /dev/null differ diff --git a/spirit/lib/spirit-starter-java-2.1.30.jar b/spirit/lib/spirit-starter-java-2.1.30.jar new file mode 100644 index 0000000000000000000000000000000000000000..cafa1707d3f9136551efa9dcd9ae0036181498f1 Binary files /dev/null and b/spirit/lib/spirit-starter-java-2.1.30.jar differ diff --git a/spirit/lib/spirit-stdlib-2.1.30.jar b/spirit/lib/spirit-stdlib-2.1.30.jar new file mode 100644 index 0000000000000000000000000000000000000000..4f75277f5929cdf2d7d2e7cd01a1742740329ad7 Binary files /dev/null and b/spirit/lib/spirit-stdlib-2.1.30.jar differ diff --git a/spirit/lib_web/spring-boot-starter-json-2.2.2.RELEASE.jar b/spirit/lib/spring-boot-starter-json-2.2.2.RELEASE.jar similarity index 100% rename from spirit/lib_web/spring-boot-starter-json-2.2.2.RELEASE.jar rename to spirit/lib/spring-boot-starter-json-2.2.2.RELEASE.jar diff --git a/spirit/lib_web/spring-boot-starter-tomcat-2.2.2.RELEASE.jar b/spirit/lib/spring-boot-starter-tomcat-2.2.2.RELEASE.jar similarity index 100% rename from spirit/lib_web/spring-boot-starter-tomcat-2.2.2.RELEASE.jar rename to spirit/lib/spring-boot-starter-tomcat-2.2.2.RELEASE.jar diff --git a/spirit/lib_web/spring-boot-starter-validation-2.2.2.RELEASE.jar b/spirit/lib/spring-boot-starter-validation-2.2.2.RELEASE.jar similarity index 100% rename from spirit/lib_web/spring-boot-starter-validation-2.2.2.RELEASE.jar rename to spirit/lib/spring-boot-starter-validation-2.2.2.RELEASE.jar diff --git a/spirit/lib_web/spring-boot-starter-web-2.2.2.RELEASE.jar b/spirit/lib/spring-boot-starter-web-2.2.2.RELEASE.jar similarity index 100% rename from spirit/lib_web/spring-boot-starter-web-2.2.2.RELEASE.jar rename to spirit/lib/spring-boot-starter-web-2.2.2.RELEASE.jar diff --git a/spirit/lib_web/spring-web-5.2.2.RELEASE.jar b/spirit/lib/spring-web-5.2.2.RELEASE.jar similarity index 100% rename from spirit/lib_web/spring-web-5.2.2.RELEASE.jar rename to spirit/lib/spring-web-5.2.2.RELEASE.jar diff --git a/spirit/lib_web/spring-webmvc-5.2.2.RELEASE.jar b/spirit/lib/spring-webmvc-5.2.2.RELEASE.jar similarity index 100% rename from spirit/lib_web/spring-webmvc-5.2.2.RELEASE.jar rename to spirit/lib/spring-webmvc-5.2.2.RELEASE.jar diff --git a/spirit/lib_web/tomcat-embed-core-9.0.29.jar b/spirit/lib/tomcat-embed-core-9.0.29.jar similarity index 100% rename from spirit/lib_web/tomcat-embed-core-9.0.29.jar rename to spirit/lib/tomcat-embed-core-9.0.29.jar diff --git a/spirit/lib_web/tomcat-embed-el-9.0.29.jar b/spirit/lib/tomcat-embed-el-9.0.29.jar similarity index 100% rename from spirit/lib_web/tomcat-embed-el-9.0.29.jar rename to spirit/lib/tomcat-embed-el-9.0.29.jar diff --git a/spirit/lib_web/tomcat-embed-websocket-9.0.29.jar b/spirit/lib/tomcat-embed-websocket-9.0.29.jar similarity index 100% rename from spirit/lib_web/tomcat-embed-websocket-9.0.29.jar rename to spirit/lib/tomcat-embed-websocket-9.0.29.jar diff --git a/spirit/lib_web/jakarta.annotation-api-1.3.5.jar b/spirit/lib_web/jakarta.annotation-api-1.3.5.jar deleted file mode 100644 index 606d992eb235afffc3284caf6a2f97939e8a1682..0000000000000000000000000000000000000000 Binary files a/spirit/lib_web/jakarta.annotation-api-1.3.5.jar and /dev/null differ diff --git a/spirit/lib_web/spirit-starter-kit-2.0.48.jar b/spirit/lib_web/spirit-starter-kit-2.0.48.jar deleted file mode 100644 index a1bb791560a0d913b26aece1f048ea89abb14c0b..0000000000000000000000000000000000000000 Binary files a/spirit/lib_web/spirit-starter-kit-2.0.48.jar and /dev/null differ diff --git a/spirit/lib_web/spring-aop-5.2.2.RELEASE.jar b/spirit/lib_web/spring-aop-5.2.2.RELEASE.jar deleted file mode 100644 index 595f6eaea2064eed5352bf46870ffcc232829190..0000000000000000000000000000000000000000 Binary files a/spirit/lib_web/spring-aop-5.2.2.RELEASE.jar and /dev/null differ diff --git a/spirit/lib_web/spring-beans-5.2.2.RELEASE.jar b/spirit/lib_web/spring-beans-5.2.2.RELEASE.jar deleted file mode 100644 index 8ba7ecf59aea6e679474349cd92096d1b3d47780..0000000000000000000000000000000000000000 Binary files a/spirit/lib_web/spring-beans-5.2.2.RELEASE.jar and /dev/null differ diff --git a/spirit/lib_web/spring-context-5.2.2.RELEASE.jar b/spirit/lib_web/spring-context-5.2.2.RELEASE.jar deleted file mode 100644 index 14e38ffe6aa619f78a6f849119e586a6909e7ad2..0000000000000000000000000000000000000000 Binary files a/spirit/lib_web/spring-context-5.2.2.RELEASE.jar and /dev/null differ diff --git a/spirit/lib_web/spring-core-5.2.2.RELEASE.jar b/spirit/lib_web/spring-core-5.2.2.RELEASE.jar deleted file mode 100644 index d32f78201173dd35fedc0f4d5cb9e5d877d4754a..0000000000000000000000000000000000000000 Binary files a/spirit/lib_web/spring-core-5.2.2.RELEASE.jar and /dev/null differ diff --git a/spirit/lib_web/spring-expression-5.2.2.RELEASE.jar b/spirit/lib_web/spring-expression-5.2.2.RELEASE.jar deleted file mode 100644 index 1e89f4b9616a75108161b906dbc9ce2ee01c32a9..0000000000000000000000000000000000000000 Binary files a/spirit/lib_web/spring-expression-5.2.2.RELEASE.jar and /dev/null differ diff --git a/spirit/lib_web/spring-jcl-5.2.2.RELEASE.jar b/spirit/lib_web/spring-jcl-5.2.2.RELEASE.jar deleted file mode 100644 index ea0f6150b07e055e4d49e0a4168c20cd47f47d3c..0000000000000000000000000000000000000000 Binary files a/spirit/lib_web/spring-jcl-5.2.2.RELEASE.jar and /dev/null differ diff --git a/spirit/src/com.sum.spirit.example/Main.sp b/spirit/src/com.sum.spirit.example/Main.sp deleted file mode 100644 index 6d717a5d277460db994b073bdb32e740e0c4c934..0000000000000000000000000000000000000000 --- a/spirit/src/com.sum.spirit.example/Main.sp +++ /dev/null @@ -1,3 +0,0 @@ -func main(){ - print "hello world!" -} \ No newline at end of file diff --git a/spirit/target/com/sum/spirit/lib/Lists.java b/spirit/target/com/sum/spirit/lib/Lists.java deleted file mode 100644 index ac3ae368bbf06620047ebcab94c8414d13052c83..0000000000000000000000000000000000000000 --- a/spirit/target/com/sum/spirit/lib/Lists.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.sum.spirit.lib; - -import java.util.ArrayList; -import java.util.List; - -public class Lists { - - public static List newArrayList() { - return new ArrayList<>(); - } - - public static List of() { - return newArrayList(); - } - - public static List of(E e1) { - List list = of(); - list.add(e1); - return list; - } - - public static List of(E e1, E e2) { - List list = of(); - list.add(e1); - list.add(e2); - return list; - } - - public static List of(E e1, E e2, E e3) { - List list = of(); - list.add(e1); - list.add(e2); - list.add(e3); - return list; - } - - public static List of(E e1, E e2, E e3, E e4) { - List list = of(); - list.add(e1); - list.add(e2); - list.add(e3); - list.add(e4); - return list; - } - - public static List of(E e1, E e2, E e3, E e4, E e5) { - List list = of(); - list.add(e1); - list.add(e2); - list.add(e3); - list.add(e4); - list.add(e5); - return list; - } - - public static List of(E e1, E e2, E e3, E e4, E e5, E e6) { - List list = of(); - list.add(e1); - list.add(e2); - list.add(e3); - list.add(e4); - list.add(e5); - list.add(e6); - return list; - } - - public static List of(E e1, E e2, E e3, E e4, E e5, E e6, E e7) { - List list = of(); - list.add(e1); - list.add(e2); - list.add(e3); - list.add(e4); - list.add(e5); - list.add(e6); - list.add(e7); - return list; - } - - public static List of(E e1, E e2, E e3, E e4, E e5, E e6, E e7, E e8) { - List list = of(); - list.add(e1); - list.add(e2); - list.add(e3); - list.add(e4); - list.add(e5); - list.add(e6); - list.add(e7); - list.add(e8); - return list; - } - -} diff --git a/sublime-plugs/tipCommand.py b/sublime-plugs/TipCommand.py similarity index 100% rename from sublime-plugs/tipCommand.py rename to sublime-plugs/TipCommand.py diff --git a/target/spirit-parent-2.1.30.pom b/target/spirit-parent-2.1.30.pom new file mode 100644 index 0000000000000000000000000000000000000000..9277799c661294fa72656d2a5db5f0e70f3072f5 --- /dev/null +++ b/target/spirit-parent-2.1.30.pom @@ -0,0 +1,151 @@ + + + 4.0.0 + com.gitee.chentaoah + spirit-parent + 2.1.30 + pom + + spirit + A new programming language based on Java. + https://gitee.com/chentaoah/spirit + + + + GNU General Public License + http://www.gnu.org/licenses/gpl-3.0.txt + + + + + + chentaoah + 609580885@qq.com + gitee + https://gitee.com + + + + + scm:git:https://gitee.com/chentaoah/spirit.git + scm:git:https://gitee.com/chentaoah/spirit.git + https://gitee.com/chentaoah/spirit/tree/master + + + + + + spirit-stdlib + spirit-common + spirit-core + spirit-output + spirit-starter + spirit-tools + spirit-example + + + + UTF-8 + UTF-8 + 1.8 + 1.8 + 2.2.2.RELEASE + 1.18.16 + 1.7.25 + 3.9 + 2.8.0 + 5.5.1 + 29.0-jre + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + true + + 2.22.2 + + + org.apache.maven.plugins + maven-jar-plugin + 3.0.2 + + + org.apache.maven.plugins + maven-deploy-plugin + 2.8.2 + + + + + + + + release + + + ossrh + https://s01.oss.sonatype.org/content/repositories/snapshots + + + ossrh + https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/ + + + + + + org.apache.maven.plugins + maven-source-plugin + 2.2.1 + + + attach-sources + + jar-no-fork + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.9.1 + + + attach-javadocs + + jar + + + + + + org.apache.maven.plugins + maven-gpg-plugin + 1.6 + + + sign-artifacts + verify + + sign + + + + + + + + + + \ No newline at end of file diff --git a/target/spirit-parent-2.1.30.pom.asc b/target/spirit-parent-2.1.30.pom.asc new file mode 100644 index 0000000000000000000000000000000000000000..09b4daa3bdaf902d13ace2e1fee92ae6c07b66eb --- /dev/null +++ b/target/spirit-parent-2.1.30.pom.asc @@ -0,0 +1,14 @@ +-----BEGIN PGP SIGNATURE----- + +iQGzBAABCAAdFiEEqOc4k/2bIzSwX8nzS1qmeLEMVg4FAmClxz4ACgkQS1qmeLEM +Vg6Mvwv/RkGD7cT3kgaK83GRLn0L7jR5Pl8LbxVj3xUOdZDjP0PzcDESvN7Jj7tc +p9GcnmBT+gRjhmNFTBS/3/HLFWMJnMqKzOTu7/U7ilK22+iec4zMjRABgaZOkrTM +YOhE1pBLvdOA9GPqtlEI+1cScVKKtN/dh6y2A8xxESm+6CqLcfRRn8pGmx5FTow7 +qpgV3mNr7qzZuwOYMH4o09hNJvfQOrWpEu+Z1330zMH40itvh4pZ+czFRubOcPj9 +F075frD/tunHN6tvfyV1tNrv0keq3XR4Vpt3Awc3l6okS2EC3S+ZAut769eUWQQ1 +pgl2K1841xLyEfRc8aNfWAcA5UMrlY9Gp+Gt/SACVQNzRD6+4MiCAhwPp+66CUkS +7/QDviJvuk77omY0Oem0AYwgimynfi11lBCrTNVZ+/msCA+P41CBa7ph4gc7EXAm +cIYLY57f4RHiSINrW8XmUKfjvKoo4FerkF8QOQPq6pkC/2GROp8AkSUbzUuj1uAV +XvSNH+cb +=v7z9 +-----END PGP SIGNATURE-----