pom.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 5 <modelVersion>4.0.0</modelVersion> 6 7 <parent> 8 <groupId>ai.driftkit</groupId> 9 <artifactId>driftkit-context-engineering</artifactId> 10 <version>0.9.0</version> 11 <relativePath>../pom.xml</relativePath> 12 </parent> 13 14 <artifactId>driftkit-context-engineering-spring-boot-starter</artifactId> 15 16 <name>DriftKit Context Engineering Spring Boot Starter</name> 17 <description>Spring Boot auto-configuration for DriftKit Context Engineering with frontend</description> 18 19 <properties> 20 <frontend.directory>src/main/frontend</frontend.directory> 21 <node.version>v18.16.0</node.version> 22 <npm.version>9.5.1</npm.version> 23 </properties> 24 25 <dependencies> 26 <!-- DriftKit Dependencies --> 27 <dependency> 28 <groupId>ai.driftkit</groupId> 29 <artifactId>driftkit-context-engineering-core</artifactId> 30 </dependency> 31 <dependency> 32 <groupId>ai.driftkit</groupId> 33 <artifactId>driftkit-context-engineering-services</artifactId> 34 <version>${project.version}</version> 35 </dependency> 36 <dependency> 37 <groupId>ai.driftkit</groupId> 38 <artifactId>driftkit-workflow-engine-core</artifactId> 39 </dependency> 40 41 <!-- Spring Boot --> 42 <dependency> 43 <groupId>org.springframework.boot</groupId> 44 <artifactId>spring-boot-starter-web</artifactId> 45 </dependency> 46 <dependency> 47 <groupId>org.springframework.boot</groupId> 48 <artifactId>spring-boot-configuration-processor</artifactId> 49 <optional>true</optional> 50 </dependency> 51 <dependency> 52 <groupId>org.springframework.boot</groupId> 53 <artifactId>spring-boot-autoconfigure</artifactId> 54 </dependency> 55 56 <!-- Lombok --> 57 <dependency> 58 <groupId>org.projectlombok</groupId> 59 <artifactId>lombok</artifactId> 60 </dependency> 61 62 <!-- Validation --> 63 <dependency> 64 <groupId>org.springframework.boot</groupId> 65 <artifactId>spring-boot-starter-validation</artifactId> 66 </dependency> 67 68 <!-- Testing --> 69 <dependency> 70 <groupId>org.springframework.boot</groupId> 71 <artifactId>spring-boot-starter-test</artifactId> 72 <scope>test</scope> 73 </dependency> 74 <dependency> 75 <groupId>ai.driftkit</groupId> 76 <artifactId>driftkit-clients-deepseek</artifactId> 77 <scope>test</scope> 78 </dependency> 79 <dependency> 80 <groupId>de.flapdoodle.embed</groupId> 81 <artifactId>de.flapdoodle.embed.mongo.spring3x</artifactId> 82 <version>4.11.0</version> 83 <scope>test</scope> 84 </dependency> 85 <dependency> 86 <groupId>org.springframework.data</groupId> 87 <artifactId>spring-data-mongodb</artifactId> 88 </dependency> 89 <dependency> 90 <groupId>ai.driftkit</groupId> 91 <artifactId>driftkit-workflows-spring-boot-starter</artifactId> 92 <version>${project.version}</version> 93 <scope>compile</scope> 94 </dependency> 95 96 <!-- Clients module for EtlConfig autoconfiguration --> 97 <dependency> 98 <groupId>ai.driftkit</groupId> 99 <artifactId>driftkit-clients-spring-boot-starter</artifactId> 100 <version>${project.version}</version> 101 </dependency> 102 103 <!-- Vector module for ParserController --> 104 <dependency> 105 <groupId>ai.driftkit</groupId> 106 <artifactId>driftkit-vector-spring-boot-starter</artifactId> 107 <version>${project.version}</version> 108 </dependency> 109 110 <!-- Swagger/OpenAPI for annotations --> 111 <dependency> 112 <groupId>org.springdoc</groupId> 113 <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> 114 <version>2.2.0</version> 115 </dependency> 116 117 <!-- JSONPath for evaluation configs --> 118 <dependency> 119 <groupId>com.jayway.jsonpath</groupId> 120 <artifactId>json-path</artifactId> 121 </dependency> 122 123 <!-- Apache Commons Lang for StringUtils --> 124 <dependency> 125 <groupId>org.apache.commons</groupId> 126 <artifactId>commons-lang3</artifactId> 127 </dependency> 128 129 <!-- JSON Schema Validator --> 130 <dependency> 131 <groupId>com.networknt</groupId> 132 <artifactId>json-schema-validator</artifactId> 133 <version>1.0.87</version> 134 </dependency> 135 </dependencies> 136 137 <build> 138 <plugins> 139 <!-- Frontend build plugin --> 140 <plugin> 141 <groupId>com.github.eirslett</groupId> 142 <artifactId>frontend-maven-plugin</artifactId> 143 <version>1.12.1</version> 144 <configuration> 145 <workingDirectory>${frontend.directory}</workingDirectory> 146 </configuration> 147 <executions> 148 <execution> 149 <id>install node and npm</id> 150 <goals> 151 <goal>install-node-and-npm</goal> 152 </goals> 153 <configuration> 154 <nodeVersion>${node.version}</nodeVersion> 155 <npmVersion>${npm.version}</npmVersion> 156 </configuration> 157 </execution> 158 159 <!-- npm dependencies --> 160 <execution> 161 <id>npm install</id> 162 <goals> 163 <goal>npm</goal> 164 </goals> 165 <phase>generate-resources</phase> 166 <configuration> 167 <arguments>install</arguments> 168 </configuration> 169 </execution> 170 171 <!-- Build Vue app --> 172 <execution> 173 <id>npm run build</id> 174 <goals> 175 <goal>npm</goal> 176 </goals> 177 <phase>compile</phase> 178 <configuration> 179 <arguments>run build</arguments> 180 </configuration> 181 </execution> 182 </executions> 183 </plugin> 184 185 <!-- Copy frontend build to resources --> 186 <plugin> 187 <artifactId>maven-resources-plugin</artifactId> 188 <version>3.3.0</version> 189 <configuration> 190 <includeEmptyDirs>true</includeEmptyDirs> 191 </configuration> 192 <executions> 193 <execution> 194 <id>copy frontend build</id> 195 <phase>prepare-package</phase> 196 <goals> 197 <goal>copy-resources</goal> 198 </goals> 199 <configuration> 200 <outputDirectory>${project.build.outputDirectory}/static/prompt-engineering</outputDirectory> 201 <resources> 202 <resource> 203 <directory>${frontend.directory}/dist</directory> 204 <filtering>false</filtering> 205 </resource> 206 </resources> 207 </configuration> 208 </execution> 209 </executions> 210 </plugin> 211 </plugins> 212 </build> 213 </project>