Skip to content

Commit

Permalink
Add metadata for flyway-core 10.15 (#519)
Browse files Browse the repository at this point in the history
  • Loading branch information
wilkinsona authored Oct 7, 2024
1 parent 736dbe6 commit d72c891
Show file tree
Hide file tree
Showing 14 changed files with 252 additions and 0 deletions.
4 changes: 4 additions & 0 deletions metadata/org.flywaydb/flyway-core/10.15.0/index.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[
"reflect-config.json",
"resource-config.json"
]
72 changes: 72 additions & 0 deletions metadata/org.flywaydb/flyway-core/10.15.0/reflect-config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
[
{
"name": "org.flywaydb.core.api.migration.baseline.BaselineMigrationConfigurationExtension",
"condition": {
"typeReachable": "org.flywaydb.core.internal.plugin.PluginRegister"
},
"allPublicConstructors": true,
"allPublicMethods": true
},
{
"name": "org.flywaydb.core.extensibility.ConfigurationExtension",
"condition": {
"typeReachable": "org.flywaydb.core.internal.plugin.PluginRegister"
},
"allPublicMethods": true
},
{
"name": "org.flywaydb.core.extensibility.Plugin",
"condition": {
"typeReachable": "org.flywaydb.core.internal.plugin.PluginRegister"
},
"allPublicMethods": true
},
{
"name": "org.flywaydb.core.internal.command.clean.CleanModeConfigurationExtension",
"condition": {
"typeReachable": "org.flywaydb.core.internal.plugin.PluginRegister"
},
"allPublicConstructors": true,
"allPublicMethods": true
},
{
"name": "org.flywaydb.core.internal.logging.slf4j.Slf4jLogCreator",
"condition": {
"typeReachable": "org.slf4j.Logger"
},
"allPublicConstructors": true
},
{
"name": "org.flywaydb.core.internal.logging.log4j2.Log4j2LogCreator",
"condition": {
"typeReachable": "org.apache.logging.log4j.Logger"
},
"allPublicConstructors": true
},
{
"name": "org.flywaydb.core.internal.logging.apachecommons.ApacheCommonsLogCreator",
"condition": {
"typeReachable": "org.apache.commons.logging.Log"
},
"allPublicConstructors": true
},
{
"name": "org.flywaydb.core.internal.publishing.PublishingConfigurationExtension",
"condition": {
"typeReachable": "org.flywaydb.core.internal.plugin.PluginRegister"
},
"allPublicMethods": true
},
{
"name": "sun.security.provider.SHA2$SHA256",
"condition": {
"typeReachable": "org.flywaydb.core.internal.jdbc.JdbcUtils"
},
"methods": [
{
"name": "<init>",
"parameterTypes": []
}
]
}
]
13 changes: 13 additions & 0 deletions metadata/org.flywaydb/flyway-core/10.15.0/resource-config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"bundles": [],
"resources": {
"includes": [
{
"condition": {
"typeReachable": "org.flywaydb.core.internal.license.VersionPrinter"
},
"pattern": "\\Qorg/flywaydb/core/internal/version.txt\\E"
}
]
}
}
7 changes: 7 additions & 0 deletions metadata/org.flywaydb/flyway-core/index.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
[
{
"latest": true,
"metadata-version": "10.15.0",
"module": "org.flywaydb:flyway-core",
"tested-versions": [
"10.15.0"
]
},
{
"metadata-version": "10.10.0",
"module": "org.flywaydb:flyway-core",
"tested-versions": [
Expand Down
6 changes: 6 additions & 0 deletions tests/src/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -406,6 +406,12 @@
"name" : "org.flywaydb:flyway-core",
"versions" : [ "10.10.0" ]
} ]
}, {
"test-project-path" : "org.flywaydb/flyway-core/10.15.0",
"libraries" : [ {
"name" : "org.flywaydb:flyway-core",
"versions" : [ "10.15.0" ]
} ]
}, {
"test-project-path" : "org.flywaydb/flyway-core/9.0.1",
"libraries" : [ {
Expand Down
4 changes: 4 additions & 0 deletions tests/src/org.flywaydb/flyway-core/10.15.0/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
gradlew.bat
gradlew
gradle/
build/
18 changes: 18 additions & 0 deletions tests/src/org.flywaydb/flyway-core/10.15.0/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/*
* Copyright and related rights waived via CC0
*
* You should have received a copy of the CC0 legalcode along with this
* work. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
*/
plugins {
id "org.graalvm.internal.tck"
}

String libraryVersion = tck.testedLibraryVersion.get()

dependencies {
testImplementation "org.flywaydb:flyway-core:$libraryVersion"
testImplementation 'com.h2database:h2:2.1.210'
testImplementation 'org.assertj:assertj-core:3.22.0'
testImplementation 'org.awaitility:awaitility:4.2.0'
}
2 changes: 2 additions & 0 deletions tests/src/org.flywaydb/flyway-core/10.15.0/gradle.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
library.version = 10.15.0
metadata.dir = org.flywaydb/flyway-core/10.15.0/
13 changes: 13 additions & 0 deletions tests/src/org.flywaydb/flyway-core/10.15.0/settings.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
pluginManagement {
def tckPath = Objects.requireNonNullElse(
System.getenv("GVM_TCK_TCKDIR"),
"../../../../tck-build-logic"
)
includeBuild(tckPath)
}

plugins {
id "org.graalvm.internal.tck-settings" version "1.0.0-SNAPSHOT"
}

rootProject.name = 'org.flywaydb.flyway-core_tests'
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/*
* Copyright and related rights waived via CC0
*
* You should have received a copy of the CC0 legalcode along with this
* work. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
*/
package org_flywaydb.flyway_core;

import org.flywaydb.core.api.ResourceProvider;
import org.flywaydb.core.api.resource.LoadableResource;
import org.flywaydb.core.internal.resource.classpath.ClassPathResource;

import java.nio.charset.StandardCharsets;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
import java.util.stream.Collectors;

/**
* This is needed as GraalVM doesn't support enumerating resources. It uses a hardcoded list of migrations.
*/
class FixedResourceProvider implements ResourceProvider {
private static final Set<String> MIGRATIONS;

static {
Set<String> migrations = new HashSet<>();
migrations.add("db/migration/V1__create_table.sql");
migrations.add("db/migration/V2__alter_table.sql");
MIGRATIONS = Collections.unmodifiableSet(migrations);
}

@Override
public LoadableResource getResource(String name) {
if (!MIGRATIONS.contains(name)) {
return null;
}
return new ClassPathResource(null, name, getClass().getClassLoader(), StandardCharsets.UTF_8);
}

@Override
public Collection<LoadableResource> getResources(String prefix, String[] suffixes) {
return MIGRATIONS.stream()
.map(file -> new ClassPathResource(null, file, getClass().getClassLoader(), StandardCharsets.UTF_8))
.collect(Collectors.toList());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
/*
* Copyright and related rights waived via CC0
*
* You should have received a copy of the CC0 legalcode along with this
* work. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
*/
package org_flywaydb.flyway_core;

import org.flywaydb.core.Flyway;
import org.flywaydb.core.api.configuration.Configuration;
import org.flywaydb.core.api.configuration.FluentConfiguration;
import org.flywaydb.core.api.output.MigrateResult;
import org.h2.jdbcx.JdbcDataSource;
import org.junit.jupiter.api.Test;

import javax.sql.DataSource;
import java.nio.charset.StandardCharsets;

import static org.assertj.core.api.Assertions.assertThat;

public class Flyway_coreTest {

@Test
void migrate() {
DataSource dataSource = getDataSource();

Configuration configuration = new FluentConfiguration()
.dataSource(dataSource)
.encoding(StandardCharsets.UTF_8)
.resourceProvider(new FixedResourceProvider());

Flyway flyway = new Flyway(configuration);
MigrateResult migration = flyway.migrate();

assertThat(migration.success).isTrue();
assertThat(migration.migrationsExecuted).isEqualTo(2);
}

private DataSource getDataSource() {
JdbcDataSource dataSource = new JdbcDataSource();
dataSource.setUrl("jdbc:h2:mem:test");
dataSource.setUser("user");
dataSource.setPassword("password");
return dataSource;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"bundles": [],
"resources": {
"includes": [
{
"pattern": "\\Qdb/migration/V1__create_table.sql\\E"
},
{
"pattern": "\\Qdb/migration/V2__alter_table.sql\\E"
}
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
CREATE TABLE test
(
id INT PRIMARY KEY,
title VARCHAR NOT NULL
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
ALTER TABLE test
ADD COLUMN name INT NOT NULL DEFAULT 1;

0 comments on commit d72c891

Please sign in to comment.