/*
 * Hibernate, Relational Persistence for Idiomatic Java
 *
 * License: GNU Lesser General Public License (LGPL), version 2.1 or later.
 * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
 */
repositories {
	mavenCentral()
}

apply plugin: 'java-gradle-plugin'

group = 'org.hibernate.build'
version = '1.0.0-SNAPSHOT'
buildDir = "target"

dependencies {
	implementation gradleApi()
	implementation 'io.smallrye:jandex:3.1.2'
	implementation 'org.apache.httpcomponents:httpclient:4.5.13'
	implementation 'jakarta.json.bind:jakarta.json.bind-api:2.0.0'
	implementation 'jakarta.json:jakarta.json-api:2.0.1'
	implementation 'org.eclipse:yasson:2.0.4'
	implementation 'org.jsoup:jsoup:1.15.3'

	implementation "org.apache.maven:maven-embedder:3.9.9"
	implementation "org.apache.maven:maven-compat:3.9.9"
	implementation "org.apache.maven.resolver:maven-resolver-connector-basic:1.9.18"
	implementation "org.apache.maven.resolver:maven-resolver-transport-http:1.9.18"
}

tasks.compileJava {
	options.encoding = 'UTF-8'
	sourceCompatibility = 11
	targetCompatibility = 11
}

gradlePlugin {
	plugins {
		databaseServicePlugin {
			id = 'org.hibernate.orm.database-service'
			implementationClass = 'org.hibernate.orm.db.DatabaseServicePlugin'
		}
		antlrPlugin {
			id = 'org.hibernate.orm.antlr'
			implementationClass = 'org.hibernate.orm.antlr.AntlrPlugin'
		}
		jakartaPlugin {
			id = 'org.hibernate.orm.jakarta'
			implementationClass = 'org.hibernate.orm.jakarta.JakartaPlugin'
		}
		jakartaPublishPlugin {
			id = 'org.hibernate.orm.jakarta-publish'
			implementationClass = 'org.hibernate.orm.jakarta.JakartaPublishingPlugin'
		}
		reportsPlugin {
			id = 'org.hibernate.orm.build.reports'
			implementationClass = 'org.hibernate.orm.post.ReportGenerationPlugin'
		}
		docPubPlugin {
			id = 'org.hibernate.orm.build.doc-pub'
			implementationClass = 'org.hibernate.orm.docs.DocumentationPublishingPlugin'
		}
		envSettings {
			id = 'org.hibernate.orm.build.env-settings'
			implementationClass = 'org.hibernate.orm.env.EnvironmentSettingsPlugin'
		}
		jdkVersionSettings {
			id = 'org.hibernate.orm.build.jdks-settings'
			implementationClass = 'org.hibernate.orm.toolchains.JdkVersionSettingsPlugin'
		}
		envProject {
			id = 'org.hibernate.orm.build.env-project'
			implementationClass = 'org.hibernate.orm.env.EnvironmentProjectPlugin'
		}
		settingsDocumentationPlugin {
			id = 'org.hibernate.orm.build.settings-doc'
			implementationClass = 'org.hibernate.orm.properties.SettingsDocumentationPlugin'
		}
		jdkVersionsPlugin {
			id = 'org.hibernate.orm.build.jdks'
			implementationClass = 'org.hibernate.orm.toolchains.JdkVersionPlugin'
		}
		javaModulePlugin {
			id = 'org.hibernate.orm.build.java-module'
			implementationClass = 'org.hibernate.orm.toolchains.JavaModulePlugin'
		}
		register( "mavenEmbedder" ) {
			id = "org.hibernate.build.maven-embedder"
			implementationClass = "org.hibernate.build.maven.embedder.MavenEmbedderPlugin"
		}
	}
}