| <project xmlns="http://maven.apache.org/POM/4.0.0" | |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
| xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> | |
| <modelVersion>4.0.0</modelVersion> | |
| <parent> | |
| <groupId>org.springframework.boot</groupId> | |
| <artifactId>spring-boot-starter-parent</artifactId> | |
| <version>2.7.18</version> | |
| <relativePath/> | |
| </parent> | |
| <groupId>ir.ac.ut.ece.ie</groupId> | |
| <artifactId>research-platform</artifactId> | |
| <version>2.0.0</version> | |
| <packaging>jar</packaging> | |
| <name>Research Platform</name> | |
| <description>Comprehensive Research Platform with Collaboration, Publishing, and Analytics</description> | |
| <properties> | |
| <java.version>17</java.version> | |
| <start-class>ir.ac.ut.ece.ie.app.WebProjectApplication</start-class> | |
| <spring-boot.version>2.7.18</spring-boot.version> | |
| <!-- Database Versions --> | |
| <postgresql.version>42.7.3</postgresql.version> | |
| <mysql.version>8.0.33</mysql.version> | |
| <sqlite.version>3.45.1.0</sqlite.version> | |
| <h2.version>2.1.214</h2.version> | |
| <flyway.version>9.22.3</flyway.version> | |
| <!-- Security & Authentication --> | |
| <jjwt.version>0.11.5</jjwt.version> | |
| <googleauth.version>1.5.0</googleauth.version> | |
| <zxing.version>3.5.3</zxing.version> | |
| <!-- Search & Indexing --> | |
| <lucene.version>8.11.2</lucene.version> | |
| <!-- Document Processing --> | |
| <pdfbox.version>2.0.29</pdfbox.version> | |
| <poi.version>5.2.5</poi.version> | |
| <openhtmltopdf.version>1.0.10</openhtmltopdf.version> | |
| <!-- WebSocket --> | |
| <java-websocket.version>1.5.3</java-websocket.version> | |
| <!-- Redis & Cache --> | |
| <jedis.version>5.1.0</jedis.version> | |
| <ehcache.version>3.10.8</ehcache.version> | |
| <!-- JSON Processing --> | |
| <jackson.version>2.13.5</jackson.version> | |
| <gson.version>2.10.1</gson.version> | |
| <!-- Utilities --> | |
| <commons-lang3.version>3.14.0</commons-lang3.version> | |
| <commons-fileupload.version>1.5</commons-fileupload.version> | |
| <commons-pool2.version>2.12.0</commons-pool2.version> | |
| <byte-buddy.version>1.12.18</byte-buddy.version> | |
| <geoip.version>4.2.0</geoip.version> | |
| <elasticsearch.version>7.17.9</elasticsearch.version> | |
| <!-- Testing --> | |
| <junit.version>5.9.3</junit.version> | |
| <mockito.version>4.11.0</mockito.version> | |
| <assertj.version>3.24.2</assertj.version> | |
| <!-- Plugin Versions --> | |
| <maven-surefire.version>2.22.2</maven-surefire.version> | |
| <maven-compiler.version>3.13.0</maven-compiler.version> | |
| </properties> | |
| <repositories> | |
| <repository> | |
| <id>central</id> | |
| <url>https://repo.maven.apache.org/maven2</url> | |
| </repository> | |
| <repository> | |
| <id>spring-milestones</id> | |
| <name>Spring Milestones</name> | |
| <url>https://repo.spring.io/milestone</url> | |
| </repository> | |
| </repositories> | |
| <dependencies> | |
| <!-- ==================== Spring Boot Starters ==================== --> | |
| <dependency> | |
| <groupId>org.springframework.boot</groupId> | |
| <artifactId>spring-boot-starter-web</artifactId> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.springframework.boot</groupId> | |
| <artifactId>spring-boot-starter-data-jpa</artifactId> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.springframework.boot</groupId> | |
| <artifactId>spring-boot-starter-security</artifactId> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.springframework.boot</groupId> | |
| <artifactId>spring-boot-starter-mail</artifactId> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.springframework.boot</groupId> | |
| <artifactId>spring-boot-starter-thymeleaf</artifactId> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.springframework.boot</groupId> | |
| <artifactId>spring-boot-starter-websocket</artifactId> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.springframework.boot</groupId> | |
| <artifactId>spring-boot-starter-data-redis</artifactId> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.springframework.boot</groupId> | |
| <artifactId>spring-boot-starter-actuator</artifactId> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.springframework.boot</groupId> | |
| <artifactId>spring-boot-starter-validation</artifactId> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.springframework.boot</groupId> | |
| <artifactId>spring-boot-starter-cache</artifactId> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.springframework.boot</groupId> | |
| <artifactId>spring-boot-starter-webflux</artifactId> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.springframework.boot</groupId> | |
| <artifactId>spring-boot-starter-oauth2-client</artifactId> | |
| </dependency> | |
| <!-- ==================== Database Drivers ==================== --> | |
| <dependency> | |
| <groupId>org.postgresql</groupId> | |
| <artifactId>postgresql</artifactId> | |
| <version>${postgresql.version}</version> | |
| <scope>runtime</scope> | |
| </dependency> | |
| <dependency> | |
| <groupId>com.mysql</groupId> | |
| <artifactId>mysql-connector-j</artifactId> | |
| <version>${mysql.version}</version> | |
| <scope>runtime</scope> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.xerial</groupId> | |
| <artifactId>sqlite-jdbc</artifactId> | |
| <version>${sqlite.version}</version> | |
| <scope>runtime</scope> | |
| </dependency> | |
| <dependency> | |
| <groupId>com.h2database</groupId> | |
| <artifactId>h2</artifactId> | |
| <version>${h2.version}</version> | |
| <scope>runtime</scope> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.flywaydb</groupId> | |
| <artifactId>flyway-core</artifactId> | |
| <version>${flyway.version}</version> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.flywaydb</groupId> | |
| <artifactId>flyway-mysql</artifactId> | |
| <version>${flyway.version}</version> | |
| </dependency> | |
| <!-- ==================== Security & Authentication ==================== --> | |
| <dependency> | |
| <groupId>io.jsonwebtoken</groupId> | |
| <artifactId>jjwt-api</artifactId> | |
| <version>${jjwt.version}</version> | |
| </dependency> | |
| <dependency> | |
| <groupId>io.jsonwebtoken</groupId> | |
| <artifactId>jjwt-impl</artifactId> | |
| <version>${jjwt.version}</version> | |
| <scope>runtime</scope> | |
| </dependency> | |
| <dependency> | |
| <groupId>io.jsonwebtoken</groupId> | |
| <artifactId>jjwt-jackson</artifactId> | |
| <version>${jjwt.version}</version> | |
| <scope>runtime</scope> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.springframework.security</groupId> | |
| <artifactId>spring-security-crypto</artifactId> | |
| </dependency> | |
| <dependency> | |
| <groupId>at.favre.lib</groupId> | |
| <artifactId>bcrypt</artifactId> | |
| <version>0.10.2</version> | |
| </dependency> | |
| <dependency> | |
| <groupId>com.warrenstrange</groupId> | |
| <artifactId>googleauth</artifactId> | |
| <version>${googleauth.version}</version> | |
| </dependency> | |
| <dependency> | |
| <groupId>com.google.zxing</groupId> | |
| <artifactId>core</artifactId> | |
| <version>${zxing.version}</version> | |
| </dependency> | |
| <!-- ==================== Search & Indexing (Lucene) ==================== --> | |
| <dependency> | |
| <groupId>org.apache.lucene</groupId> | |
| <artifactId>lucene-core</artifactId> | |
| <version>${lucene.version}</version> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.apache.lucene</groupId> | |
| <artifactId>lucene-analyzers-common</artifactId> | |
| <version>${lucene.version}</version> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.apache.lucene</groupId> | |
| <artifactId>lucene-queryparser</artifactId> | |
| <version>${lucene.version}</version> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.apache.lucene</groupId> | |
| <artifactId>lucene-highlighter</artifactId> | |
| <version>${lucene.version}</version> | |
| </dependency> | |
| <!-- ==================== Document Processing ==================== --> | |
| <dependency> | |
| <groupId>org.apache.pdfbox</groupId> | |
| <artifactId>pdfbox</artifactId> | |
| <version>${pdfbox.version}</version> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.apache.poi</groupId> | |
| <artifactId>poi-ooxml</artifactId> | |
| <version>${poi.version}</version> | |
| </dependency> | |
| <dependency> | |
| <groupId>com.openhtmltopdf</groupId> | |
| <artifactId>openhtmltopdf-core</artifactId> | |
| <version>${openhtmltopdf.version}</version> | |
| </dependency> | |
| <dependency> | |
| <groupId>com.openhtmltopdf</groupId> | |
| <artifactId>openhtmltopdf-pdfbox</artifactId> | |
| <version>${openhtmltopdf.version}</version> | |
| </dependency> | |
| <!-- ==================== WebSocket ==================== --> | |
| <dependency> | |
| <groupId>org.java-websocket</groupId> | |
| <artifactId>Java-WebSocket</artifactId> | |
| <version>${java-websocket.version}</version> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.springframework.security</groupId> | |
| <artifactId>spring-security-messaging</artifactId> | |
| </dependency> | |
| <!-- ==================== Redis & Cache ==================== --> | |
| <dependency> | |
| <groupId>redis.clients</groupId> | |
| <artifactId>jedis</artifactId> | |
| <version>${jedis.version}</version> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.apache.commons</groupId> | |
| <artifactId>commons-pool2</artifactId> | |
| <version>${commons-pool2.version}</version> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.ehcache</groupId> | |
| <artifactId>ehcache</artifactId> | |
| <version>${ehcache.version}</version> | |
| </dependency> | |
| <!-- ==================== AWS CloudFront ==================== --> | |
| <dependency> | |
| <groupId>com.amazonaws</groupId> | |
| <artifactId>aws-java-sdk-cloudfront</artifactId> | |
| <version>1.12.261</version> | |
| </dependency> | |
| <!-- ==================== JSON Processing ==================== --> | |
| <dependency> | |
| <groupId>com.fasterxml.jackson.core</groupId> | |
| <artifactId>jackson-core</artifactId> | |
| <version>${jackson.version}</version> | |
| </dependency> | |
| <dependency> | |
| <groupId>com.fasterxml.jackson.core</groupId> | |
| <artifactId>jackson-databind</artifactId> | |
| <version>${jackson.version}</version> | |
| </dependency> | |
| <dependency> | |
| <groupId>com.fasterxml.jackson.datatype</groupId> | |
| <artifactId>jackson-datatype-jsr310</artifactId> | |
| <version>${jackson.version}</version> | |
| </dependency> | |
| <dependency> | |
| <groupId>com.google.code.gson</groupId> | |
| <artifactId>gson</artifactId> | |
| <version>${gson.version}</version> | |
| </dependency> | |
| <!-- ==================== Observability (Simplified) ==================== --> | |
| <dependency> | |
| <groupId>io.micrometer</groupId> | |
| <artifactId>micrometer-registry-prometheus</artifactId> | |
| </dependency> | |
| <!-- ==================== REMOVED: OpenTelemetry and GraphQL (causing conflicts) ==================== --> | |
| <!-- Removed opentelemetry-spring-boot-starter, graphql-dgs, and graphql-java-extended-scalars --> | |
| <!-- ==================== OpenAPI / Swagger ==================== --> | |
| <dependency> | |
| <groupId>org.springdoc</groupId> | |
| <artifactId>springdoc-openapi-ui</artifactId> | |
| <version>1.8.0</version> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.springdoc</groupId> | |
| <artifactId>springdoc-openapi-security</artifactId> | |
| <version>1.8.0</version> | |
| </dependency> | |
| <!-- ==================== Utilities ==================== --> | |
| <dependency> | |
| <groupId>org.apache.commons</groupId> | |
| <artifactId>commons-lang3</artifactId> | |
| <version>${commons-lang3.version}</version> | |
| </dependency> | |
| <dependency> | |
| <groupId>commons-fileupload</groupId> | |
| <artifactId>commons-fileupload</artifactId> | |
| <version>${commons-fileupload.version}</version> | |
| </dependency> | |
| <dependency> | |
| <groupId>net.bytebuddy</groupId> | |
| <artifactId>byte-buddy</artifactId> | |
| <version>${byte-buddy.version}</version> | |
| </dependency> | |
| <dependency> | |
| <groupId>com.maxmind.geoip2</groupId> | |
| <artifactId>geoip2</artifactId> | |
| <version>${geoip.version}</version> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.elasticsearch.client</groupId> | |
| <artifactId>elasticsearch-rest-high-level-client</artifactId> | |
| <version>${elasticsearch.version}</version> | |
| </dependency> | |
| <!-- Firebase Admin SDK --> | |
| <dependency> | |
| <groupId>com.google.firebase</groupId> | |
| <artifactId>firebase-admin</artifactId> | |
| <version>9.2.0</version> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.fusesource.jansi</groupId> | |
| <artifactId>jansi</artifactId> | |
| <version>2.4.1</version> | |
| </dependency> | |
| <!-- ==================== Lombok ==================== --> | |
| <dependency> | |
| <groupId>org.projectlombok</groupId> | |
| <artifactId>lombok</artifactId> | |
| <version>1.18.36</version> | |
| <scope>provided</scope> | |
| </dependency> | |
| <!-- ==================== Testing ==================== --> | |
| <dependency> | |
| <groupId>org.springframework.boot</groupId> | |
| <artifactId>spring-boot-starter-test</artifactId> | |
| <scope>test</scope> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.springframework.security</groupId> | |
| <artifactId>spring-security-test</artifactId> | |
| <scope>test</scope> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.assertj</groupId> | |
| <artifactId>assertj-core</artifactId> | |
| <version>${assertj.version}</version> | |
| <scope>test</scope> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.junit.jupiter</groupId> | |
| <artifactId>junit-jupiter</artifactId> | |
| <version>${junit.version}</version> | |
| <scope>test</scope> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.mockito</groupId> | |
| <artifactId>mockito-core</artifactId> | |
| <version>${mockito.version}</version> | |
| <scope>test</scope> | |
| </dependency> | |
| <!-- ==================== Development Tools ==================== --> | |
| <dependency> | |
| <groupId>org.springframework.boot</groupId> | |
| <artifactId>spring-boot-devtools</artifactId> | |
| <scope>runtime</scope> | |
| <optional>true</optional> | |
| </dependency> | |
| </dependencies> | |
| <build> | |
| <resources> | |
| <resource> | |
| <directory>src/main/resources</directory> | |
| <filtering>false</filtering> | |
| <excludes> | |
| <exclude>**/*.js</exclude> | |
| <exclude>**/*.css</exclude> | |
| <exclude>**/*.html</exclude> | |
| </excludes> | |
| </resource> | |
| <resource> | |
| <directory>src/main/resources</directory> | |
| <filtering>true</filtering> | |
| <includes> | |
| <include>**/*.properties</include> | |
| <include>**/*.xml</include> | |
| </includes> | |
| </resource> | |
| </resources> | |
| <plugins> | |
| <plugin> | |
| <groupId>org.springframework.boot</groupId> | |
| <artifactId>spring-boot-maven-plugin</artifactId> | |
| <configuration> | |
| <mainClass>${start-class}</mainClass> | |
| <excludes> | |
| <exclude> | |
| <groupId>org.projectlombok</groupId> | |
| <artifactId>lombok</artifactId> | |
| </exclude> | |
| </excludes> | |
| </configuration> | |
| </plugin> | |
| <plugin> | |
| <groupId>org.apache.maven.plugins</groupId> | |
| <artifactId>maven-compiler-plugin</artifactId> | |
| <version>${maven-compiler.version}</version> | |
| <configuration> | |
| <source>${java.version}</source> | |
| <target>${java.version}</target> | |
| <encoding>UTF-8</encoding> | |
| <testExcludes> | |
| <testExclude>**/ToolStoreIntegrationTest.java</testExclude> | |
| <testExclude>**/UltimateToolUsageIntegrationTest.java</testExclude> | |
| </testExcludes> | |
| <annotationProcessorPaths> | |
| <path> | |
| <groupId>org.projectlombok</groupId> | |
| <artifactId>lombok</artifactId> | |
| <version>1.18.36</version> | |
| </path> | |
| </annotationProcessorPaths> | |
| </configuration> | |
| </plugin> | |
| <plugin> | |
| <groupId>org.apache.maven.plugins</groupId> | |
| <artifactId>maven-surefire-plugin</artifactId> | |
| <version>${maven-surefire.version}</version> | |
| <configuration> | |
| <argLine>-Dnet.bytebuddy.experimental=true</argLine> | |
| <includes> | |
| <include>**/*Test.java</include> | |
| <include>**/*Tests.java</include> | |
| </includes> | |
| </configuration> | |
| </plugin> | |
| <plugin> | |
| <groupId>org.apache.maven.plugins</groupId> | |
| <artifactId>maven-resources-plugin</artifactId> | |
| <version>3.2.0</version> | |
| <configuration> | |
| <encoding>UTF-8</encoding> | |
| <nonFilteredFileExtensions> | |
| <nonFilteredFileExtension>js</nonFilteredFileExtension> | |
| <nonFilteredFileExtension>css</nonFilteredFileExtension> | |
| <nonFilteredFileExtension>html</nonFilteredFileExtension> | |
| <nonFilteredFileExtension>png</nonFilteredFileExtension> | |
| <nonFilteredFileExtension>jpg</nonFilteredFileExtension> | |
| <nonFilteredFileExtension>jpeg</nonFilteredFileExtension> | |
| <nonFilteredFileExtension>gif</nonFilteredFileExtension> | |
| <nonFilteredFileExtension>svg</nonFilteredFileExtension> | |
| <nonFilteredFileExtension>ico</nonFilteredFileExtension> | |
| <nonFilteredFileExtension>woff</nonFilteredFileExtension> | |
| <nonFilteredFileExtension>woff2</nonFilteredFileExtension> | |
| <nonFilteredFileExtension>ttf</nonFilteredFileExtension> | |
| <nonFilteredFileExtension>eot</nonFilteredFileExtension> | |
| </nonFilteredFileExtensions> | |
| </configuration> | |
| </plugin> | |
| <plugin> | |
| <groupId>org.flywaydb</groupId> | |
| <artifactId>flyway-maven-plugin</artifactId> | |
| <version>${flyway.version}</version> | |
| <configuration> | |
| <url>jdbc:h2:file:./ie-db</url> | |
| <user>sa</user> | |
| <password></password> | |
| </configuration> | |
| </plugin> | |
| <plugin> | |
| <groupId>com.diffplug.spotless</groupId> | |
| <artifactId>spotless-maven-plugin</artifactId> | |
| <version>2.30.0</version> | |
| <configuration> | |
| <java> | |
| <removeUnusedImports /> | |
| <googleJavaFormat> | |
| <version>1.15.0</version> | |
| <style>AOSP</style> | |
| </googleJavaFormat> | |
| </java> | |
| </configuration> | |
| </plugin> | |
| </plugins> | |
| </build> | |
| <profiles> | |
| <profile> | |
| <id>dev</id> | |
| <activation> | |
| <activeByDefault>true</activeByDefault> | |
| </activation> | |
| <properties> | |
| <spring.profiles.active>dev</spring.profiles.active> | |
| </properties> | |
| </profile> | |
| <profile> | |
| <id>prod</id> | |
| <properties> | |
| <spring.profiles.active>prod</spring.profiles.active> | |
| </properties> | |
| </profile> | |
| <profile> | |
| <id>docker</id> | |
| <properties> | |
| <spring.profiles.active>docker</spring.profiles.active> | |
| </properties> | |
| </profile> | |
| <profile> | |
| <id>test</id> | |
| <properties> | |
| <spring.profiles.active>test</spring.profiles.active> | |
| </properties> | |
| </profile> | |
| </profiles> | |
| </project> | |
Xet Storage Details
- Size:
- 22.5 kB
- Xet hash:
- 2ad7a8ea04c93039cdfa2f2bee810f8d17d6ead5cd13d08716a2914e8ee2b6b4
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.