<% if(versionManagement === 'properties') { -%>
<% if(dsl === 'groovy') { -%>
plugins {
	id 'java'
	id 'org.springframework.boot' apply false
	id 'io.spring.dependency-management'
}

group = '<%= groupId %>'
version = '<%= projectVersion %>'

java {
  sourceCompatibility = "${javaVersion}"
}

repositories {
	mavenCentral()
}

dependencyManagement {
  imports {
    mavenBom org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES
  }
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

tasks.named('test') {
    useJUnitPlatform()
}
<% } -%>
<% if(dsl === 'kotlin') { -%>
val javaVersion: String by project

plugins {
	java
	id("org.springframework.boot") apply false
	id("io.spring.dependency-management")
}

group = "<%= groupId %>"
version = "<%= projectVersion %>"

java {
  sourceCompatibility = JavaVersion.toVersion(javaVersion)
}

repositories {
	mavenCentral()
}

dependencyManagement {
	imports {
		mavenBom(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
	}
}

dependencies {
	implementation("org.springframework.boot:spring-boot-starter")
	testImplementation("org.springframework.boot:spring-boot-starter-test")
}

tasks.withType<Test> {
  useJUnitPlatform()
}
<% } -%>
<% } -%>
<% if(versionManagement === 'version-catalog') { -%>
<% if(dsl === 'groovy') { -%>
plugins {
	id 'java'
  alias libs.plugins.springframework.boot apply false
  alias libs.plugins.spring.dependency.management
}

group = '<%= groupId %>'
version = '<%= projectVersion %>'

java {
  sourceCompatibility = libs.versions.java.get()
}

repositories {
	mavenCentral()
}

dependencyManagement {
  imports {
    mavenBom org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES
  }
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

tasks.named('test') {
    useJUnitPlatform()
}
<% } -%>
<% if(dsl === 'kotlin') { -%>
plugins {
	java
	alias(libs.plugins.springframework.boot) apply false
  alias(libs.plugins.spring.dependency.management)
}

group = "<%= groupId %>"
version = "<%= projectVersion %>"

java {
  sourceCompatibility = JavaVersion.toVersion(libs.versions.java.get())
}

repositories {
	mavenCentral()
}

dependencyManagement {
	imports {
		mavenBom(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
	}
}

dependencies {
	implementation("org.springframework.boot:spring-boot-starter")
	testImplementation("org.springframework.boot:spring-boot-starter-test")
}

tasks.withType<Test> {
  useJUnitPlatform()
}
<% } -%>
<% } -%>
