Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Try to get the liquibase 4.23.0 metadata #1

Merged
merged 1 commit into from
Oct 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4,723 changes: 3,468 additions & 1,255 deletions metadata/org.liquibase/liquibase-core/4.23.0/reflect-config.json

Large diffs are not rendered by default.

110 changes: 85 additions & 25 deletions metadata/org.liquibase/liquibase-core/4.23.0/resource-config.json
Original file line number Diff line number Diff line change
@@ -1,26 +1,86 @@
{
"bundles": [
{
"name": "liquibase/i18n/liquibase-core",
"locales": [
"und"
]
}
],
"resources": {
"includes": [
{
"condition": {
"typeReachable": "liquibase.util.LiquibaseUtil"
},
"pattern": "\\Qliquibase.build.properties\\E"
},
{
"condition": {
"typeReachable": "liquibase.parser.core.xml.LiquibaseEntityResolver"
},
"pattern": "^www.liquibase.org/xml/ns/dbchangelog/dbchangelog-.*"
}
]
}
}
"resources":{
"includes":[{
"condition":{"typeReachable":"liquibase.parser.core.yaml.YamlChangeLogParser"},
"pattern":"\\QMETA-INF/services/liquibase.change.Change\\E"
}, {
"condition":{"typeReachable":"liquibase.command.CommandFactory"},
"pattern":"\\QMETA-INF/services/liquibase.command.CommandStep\\E"
}, {
"condition":{"typeReachable":"liquibase.configuration.LiquibaseConfiguration"},
"pattern":"\\QMETA-INF/services/liquibase.configuration.AutoloadedConfigurations\\E"
}, {
"condition":{"typeReachable":"liquibase.configuration.LiquibaseConfiguration"},
"pattern":"\\QMETA-INF/services/liquibase.configuration.ConfigurationValueProvider\\E"
}, {
"condition":{"typeReachable":"liquibase.database.DatabaseFactory"},
"pattern":"\\QMETA-INF/services/liquibase.database.Database\\E"
}, {
"condition":{"typeReachable":"liquibase.datatype.DataTypeFactory"},
"pattern":"\\QMETA-INF/services/liquibase.datatype.LiquibaseDataType\\E"
}, {
"condition":{"typeReachable":"liquibase.diff.DiffGeneratorFactory"},
"pattern":"\\QMETA-INF/services/liquibase.diff.DiffGenerator\\E"
}, {
"condition":{"typeReachable":"liquibase.diff.compare.DatabaseObjectComparatorFactory"},
"pattern":"\\QMETA-INF/services/liquibase.diff.compare.DatabaseObjectComparator\\E"
}, {
"condition":{"typeReachable":"liquibase.diff.output.changelog.ChangeGeneratorFactory"},
"pattern":"\\QMETA-INF/services/liquibase.diff.output.changelog.ChangeGenerator\\E"
}, {
"condition":{"typeReachable":"liquibase.license.LicenseServiceFactory"},
"pattern":"\\QMETA-INF/services/liquibase.license.LicenseService\\E"
}, {
"condition":{"typeReachable":"liquibase.lockservice.LockServiceFactory"},
"pattern":"\\QMETA-INF/services/liquibase.lockservice.LockService\\E"
}, {
"condition":{"typeReachable":"liquibase.logging.core.LogServiceFactory"},
"pattern":"\\QMETA-INF/services/liquibase.logging.LogService\\E"
}, {
"condition":{"typeReachable":"liquibase.parser.ChangeLogParserFactory"},
"pattern":"\\QMETA-INF/services/liquibase.parser.ChangeLogParser\\E"
}, {
"condition":{"typeReachable":"liquibase.precondition.PreconditionFactory"},
"pattern":"\\QMETA-INF/services/liquibase.precondition.Precondition\\E"
}, {
"condition":{"typeReachable":"liquibase.Scope"},
"pattern":"\\QMETA-INF/services/liquibase.servicelocator.ServiceLocator\\E"
}, {
"condition":{"typeReachable":"liquibase.snapshot.SnapshotGeneratorFactory"},
"pattern":"\\QMETA-INF/services/liquibase.snapshot.SnapshotGenerator\\E"
}, {
"condition":{"typeReachable":"liquibase.sqlgenerator.SqlGeneratorFactory"},
"pattern":"\\QMETA-INF/services/liquibase.sqlgenerator.SqlGenerator\\E"
}, {
"condition":{"typeReachable":"liquibase.structure.core.DatabaseObjectFactory"},
"pattern":"\\QMETA-INF/services/liquibase.structure.DatabaseObject\\E"
}, {
"condition":{"typeReachable":"liquibase.command.core.helpers.DatabaseChangelogCommandStep"},
"pattern":"\\Qchangelog.xml\\E"
}, {
"condition":{"typeReachable":"liquibase.parser.core.yaml.YamlChangeLogParser"},
"pattern":"\\Qchangelog.yaml\\E"
}, {
"condition":{"typeReachable":"liquibase.changelog.DatabaseChangeLog"},
"pattern":"\\Qincluded.changelog.xml\\E"
}, {
"condition":{"typeReachable":"liquibase.util.LiquibaseUtil"},
"pattern":"\\Qliquibase.build.properties\\E"
}, {
"condition":{"typeReachable":"liquibase.changelog.DatabaseChangeLog"},
"pattern":"\\Qrenamed.changelog.xml\\E"
}, {
"condition":{"typeReachable":"liquibase.parser.core.xml.LiquibaseEntityResolver$CombinedClassLoader"},
"pattern":"\\Qwww.liquibase.org/xml/ns/dbchangelog/dbchangelog-latest.xsd\\E"
}, {
"condition":{"typeReachable":"liquibase.changelog.visitor.StatusVisitor"},
"pattern":"java.base:\\Qjdk/internal/icu/impl/data/icudt67b/nfc.nrm\\E"
}]},
"bundles":[{
"name":"com.sun.org.apache.xerces.internal.impl.xpath.regex.message",
"locales":["und"]
}, {
"name":"liquibase/i18n/liquibase-core",
"locales":["und"]
}]
}
5 changes: 5 additions & 0 deletions tests/src/org.liquibase/liquibase-core/4.23.0/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
gradlew.bat
gradlew
gradle/
build/
generate-metadata/
10 changes: 10 additions & 0 deletions tests/src/org.liquibase/liquibase-core/4.23.0/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@

# Liquibase

The metadata has been generated by executing the following script:

```bash
./generate-metadata.sh
```

The generated metadata can be found in the `generated-metadata` directory.
43 changes: 43 additions & 0 deletions tests/src/org.liquibase/liquibase-core/4.23.0/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
/*
* 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.liquibase:liquibase-core:$libraryVersion"
testImplementation 'com.h2database:h2:2.1.210'
testImplementation 'org.assertj:assertj-core:3.22.0'
}

task deleteGeneratedMetadata(type: Delete) {
delete files(project.projectDir.toString() + "/generated-metadata")
}

graalvmNative {
agent {
defaultMode = "conditional"
modes {
conditional {
userCodeFilterPath = "user-code-filter.json"
}
}
metadataCopy {
inputTaskNames.add("test")
outputDirectories.add("generated-metadata")
mergeWithExisting = true
}
}
binaries {
test {
buildArgs.add('--enable-url-protocols=http')
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/usr/bin/env bash

../../../../../gradlew clean
../../../../../gradlew deleteGeneratedMetadata
../../../../../gradlew test --tests "org_liquibase.liquibase_core.LiquibaseCoreTest" -Pagent metadataCopy
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
library.version=4.23.0
metadata.dir=org.liquibase/liquibase-core/4.23.0/
13 changes: 13 additions & 0 deletions tests/src/org.liquibase/liquibase-core/4.23.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.liquibase.liquibase-core_tests'
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
/*
* 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_liquibase.liquibase_core;

import liquibase.change.custom.CustomSqlChange;
import liquibase.change.custom.CustomSqlRollback;
import liquibase.database.Database;
import liquibase.exception.RollbackImpossibleException;
import liquibase.exception.SetupException;
import liquibase.exception.ValidationErrors;
import liquibase.resource.ResourceAccessor;
import liquibase.statement.SqlStatement;
import liquibase.statement.core.RawSqlStatement;
import liquibase.structure.core.Column;
import liquibase.structure.core.Table;

public class ExampleCustomSqlChange implements CustomSqlChange, CustomSqlRollback {

private String schemaName;
private String tableName;
private String columnName;
private String newValue;

@SuppressWarnings("unused")
private ResourceAccessor resourceAccessor;


public String getSchemaName() {
return schemaName;
}

public void setSchemaName(String schemaName) {
this.schemaName = schemaName;
}

public String getTableName() {
return tableName;
}

public void setTableName(String tableName) {
this.tableName = tableName;
}

public String getColumnName() {
return columnName;
}

public void setColumnName(String columnName) {
this.columnName = columnName;
}

public String getNewValue() {
return newValue;
}

public void setNewValue(String newValue) {
this.newValue = newValue;
}

@Override
public SqlStatement[] generateStatements(Database database) {
return new SqlStatement[]{
new RawSqlStatement("UPDATE " + database.escapeObjectName(null, schemaName, tableName, Table.class)
+ " SET " + database.escapeObjectName(columnName, Column.class) + " = " + newValue)
};
}

@Override
public SqlStatement[] generateRollbackStatements(Database database) throws RollbackImpossibleException {
return new SqlStatement[]{
new RawSqlStatement("UPDATE " + database.escapeObjectName(null, schemaName, tableName, Table.class)
+ " SET " + database.escapeObjectName(columnName, Column.class) + " = NULL")
};
}

@Override
public String getConfirmationMessage() {
return "Custom class updated " + tableName + "." + columnName;
}

@Override
public void setUp() throws SetupException {
}

@Override
public void setFileOpener(ResourceAccessor resourceAccessor) {
this.resourceAccessor = resourceAccessor;
}

@Override
public ValidationErrors validate(Database database) {
return new ValidationErrors();
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
/*
* 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_liquibase.liquibase_core;

import liquibase.Scope;
import liquibase.change.custom.CustomTaskChange;
import liquibase.change.custom.CustomTaskRollback;
import liquibase.database.Database;
import liquibase.exception.ValidationErrors;
import liquibase.resource.ResourceAccessor;

public class ExampleCustomTaskChange implements CustomTaskChange, CustomTaskRollback {

private String helloTo;

@SuppressWarnings({"UnusedDeclaration", "FieldCanBeLocal"})
private ResourceAccessor resourceAccessor;


public String getHelloTo() {
return helloTo;
}

public void setHelloTo(String helloTo) {
this.helloTo = helloTo;
}

@Override
public void execute(Database database) {
Scope.getCurrentScope().getLog(getClass()).info("Hello " + getHelloTo());
}

@Override
public void rollback(Database database) {
Scope.getCurrentScope().getLog(getClass()).info("Goodbye " + getHelloTo());
}

@Override
public String getConfirmationMessage() {
return "Said Hello";
}

@Override
public void setUp() {
}

@Override
public void setFileOpener(ResourceAccessor resourceAccessor) {
this.resourceAccessor = resourceAccessor;
}

@Override
public ValidationErrors validate(Database database) {
return new ValidationErrors();
}
}
Loading