feat: 增加代码混淆支持
This commit is contained in:
61
config/proguard/common-keep.pro
Normal file
61
config/proguard/common-keep.pro
Normal file
@@ -0,0 +1,61 @@
|
||||
-dontshrink
|
||||
-dontoptimize
|
||||
-dontpreverify
|
||||
-ignorewarnings
|
||||
-dontnote
|
||||
|
||||
-libraryjars <java.home>/jmods/java.base.jmod(!**.jar;!module-info.class)
|
||||
-libraryjars <java.home>/jmods/java.compiler.jmod(!**.jar;!module-info.class)
|
||||
-libraryjars <java.home>/jmods/java.datatransfer.jmod(!**.jar;!module-info.class)
|
||||
-libraryjars <java.home>/jmods/java.desktop.jmod(!**.jar;!module-info.class)
|
||||
-libraryjars <java.home>/jmods/java.instrument.jmod(!**.jar;!module-info.class)
|
||||
-libraryjars <java.home>/jmods/java.logging.jmod(!**.jar;!module-info.class)
|
||||
-libraryjars <java.home>/jmods/java.management.jmod(!**.jar;!module-info.class)
|
||||
-libraryjars <java.home>/jmods/java.naming.jmod(!**.jar;!module-info.class)
|
||||
-libraryjars <java.home>/jmods/java.net.http.jmod(!**.jar;!module-info.class)
|
||||
-libraryjars <java.home>/jmods/java.prefs.jmod(!**.jar;!module-info.class)
|
||||
-libraryjars <java.home>/jmods/java.rmi.jmod(!**.jar;!module-info.class)
|
||||
-libraryjars <java.home>/jmods/java.scripting.jmod(!**.jar;!module-info.class)
|
||||
-libraryjars <java.home>/jmods/java.security.jgss.jmod(!**.jar;!module-info.class)
|
||||
-libraryjars <java.home>/jmods/java.security.sasl.jmod(!**.jar;!module-info.class)
|
||||
-libraryjars <java.home>/jmods/java.sql.jmod(!**.jar;!module-info.class)
|
||||
-libraryjars <java.home>/jmods/java.transaction.xa.jmod(!**.jar;!module-info.class)
|
||||
-libraryjars <java.home>/jmods/java.xml.jmod(!**.jar;!module-info.class)
|
||||
-libraryjars <java.home>/jmods/java.xml.crypto.jmod(!**.jar;!module-info.class)
|
||||
|
||||
-keepattributes RuntimeVisibleAnnotations,RuntimeInvisibleAnnotations,RuntimeVisibleParameterAnnotations,RuntimeInvisibleParameterAnnotations,AnnotationDefault,Signature,InnerClasses,EnclosingMethod,Record,SourceFile,LineNumberTable,MethodParameters
|
||||
|
||||
-keep @org.springframework.stereotype.Controller class * { *; }
|
||||
-keep @org.springframework.web.bind.annotation.RestController class * { *; }
|
||||
-keep @org.springframework.context.annotation.Configuration class * { *; }
|
||||
-keep @org.springframework.boot.context.properties.ConfigurationProperties class * { *; }
|
||||
-keep @org.springframework.boot.autoconfigure.SpringBootApplication class * { *; }
|
||||
|
||||
-keep class **.*Controller { *; }
|
||||
-keep class **.*Mapper { *; }
|
||||
-keep class **.mapper.** { *; }
|
||||
-keep class **.entity.** { *; }
|
||||
-keep class **.dto.** { *; }
|
||||
-keep class **.vo.** { *; }
|
||||
-keep class **.model.** { *; }
|
||||
-keep class **.config.** { *; }
|
||||
-keep class **.enums.** { *; }
|
||||
-keep class **.annotation.** { *; }
|
||||
-keep class **.*Exception { *; }
|
||||
-keep class **.*ErrorCode { *; }
|
||||
-keep class **.*Properties { *; }
|
||||
-keep class **.*Config { *; }
|
||||
-keep class **.*Configuration { *; }
|
||||
-keep interface tech.easyflow.** { *; }
|
||||
-keep enum tech.easyflow.** { *; }
|
||||
|
||||
-keepclassmembers class * {
|
||||
@jakarta.annotation.Resource <fields>;
|
||||
@org.springframework.beans.factory.annotation.Autowired <fields>;
|
||||
@org.springframework.beans.factory.annotation.Value <fields>;
|
||||
@org.springframework.context.annotation.Bean <methods>;
|
||||
}
|
||||
|
||||
-keepclassmembers class * {
|
||||
public <init>(...);
|
||||
}
|
||||
28
config/proguard/easyflow-module-ai.pro
Normal file
28
config/proguard/easyflow-module-ai.pro
Normal file
@@ -0,0 +1,28 @@
|
||||
-include ../../config/proguard/common-keep.pro
|
||||
|
||||
-keep class tech.easyflow.ai.chattime.** { *; }
|
||||
-keep class tech.easyflow.ai.constants.** { *; }
|
||||
-keep class tech.easyflow.ai.document.** { *; }
|
||||
-keep class tech.easyflow.ai.documentimport.** { *; }
|
||||
-keep class tech.easyflow.ai.easyagents.** { *; }
|
||||
-keep class tech.easyflow.ai.exception.** { *; }
|
||||
-keep class tech.easyflow.ai.mcp.** { *; }
|
||||
-keep class tech.easyflow.ai.node.** { *; }
|
||||
-keep class tech.easyflow.ai.permission.** { *; }
|
||||
-keep class tech.easyflow.ai.plugin.** { *; }
|
||||
-keep class tech.easyflow.ai.publish.** { *; }
|
||||
-keep class tech.easyflow.ai.rag.** { *; }
|
||||
-keep class tech.easyflow.ai.service.** { *; }
|
||||
-keep class tech.easyflow.ai.support.** { *; }
|
||||
-keep class tech.easyflow.ai.utils.** { *; }
|
||||
-keep class tech.easyflow.ai.invoke.service.** { *; }
|
||||
-keep class tech.easyflow.ai.invoke.model.** { *; }
|
||||
-keep class tech.easyflow.ai.invoke.protocol.** { *; }
|
||||
-keep class tech.easyflow.ai.invoke.exception.** { *; }
|
||||
-keep class tech.easyflow.ai.invoke.mapper.OpenAiProtocolMapper { *; }
|
||||
-keep class tech.easyflow.ai.invoke.provider.ModelProviderGateway { *; }
|
||||
-keep class tech.easyflow.ai.invoke.provider.UnifiedChatChunkObserver { *; }
|
||||
-keep class tech.easyflow.ai.easyagentsflow.config.** { *; }
|
||||
-keep class tech.easyflow.ai.easyagentsflow.entity.** { *; }
|
||||
-keep class tech.easyflow.ai.easyagentsflow.service.** { *; }
|
||||
-keep class tech.easyflow.ai.easyagentsflow.support.** { *; }
|
||||
5
config/proguard/easyflow-module-autoconfig.pro
Normal file
5
config/proguard/easyflow-module-autoconfig.pro
Normal file
@@ -0,0 +1,5 @@
|
||||
-include ../../config/proguard/common-keep.pro
|
||||
|
||||
-keep class tech.easyflow.autoconfig.license.EasyflowLicenseBootstrapValidator { *; }
|
||||
-keep class tech.easyflow.autoconfig.license.EasyflowLicenseProperties { *; }
|
||||
-keep class tech.easyflow.autoconfig.license.EasyflowLicenseVerificationResult { *; }
|
||||
10
config/proguard/easyflow-module-datacenter.pro
Normal file
10
config/proguard/easyflow-module-datacenter.pro
Normal file
@@ -0,0 +1,10 @@
|
||||
-include ../../config/proguard/common-keep.pro
|
||||
|
||||
-keep class tech.easyflow.datacenter.connector.DatacenterConnector { *; }
|
||||
-keep class tech.easyflow.datacenter.connector.QueryExecutor { *; }
|
||||
-keep class tech.easyflow.datacenter.connector.WriteExecutor { *; }
|
||||
-keep class tech.easyflow.datacenter.connector.MetadataExplorer { *; }
|
||||
-keep class tech.easyflow.datacenter.connector.SourceHealthChecker { *; }
|
||||
-keep class tech.easyflow.datacenter.connector.SqlDialect { *; }
|
||||
-keep class tech.easyflow.datacenter.execution.model.** { *; }
|
||||
-keep class tech.easyflow.datacenter.meta.enums.** { *; }
|
||||
@@ -138,4 +138,51 @@
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>release-obfuscation</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>com.github.wvengen</groupId>
|
||||
<artifactId>proguard-maven-plugin</artifactId>
|
||||
<version>${proguard.maven.plugin.version}</version>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.guardsquare</groupId>
|
||||
<artifactId>proguard-base</artifactId>
|
||||
<version>${proguard.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>release-obfuscation</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>proguard</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<proguardVersion>${proguard.version}</proguardVersion>
|
||||
<proguardInclude>${maven.multiModuleProjectDirectory}/config/proguard/easyflow-module-ai.pro</proguardInclude>
|
||||
<mappingFileName>proguard-map-${project.artifactId}.txt</mappingFileName>
|
||||
<seedFileName>proguard-seed-${project.artifactId}.txt</seedFileName>
|
||||
<includeDependency>true</includeDependency>
|
||||
<includeDependencyInjar>false</includeDependencyInjar>
|
||||
<attach>false</attach>
|
||||
<attachMap>false</attachMap>
|
||||
<appendClassifier>false</appendClassifier>
|
||||
<addMavenDescriptor>false</addMavenDescriptor>
|
||||
<addManifest>true</addManifest>
|
||||
<putLibraryJarsInTempDir>true</putLibraryJarsInTempDir>
|
||||
<generateTemporaryConfigurationFile>true</generateTemporaryConfigurationFile>
|
||||
<bindToMavenLogging>true</bindToMavenLogging>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
</project>
|
||||
|
||||
@@ -23,4 +23,51 @@
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>release-obfuscation</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>com.github.wvengen</groupId>
|
||||
<artifactId>proguard-maven-plugin</artifactId>
|
||||
<version>${proguard.maven.plugin.version}</version>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.guardsquare</groupId>
|
||||
<artifactId>proguard-base</artifactId>
|
||||
<version>${proguard.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>release-obfuscation</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>proguard</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<proguardVersion>${proguard.version}</proguardVersion>
|
||||
<proguardInclude>${maven.multiModuleProjectDirectory}/config/proguard/easyflow-module-autoconfig.pro</proguardInclude>
|
||||
<mappingFileName>proguard-map-${project.artifactId}.txt</mappingFileName>
|
||||
<seedFileName>proguard-seed-${project.artifactId}.txt</seedFileName>
|
||||
<includeDependency>true</includeDependency>
|
||||
<includeDependencyInjar>false</includeDependencyInjar>
|
||||
<attach>false</attach>
|
||||
<attachMap>false</attachMap>
|
||||
<appendClassifier>false</appendClassifier>
|
||||
<addMavenDescriptor>false</addMavenDescriptor>
|
||||
<addManifest>true</addManifest>
|
||||
<putLibraryJarsInTempDir>true</putLibraryJarsInTempDir>
|
||||
<generateTemporaryConfigurationFile>true</generateTemporaryConfigurationFile>
|
||||
<bindToMavenLogging>true</bindToMavenLogging>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
</project>
|
||||
|
||||
@@ -46,4 +46,51 @@
|
||||
<artifactId>easyflow-common-web</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>release-obfuscation</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>com.github.wvengen</groupId>
|
||||
<artifactId>proguard-maven-plugin</artifactId>
|
||||
<version>${proguard.maven.plugin.version}</version>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.guardsquare</groupId>
|
||||
<artifactId>proguard-base</artifactId>
|
||||
<version>${proguard.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>release-obfuscation</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>proguard</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<proguardVersion>${proguard.version}</proguardVersion>
|
||||
<proguardInclude>${maven.multiModuleProjectDirectory}/config/proguard/easyflow-module-datacenter.pro</proguardInclude>
|
||||
<mappingFileName>proguard-map-${project.artifactId}.txt</mappingFileName>
|
||||
<seedFileName>proguard-seed-${project.artifactId}.txt</seedFileName>
|
||||
<includeDependency>true</includeDependency>
|
||||
<includeDependencyInjar>false</includeDependencyInjar>
|
||||
<attach>false</attach>
|
||||
<attachMap>false</attachMap>
|
||||
<appendClassifier>false</appendClassifier>
|
||||
<addMavenDescriptor>false</addMavenDescriptor>
|
||||
<addManifest>true</addManifest>
|
||||
<putLibraryJarsInTempDir>true</putLibraryJarsInTempDir>
|
||||
<generateTemporaryConfigurationFile>true</generateTemporaryConfigurationFile>
|
||||
<bindToMavenLogging>true</bindToMavenLogging>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
</project>
|
||||
|
||||
4
pom.xml
4
pom.xml
@@ -15,7 +15,7 @@
|
||||
</modules>
|
||||
|
||||
<properties>
|
||||
<java.version>17</java.version>
|
||||
<java.versionm>17</java.versionm>
|
||||
<maven.compiler.source>17</maven.compiler.source>
|
||||
<maven.compiler.target>17</maven.compiler.target>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
@@ -48,6 +48,8 @@
|
||||
<minio.version>8.5.2</minio.version>
|
||||
<jackson.version>2.19.4</jackson.version>
|
||||
<netty.version>4.1.130.Final</netty.version>
|
||||
<proguard.version>7.9.1</proguard.version>
|
||||
<proguard.maven.plugin.version>2.7.0</proguard.maven.plugin.version>
|
||||
</properties>
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
|
||||
Reference in New Issue
Block a user