<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<parent>
		<groupId>org.eclipse.dirigible</groupId>
		<artifactId>dirigible-parent</artifactId>
		<version>7.2.0</version>
		<relativePath>../pom.xml</relativePath>
	</parent>

	<name>Components - Parent</name>
	<artifactId>dirigible-components-parent</artifactId>
	<packaging>pom</packaging>

	<modules>
		<!-- Core -->
		<module>core-configurations</module>
		<module>core-base</module>
		<module>core-initializers</module>
		<module>core-extensions</module>
		<module>core-database</module>
		<module>core-repository</module>
		<module>core-registry</module>
		<module>core-version</module>
		<module>core-healthcheck</module>
		
		<!-- Security -->
		<module>security-basic</module>
		<module>security-keycloak</module>

		<!-- Data -->
		<module>data-structures</module>
		<module>data-sources</module>
		<module>data-transfer</module>
		<module>data-management</module>
		<module>data-store</module>

		<!-- Engines -->
		<module>engine-javascript</module>
		<module>engine-web</module>
		<module>engine-template</module>
		<module>engine-template-velocity</module>
		<module>engine-template-mustache</module>
		<module>engine-template-javascript</module>
		<module>engine-wiki</module>
		<module>engine-command</module>
		<module>engine-bpm</module>
		<module>engine-bpm-flowable</module>
		<module>engine-cms</module>
		<module>engine-cms-internal</module>
		<module>engine-jobs</module>
		<module>engine-openapi</module>
		<module>engine-websockets</module>
		<module>engine-security</module>
		<module>engine-listeners</module>
		<module>engine-odata</module>
		
		<!-- IDE -->
		<module>ide-workspace</module>
		<module>ide-git</module>
		<module>ide-console</module>
		<module>ide-template</module>
		<module>ide-terminal</module>
		<module>ide-problems</module>
		<module>ide-logs</module>
		
		<!-- IDE UI -->
		<module>ide-ui-about</module>
		<module>ide-ui-bpm</module>
		<module>ide-ui-bpm-menu</module>
		<module>ide-ui-bpm-workspace</module>
		<module>ide-ui-branding</module>
		<module>ide-ui-console</module>
		<module>ide-ui-csv</module>
		<module>ide-ui-csvim</module>
		<module>ide-ui-data-structures</module>
		<module>ide-ui-database</module>
		<module>ide-ui-database-menu</module>
		<module>ide-ui-databases</module>
		<module>ide-ui-debugger</module>
		<module>ide-ui-deploy-manager</module>
		<module>ide-ui-documents</module>
		<module>ide-ui-documents-ext-content-type-ms</module>
		<module>ide-ui-entity</module>
		<module>ide-ui-entity-menu</module>
		<module>ide-ui-extensions</module>
		<module>ide-ui-extensions-menu</module>
		<module>ide-ui-file-manager</module>
		<module>ide-ui-form-builder</module>
		<module>ide-ui-form-builder-menu</module>
		<module>ide-ui-generate-service</module>
		<module>ide-ui-git</module>
		<module>ide-ui-git-branches</module>
		<module>ide-ui-git-projects</module>
		<module>ide-ui-git-service</module>
		<module>ide-ui-image</module>
		<module>ide-ui-import</module>
		<module>ide-ui-jobs</module>
		<module>ide-ui-jobs-menu</module>
		<module>ide-ui-listeners</module>
		<module>ide-ui-listeners-menu</module>
		<module>ide-ui-logs</module>
		<module>ide-ui-monaco</module>
		<module>ide-ui-monaco-extensions</module>
		<module>ide-ui-operations</module>
		<module>ide-ui-plugins</module>
		<module>ide-ui-preview</module>
		<module>ide-ui-problems</module>
		<module>ide-ui-projects</module>
		<module>ide-ui-properties</module>
		<module>ide-ui-publisher-service</module>
		<module>ide-ui-registry</module>
		<module>ide-ui-registry-service</module>
		<module>ide-ui-repository</module>
		<module>ide-ui-repository-service</module>
		<module>ide-ui-result</module>
		<module>ide-ui-schema</module>
		<module>ide-ui-schema-menu</module>
		<module>ide-ui-search</module>
		<module>ide-ui-security</module>
		<module>ide-ui-security-menu</module>
		<module>ide-ui-sql</module>
		<module>ide-ui-staging</module>
		<module>ide-ui-swagger</module>
		<module>ide-ui-template-service</module>
		<module>ide-ui-terminal</module>
		<module>ide-ui-transport-service</module>
		<module>ide-ui-websockets</module>
		<module>ide-ui-websockets-menu</module>
		<module>ide-ui-welcome</module>
		<module>ide-ui-workbench</module>
		<module>ide-ui-workspace-menu</module>
		<module>ide-ui-workspace-service</module>
		
		<!-- API -->
		<module>api-core</module>
		<module>api-test</module>
		<module>api-qunit</module>
		<module>api-utils</module>
		<module>api-io</module>
		<module>api-job</module>
		<module>api-bpm</module>
		<module>api-cms</module>
		<module>api-http</module>
		<module>api-log</module>
		<module>api-database</module>
		<module>api-extensions</module>
		<module>api-security</module>
		<module>api-platform</module>
		<module>api-indexing</module>
		<module>api-net</module>
		<module>api-git</module>
		<module>api-messaging</module>
		<module>api-template</module>
		
		<!-- Resources -->
		<module>resources-core</module>
		<module>resources-dev-tools</module>
		<module>resources-flowable-libs</module>
		<module>resources-mxgraph</module>
		<module>resources-resources</module>
		<module>resources-theme-default</module>
		<module>resources-theme-quartz-dark</module>
		<module>resources-theme-quartz-light</module>
		<module>resources-themes</module>
		<module>resources-unicons</module>
		
		<!-- Templates -->
		<module>template-application-angular</module>
		<module>template-application-dao</module>
		<module>template-application-data</module>
		<module>template-application-feed</module>
		<module>template-application-launchpad</module>
		<module>template-application-odata</module>
		<module>template-application-rest</module>
		<module>template-application-schema</module>
		<module>template-application-ui-angular</module>
		<module>template-bookstore</module>
		<module>template-database-access</module>
		<module>template-database-table</module>
		<module>template-database-view</module>
		<module>template-extension-perspective</module>
		<module>template-extension-view</module>
		<module>template-form-builder-angularjs</module>
		<module>template-hello-world</module>
		<module>template-html</module>
		<module>template-http-client</module>
		<module>template-job</module>
		<module>template-listener</module>
		<module>template-websocket</module>
		
		<!-- Groups -->
		<module>group-api</module>
		<module>group-core</module>
		<module>group-database</module>
		<module>group-engines</module>
		<module>group-ide</module>
		<module>group-resources</module>
		<module>group-templates</module>

		<!-- Applications -->
		<module>app-all</module>

		<!-- Test -->
		<module>test-project</module>
	</modules>

	<dependencies>

		<!-- Platform -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>${spring.boot.slf4j.version}</version>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-core</artifactId>
			<version>${spring.boot.logback.version}</version>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
			<version>${spring.boot.logback.version}</version>
			<scope>compile</scope>
		</dependency>

		<!-- Commons -->
		<dependency>
			<groupId>org.eclipse.dirigible</groupId>
			<artifactId>dirigible-commons-config</artifactId>
			<version>7.2.0</version>
			<exclusions>
				<exclusion>
					<groupId>org.apache.cxf</groupId>
					<artifactId>
						cxf-rt-rs-service-description-swagger
					</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!-- Spring Boot -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
			<version>${spring.boot.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.apache.logging.log4j</groupId>
					<artifactId>log4j-to-slf4j</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
		    <groupId>org.springframework.boot</groupId>
		    <artifactId>spring-boot-starter-websocket</artifactId>
		    <version>${spring.boot.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jdbc</artifactId>
			<version>${spring.boot.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
			<version>${spring.boot.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-security</artifactId>
			<version>${spring.boot.version}</version>
		</dependency>
		<dependency>
	        <groupId>org.springframework.security</groupId>
	        <artifactId>spring-security-web</artifactId>
	        <version>${spring-security.version}</version>
	    </dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<version>${spring.boot.version}</version>
			<scope>test</scope>
			<exclusions>
            <exclusion>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
            </exclusion>
        </exclusions>
		</dependency>
		<dependency>
	        <groupId>org.springframework.security</groupId>
	        <artifactId>spring-security-test</artifactId>
	        <version>${spring-security.version}</version>
	        <scope>test</scope>
	    </dependency>

		<!-- Date Type Utils -->
		<dependency>
			<groupId>com.fasterxml.jackson.datatype</groupId>
			<artifactId>jackson-datatype-joda</artifactId>
			<version>${jackson.databind.version}</version>
		</dependency>

		<!-- Bean Validation API support -->
		<dependency>
			<groupId>jakarta.validation</groupId>
			<artifactId>jakarta.validation-api</artifactId>
			<version>${jakarta.validation.version}</version>
		</dependency>

		<!-- Swagger -->
		<dependency>
			<groupId>org.springdoc</groupId>
			<artifactId>springdoc-openapi-ui</artifactId>
			<version>${org.springdoc.openapi.ui.version}</version>
		</dependency>

		<!-- Data Access -->
		<dependency>
			<groupId>com.h2database</groupId>
			<artifactId>h2</artifactId>
			<version>${h2database.version}</version>
		</dependency>

		<!-- WebJars -->
		<dependency>
			<groupId>org.webjars</groupId>
			<artifactId>webjars-locator</artifactId>
			<version>${webjars-locator}</version>
		</dependency>

		<!-- Olingo -->
		<dependency>
			<groupId>org.apache.olingo</groupId>
			<artifactId>olingo-odata2-lib</artifactId>
			<version>${olingo.version}</version>
			<type>pom</type>
			<exclusions>
				<exclusion>
					<groupId>javax.ws.rs</groupId>
					<artifactId>javax.ws.rs-api</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

	</dependencies>

	<properties>
		<license.header.location>../licensing-header.txt</license.header.location>
	</properties>

</project>