From 5605b5d31a305ce9ffdf69a12c56ab3950b87a88 Mon Sep 17 00:00:00 2001
From: "Roger.Chen"
Date: Wed, 26 Aug 2020 13:41:06 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=89=80=E7=BB=A7?=
=?UTF-8?q?=E6=89=BF=E7=9A=84=E6=8E=A5=E5=8F=A3=E5=90=8D=E7=A7=B0,?=
=?UTF-8?q?=E6=B7=BB=E5=8A=A0gradle=E9=85=8D=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
build.gradle | 122 +++++++++++++++++
build.xml | 128 ++++++++++++++++++
encrypt.xml | 10 ++
plugin.xml | 6 +-
settings.gradle | 5 +
.../showtype/NewPreviewTypeProvider.java | 4 +-
6 files changed, 270 insertions(+), 5 deletions(-)
create mode 100644 build.gradle
create mode 100644 build.xml
create mode 100644 encrypt.xml
create mode 100644 settings.gradle
diff --git a/build.gradle b/build.gradle
new file mode 100644
index 0000000..c56b872
--- /dev/null
+++ b/build.gradle
@@ -0,0 +1,122 @@
+
+apply plugin: 'java'
+
+
+ext {
+ /**
+ * 项目中依赖的jar的路径
+ * 1.如果依赖的jar需要打包到zip中,放置在lib根目录下
+ * 2.如果依赖的jar仅仅是编译时需要,防止在lib下子目录下即可
+ */
+ libPath = "$projectDir/../webroot/WEB-INF/lib"
+
+ /**
+ * 是否对插件的class进行加密保护,防止反编译
+ */
+ guard = false
+
+ def pluginInfo = getPluginInfo()
+ pluginPre = "fine-plugin"
+ pluginName = pluginInfo.id
+ pluginVersion = pluginInfo.version
+
+ outputPath = "$projectDir/../webroot/WEB-INF/plugins/plugin-" + pluginName + "-1.0/classes"
+}
+
+group = 'com.fr.plugin'
+version = '10.0'
+sourceCompatibility = '8'
+
+sourceSets {
+ main {
+ java.outputDir = file(outputPath)
+ output.resourcesDir = file(outputPath)
+ }
+}
+
+ant.importBuild("encrypt.xml")
+//定义ant变量
+ant.projectDir = projectDir
+ant.references["compile.classpath"] = ant.path {
+ fileset(dir: libPath, includes: '**/*.jar')
+ fileset(dir: ".",includes:"**/*.jar" )
+}
+
+classes.dependsOn('clean')
+
+task copyFiles(type: Copy,dependsOn: 'classes'){
+ from outputPath
+ into "$projectDir/classes"
+}
+
+task preJar(type:Copy,dependsOn: guard ? 'compile_encrypt_javas' : 'compile_plain_javas'){
+ from "$projectDir/classes"
+ into "$projectDir/transform-classes"
+ include "**/*.*"
+}
+jar.dependsOn("preJar")
+
+task makeJar(type: Jar,dependsOn: preJar){
+ from fileTree(dir: "$projectDir/transform-classes")
+ baseName pluginPre
+ appendix pluginName
+ version pluginVersion
+ destinationDir = file("$buildDir/libs")
+
+ doLast(){
+ delete file("$projectDir/classes")
+ delete file("$projectDir/transform-classes")
+ }
+}
+
+task copyFile(type: Copy,dependsOn: ["makeJar"]){
+ from "$buildDir/libs"
+ from("$projectDir/lib") {
+ include "*.jar"
+ }
+ from "$projectDir/plugin.xml"
+ into file("$buildDir/temp/plugin")
+}
+
+task zip(type:Zip,dependsOn:["copyFile"]){
+ from "$buildDir/temp/plugin"
+ destinationDir file("$buildDir/install")
+ baseName pluginPre
+ appendix pluginName
+ version pluginVersion
+}
+
+//控制build时包含哪些文件,排除哪些文件
+processResources {
+// exclude everything
+// 用*.css没效果
+// exclude '**/*.css'
+// except this file
+// include 'xx.xml'
+}
+
+/*读取plugin.xml中的version*/
+def getPluginInfo(){
+ def xmlFile = file("plugin.xml")
+ if (!xmlFile.exists()) {
+ return ["id":"none", "version":"1.0.0"]
+ }
+ def plugin = new XmlParser().parse(xmlFile)
+ def version = plugin.version[0].text()
+ def id = plugin.id[0].text()
+ return ["id":id,"version":version]
+}
+
+repositories {
+ mavenLocal()
+ maven {
+ url = uri('http://mvn.finedevelop.com/repository/maven-public/')
+ }
+}
+
+dependencies {
+ //使用本地jar
+ implementation fileTree(dir: 'lib', include: ['**/*.jar'])
+ implementation fileTree(dir: libPath, include: ['**/*.jar'])
+}
+
diff --git a/build.xml b/build.xml
new file mode 100644
index 0000000..0c18a73
--- /dev/null
+++ b/build.xml
@@ -0,0 +1,128 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/encrypt.xml b/encrypt.xml
new file mode 100644
index 0000000..15c436f
--- /dev/null
+++ b/encrypt.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/plugin.xml b/plugin.xml
index 28dd9f8..69f5e80 100644
--- a/plugin.xml
+++ b/plugin.xml
@@ -5,18 +5,18 @@
yes
1.0
10.0
- 2020-08-26
+ 2020-08-24
finereport.mata
[2020-08-26]新预览显示类型
+ [2020-08-24]新预览显示类型
]]>
-
+
\ No newline at end of file
diff --git a/settings.gradle b/settings.gradle
new file mode 100644
index 0000000..1fbf8f1
--- /dev/null
+++ b/settings.gradle
@@ -0,0 +1,5 @@
+/*
+ * This file was generated by the Gradle 'init' task.
+ */
+
+rootProject.name = 'demo-show-type'
diff --git a/src/main/java/com/fr/plugin/showtype/NewPreviewTypeProvider.java b/src/main/java/com/fr/plugin/showtype/NewPreviewTypeProvider.java
index 35c38d5..491bf3d 100644
--- a/src/main/java/com/fr/plugin/showtype/NewPreviewTypeProvider.java
+++ b/src/main/java/com/fr/plugin/showtype/NewPreviewTypeProvider.java
@@ -1,7 +1,7 @@
package com.fr.plugin.showtype;
import com.fr.decision.authority.base.constant.type.show.ShowType;
-import com.fr.decision.fun.impl.AbstractTemplateShowTypeProvider;
+import com.fr.decision.fun.impl.AbstractShowTypeProvider;
import com.fr.web.struct.Atom;
/**
@@ -9,7 +9,7 @@ import com.fr.web.struct.Atom;
* @Date 2020/8/18 17:42
* @Version 10.0
*/
-public class NewPreviewTypeProvider extends AbstractTemplateShowTypeProvider {
+public class NewPreviewTypeProvider extends AbstractShowTypeProvider {
@Override
public String nameForShowType() {
From f1e41c0fc228f73d9b30bbbd172eda1f3a88ce68 Mon Sep 17 00:00:00 2001
From: "Roger.Chen"
Date: Wed, 26 Aug 2020 17:57:04 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E5=AE=9E=E7=8E=B0attach=E6=96=B9=E6=B3=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../java/com/fr/plugin/showtype/NewPreviewTypeProvider.java | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/main/java/com/fr/plugin/showtype/NewPreviewTypeProvider.java b/src/main/java/com/fr/plugin/showtype/NewPreviewTypeProvider.java
index 491bf3d..e7f3e15 100644
--- a/src/main/java/com/fr/plugin/showtype/NewPreviewTypeProvider.java
+++ b/src/main/java/com/fr/plugin/showtype/NewPreviewTypeProvider.java
@@ -2,6 +2,7 @@ package com.fr.plugin.showtype;
import com.fr.decision.authority.base.constant.type.show.ShowType;
import com.fr.decision.fun.impl.AbstractShowTypeProvider;
+import com.fr.decision.web.DirectoryComponent;
import com.fr.web.struct.Atom;
/**
@@ -21,6 +22,11 @@ public class NewPreviewTypeProvider extends AbstractShowTypeProvider {
return NewPreviewType.KEY;
}
+ @Override
+ public Atom attach() {
+ return DirectoryComponent.KEY;
+ }
+
@Override
public Atom client() {
return NewPreviewComponent.KEY;