diff --git a/dev/scripts/dbschema-generate.sh b/dev/scripts/dbschema-generate.sh index 3df6ee8da..f97f77742 100755 --- a/dev/scripts/dbschema-generate.sh +++ b/dev/scripts/dbschema-generate.sh @@ -32,7 +32,9 @@ username=dtrack password=dtrack EOF -mvn liquibase:update -Dliquibase.propertyFile="$(basename "${TMP_LIQUIBASE_CONFIG_FILE}")"; \ +mvn liquibase:update \ + -Dliquibase.analytics.enabled=false \ + -Dliquibase.propertyFile="$(basename "${TMP_LIQUIBASE_CONFIG_FILE}")"; \ docker exec "${CONTAINER_ID}" pg_dump -Udtrack --schema-only --no-owner --no-privileges dtrack | sed -e '/^--/d' | cat -s > "${ROOT_DIR}/schema.sql"; \ docker stop "${CONTAINER_ID}"; \ rm "${TMP_LIQUIBASE_CONFIG_FILE}" diff --git a/pom.xml b/pom.xml index 41f0c8bcd..f69c750f7 100644 --- a/pom.xml +++ b/pom.xml @@ -86,8 +86,8 @@ ${project.parent.version} 4.2.2 0.5.1 - 10.17.0 - 1.20.0 + 10.20.1 + 1.21.0 1.27.1 2.1.0 1.4.3 @@ -95,25 +95,25 @@ 9.0.5 0.2.0 4.0.5 - 3.45.4 + 3.47.0 4.0.0 4.13.2 3.8.0 - 4.29.2 + 4.30.0 0.2.2 8.5.13 2.0.0 3.9.2 1.5.0 - 0.5.3.1 + 0.5.3.2 3.2.2 4.28.3 1.20.4 2.2.0 - 2.1.22 + 2.1.23 1.19.0 0.7.0 - 7.0.0 + 7.1.0 1.1.1 2.0.16 4.5.14 diff --git a/src/main/java/org/dependencytrack/persistence/migration/MigrationInitializer.java b/src/main/java/org/dependencytrack/persistence/migration/MigrationInitializer.java index 8f9d002f0..f9912dcda 100644 --- a/src/main/java/org/dependencytrack/persistence/migration/MigrationInitializer.java +++ b/src/main/java/org/dependencytrack/persistence/migration/MigrationInitializer.java @@ -22,11 +22,10 @@ import alpine.common.logging.Logger; import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; -import jakarta.servlet.ServletContextEvent; -import jakarta.servlet.ServletContextListener; import liquibase.Liquibase; import liquibase.Scope; import liquibase.UpdateSummaryOutputEnum; +import liquibase.analytics.configuration.AnalyticsArgs; import liquibase.command.CommandScope; import liquibase.command.core.UpdateCommandStep; import liquibase.command.core.helpers.DbUrlConnectionArgumentsCommandStep; @@ -38,6 +37,8 @@ import liquibase.ui.LoggerUIService; import org.dependencytrack.common.ConfigKey; +import jakarta.servlet.ServletContextEvent; +import jakarta.servlet.ServletContextListener; import javax.sql.DataSource; import java.util.HashMap; import java.util.Optional; @@ -97,6 +98,7 @@ public static void runMigration(final DataSource dataSource) throws Exception { public static void runMigration(final DataSource dataSource, final String changelogResourcePath) throws Exception { final var scopeAttributes = new HashMap(); + scopeAttributes.put(AnalyticsArgs.ENABLED.getKey(), false); scopeAttributes.put(Scope.Attr.logService.name(), new LiquibaseLogger.LogService()); scopeAttributes.put(Scope.Attr.ui.name(), new LoggerUIService()); diff --git a/src/test/java/org/dependencytrack/persistence/jdbi/ApiRequestStatementCustomizerTest.java b/src/test/java/org/dependencytrack/persistence/jdbi/ApiRequestStatementCustomizerTest.java index 6603950a2..11476d09b 100644 --- a/src/test/java/org/dependencytrack/persistence/jdbi/ApiRequestStatementCustomizerTest.java +++ b/src/test/java/org/dependencytrack/persistence/jdbi/ApiRequestStatementCustomizerTest.java @@ -74,8 +74,7 @@ public void testWithoutAlpineRequest() { SELECT 1 AS "valueA", 2 AS "valueB" FROM "PROJECT" WHERE TRUE """); - assertThat(ctx.getBinding()).hasToString(""" - {positional:{}, named:{}, finder:[]}"""); + assertThat(ctx.getBinding()).hasToString("{}"); })) .createQuery(TEST_QUERY_TEMPLATE) .mapTo(Integer.class) @@ -98,8 +97,7 @@ public void testWithAlpineRequestFilter() { SELECT 1 AS "valueA", 2 AS "valueB" FROM "PROJECT" WHERE TRUE AND 'foo' = :apiFilter """); - assertThat(ctx.getBinding()).hasToString(""" - {positional:{}, named:{apiFilter:foo}, finder:[]}"""); + assertThat(ctx.getBinding()).hasToString("{named:{apiFilter:foo}}"); })) .createQuery(TEST_QUERY_TEMPLATE) .mapTo(Integer.class) @@ -123,8 +121,7 @@ public void testWithAlpineRequestPagination() { OFFSET :paginationOffset FETCH NEXT :paginationLimit ROWS ONLY """); - assertThat(ctx.getBinding()).hasToString(""" - {positional:{}, named:{paginationOffset:0,paginationLimit:100}, finder:[]}"""); + assertThat(ctx.getBinding()).hasToString("{named:{paginationOffset:0,paginationLimit:100}}"); })) .createQuery(TEST_QUERY_TEMPLATE) .mapTo(Integer.class) @@ -187,8 +184,7 @@ public void testWithAlpineRequestOrderingWithAllowedColumns() { SELECT 1 AS "valueA", 2 AS "valueB" FROM "PROJECT" WHERE TRUE ORDER BY "valueA" DESC """); - assertThat(ctx.getBinding()).hasToString(""" - {positional:{}, named:{}, finder:[]}"""); + assertThat(ctx.getBinding()).hasToString("{}"); })) .createQuery(TEST_QUERY_TEMPLATE) .mapTo(Integer.class) @@ -259,8 +255,7 @@ public void testWithAlpineRequestOrderingWithAlwaysByMatchingOrderBy() { SELECT 1 AS "valueA", 2 AS "valueB" FROM "PROJECT" WHERE TRUE ORDER BY "valueA" DESC """); - assertThat(ctx.getBinding()).hasToString(""" - {positional:{}, named:{}, finder:[]}"""); + assertThat(ctx.getBinding()).hasToString("{}"); })) .createQuery(TEST_QUERY_TEMPLATE) .mapTo(Integer.class) @@ -287,8 +282,7 @@ public void testWithAlpineRequestOrderingWithAlwaysBy() { SELECT 1 AS "valueA", 2 AS "valueB" FROM "PROJECT" WHERE TRUE ORDER BY "valueA" DESC, "valueB" """); - assertThat(ctx.getBinding()).hasToString(""" - {positional:{}, named:{}, finder:[]}"""); + assertThat(ctx.getBinding()).hasToString("{}"); })) .createQuery(TEST_QUERY_TEMPLATE) .mapTo(Integer.class) @@ -315,8 +309,7 @@ public void testWithAlpineRequestOrderingWithAlwaysByAndDirection() { SELECT 1 AS "valueA", 2 AS "valueB" FROM "PROJECT" WHERE TRUE ORDER BY "valueA" DESC, "valueB" asc """); - assertThat(ctx.getBinding()).hasToString(""" - {positional:{}, named:{}, finder:[]}"""); + assertThat(ctx.getBinding()).hasToString("{}"); })) .createQuery(TEST_QUERY_TEMPLATE) .mapTo(Integer.class) @@ -349,8 +342,7 @@ public void testWithPortfolioAclDisabled() { SELECT 1 AS "valueA", 2 AS "valueB" FROM "PROJECT" WHERE TRUE """); - assertThat(ctx.getBinding()).hasToString(""" - {positional:{}, named:{}, finder:[]}"""); + assertThat(ctx.getBinding()).hasToString("{}"); })) .createQuery(TEST_QUERY_TEMPLATE) .mapTo(Integer.class) @@ -383,8 +375,7 @@ public void testWithPortfolioAclEnabledWithNoTeams() { SELECT 1 AS "valueA", 2 AS "valueB" FROM "PROJECT" WHERE TRUE AND FALSE """); - assertThat(ctx.getBinding()).hasToString(""" - {positional:{}, named:{}, finder:[]}"""); + assertThat(ctx.getBinding()).hasToString("{}"); })) .createQuery(TEST_QUERY_TEMPLATE) .mapTo(Integer.class) @@ -423,8 +414,7 @@ public void testWithPortfolioAclEnabledWithApiKeyHavingAccessManagementPermissio SELECT 1 AS "valueA", 2 AS "valueB" FROM "PROJECT" WHERE TRUE """); - assertThat(ctx.getBinding()).hasToString(""" - {positional:{}, named:{}, finder:[]}"""); + assertThat(ctx.getBinding()).hasToString("{}"); })) .createQuery(TEST_QUERY_TEMPLATE) .mapTo(Integer.class) @@ -463,8 +453,7 @@ public void testWithPortfolioAclEnabledWithManagedUserHavingAccessManagementPerm SELECT 1 AS "valueA", 2 AS "valueB" FROM "PROJECT" WHERE TRUE """); - assertThat(ctx.getBinding()).hasToString(""" - {positional:{}, named:{}, finder:[]}"""); + assertThat(ctx.getBinding()).hasToString("{}"); })) .createQuery(TEST_QUERY_TEMPLATE) .mapTo(Integer.class) @@ -503,8 +492,7 @@ public void testWithPortfolioAclEnabledWithLdapUserHavingAccessManagementPermiss SELECT 1 AS "valueA", 2 AS "valueB" FROM "PROJECT" WHERE TRUE """); - assertThat(ctx.getBinding()).hasToString(""" - {positional:{}, named:{}, finder:[]}"""); + assertThat(ctx.getBinding()).hasToString("{}"); })) .createQuery(TEST_QUERY_TEMPLATE) .mapTo(Integer.class) @@ -543,8 +531,7 @@ public void testWithPortfolioAclEnabledWithOidcUserHavingAccessManagementPermiss SELECT 1 AS "valueA", 2 AS "valueB" FROM "PROJECT" WHERE TRUE """); - assertThat(ctx.getBinding()).hasToString(""" - {positional:{}, named:{}, finder:[]}"""); + assertThat(ctx.getBinding()).hasToString("{}"); })) .createQuery(TEST_QUERY_TEMPLATE) .mapTo(Integer.class) @@ -586,8 +573,7 @@ AND EXISTS (SELECT 1 ) """); - assertThat(ctx.getBinding()).hasToString(""" - {positional:{}, named:{projectAclTeamIds:[%s]}, finder:[]}""".formatted(team.getId())); + assertThat(ctx.getBinding()).hasToString("{named:{projectAclTeamIds:[%s]}}".formatted(team.getId())); })) .createQuery(TEST_QUERY_TEMPLATE) .mapTo(Integer.class)