class FlywayBuildCustomizer implements BuildCustomizer<Build> {

	private static final VersionRange SPRING_BOOT_3_2_M1_OR_LATER = VersionParser.DEFAULT.parseRange("3.2.0-M1");

	private static final VersionRange SPRING_BOOT_3_3_M3_OR_LATER = VersionParser.DEFAULT.parseRange("3.3.0-M3");

	private final boolean isSpringBoot32OrLater;

	private final boolean isSpringBoot33OrLater;

	FlywayBuildCustomizer(ProjectDescription projectDescription) {
		this.isSpringBoot32OrLater = SPRING_BOOT_3_2_M1_OR_LATER.match(projectDescription.getPlatformVersion());
		this.isSpringBoot33OrLater = SPRING_BOOT_3_3_M3_OR_LATER.match(projectDescription.getPlatformVersion());
	}

	@Override
	public void customize(Build build) {<FILL_FUNCTION_BODY>}

}

		DependencyContainer dependencies = build.dependencies();
		if ((dependencies.has("mysql") || dependencies.has("mariadb"))) {
			dependencies.add("flyway-mysql", "org.flywaydb", "flyway-mysql", DependencyScope.COMPILE);
		}
		if (dependencies.has("sqlserver")) {
			dependencies.add("flyway-sqlserver", "org.flywaydb", "flyway-sqlserver", DependencyScope.COMPILE);
		}
		if (this.isSpringBoot32OrLater) {
			if (dependencies.has("oracle")) {
				dependencies.add("flyway-oracle", "org.flywaydb", "flyway-database-oracle", DependencyScope.COMPILE);
			}
		}
		if (this.isSpringBoot33OrLater) {
			if (dependencies.has("db2")) {
				dependencies.add("flyway-database-db2", "org.flywaydb", "flyway-database-db2", DependencyScope.COMPILE);
			}
			if (dependencies.has("derby")) {
				dependencies.add("flyway-database-derby", "org.flywaydb", "flyway-database-derby",
						DependencyScope.COMPILE);
			}
			if (dependencies.has("hsql")) {
				dependencies.add("flyway-database-hsqldb", "org.flywaydb", "flyway-database-hsqldb",
						DependencyScope.COMPILE);
			}
			if (dependencies.has("postgresql")) {
				dependencies.add("flyway-database-postgresql", "org.flywaydb", "flyway-database-postgresql",
						DependencyScope.COMPILE);
			}
		}
	
<no_super_class>