diff --git a/plugins/plugin-function/build/assembly/zip.xml b/plugins/plugin-function/build/assembly/zip.xml
new file mode 100644
index 0000000..11da522
--- /dev/null
+++ b/plugins/plugin-function/build/assembly/zip.xml
@@ -0,0 +1,21 @@
+
+
+ Project.release
+
+ zip
+
+ true
+
+
+ target/classes
+ /bin
+
+
+
+
+ true
+ /
+ runtime
+
+
+
\ No newline at end of file
diff --git a/plugins/plugin-function/plugin.xml b/plugins/plugin-function/plugin.xml
new file mode 100644
index 0000000..a7553ec
--- /dev/null
+++ b/plugins/plugin-function/plugin.xml
@@ -0,0 +1,17 @@
+
+ com.fr.plugin.test
+
+ yes
+ 1.0
+ 10.0
+ 2018-07-31
+ author
+
+
+ [2018-07-31]初始化插件。
+ ]]>
+
+
+
+
\ No newline at end of file
diff --git a/plugins/plugin-function/pom.xml b/plugins/plugin-function/pom.xml
new file mode 100644
index 0000000..5741a87
--- /dev/null
+++ b/plugins/plugin-function/pom.xml
@@ -0,0 +1,38 @@
+
+
+ 4.0.0
+
+
+ com.fr.plugin
+ plugins
+ 1.0
+
+ jar
+ plugin-function
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ 2.5.4
+
+
+ make-zip
+ install
+
+ single
+
+
+
+
+ false
+
+ build/assembly/zip.xml
+
+
+
+
+
+
\ No newline at end of file
diff --git a/plugins/plugin-function/src/main/java/com/fr/plugin/MyAbs.java b/plugins/plugin-function/src/main/java/com/fr/plugin/MyAbs.java
new file mode 100644
index 0000000..6e2b94a
--- /dev/null
+++ b/plugins/plugin-function/src/main/java/com/fr/plugin/MyAbs.java
@@ -0,0 +1,25 @@
+package com.fr.plugin;
+
+import com.fr.general.FArray;
+import com.fr.general.GeneralUtils;
+import com.fr.script.AbstractFunction;
+import com.fr.stable.ArrayUtils;
+import com.fr.stable.Primitive;
+
+public class MyAbs extends AbstractFunction {
+
+ public Object run(Object[] args) {
+ int len = ArrayUtils.getLength(args);
+ if (len == 0) {
+ return Primitive.ERROR_VALUE;
+ } else if (len == 1) {
+ return Math.abs(GeneralUtils.objectToNumber(args[0]).doubleValue());
+ } else {
+ FArray result = new FArray();
+ for (Object arg : args) {
+ result.add(GeneralUtils.objectToNumber(arg).doubleValue());
+ }
+ }
+ return Primitive.ERROR_VALUE;
+ }
+}
diff --git a/plugins/pom.xml b/plugins/pom.xml
new file mode 100644
index 0000000..7f90545
--- /dev/null
+++ b/plugins/pom.xml
@@ -0,0 +1,17 @@
+
+
+ 4.0.0
+
+
+ com.fr.plugin
+ starter
+ 1.0
+
+ pom
+ plugins
+
+ plugin-function
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index ae29149..1999707 100644
--- a/pom.xml
+++ b/pom.xml
@@ -8,6 +8,9 @@
10.0-RELEASE-SNAPSHOT
+
+ plugins
+