refactor: 각 어댑터터별 리펙토링 진행
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
# ADR-GQL-001 — GraphQL context stays inbound; object authorization moves to application-core; the persisted-operation store stays an inbound SPI
|
||||
|
||||
- Status: Accepted
|
||||
- Date: 2026-08-24
|
||||
- Review: `docs/reviews/2026-08-14-graphql-module-code-review.md` GQL-026
|
||||
|
||||
## Context
|
||||
|
||||
The GraphQL leaf's own documentation described three things crossing its boundary: a
|
||||
`GraphQlRequestContext` with a deadline propagated into application, JPA, Mongo and the HTTP client;
|
||||
object authorization decided inside the transport; and a persisted-operation registry implemented by
|
||||
an external durable store.
|
||||
|
||||
Two of those invert the dependency direction. If `application-core` or an outbound adapter
|
||||
implements a type that lives in `adapter:inbound:graphql`, the registry edge that says inbound
|
||||
depends on application is satisfied while the real compile-time dependency runs the other way.
|
||||
|
||||
The third is a business rule in the wrong layer: whether an actor may see an object is a decision
|
||||
about the domain, and GraphQL is one of four transports this skeleton ships.
|
||||
|
||||
## Decision
|
||||
|
||||
Three different answers, because the three problems are not the same problem.
|
||||
|
||||
**GraphQL context stays inbound-local.** It is mapped explicitly onto application command fields —
|
||||
actor, tenant, deadline — rather than travelling as a type. Nothing outside the leaf references
|
||||
`GraphQlRequestContext`, and the boundary test is that grep returns nothing outside it.
|
||||
|
||||
**Object authorization moves to `application-core`.** `ObjectAccessPolicy`, `ObjectAccessRequest`
|
||||
and `ObjectAccessDecision` are transport-neutral and live with the other application policies;
|
||||
`ApplicationObjectAuthorization` in the GraphQL leaf is the bridge that calls them. This is the one
|
||||
of the three that was a real layering defect, and it is fixed rather than documented.
|
||||
|
||||
**The persisted-operation store stays an inbound-owned SPI.** `GraphQlPersistedOperationRegistry`
|
||||
remains in `advanced/persisted`, and no leaf outside GraphQL implements it.
|
||||
|
||||
## Consequences
|
||||
|
||||
The third decision is the one that needs defending, because it leaves the reported risk in place
|
||||
rather than removing it.
|
||||
|
||||
The risk is conditional: the direction inverts only when something outside the leaf implements the
|
||||
interface. Nothing does. The template ships an in-memory registry and no durable one, because it
|
||||
ships no persisted-operation store at all.
|
||||
|
||||
The alternative was to introduce a generic operational key-value store port owned by a neutral
|
||||
contract holder, with the GraphQL adapter owning only the key and value mapping. That port would
|
||||
have exactly one interface, zero implementations and one speculative consumer — a new abstraction
|
||||
whose shape is guessed from a requirement nobody has stated. This repository has spent a full
|
||||
remediation pass deleting controls that existed and were reached by nothing, and inventing a port
|
||||
for a store that does not exist is how the next one of those gets written.
|
||||
|
||||
So the decision is to leave the SPI where it is and to move it when a durable store is actually
|
||||
built. Moving it then is a rename across one leaf and one new adapter, which is cheaper than
|
||||
carrying a wrong abstraction until then. What must not happen in the meantime is an outbound leaf
|
||||
implementing the inbound interface, because that is the moment the direction actually inverts, and
|
||||
it would happen in a commit whose diff looks like an implementation rather than a layering change.
|
||||
|
||||
The composition root wires these and owns no business or storage policy of its own.
|
||||
|
||||
## Enforcement
|
||||
|
||||
`verifyCleanArchitectureDependencies` and `modules.json` hold the leaf's edges to
|
||||
`domain-core`, `application-core` and `shared-contract`. `ObjectAccessPolicyTest` covers the
|
||||
application-side policy and `ApplicationObjectAuthorizationTest` the bridge.
|
||||
|
||||
The condition this ADR turns on — that nothing outside the GraphQL leaf implements the
|
||||
persisted-operation SPI — is a claim about the whole repository, so it is checked at the
|
||||
composition root rather than inside the leaf, next to the other GraphQL boundary rules in
|
||||
`app-bootstrap`'s architecture suite.
|
||||
@@ -0,0 +1,67 @@
|
||||
# ADR-JPA-006 — `audit` is the canonical technical audit model; `auditing` stays a frozen candidate
|
||||
|
||||
- Status: Accepted
|
||||
- Date: 2026-08-24
|
||||
- Review: `docs/reviews/2026-08-14-jpa-module-code-review.md` JPA-022
|
||||
|
||||
## Context
|
||||
|
||||
Two complete technical-audit mechanisms live in this leaf and they disagree about the schema.
|
||||
|
||||
`audit/AuditableEntity` stamps `created_at`/`created_by`/`updated_at`/`updated_by` with an actor
|
||||
column of length 256, captured through explicit `initializeAudit`/`applyModification` calls and an
|
||||
`AuditContextPort`. `auditing/AuditMetadata` is a Spring Data embeddable that stamps
|
||||
`created_*`/`modified_*` with an actor column of length 64, captured by `@CreatedDate` and friends
|
||||
through an `AuditorAware`.
|
||||
|
||||
Only the first is real: it is what the sample entities extend and what the migrations were written
|
||||
for. `JpaAuditingConfiguration` is not a Spring `@Configuration`, and nothing in production
|
||||
constructs any of the three `auditing` types.
|
||||
|
||||
The review asked for one canonical model with a migration or activation decision. The failure mode
|
||||
it was protecting against is specific: an author of a new entity picks whichever package they find
|
||||
first, and column names, actor lengths and capture lifecycles then diverge per table.
|
||||
|
||||
## Decision
|
||||
|
||||
`audit/AuditableEntity` is canonical. `auditing` stays in the tree as a candidate and is excluded
|
||||
from the Stable capability report.
|
||||
|
||||
The candidate is not deleted and not promoted. Deleting it would discard a working Spring Data
|
||||
integration that a deployment preferring declarative auditing would want. Promoting it would mean
|
||||
either renaming `modified_*` to `updated_*` and widening the actor column — a schema migration of
|
||||
every audited table to gain nothing a caller asked for — or moving the sample entities onto
|
||||
`modified_*`, which is the same migration in the other direction.
|
||||
|
||||
Neither is worth doing now. What the divergence actually needed was not consolidation but a rule
|
||||
that an entity cannot straddle the two, and that rule is cheaper than either migration.
|
||||
|
||||
## Consequences
|
||||
|
||||
Two audit mechanisms remain readable in one leaf, and a reader has to be told which one is live.
|
||||
That cost is paid in this document, in the package javadoc and in a test whose name says so.
|
||||
|
||||
Two failure modes stay silent unless they are asserted, so both are:
|
||||
|
||||
- The candidate acquires a stereotype and starts stamping in every deployment that has this module
|
||||
on the classpath, including the ones whose tables have no `modified_*` columns — where the result
|
||||
is a failed startup rather than a feature.
|
||||
- Somebody "harmonises" the two by editing one side's column names, at which point the schema a
|
||||
deployed table was migrated for and the schema its entity expects diverge with no migration
|
||||
between them.
|
||||
|
||||
If the candidate is ever promoted, it is promoted atomically: forward migration, sample conversion,
|
||||
`AuditContextPort → AuditorAware` and `Clock → DateTimeProvider` bridges land together, and this
|
||||
ADR is superseded rather than amended.
|
||||
|
||||
Bulk and native updates stamp nothing under either mechanism. That is a property of JPA, not of the
|
||||
choice made here, so it is enforced separately rather than assumed away.
|
||||
|
||||
## Enforcement
|
||||
|
||||
`JpaAuditMechanismRule.entitiesUseExactlyOneAuditMechanism` and
|
||||
`bulkUpdatesOfAuditedEntitiesStampAudit`, run against the real production graph by
|
||||
`JpaProductionArchitectureTest` at the composition root — not against fixtures, which is how the
|
||||
earlier version of this rule pack passed while applying to nothing. `AuditingCandidateStatusTest`
|
||||
asserts the candidate carries no composing stereotype and that the two column sets stay distinct.
|
||||
`JpaAuditMechanismRuleTest` exercises the rules' own negative cases.
|
||||
@@ -5,7 +5,7 @@
|
||||
# split into capability artifacts.
|
||||
# Update only after review with:
|
||||
# ./gradlew :adapter:inbound:graphql:updateGraphQlApiSurface -PapproveGraphQlApiSurfaceChange
|
||||
# types: 395
|
||||
# types: 398
|
||||
dev.caskeleton.adapter.inbound.graphql.HealthGraphqlController
|
||||
dev.caskeleton.adapter.inbound.graphql.advanced.admin.GraphQlAdminPrincipal
|
||||
dev.caskeleton.adapter.inbound.graphql.advanced.admin.GraphQlPersistedOperationAdminAuthorization
|
||||
@@ -179,6 +179,7 @@ dev.caskeleton.adapter.inbound.graphql.compat.GraphQlSchemaUsage
|
||||
dev.caskeleton.adapter.inbound.graphql.context.ActorRef
|
||||
dev.caskeleton.adapter.inbound.graphql.context.GraphQlCommandAttribution
|
||||
dev.caskeleton.adapter.inbound.graphql.context.GraphQlDeadline
|
||||
dev.caskeleton.adapter.inbound.graphql.context.GraphQlIdentityFingerprinter
|
||||
dev.caskeleton.adapter.inbound.graphql.context.GraphQlRequestContext
|
||||
dev.caskeleton.adapter.inbound.graphql.context.TenantContext
|
||||
dev.caskeleton.adapter.inbound.graphql.cost.GraphQlComplexityCalculator
|
||||
@@ -358,6 +359,7 @@ dev.caskeleton.adapter.inbound.graphql.runtime.GraphQlPlatformRejectionMapper
|
||||
dev.caskeleton.adapter.inbound.graphql.runtime.GraphQlPlatformWebInterceptor
|
||||
dev.caskeleton.adapter.inbound.graphql.runtime.GraphQlPreparsedDocumentAdapter
|
||||
dev.caskeleton.adapter.inbound.graphql.runtime.GraphQlPrincipalResolver
|
||||
dev.caskeleton.adapter.inbound.graphql.runtime.GraphQlRequestObservationConventionAdapter
|
||||
dev.caskeleton.adapter.inbound.graphql.runtime.GraphQlWireErrorMapper
|
||||
dev.caskeleton.adapter.inbound.graphql.runtime.GraphQlWireErrors
|
||||
dev.caskeleton.adapter.inbound.graphql.runtime.servlet.GraphQlRequestBodyLimitFilter
|
||||
@@ -387,6 +389,7 @@ dev.caskeleton.adapter.inbound.graphql.schema.GraphQlSchemaHash
|
||||
dev.caskeleton.adapter.inbound.graphql.schema.GraphQlSchemaMappingException
|
||||
dev.caskeleton.adapter.inbound.graphql.schema.GraphQlSchemaOwnership
|
||||
dev.caskeleton.adapter.inbound.graphql.schema.GraphQlSchemaResource
|
||||
dev.caskeleton.adapter.inbound.graphql.security.ApplicationObjectAuthorization
|
||||
dev.caskeleton.adapter.inbound.graphql.security.GraphQlAuthenticatedPrincipal
|
||||
dev.caskeleton.adapter.inbound.graphql.security.GraphQlAuthenticationContextFactory
|
||||
dev.caskeleton.adapter.inbound.graphql.security.GraphQlAuthenticationException
|
||||
|
||||
@@ -0,0 +1,340 @@
|
||||
# JPA persistence leaf public API surface — every public top-level type in src/main/java.
|
||||
# A public type in a single-jar leaf is reachable from every adopter's code, so
|
||||
# additions are reviewed rather than discovered. `api` is the intended external
|
||||
# surface; the rest is implementation that has not been moved under an internal
|
||||
# root yet.
|
||||
# Update only after review with:
|
||||
# ./gradlew :adapter:outbound:persistence-jpa:updateJpaApiSurface -PapproveJpaApiSurfaceChange
|
||||
# types: 332
|
||||
dev.caskeleton.adapter.outbound.persistence.api.PersistenceOperationName
|
||||
dev.caskeleton.adapter.outbound.persistence.api.capability.CapabilitySupport
|
||||
dev.caskeleton.adapter.outbound.persistence.api.capability.JpaCapability
|
||||
dev.caskeleton.adapter.outbound.persistence.api.capability.SupportLevel
|
||||
dev.caskeleton.adapter.outbound.persistence.api.error.CheckConstraintViolationException
|
||||
dev.caskeleton.adapter.outbound.persistence.api.error.ConnectionUnavailableException
|
||||
dev.caskeleton.adapter.outbound.persistence.api.error.ConstraintCode
|
||||
dev.caskeleton.adapter.outbound.persistence.api.error.ConstraintViolationDetails
|
||||
dev.caskeleton.adapter.outbound.persistence.api.error.DataCorruptionException
|
||||
dev.caskeleton.adapter.outbound.persistence.api.error.DeadlockDetectedException
|
||||
dev.caskeleton.adapter.outbound.persistence.api.error.FailureCategory
|
||||
dev.caskeleton.adapter.outbound.persistence.api.error.ForeignKeyViolationException
|
||||
dev.caskeleton.adapter.outbound.persistence.api.error.JpaEntityNotFoundException
|
||||
dev.caskeleton.adapter.outbound.persistence.api.error.JpaFailureContext
|
||||
dev.caskeleton.adapter.outbound.persistence.api.error.JpaPersistenceException
|
||||
dev.caskeleton.adapter.outbound.persistence.api.error.NotNullConstraintViolationException
|
||||
dev.caskeleton.adapter.outbound.persistence.api.error.OptimisticConflictException
|
||||
dev.caskeleton.adapter.outbound.persistence.api.error.PessimisticLockTimeoutException
|
||||
dev.caskeleton.adapter.outbound.persistence.api.error.QueryTimeoutException
|
||||
dev.caskeleton.adapter.outbound.persistence.api.error.SchemaMismatchException
|
||||
dev.caskeleton.adapter.outbound.persistence.api.error.SerializationFailureException
|
||||
dev.caskeleton.adapter.outbound.persistence.api.error.SqlExceptionSqlStateResolver
|
||||
dev.caskeleton.adapter.outbound.persistence.api.error.SqlStateResolver
|
||||
dev.caskeleton.adapter.outbound.persistence.api.error.TransactionCompletionUnknownException
|
||||
dev.caskeleton.adapter.outbound.persistence.api.error.TransactionTimeoutException
|
||||
dev.caskeleton.adapter.outbound.persistence.api.error.UniqueConstraintViolationException
|
||||
dev.caskeleton.adapter.outbound.persistence.api.error.VendorFailureTranslator
|
||||
dev.caskeleton.adapter.outbound.persistence.api.query.CursorCodec
|
||||
dev.caskeleton.adapter.outbound.persistence.api.query.CursorPayloadCodec
|
||||
dev.caskeleton.adapter.outbound.persistence.api.query.KeysetPageRequest
|
||||
dev.caskeleton.adapter.outbound.persistence.api.query.KeysetSlice
|
||||
dev.caskeleton.adapter.outbound.persistence.api.query.NoopQueryObservation
|
||||
dev.caskeleton.adapter.outbound.persistence.api.query.QueryName
|
||||
dev.caskeleton.adapter.outbound.persistence.api.query.QueryObservation
|
||||
dev.caskeleton.adapter.outbound.persistence.api.query.QueryScope
|
||||
dev.caskeleton.adapter.outbound.persistence.api.query.SignedJsonCursorCodec
|
||||
dev.caskeleton.adapter.outbound.persistence.api.query.SortDirection
|
||||
dev.caskeleton.adapter.outbound.persistence.api.transaction.IsolationLevel
|
||||
dev.caskeleton.adapter.outbound.persistence.api.transaction.JitterMode
|
||||
dev.caskeleton.adapter.outbound.persistence.api.transaction.JpaRetryPolicy
|
||||
dev.caskeleton.adapter.outbound.persistence.api.transaction.JpaTransactionExecutor
|
||||
dev.caskeleton.adapter.outbound.persistence.api.transaction.PropagationMode
|
||||
dev.caskeleton.adapter.outbound.persistence.api.transaction.RetryDecision
|
||||
dev.caskeleton.adapter.outbound.persistence.api.transaction.RetryDisposition
|
||||
dev.caskeleton.adapter.outbound.persistence.api.transaction.RetryEventListener
|
||||
dev.caskeleton.adapter.outbound.persistence.api.transaction.RetryProfile
|
||||
dev.caskeleton.adapter.outbound.persistence.api.transaction.TransactionAttempt
|
||||
dev.caskeleton.adapter.outbound.persistence.api.transaction.TransactionCompletionEvidence
|
||||
dev.caskeleton.adapter.outbound.persistence.api.transaction.TransactionProfile
|
||||
dev.caskeleton.adapter.outbound.persistence.audit.AuditContextPort
|
||||
dev.caskeleton.adapter.outbound.persistence.audit.AuditableEntity
|
||||
dev.caskeleton.adapter.outbound.persistence.audit.DomainContextAuditContextPort
|
||||
dev.caskeleton.adapter.outbound.persistence.auditing.AuditMetadata
|
||||
dev.caskeleton.adapter.outbound.persistence.auditing.JpaAuditingConfiguration
|
||||
dev.caskeleton.adapter.outbound.persistence.auditing.JpaAuditorProvider
|
||||
dev.caskeleton.adapter.outbound.persistence.cache.CacheConcurrencyStrategy
|
||||
dev.caskeleton.adapter.outbound.persistence.cache.CacheRegionCatalog
|
||||
dev.caskeleton.adapter.outbound.persistence.cache.HibernateCacheGuard
|
||||
dev.caskeleton.adapter.outbound.persistence.cache.HibernateCachePolicy
|
||||
dev.caskeleton.adapter.outbound.persistence.cache.HibernateCacheSettings
|
||||
dev.caskeleton.adapter.outbound.persistence.config.JpaAdapterComponentsConfig
|
||||
dev.caskeleton.adapter.outbound.persistence.config.PersistenceJpaConfig
|
||||
dev.caskeleton.adapter.outbound.persistence.config.PersistenceVendorSettings
|
||||
dev.caskeleton.adapter.outbound.persistence.envers.EntityRevision
|
||||
dev.caskeleton.adapter.outbound.persistence.envers.EnversConfigurationGuard
|
||||
dev.caskeleton.adapter.outbound.persistence.envers.EnversHistoryPolicy
|
||||
dev.caskeleton.adapter.outbound.persistence.envers.EnversHistoryReader
|
||||
dev.caskeleton.adapter.outbound.persistence.envers.EnversRevisionMetadata
|
||||
dev.caskeleton.adapter.outbound.persistence.envers.HibernateEnversHistoryReader
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.ExperimentalFeature
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.ExperimentalFeatureGate
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.database.TenantDataSourceLifecycle
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.database.TenantDataSourceRegistry
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.database.TenantEntityManagerFactoryRegistry
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.database.TenantPoolBudget
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.next.CompatibilityLane
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.next.ExperimentalPromotionGate
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.next.HibernateCompatibilityPolicy
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.next.PromotionDecision
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.next.PromotionEvidence
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.replica.ConsistencyAwareDataSourceRouter
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.replica.ConsistencyToken
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.replica.ReadConsistency
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.replica.ReplicaLagMonitor
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.replica.ReplicaRoutingDecision
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.replica.ReplicaTarget
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.replica.TransactionContext
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.rls.RlsAdminBypassToken
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.rls.RlsPolicyVerifier
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.rls.RlsTenantSessionBinder
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.schema.SchemaMultiTenantConnectionProvider
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.schema.SchemaTenantMigrationOrchestrator
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.schema.SchemaTenantRegistry
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.schema.TenantMigrationStatus
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.tenant.TenantAwareRepositoryGuard
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.tenant.TenantContext
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.tenant.TenantEntityListenerGuard
|
||||
dev.caskeleton.adapter.outbound.persistence.experimental.tenant.TenantId
|
||||
dev.caskeleton.adapter.outbound.persistence.failure.PersistenceExceptionTranslator
|
||||
dev.caskeleton.adapter.outbound.persistence.failure.SqlStateErrorMapping
|
||||
dev.caskeleton.adapter.outbound.persistence.failure.StandardSqlStateErrorMapping
|
||||
dev.caskeleton.adapter.outbound.persistence.fileserver.FileserverJpaPersistenceConfig
|
||||
dev.caskeleton.adapter.outbound.persistence.fileserver.FileserverSchemaActivation
|
||||
dev.caskeleton.adapter.outbound.persistence.fileserver.JpaCleanupQueue
|
||||
dev.caskeleton.adapter.outbound.persistence.fileserver.JpaContentReferenceLedger
|
||||
dev.caskeleton.adapter.outbound.persistence.fileserver.JpaFileMetadataStore
|
||||
dev.caskeleton.adapter.outbound.persistence.fileserver.JpaFileQuotaService
|
||||
dev.caskeleton.adapter.outbound.persistence.fileserver.JpaQuotaCommitGateway
|
||||
dev.caskeleton.adapter.outbound.persistence.fileserver.JpaQuotaReclaimGateway
|
||||
dev.caskeleton.adapter.outbound.persistence.fileserver.JpaRecoveryQueue
|
||||
dev.caskeleton.adapter.outbound.persistence.fileserver.JpaStagingUploadLocator
|
||||
dev.caskeleton.adapter.outbound.persistence.fileserver.JpaUploadSessionStore
|
||||
dev.caskeleton.adapter.outbound.persistence.fileserver.entity.CleanupItemEntity
|
||||
dev.caskeleton.adapter.outbound.persistence.fileserver.entity.FileEntity
|
||||
dev.caskeleton.adapter.outbound.persistence.fileserver.entity.QuotaReservationEntity
|
||||
dev.caskeleton.adapter.outbound.persistence.fileserver.entity.RecoveryItemEntity
|
||||
dev.caskeleton.adapter.outbound.persistence.fileserver.entity.UploadSessionEntity
|
||||
dev.caskeleton.adapter.outbound.persistence.fileserver.entity.VerificationResultEntity
|
||||
dev.caskeleton.adapter.outbound.persistence.fileserver.repository.FileTransitionRepository
|
||||
dev.caskeleton.adapter.outbound.persistence.fileserver.repository.FileserverCleanupRepository
|
||||
dev.caskeleton.adapter.outbound.persistence.fileserver.repository.FileserverQuotaRepository
|
||||
dev.caskeleton.adapter.outbound.persistence.fileserver.repository.FileserverRecoveryRepository
|
||||
dev.caskeleton.adapter.outbound.persistence.fileserver.repository.JpaFileRepository
|
||||
dev.caskeleton.adapter.outbound.persistence.fileserver.repository.JpaUploadSessionRepository
|
||||
dev.caskeleton.adapter.outbound.persistence.fileserver.repository.UploadLeaseRepository
|
||||
dev.caskeleton.adapter.outbound.persistence.h2.H2IdempotencyClaimRepository
|
||||
dev.caskeleton.adapter.outbound.persistence.h2.H2LocalTimeoutConfigurer
|
||||
dev.caskeleton.adapter.outbound.persistence.h2.H2OutboxClaimRepository
|
||||
dev.caskeleton.adapter.outbound.persistence.h2.H2PersistenceConfig
|
||||
dev.caskeleton.adapter.outbound.persistence.h2.H2SqlStateErrorMapping
|
||||
dev.caskeleton.adapter.outbound.persistence.hibernate.HibernateProviderPolicy
|
||||
dev.caskeleton.adapter.outbound.persistence.hibernate.HibernateStatisticsCollector
|
||||
dev.caskeleton.adapter.outbound.persistence.hibernate.HibernateStatisticsSnapshot
|
||||
dev.caskeleton.adapter.outbound.persistence.hibernate.JdbcBatchCounter
|
||||
dev.caskeleton.adapter.outbound.persistence.hibernate.NamedStatementInspector
|
||||
dev.caskeleton.adapter.outbound.persistence.hibernate.QueryNameContext
|
||||
dev.caskeleton.adapter.outbound.persistence.hibernate.batch.BatchExecutionResult
|
||||
dev.caskeleton.adapter.outbound.persistence.hibernate.batch.HibernateBatchConfigurationGuard
|
||||
dev.caskeleton.adapter.outbound.persistence.hibernate.batch.HibernateJpaBatchExecutor
|
||||
dev.caskeleton.adapter.outbound.persistence.hibernate.batch.JpaBatchExecutor
|
||||
dev.caskeleton.adapter.outbound.persistence.hibernate.batch.JpaBatchProfile
|
||||
dev.caskeleton.adapter.outbound.persistence.hibernate.batch.JpaBatchProfileRegistry
|
||||
dev.caskeleton.adapter.outbound.persistence.hibernate.bulk.AffectedRowsExpectation
|
||||
dev.caskeleton.adapter.outbound.persistence.hibernate.bulk.BulkDmlExecutor
|
||||
dev.caskeleton.adapter.outbound.persistence.hibernate.bulk.BulkDmlResult
|
||||
dev.caskeleton.adapter.outbound.persistence.hibernate.bulk.BulkOperationName
|
||||
dev.caskeleton.adapter.outbound.persistence.hibernate.bulk.HibernateBulkDmlExecutor
|
||||
dev.caskeleton.adapter.outbound.persistence.hibernate.stateless.HibernateStatelessSessionRunner
|
||||
dev.caskeleton.adapter.outbound.persistence.hibernate.stateless.StatelessRowCapExceededException
|
||||
dev.caskeleton.adapter.outbound.persistence.hibernate.stateless.StatelessSessionRunner
|
||||
dev.caskeleton.adapter.outbound.persistence.hibernate.stateless.StatelessWorkName
|
||||
dev.caskeleton.adapter.outbound.persistence.hibernate.stateless.StatelessWorkResult
|
||||
dev.caskeleton.adapter.outbound.persistence.idempotency.IdempotencyClaimRepository
|
||||
dev.caskeleton.adapter.outbound.persistence.idempotency.IdempotencyReaper
|
||||
dev.caskeleton.adapter.outbound.persistence.idempotency.IdempotencyRecordJpaRepository
|
||||
dev.caskeleton.adapter.outbound.persistence.idempotency.IdempotencyResponseObjectStore
|
||||
dev.caskeleton.adapter.outbound.persistence.idempotency.IdempotencyStoreAdapter
|
||||
dev.caskeleton.adapter.outbound.persistence.idempotency.entity.IdempotencyRecordEntity
|
||||
dev.caskeleton.adapter.outbound.persistence.idempotency.mapper.IdempotencyRecordEntityMapper
|
||||
dev.caskeleton.adapter.outbound.persistence.lock.DistributedLockPersistenceConfig
|
||||
dev.caskeleton.adapter.outbound.persistence.lock.LockRegistryDistributedLockAdapter
|
||||
dev.caskeleton.adapter.outbound.persistence.lock.LockSettings
|
||||
dev.caskeleton.adapter.outbound.persistence.migration.ConcurrentIndexMigrationInspector
|
||||
dev.caskeleton.adapter.outbound.persistence.migration.FailedConcurrentIndexRecovery
|
||||
dev.caskeleton.adapter.outbound.persistence.migration.FlywaySchemaPolicy
|
||||
dev.caskeleton.adapter.outbound.persistence.migration.FlywayValidationGate
|
||||
dev.caskeleton.adapter.outbound.persistence.migration.MigrationResource
|
||||
dev.caskeleton.adapter.outbound.persistence.migration.NonTransactionalMigrationPolicy
|
||||
dev.caskeleton.adapter.outbound.persistence.migration.SchemaManagementMode
|
||||
dev.caskeleton.adapter.outbound.persistence.migration.SchemaVersionSnapshot
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.NotificationJpaPersistenceConfig
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.NotificationSchemaActivation
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.NotificationSchemaStream
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.configuration.NotificationJpaPersistenceFacade
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.crypto.DirectAeadNotificationPayloadCrypto
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.crypto.NotificationCiphertext
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.crypto.NotificationCryptoException
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.crypto.NotificationHmacDigester
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.crypto.NotificationKeyMaterialHandle
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.crypto.NotificationKeyMaterialProvider
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.AdminAuditEntity
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.AdminAuditJpaRepository
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.ConsentEntity
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.ConsentJpaRepository
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.ContactPointEntity
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.ContactPointJpaRepository
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.DeduplicationClaimEntity
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.DeduplicationClaimJpaRepository
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.DeliveryAttemptEntity
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.DeliveryAttemptJpaRepository
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.JdbcNotificationServingState
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.JdbcReconciliationJobStore
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.JpaAdminOperationStore
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.JpaContactPointStore
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.JpaDeliveryAttemptStore
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.JpaNotificationRequestStore
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.JpaNotificationSideEffectStore
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.JpaPolicyStores
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.JpaProviderEventLedger
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.JpaRecipientDeliveryStore
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.JpaRecipientLeaseStore
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.JpaSuppressionStore
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.JpaTemplateRegistry
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.NotificationRecordMapper
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.NotificationRequestEntity
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.NotificationRequestJpaRepository
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.PreferenceEntity
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.PreferenceJpaRepository
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.ProviderEventEntity
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.ProviderEventJpaRepository
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.RecipientClaimSql
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.RecipientDeliveryEntity
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.RecipientDeliveryJpaRepository
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.SuppressionEntity
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.SuppressionJpaRepository
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.TemplateVersionEntity
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.TemplateVersionJpaRepository
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.TenantBoundRepositoryGuard
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.inbox.InboxCommitEventPublisher
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.inbox.InboxItemEntity
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.inbox.InboxItemJpaRepository
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.inbox.InboxOutboxRecordFactory
|
||||
dev.caskeleton.adapter.outbound.persistence.notification.platform.inbox.JpaNotificationInbox
|
||||
dev.caskeleton.adapter.outbound.persistence.observation.JpaMetricTags
|
||||
dev.caskeleton.adapter.outbound.persistence.observation.JpaRetryObservation
|
||||
dev.caskeleton.adapter.outbound.persistence.observation.JpaTransactionObservation
|
||||
dev.caskeleton.adapter.outbound.persistence.observation.LowCardinality
|
||||
dev.caskeleton.adapter.outbound.persistence.observation.MicrometerQueryObservation
|
||||
dev.caskeleton.adapter.outbound.persistence.observation.SqlDiagnosticRedactor
|
||||
dev.caskeleton.adapter.outbound.persistence.outbox.OutboxClaimRepository
|
||||
dev.caskeleton.adapter.outbound.persistence.outbox.OutboxEventJpaRepository
|
||||
dev.caskeleton.adapter.outbound.persistence.outbox.OutboxReaper
|
||||
dev.caskeleton.adapter.outbound.persistence.outbox.OutboxStoreAdapter
|
||||
dev.caskeleton.adapter.outbound.persistence.outbox.entity.OutboxEventEntity
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.PostgreSqlIdempotencyClaimRepository
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.PostgreSqlLocalTimeoutConfigurer
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.PostgreSqlOutboxClaimRepository
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.PostgreSqlPersistenceConfig
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.PostgreSqlSqlStateErrorMapping
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.array.PostgreSqlArraySupport
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.constraint.PostgreSqlConstraintCatalog
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.constraint.PostgreSqlConstraintViolationTranslator
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.copy.BoundedCopyInputStream
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.copy.CopyAdminCapability
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.copy.CopyFormat
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.copy.CopyLimits
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.copy.CopyOperationName
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.copy.CopyResult
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.copy.PostgreSqlCopyLoader
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.copy.RegisteredCopyStatement
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.copy.RegisteredPostgreSqlCopyLoader
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.error.ConstraintCatalog
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.error.PostgreSqlExceptionTranslator
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.error.PostgreSqlFailureClassifier
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.error.PostgreSqlServerErrorFields
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.error.PostgreSqlState
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.idempotency.PostgreSqlOwnerSafeIdempotencyStore
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.inbox.PostgreSqlSameStoreInboxAdapter
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.json.JsonDocument
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.json.JsonDocumentCodec
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.json.JsonPathName
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.json.PostgreSqlJsonQuerySupport
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.lock.LockWaitObservation
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.lock.PostgreSqlLockExceptionTranslator
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.lock.PostgreSqlLockOptions
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.lock.PostgreSqlWorkClaimExecutor
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.lock.WorkClaim
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.lock.WorkClaimExecutor
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.lock.WorkQueueDefinition
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.lock.WorkQueueName
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.outbox.PostgreSqlImmutableOutboxAppendAdapter
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.outbox.PostgreSqlPollingDeliveryAdapter
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.range.PgRange
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.range.PgRangeCodec
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.range.PgRangeJdbcType
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.range.PostgreSqlRangeQuerySupport
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.write.NativeWriteName
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.write.PostgreSqlUpsertExecutor
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.write.RegisteredPostgreSqlUpsertExecutor
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.write.RegisteredUpsertStatement
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.write.UpsertConflictTarget
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.write.UpsertResult
|
||||
dev.caskeleton.adapter.outbound.persistence.postgresql.write.WriteDisposition
|
||||
dev.caskeleton.adapter.outbound.persistence.querydsl.PredicatePolicy
|
||||
dev.caskeleton.adapter.outbound.persistence.querydsl.QueryPage
|
||||
dev.caskeleton.adapter.outbound.persistence.querydsl.QuerydslJpaSupport
|
||||
dev.caskeleton.adapter.outbound.persistence.security.DatabasePrivilegeReport
|
||||
dev.caskeleton.adapter.outbound.persistence.security.DatabaseRolePolicy
|
||||
dev.caskeleton.adapter.outbound.persistence.security.PostgreSqlRuntimeRoleVerifier
|
||||
dev.caskeleton.adapter.outbound.persistence.security.SearchPathPolicy
|
||||
dev.caskeleton.adapter.outbound.persistence.springdata.EntityGraphCatalog
|
||||
dev.caskeleton.adapter.outbound.persistence.springdata.EntityManagerAccess
|
||||
dev.caskeleton.adapter.outbound.persistence.springdata.FetchPlanApplier
|
||||
dev.caskeleton.adapter.outbound.persistence.springdata.FetchPlanName
|
||||
dev.caskeleton.adapter.outbound.persistence.springdata.JpaKeysetQuerySupport
|
||||
dev.caskeleton.adapter.outbound.persistence.springdata.JpaRepositoryFragmentSupport
|
||||
dev.caskeleton.adapter.outbound.persistence.springdata.JpaStreamExecutor
|
||||
dev.caskeleton.adapter.outbound.persistence.springdata.JpaStreamScope
|
||||
dev.caskeleton.adapter.outbound.persistence.springdata.KeysetPredicateBuilder
|
||||
dev.caskeleton.adapter.outbound.persistence.springdata.KeysetSliceAssembler
|
||||
dev.caskeleton.adapter.outbound.persistence.springdata.KeysetTerm
|
||||
dev.caskeleton.adapter.outbound.persistence.springdata.RegisteredQuery
|
||||
dev.caskeleton.adapter.outbound.persistence.springdata.SafeSortField
|
||||
dev.caskeleton.adapter.outbound.persistence.springdata.SafeSortMapper
|
||||
dev.caskeleton.adapter.outbound.persistence.springdata.SafeSortRegistry
|
||||
dev.caskeleton.adapter.outbound.persistence.springdata.ScrollPolicy
|
||||
dev.caskeleton.adapter.outbound.persistence.springdata.SpecificationPolicy
|
||||
dev.caskeleton.adapter.outbound.persistence.transaction.BackoffCalculator
|
||||
dev.caskeleton.adapter.outbound.persistence.transaction.CommitFailureClassifier
|
||||
dev.caskeleton.adapter.outbound.persistence.transaction.CompletionUnknownRecord
|
||||
dev.caskeleton.adapter.outbound.persistence.transaction.CompletionUnknownRecorder
|
||||
dev.caskeleton.adapter.outbound.persistence.transaction.DefaultJpaRetryPolicy
|
||||
dev.caskeleton.adapter.outbound.persistence.transaction.EffectiveTransactionTimeouts
|
||||
dev.caskeleton.adapter.outbound.persistence.transaction.EvidenceAwareJpaTransactionManager
|
||||
dev.caskeleton.adapter.outbound.persistence.transaction.FullTransactionRetryCoordinator
|
||||
dev.caskeleton.adapter.outbound.persistence.transaction.JpaTransactionConfig
|
||||
dev.caskeleton.adapter.outbound.persistence.transaction.JpaTransactionSettings
|
||||
dev.caskeleton.adapter.outbound.persistence.transaction.OptimisticConflictTranslator
|
||||
dev.caskeleton.adapter.outbound.persistence.transaction.PersistenceFailureTranslatorChain
|
||||
dev.caskeleton.adapter.outbound.persistence.transaction.RetryBudget
|
||||
dev.caskeleton.adapter.outbound.persistence.transaction.RetrySleeper
|
||||
dev.caskeleton.adapter.outbound.persistence.transaction.SpringJpaTransactionExecutor
|
||||
dev.caskeleton.adapter.outbound.persistence.transaction.SpringTransactionPort
|
||||
dev.caskeleton.adapter.outbound.persistence.transaction.ThreadRetrySleeper
|
||||
dev.caskeleton.adapter.outbound.persistence.transaction.TransactionDefinitionMapper
|
||||
dev.caskeleton.adapter.outbound.persistence.transaction.TransactionEvidenceContext
|
||||
dev.caskeleton.adapter.outbound.persistence.transaction.TransactionEvidenceFrame
|
||||
dev.caskeleton.adapter.outbound.persistence.transaction.TransactionEvidenceScope
|
||||
dev.caskeleton.adapter.outbound.persistence.transaction.TransactionLocalTimeoutConfigurer
|
||||
dev.caskeleton.adapter.outbound.persistence.transaction.TransactionProfileRegistry
|
||||
dev.caskeleton.adapter.outbound.persistence.transaction.TransactionStartBudget
|
||||
dev.caskeleton.adapter.outbound.persistence.transaction.UnknownOperation
|
||||
@@ -5,7 +5,7 @@
|
||||
# root yet.
|
||||
# Update only after review with:
|
||||
# ./gradlew :adapter:outbound:persistence-mongo:updateMongoApiSurface -PapproveMongoApiSurfaceChange
|
||||
# types: 343
|
||||
# types: 346
|
||||
dev.caskeleton.adapter.outbound.mongo.MongoOptInAutoConfigurationImportFilter
|
||||
dev.caskeleton.adapter.outbound.mongo.MongoPersistenceConfig
|
||||
dev.caskeleton.adapter.outbound.mongo.MongoPersistenceSettings
|
||||
@@ -146,8 +146,6 @@ dev.caskeleton.adapter.outbound.mongo.autoconfigure.MongoPlatformAutoConfigurati
|
||||
dev.caskeleton.adapter.outbound.mongo.autoconfigure.MongoPlatformHealthIndicator
|
||||
dev.caskeleton.adapter.outbound.mongo.autoconfigure.MongoPlatformSettings
|
||||
dev.caskeleton.adapter.outbound.mongo.autoconfigure.MongoProfileProperties
|
||||
dev.caskeleton.adapter.outbound.mongo.autoconfigure.MongoStableReleaseEvidence
|
||||
dev.caskeleton.adapter.outbound.mongo.autoconfigure.MongoStableReleaseGate
|
||||
dev.caskeleton.adapter.outbound.mongo.autoconfigure.MongoStartupValidator
|
||||
dev.caskeleton.adapter.outbound.mongo.autoconfigure.MongoTopologyProbe
|
||||
dev.caskeleton.adapter.outbound.mongo.changestream.MongoChangeEventIdentity
|
||||
@@ -158,6 +156,10 @@ dev.caskeleton.adapter.outbound.mongo.changestream.MongoClusterTime
|
||||
dev.caskeleton.adapter.outbound.mongo.changestream.MongoResumeCheckpoint
|
||||
dev.caskeleton.adapter.outbound.mongo.changestream.MongoResumeCheckpointStore
|
||||
dev.caskeleton.adapter.outbound.mongo.changestream.MongoResumePosition
|
||||
dev.caskeleton.adapter.outbound.mongo.changestream.MongoResumeTokenCodec
|
||||
dev.caskeleton.adapter.outbound.mongo.changestream.consumer.MongoChangeStreamSource
|
||||
dev.caskeleton.adapter.outbound.mongo.changestream.consumer.ReactiveMongoChangeStreamConsumer
|
||||
dev.caskeleton.adapter.outbound.mongo.changestream.consumer.SpringReactiveChangeStreamSource
|
||||
dev.caskeleton.adapter.outbound.mongo.changestream.projector.MongoChangeClaim
|
||||
dev.caskeleton.adapter.outbound.mongo.changestream.projector.MongoChangeDeduplicationStore
|
||||
dev.caskeleton.adapter.outbound.mongo.changestream.projector.MongoChangeProjectionResult
|
||||
@@ -199,6 +201,7 @@ dev.caskeleton.adapter.outbound.mongo.imperative.atomic.AtomicUpdateResult
|
||||
dev.caskeleton.adapter.outbound.mongo.imperative.atomic.MongoAtomicOperations
|
||||
dev.caskeleton.adapter.outbound.mongo.imperative.atomic.MongoAtomicOperationsTemplate
|
||||
dev.caskeleton.adapter.outbound.mongo.imperative.atomic.MongoAtomicPolicy
|
||||
dev.caskeleton.adapter.outbound.mongo.imperative.atomic.MongoAtomicPolicyRegistry
|
||||
dev.caskeleton.adapter.outbound.mongo.imperative.atomic.MongoUpdateOperator
|
||||
dev.caskeleton.adapter.outbound.mongo.imperative.atomic.ReturnDocumentMode
|
||||
dev.caskeleton.adapter.outbound.mongo.imperative.bulk.MongoBulkExecutor
|
||||
|
||||
@@ -85,7 +85,7 @@ in a fail-closed contract (`verifyJpaReadinessRegistry` in `src/build.gradle`).
|
||||
|---|---|
|
||||
| `test` | `src/test` — hermetic unit lane, `./gradlew :adapter:outbound:persistence-jpa:test` |
|
||||
| `contractTest`, `integrationTest`, `migrationTest`, `failureTest`, `compatibilityTest` | `src/postgresqlIntegrationTest` — real PostgreSQL containers; selected by the `jpaPlatform*` Gradle tasks |
|
||||
| `performanceTest` | `src/jpaPlatformPerformanceTest` — machine-dependent bounds, never part of `check` |
|
||||
| `performanceTest` | `src/jpaPlatformPerformanceTest` — pool and `REQUIRES_NEW` connection behaviour, run by `jpaPlatformPoolContractTest`; never part of `check`. The source set keeps the plan's name; the lane asserts behaviour rather than measuring, and no numeric performance bound is claimed anywhere from it. |
|
||||
|
||||
Docker-dependent lanes fail closed rather than skipping, matching the existing
|
||||
`PostgreSqlReadinessSupport.assertDockerAvailable()` convention in this leaf.
|
||||
|
||||
@@ -10,6 +10,20 @@ major changed nothing so long as the string survived somewhere in the document.
|
||||
declares a support level per major as a field, each gate names the Gradle task that produces its
|
||||
evidence, and this document describes what the registry says.
|
||||
|
||||
Being a rendering used to be a claim rather than a mechanism: the tables below were still typed by
|
||||
hand, so a major demoted in the registry stayed Stable here and kept its full release job.
|
||||
`JpaReleaseRenderingTest` now compares the database table, the gate table and `jpa-release.yml`'s
|
||||
matrix and promotion lists to the registry, and `verifyJpaReleaseGateTasks` resolves every gate's
|
||||
task against the real Gradle task graph. Edit the registry; these tables follow, or the build fails.
|
||||
|
||||
Two renderings stayed outside that comparison until they were added to it. `jpa-nightly.yml` runs
|
||||
its own matrix and nothing checked it, so a demotion corrected the release lane and left the nightly
|
||||
lane certifying the major. And an Experimental major's "compatibility lane only" named no file: the
|
||||
lane existed, but the registry, this document and the release workflow could each be read end to end
|
||||
without establishing that, so a reader looking for it concluded there was none. An Experimental major
|
||||
now has to be recorded as the target of a lane in `.github/workflows`, and a Stable lane may not run
|
||||
it.
|
||||
|
||||
## Database
|
||||
|
||||
| Database | Support | Evidence |
|
||||
@@ -17,7 +31,7 @@ evidence, and this document describes what the registry says.
|
||||
| PostgreSQL 16 | Stable | full contract suite, release lane (own matrix job) |
|
||||
| PostgreSQL 17 | Stable | full contract suite, release lane (own matrix job) |
|
||||
| PostgreSQL 18 | Stable | full contract suite, release lane (own matrix job) |
|
||||
| PostgreSQL 19 | Experimental | compatibility lane only; promotion requires an ADR |
|
||||
| PostgreSQL 19 | Experimental | [`jpa-next-postgresql19.yml`](../../.github/workflows/jpa-next-postgresql19.yml) — `NOT_EXECUTABLE`: no `postgres:19-alpine` is published, so no container of that major has been started; promotion requires an ADR |
|
||||
| H2 | Local convenience | **never** evidence of PostgreSQL behaviour |
|
||||
|
||||
Each major gets its **own release job**, because for a while it did not. The release lane passed
|
||||
@@ -82,6 +96,8 @@ the difference visible instead of asserting a constant against itself. See
|
||||
| PostgreSQL `COPY` | Admin (J4) |
|
||||
| Hibernate second-level cache | Advanced |
|
||||
| Hibernate Envers | Advanced |
|
||||
| Technical auditing — `audit/AuditableEntity` | Stable (canonical) |
|
||||
| Technical auditing — `auditing/AuditMetadata` | Candidate, not composed |
|
||||
| Multi-tenancy (column, RLS, schema, database) | Experimental |
|
||||
| Consistency-aware read replica | Experimental |
|
||||
|
||||
@@ -98,6 +114,26 @@ Each row is a way the platform could pass its tests and still be wrong in produc
|
||||
| `runtime-role-no-ddl` | gate | the application's own credential being able to alter or drop schema objects |
|
||||
| `collection-fetch-pagination` | gate | a paged collection fetch silently reading the whole table and paginating in memory |
|
||||
|
||||
### The two audit mechanisms
|
||||
|
||||
`audit/AuditableEntity` is the canonical one: `created_*`/`updated_*`, a 256-character actor,
|
||||
stamped explicitly by the repository adapter. It is what the sample entities extend and what the
|
||||
migrations were written for.
|
||||
|
||||
`auditing/AuditMetadata` is a second, complete mechanism with different column names
|
||||
(`modified_*`), a different actor length (64) and a different capture lifecycle (Spring Data
|
||||
listeners). Nothing embeds it and nothing composes `JpaAuditingConfiguration`, which is why it is
|
||||
listed as a candidate rather than as a capability: promoting it means choosing between reshaping it
|
||||
to the canonical columns and writing a forward migration for the new ones, and that choice has not
|
||||
been made. Until it is, an entity picks one mechanism or none — enforced on the production graph by
|
||||
`JpaAuditMechanismRule.entitiesUseExactlyOneAuditMechanism`.
|
||||
|
||||
Neither mechanism reaches a bulk or native update. Both stamp on an ordinary save — one in the
|
||||
adapter, one on a managed entity's lifecycle — so a statement that goes straight to the database
|
||||
leaves the audit columns showing the previous save. A bulk update of an audited entity must
|
||||
therefore set the audit column in the statement, which
|
||||
`JpaAuditMechanismRule.bulkUpdatesOfAuditedEntitiesStampAudit` checks over the production graph.
|
||||
|
||||
## Explicitly unsupported
|
||||
|
||||
- Reactive JPA. JPA is a blocking specification; a reactive facade over it moves the blocking call
|
||||
|
||||
@@ -7,60 +7,76 @@
|
||||
> either of the old prefixes now fails startup with a message naming the key — see
|
||||
> `MessagingPrefixMigrationValidator`.
|
||||
|
||||
> **이 페이지는 실행된다.** 아래 YAML 블록은 `MessagingConfigurationBindingTest`가 이 파일에서 직접
|
||||
> 읽어 컨텍스트에 올린다. 문서가 설명하는 모양이 곧 바인딩되는 모양이라는 뜻이고, 문서를 고치면서
|
||||
> 코드를 고치지 않으면 테스트가 깨진다. 이전 판은 destination·broker·security 세 섹션을 설명했지만
|
||||
> 어떤 binder도 그것을 읽지 않았다 — 문서대로 설정한 배포는 아무것도 바뀌지 않았고 아무 말도 듣지
|
||||
> 못했다 (MSG-008).
|
||||
|
||||
## Destination profile
|
||||
|
||||
```yaml
|
||||
app:
|
||||
messaging:
|
||||
destinations:
|
||||
order-events:
|
||||
broker: kafka-primary
|
||||
kind: EVENT_STREAM # ASYNC_COMMAND | DOMAIN_EVENT | INTEGRATION_EVENT
|
||||
destinations:
|
||||
order-events:
|
||||
broker: kafka-primary
|
||||
kind: EVENT_STREAM # ASYNC_COMMAND | DOMAIN_EVENT | INTEGRATION_EVENT
|
||||
# | WORK_QUEUE | PUBLISH_SUBSCRIBE | EVENT_STREAM | REQUEST_REPLY
|
||||
tier: M1 # M1 | M2 | M3
|
||||
physical:
|
||||
topic: order.events.v1
|
||||
schema:
|
||||
codec: application/json
|
||||
compatibility: BACKWARD_TRANSITIVE
|
||||
message-types: [order.created]
|
||||
guarantees:
|
||||
delivery: AT_LEAST_ONCE # AT_MOST_ONCE | AT_LEAST_ONCE
|
||||
ordering: KEY # NONE | DESTINATION | PARTITION | KEY
|
||||
external-side-effect: INBOX_TRANSACTIONAL
|
||||
producer:
|
||||
confirmation: REPLICATION_OR_PERSISTENCE_ACK
|
||||
timeout: 5s
|
||||
mandatory-routing: true
|
||||
idempotent: true
|
||||
consumer:
|
||||
group: order-projection
|
||||
concurrency: 6
|
||||
max-in-flight-per-ordering-unit: 1
|
||||
prefetch: 16
|
||||
handler-timeout: 30s
|
||||
manual-settlement: false
|
||||
retry:
|
||||
mode: PAUSE_PARTITION # NONE | INLINE | BLOCKING | PAUSE_PARTITION
|
||||
tier: M1 # M1 | M2 | M3
|
||||
physical:
|
||||
topic: order.events.v1
|
||||
schema:
|
||||
codec: application/json
|
||||
compatibility: BACKWARD_TRANSITIVE
|
||||
message-types: [order.created]
|
||||
guarantees:
|
||||
delivery: AT_LEAST_ONCE # AT_MOST_ONCE | AT_LEAST_ONCE
|
||||
ordering: KEY # NONE | DESTINATION | PARTITION | KEY
|
||||
external-side-effect: INBOX_TRANSACTIONAL
|
||||
producer:
|
||||
confirmation: REPLICATION_OR_PERSISTENCE_ACK
|
||||
timeout: 5s
|
||||
mandatory-routing: true
|
||||
idempotent: true
|
||||
consumer:
|
||||
group: order-projection
|
||||
concurrency: 1 # DESTINATION 순서를 요구하면 1이어야 한다
|
||||
max-in-flight-per-ordering-unit: 1
|
||||
prefetch: 16
|
||||
handler-timeout: 30s
|
||||
manual-settlement: false
|
||||
retry:
|
||||
mode: PAUSE_PARTITION # NONE | INLINE | BLOCKING | PAUSE_PARTITION
|
||||
# | RETRY_DESTINATION | BROKER_DELAYED
|
||||
max-attempts: 3
|
||||
initial-delay: 200ms
|
||||
max-delay: 2s
|
||||
multiplier: 2.0
|
||||
jitter: true
|
||||
ordering-impact: PRESERVE # PRESERVE | ALLOW_REORDER
|
||||
dlq:
|
||||
destination: order-events-dlq
|
||||
max-redrive-count: 1
|
||||
payload:
|
||||
max-bytes: 1048576
|
||||
claim-check-threshold-bytes: 1048576
|
||||
key-resolver-configured: true
|
||||
production: true
|
||||
topology-auto-create: false
|
||||
max-attempts: 3
|
||||
initial-delay: 200ms
|
||||
max-delay: 2s
|
||||
multiplier: 2.0
|
||||
jitter: true
|
||||
ordering-impact: PRESERVE # PRESERVE | ALLOW_REORDER
|
||||
dlq:
|
||||
destination: order-events-dlq
|
||||
max-redrive-count: 1
|
||||
payload:
|
||||
max-bytes: 1048576
|
||||
claim-check-threshold-bytes: 1048576
|
||||
key-resolver-configured: true
|
||||
production: false
|
||||
topology-auto-create: false
|
||||
order-events-dlq:
|
||||
broker: kafka-primary
|
||||
kind: WORK_QUEUE
|
||||
physical:
|
||||
topic: order.events.v1.dlt
|
||||
schema:
|
||||
message-types: [order.created]
|
||||
```
|
||||
|
||||
`dlq.destination`이 가리키는 destination도 선언되어야 한다. 선언되지 않은 이름은 부팅 실패이며,
|
||||
메시지가 갈 곳 없는 DLQ 설정이 조용히 통과하지 않는다. `retry.destination`과 `dlq.destination`이
|
||||
섞여 만드는 순환(A의 retry가 B로, B의 dlq가 A로)도 하나의 그래프로 검사되어 경로와 함께 거절된다.
|
||||
|
||||
## 기본값
|
||||
|
||||
| 설정 | 기본값 | 근거 |
|
||||
@@ -81,26 +97,36 @@ app:
|
||||
| Outbox polling | 500ms | |
|
||||
| metric dimension 상한 | 200 | cardinality 폭발 방지 |
|
||||
|
||||
`schema.codec`은 `application/json`, `schema.compatibility`는 `BACKWARD_TRANSITIVE`,
|
||||
`guarantees.delivery`는 `AT_LEAST_ONCE`, `retry.mode`는 `NONE`이 기본값이다. 자동 retry가 기본으로
|
||||
꺼져 있는 이유는 순서를 흐트러뜨리거나 비멱등 side effect를 두 번 실행하는 retry가 눈에 보이는
|
||||
실패보다 나쁘기 때문이다.
|
||||
|
||||
## Broker profile
|
||||
|
||||
브로커는 `app.messaging.brokers` 아래에 한 번만 기술한다. `type`이 어느 계열의 설정이 적용되는지
|
||||
결정하며, 다른 계열의 키(Kafka 항목의 `prefetch` 같은)는 무시되지 않고 부팅 실패로 거절된다 —
|
||||
무시하면 그 줄을 쓴 사람은 무언가가 적용됐다고 믿게 된다.
|
||||
|
||||
### Kafka
|
||||
|
||||
```yaml
|
||||
app:
|
||||
messaging:
|
||||
brokers:
|
||||
kafka-primary:
|
||||
type: kafka
|
||||
stable: true
|
||||
production: true
|
||||
bootstrap-servers: [broker-1:9093, broker-2:9093]
|
||||
enable-idempotence: true # stable에서 필수
|
||||
acks: all # stable에서 필수
|
||||
max-in-flight-requests-per-connection: 5 # 최대 5
|
||||
delivery-timeout: 30s
|
||||
enable-auto-commit: false # 항상 금지
|
||||
tls-enabled: true # production 필수
|
||||
authentication-enabled: true # production 필수
|
||||
brokers:
|
||||
kafka-primary:
|
||||
type: kafka
|
||||
stable: true
|
||||
production: false
|
||||
bootstrap-servers: [broker-1:9093, broker-2:9093]
|
||||
enable-idempotence: true # stable에서 필수
|
||||
acks: all # stable에서 필수
|
||||
max-in-flight-requests-per-connection: 5 # 최대 5
|
||||
delivery-timeout: 30s
|
||||
enable-auto-commit: false # 항상 금지
|
||||
consumer-group: order-projection
|
||||
tls-enabled: false # production이면 필수
|
||||
authentication-enabled: false # production이면 필수
|
||||
```
|
||||
|
||||
### RabbitMQ
|
||||
@@ -108,40 +134,52 @@ app:
|
||||
```yaml
|
||||
app:
|
||||
messaging:
|
||||
brokers:
|
||||
rabbit-primary:
|
||||
type: rabbitmq
|
||||
stable: true
|
||||
production: true
|
||||
addresses: [rabbit-1:5671]
|
||||
publisher-confirms: true # stable에서 필수
|
||||
publisher-returns: true # stable에서 필수
|
||||
mandatory: true # stable에서 필수
|
||||
confirm-timeout: 5s
|
||||
auto-ack: false # 항상 금지
|
||||
prefetch: 16
|
||||
quorum-queues: true # durable work queue 필수
|
||||
tls-enabled: true
|
||||
authentication-enabled: true
|
||||
brokers:
|
||||
rabbit-primary:
|
||||
type: rabbitmq
|
||||
stable: true
|
||||
production: false
|
||||
addresses: [rabbit-1:5671]
|
||||
publisher-confirms: true # stable에서 필수
|
||||
publisher-returns: true # stable에서 필수
|
||||
mandatory: true # stable에서 필수
|
||||
confirm-timeout: 5s
|
||||
auto-ack: false # 항상 금지
|
||||
prefetch: 16
|
||||
quorum-queues: true # durable work queue 필수
|
||||
tls-enabled: false
|
||||
authentication-enabled: false
|
||||
```
|
||||
|
||||
`production: true`인 브로커는 `tls-enabled`와 `authentication-enabled`가 모두 참이어야 하고,
|
||||
그렇지 않으면 `KafkaProfileValidator` / `RabbitProfileValidator`가 부팅을 거절한다. 위 예시가
|
||||
`production: false`인 것은 이 페이지가 그대로 실행되는 fixture이기 때문이며, 실 배포는 셋 다 참이다.
|
||||
|
||||
## 보안
|
||||
|
||||
```yaml
|
||||
app:
|
||||
messaging:
|
||||
security:
|
||||
kafka-primary:
|
||||
producer: { type: SASL_SCRAM, credential-id: kafka-producer }
|
||||
consumer: { type: SASL_SCRAM, credential-id: kafka-consumer }
|
||||
# admin은 application runtime에 설정하지 않는다
|
||||
hostname-verification: true
|
||||
access:
|
||||
publishable: [order-events]
|
||||
consumable: []
|
||||
administrable: []
|
||||
security:
|
||||
kafka-primary:
|
||||
producer: { type: SASL_SCRAM, credential-id: kafka-producer }
|
||||
consumer: { type: SASL_SCRAM, credential-id: kafka-consumer }
|
||||
# admin은 application runtime에 설정하지 않는다
|
||||
hostname-verification: true
|
||||
access:
|
||||
publishable: [order-events]
|
||||
consumable: []
|
||||
administrable: []
|
||||
```
|
||||
|
||||
키는 `app.messaging.brokers`에 선언된 브로커 이름과 같아야 한다. `tls-enabled`와 `production`은
|
||||
브로커 쪽에만 있고 여기에 중복되지 않는다 — 하나의 브로커가 두 곳에서 기술되면 두 값이 어긋나는
|
||||
날이 오고, 어느 쪽이 이기는지는 아무도 모른다.
|
||||
|
||||
`credential-id`는 이름일 뿐이고 자격 증명 자체가 아니다. 실제 재료는 `CredentialProvider`가
|
||||
연결 시점에 해석하므로, 설정 덤프나 힙 덤프에서 나오는 것은 이름뿐이다. producer와 consumer는
|
||||
서로 다른 `credential-id`를 써야 하며, 같으면 부팅에 실패한다.
|
||||
|
||||
## Experimental / Optional
|
||||
|
||||
기본값은 전부 `false`다.
|
||||
@@ -149,12 +187,12 @@ app:
|
||||
```yaml
|
||||
app:
|
||||
messaging:
|
||||
experimental:
|
||||
kafka-share: false
|
||||
pulsar: false
|
||||
nats: false
|
||||
bridge:
|
||||
spring-cloud-stream: false
|
||||
experimental:
|
||||
kafka-share: false
|
||||
pulsar: false
|
||||
nats: false
|
||||
bridge:
|
||||
spring-cloud-stream: false
|
||||
```
|
||||
|
||||
## Backpressure
|
||||
@@ -162,9 +200,24 @@ app:
|
||||
```yaml
|
||||
app:
|
||||
messaging:
|
||||
backpressure:
|
||||
global-limit: 512
|
||||
per-destination-limit: 64 # global-limit 이하여야 한다
|
||||
backpressure:
|
||||
global-limit: 512
|
||||
per-destination-limit: 64 # global-limit 이하여야 한다
|
||||
```
|
||||
|
||||
`per-destination-limit > global-limit`이면 global limit이 limit이 아니게 되므로 부팅에 실패한다.
|
||||
|
||||
## 바인딩되지 않는 키
|
||||
|
||||
섹션은 바인딩되는데 그 안의 키 하나가 오타인 경우는 접두사 오타와 달리 조용하다 — 섹션은 붙고,
|
||||
플랫폼은 뜨고, 바꾸러 온 그 설정만 적용되지 않는다. `MessagingConfigurationKeyValidator`가
|
||||
`app.messaging.destinations|brokers|security` 아래의 모든 키를 settings 레코드에서 파생한 목록과
|
||||
대조하고, 없는 키는 그 키 이름을 담아 부팅을 거절한다.
|
||||
|
||||
허용 키 목록은 이 문서가 아니라 레코드에서 나온다. 문서에 목록을 적으면 필드가 추가된 날 그
|
||||
목록이 틀리고, 오타를 잡으라고 만든 검사가 정상 필드를 거절하게 된다.
|
||||
|
||||
환경변수(`APP_MESSAGING_...`)는 이 검사의 대상이 아니다. `APP_MESSAGING_DESTINATIONS_ORDER_EVENTS_
|
||||
CONSUMER_PREFETCH`에서 entry 이름과 leaf를 가르는 밑줄은 둘 안에 있는 밑줄과 구별되지 않으므로,
|
||||
되돌려 쪼개려면 추측해야 한다. 여기서의 추측은 정상 배포를 거절하는 쪽으로 틀리며, 그것은 배포
|
||||
매니페스트에 손으로 적어야 하는 변수에서 오타 하나를 놓치는 것보다 나쁘다.
|
||||
|
||||
@@ -3,6 +3,12 @@
|
||||
플랫폼이 **무엇을 보장하는지**와 **무엇을 보장하지 않는지**를 브로커별로 고정한다.
|
||||
여기 없는 조합은 지원되지 않는다.
|
||||
|
||||
> **등급은 증거를 따른다.** `CompatibilityMatrix.Entry.hasLiveBrokerCertification()`은 선언된
|
||||
> boolean이 아니라 `CertifiedEvidence`가 가진 레인 증거에서 파생된다. RabbitMQ가 Stable에서 내려온
|
||||
> 이유가 이것이다 — 어댑터는 공유 contract 7개를 통과하고 `RabbitBrokerIT`가 실 컨테이너에서 정상
|
||||
> 경로를 돌리지만, 이 저장소의 Stable 기준인 **장애 시나리오 증거**가 하나도 없다. 레인이 생겨
|
||||
> 증거를 내면 등급은 코드 수정 없이 따라 올라간다.
|
||||
|
||||
> **인증 근거.** 이 표의 버전은 이 저장소의 컨테이너 레인이 실제로 실행한 이미지다. 이전 판은
|
||||
> Kafka 4.2/4.3을 선언했지만 fixture는 `apache/kafka:4.1.0`, lockfile client는 4.1.1이었다 — 표와
|
||||
> 코드 상수가 서로 일치했을 뿐 어느 쪽도 실행된 적이 없었다. 장애 시나리오 커버리지도 마찬가지로
|
||||
@@ -25,7 +31,7 @@
|
||||
| 브로커 | 등급 | 인증 기준 | Stable 기능 | 제한 |
|
||||
|---|---|---|---|---|
|
||||
| Kafka | Stable | 4.1.x | producer idempotence, consumer group, batch, pause/resume, replay, transaction capability | Share Group은 Experimental |
|
||||
| RabbitMQ | Stable | 4.3.x | exchange/routing, publisher confirm, mandatory return, manual ACK, quorum queue, retry queue, DLQ | stream 및 특수 plugin 미지원 |
|
||||
| RabbitMQ | Experimental | 4.3.x | exchange/routing, publisher confirm, mandatory return, manual ACK, quorum queue, retry queue, DLQ | 장애 시나리오 레인 미실행 — 증거 없음. stream 및 특수 plugin 미지원 |
|
||||
| Pulsar | Experimental | 4.0 LTS + 4.2 | typed publish/consume, Shared, Key_Shared, schema | transaction 미승격, 기본 비활성 |
|
||||
| NATS JetStream | Experimental | 2.14.x | stream, durable consumer, explicit ACK, dedupe, replay | native DLQ 없음(플랫폼이 대행), 기본 비활성 |
|
||||
| Artemis/JMS | Extension | 범위 밖 | adapter SPI만 | 별도 ADR + Contract Suite 통과 필요 |
|
||||
@@ -86,11 +92,15 @@ Kafka와 RabbitMQ가 동일한 7개 테스트를 변경 없이 통과한다. 결
|
||||
|---|---|
|
||||
| `KafkaBrokerIT` | `acks=all`이 실제 replication 증거를 만든다 / 잘못된 토픽은 `REJECTED` / 발행-소비 왕복에서 identity 보존 및 contiguous commit |
|
||||
| `KafkaAmbiguityChaosIT` | 브로커를 `docker pause`로 멈춘 상태의 publish가 **`AMBIGUOUS`** 로 보고된다 (broker acceptance 없음, confirmation level `NONE`, 비-retryable) |
|
||||
| `KafkaBrokerCertificationIT` | 인증 레인. Toxiproxy를 broker 앞에 두고 connection cut / confirm 유실 / 지연 / settlement 유실을 각각 주입하고, 통과한 시나리오마다 `BrokerCertificationEvidence` 한 줄을 manifest에 쓴다 |
|
||||
| `RabbitBrokerIT` | exchange가 confirm했는데 어떤 큐에도 바인딩되지 않은 publish가 **`REJECTED` + `UNROUTABLE`** 로 보고된다 |
|
||||
| `OutboxPostgresIT` | 롤백된 트랜잭션은 발행 가능한 행을 남기지 않는다 / `SKIP LOCKED` lease가 두 relay를 분리한다 / ambiguous 행이 같은 `messageId`로 재클레임된다 |
|
||||
| `InboxPostgresIT` | 재전달이 side effect를 두 번 적용하지 않는다 / 롤백은 예약도 되돌린다 |
|
||||
|
||||
Docker가 없으면 `DockerAvailability` 가드로 skip되며, 이 표의 항목은 그때 **검증되지 않은 것**으로 취급한다.
|
||||
`KafkaBrokerCertificationIT`만 예외다 — 인증 레인은 가드를 달지 않고 Docker가 없으면 실패한다. skip하는
|
||||
레인은 아무도 켜지 않은 브로커에 대해 성공을 보고하기 때문이다. 그래서 이 레인은 `test`에서 태그로
|
||||
제외되고 `messagingCertificationTest`로만 실행된다.
|
||||
|
||||
### 3. 장애 시나리오 커버리지 (`BrokerFailureMatrix`)
|
||||
|
||||
@@ -109,6 +119,18 @@ Docker가 없으면 `DockerAvailability` 가드로 skip되며, 이 표의 항목
|
||||
커버해야 하고, Experimental 어댑터는 `LIVE_BROKER` 커버리지를 주장할 수 없다. 커버리지는 *능력*이 아니라
|
||||
*무엇을 실제로 돌렸는지*의 기록이다.
|
||||
|
||||
**증거의 출처.** `CertifiedEvidence`는 더 이상 손으로 쓴 목록이 아니라
|
||||
`messaging-testkit/src/main/resources/messaging/broker-certification-evidence.jsonl`을 읽는다. 그 파일은
|
||||
`messagingCertificationTest` 레인이 실제 Kafka 컨테이너에 장애를 주입하며 만들어낸 출력이고,
|
||||
`verifyMessagingCertificationEvidence`가 커밋된 manifest와 이번 실행의 출력을 대조해 다르면 빌드를
|
||||
실패시킨다. 즉 **manifest를 손으로 고치면 게이트가 깨지고, 레인을 돌리면 manifest가 다시 쓰인다.**
|
||||
|
||||
오늘 Kafka가 가진 증거는 `connection-cut-after-write` · `confirm-timeout` · `high-latency` ·
|
||||
`settlement-lost` 네 개다. `connection-refused`는 남은 gap이며 그 이유가 있다 — Kafka producer는 연결
|
||||
존재 여부를 알기 전에 레코드를 버퍼에 넣으므로, 연결 거부는 전송에 대해 아무것도 증명하지 못하는
|
||||
delivery timeout으로 나타난다. 이를 `REJECTED`로 보고하는 것은 이 플랫폼이 금지한 추측이므로,
|
||||
시나리오는 `CertifiedEvidence.knownGaps`가 이름으로 들고 있는 미커버 항목으로 남는다.
|
||||
|
||||
### 실 브로커가 실제로 잡아낸 결함
|
||||
|
||||
이 스위트들은 장식이 아니다. 작성 과정에서 결정적 테스트가 통과하는데 실 인프라에서 실패한
|
||||
|
||||
@@ -26,8 +26,12 @@ dev.caskeleton.adapter.outbound.notification.platform.autoconfigure.Notification
|
||||
dev.caskeleton.adapter.outbound.notification.platform.autoconfigure.NotificationPlatformMode
|
||||
dev.caskeleton.adapter.outbound.notification.platform.autoconfigure.NotificationPlatformSettings
|
||||
dev.caskeleton.adapter.outbound.notification.platform.autoconfigure.NotificationProviderAssembly
|
||||
dev.caskeleton.adapter.outbound.notification.platform.autoconfigure.NotificationSecretRequirements
|
||||
dev.caskeleton.adapter.outbound.notification.platform.autoconfigure.NotificationSmtpProviderConfig
|
||||
dev.caskeleton.adapter.outbound.notification.platform.autoconfigure.NotificationSmtpSettings
|
||||
dev.caskeleton.adapter.outbound.notification.platform.autoconfigure.ProviderRuntimeAssembler
|
||||
dev.caskeleton.adapter.outbound.notification.platform.autoconfigure.ProviderType
|
||||
dev.caskeleton.adapter.outbound.notification.platform.autoconfigure.SmtpProviderRuntimeAssembler
|
||||
dev.caskeleton.adapter.outbound.notification.platform.dispatch.AttemptPermit
|
||||
dev.caskeleton.adapter.outbound.notification.platform.dispatch.CapabilityReconciliationGateway
|
||||
dev.caskeleton.adapter.outbound.notification.platform.dispatch.ConfiguredProfileCatalog
|
||||
@@ -56,6 +60,7 @@ dev.caskeleton.adapter.outbound.notification.platform.observation.LoggingNotific
|
||||
dev.caskeleton.adapter.outbound.notification.platform.observation.NotificationHealthReporter
|
||||
dev.caskeleton.adapter.outbound.notification.platform.observation.NotificationHealthSnapshot
|
||||
dev.caskeleton.adapter.outbound.notification.platform.observation.NotificationServingThresholds
|
||||
dev.caskeleton.adapter.outbound.notification.platform.provider.EmailAttachments
|
||||
dev.caskeleton.adapter.outbound.notification.platform.provider.ProviderResults
|
||||
dev.caskeleton.adapter.outbound.notification.platform.provider.UnconfiguredAttachmentResolver
|
||||
dev.caskeleton.adapter.outbound.notification.platform.provider.apns.ApnsFailureClassifier
|
||||
@@ -89,6 +94,7 @@ dev.caskeleton.adapter.outbound.notification.platform.provider.ses.SesRequestMap
|
||||
dev.caskeleton.adapter.outbound.notification.platform.provider.ses.SesSuppressionUpdater
|
||||
dev.caskeleton.adapter.outbound.notification.platform.provider.ses.SnsCertificateProvider
|
||||
dev.caskeleton.adapter.outbound.notification.platform.provider.ses.SnsSignatureVerifier
|
||||
dev.caskeleton.adapter.outbound.notification.platform.provider.smtp.JavaMailSenderSmtpDispatch
|
||||
dev.caskeleton.adapter.outbound.notification.platform.provider.smtp.SmtpDispatch
|
||||
dev.caskeleton.adapter.outbound.notification.platform.provider.smtp.SmtpDispatchException
|
||||
dev.caskeleton.adapter.outbound.notification.platform.provider.smtp.SmtpFailureClassifier
|
||||
@@ -122,6 +128,7 @@ dev.caskeleton.adapter.outbound.notification.platform.reactor.ReactorContextBrid
|
||||
dev.caskeleton.adapter.outbound.notification.platform.reactor.ReactorNotificationOrchestrator
|
||||
dev.caskeleton.adapter.outbound.notification.platform.security.AesGcmCallbackPayloadProtection
|
||||
dev.caskeleton.adapter.outbound.notification.platform.security.AesGcmContactPointProtector
|
||||
dev.caskeleton.adapter.outbound.notification.platform.security.AesGcmNotificationPayloadProtection
|
||||
dev.caskeleton.adapter.outbound.notification.platform.security.CredentialGeneration
|
||||
dev.caskeleton.adapter.outbound.notification.platform.security.HmacProviderRequestIdHasher
|
||||
dev.caskeleton.adapter.outbound.notification.platform.security.ProviderCredentialManager
|
||||
@@ -137,6 +144,7 @@ dev.caskeleton.adapter.outbound.notification.platform.template.NotificationTempl
|
||||
dev.caskeleton.adapter.outbound.notification.platform.template.PlaceholderTemplateEngine
|
||||
dev.caskeleton.adapter.outbound.notification.platform.template.Sha256MessageDigestAdapter
|
||||
dev.caskeleton.adapter.outbound.notification.platform.template.TemplateSlotMode
|
||||
dev.caskeleton.adapter.outbound.notification.platform.template.TemplateSlotPolicy
|
||||
dev.caskeleton.adapter.outbound.notification.platform.template.ThymeleafNotificationRenderer
|
||||
dev.caskeleton.adapter.outbound.notification.platform.template.ThymeleafStringTemplateEngine
|
||||
dev.caskeleton.adapter.outbound.notification.provider.AttemptCorrelationId
|
||||
@@ -384,6 +392,7 @@ dev.caskeleton.application.notification.platform.callback.ProviderEventProjector
|
||||
dev.caskeleton.application.notification.platform.callback.ProviderEventRecord
|
||||
dev.caskeleton.application.notification.platform.callback.ProviderEventRecordId
|
||||
dev.caskeleton.application.notification.platform.callback.ProviderEventSource
|
||||
dev.caskeleton.application.notification.platform.callback.ProviderRequestIdHash
|
||||
dev.caskeleton.application.notification.platform.callback.StandardDeliveryProjector
|
||||
dev.caskeleton.application.notification.platform.callback.SuppressionFacts
|
||||
dev.caskeleton.application.notification.platform.callback.VerifiedCallback
|
||||
@@ -400,6 +409,7 @@ dev.caskeleton.application.notification.platform.contact.LegacyFcmRegistrationTo
|
||||
dev.caskeleton.application.notification.platform.contact.MobilePushTarget
|
||||
dev.caskeleton.application.notification.platform.contact.PhoneNumber
|
||||
dev.caskeleton.application.notification.platform.contact.WebPushSubscriptionValue
|
||||
dev.caskeleton.application.notification.platform.dispatch.AcceptNotificationApplicationUseCase
|
||||
dev.caskeleton.application.notification.platform.dispatch.ApplicationReceiptServiceImpl
|
||||
dev.caskeleton.application.notification.platform.dispatch.AttachmentIntegrityGuard
|
||||
dev.caskeleton.application.notification.platform.dispatch.CancelNotificationApplicationUseCase
|
||||
@@ -430,6 +440,7 @@ dev.caskeleton.application.notification.platform.dispatch.PolicyRoutePlanner
|
||||
dev.caskeleton.application.notification.platform.dispatch.ProviderDispatchGatewayPort
|
||||
dev.caskeleton.application.notification.platform.dispatch.ProviderProfileCatalogPort
|
||||
dev.caskeleton.application.notification.platform.dispatch.ProviderRequestIdHasherPort
|
||||
dev.caskeleton.application.notification.platform.dispatch.PublishNotificationTemplateApplicationUseCase
|
||||
dev.caskeleton.application.notification.platform.dispatch.RecipientDeliveryRecord
|
||||
dev.caskeleton.application.notification.platform.dispatch.RecipientDeliveryStorePort
|
||||
dev.caskeleton.application.notification.platform.dispatch.RecipientLease
|
||||
@@ -499,12 +510,16 @@ dev.caskeleton.application.notification.platform.policy.SuppressionReason
|
||||
dev.caskeleton.application.notification.platform.policy.SuppressionScope
|
||||
dev.caskeleton.application.notification.platform.policy.SuppressionSource
|
||||
dev.caskeleton.application.notification.platform.policy.SuppressionStorePort
|
||||
dev.caskeleton.application.notification.platform.port.in.AcceptNotificationCommand
|
||||
dev.caskeleton.application.notification.platform.port.in.AcceptNotificationUseCase
|
||||
dev.caskeleton.application.notification.platform.port.in.CancelNotificationCommand
|
||||
dev.caskeleton.application.notification.platform.port.in.CancelNotificationUseCase
|
||||
dev.caskeleton.application.notification.platform.port.in.GetNotificationQuery
|
||||
dev.caskeleton.application.notification.platform.port.in.GetNotificationUseCase
|
||||
dev.caskeleton.application.notification.platform.port.in.IngestProviderCallbackCommand
|
||||
dev.caskeleton.application.notification.platform.port.in.IngestProviderCallbackUseCase
|
||||
dev.caskeleton.application.notification.platform.port.in.PublishNotificationTemplateCommand
|
||||
dev.caskeleton.application.notification.platform.port.in.PublishNotificationTemplateUseCase
|
||||
dev.caskeleton.application.notification.platform.port.in.ScheduleNotificationCommand
|
||||
dev.caskeleton.application.notification.platform.port.in.ScheduleNotificationUseCase
|
||||
dev.caskeleton.application.notification.platform.port.in.SubmitNotificationCommand
|
||||
@@ -539,6 +554,8 @@ dev.caskeleton.application.notification.platform.push.ReceiptKind
|
||||
dev.caskeleton.application.notification.platform.push.ReceiptResult
|
||||
dev.caskeleton.application.notification.platform.security.AccessContext
|
||||
dev.caskeleton.application.notification.platform.security.ContactPointProtector
|
||||
dev.caskeleton.application.notification.platform.security.NotificationPayloadProtection
|
||||
dev.caskeleton.application.notification.platform.security.NotificationPayloadUnreadableException
|
||||
dev.caskeleton.application.notification.platform.security.NotificationRedactor
|
||||
dev.caskeleton.application.notification.platform.security.ProtectedContactPoint
|
||||
dev.caskeleton.application.notification.platform.security.SafeDiagnosticContext
|
||||
|
||||
@@ -41,6 +41,12 @@ still waiting on gets claimed by a second worker, and the recipient receives the
|
||||
| `callbacks.enabled` | `APP_NOTIFICATION_PLATFORM_CALLBACKS_ENABLED` | `false` | boolean |
|
||||
| `callbacks.max-body-bytes` | `APP_NOTIFICATION_PLATFORM_CALLBACK_MAX_BODY_BYTES` | `65508` | 1..65508 |
|
||||
| `callbacks.replay-skew` | `APP_NOTIFICATION_PLATFORM_CALLBACK_REPLAY_SKEW` | `5m` | positive |
|
||||
| `callbacks.trusted-proxies` | `APP_NOTIFICATION_PLATFORM_CALLBACK_TRUSTED_PROXIES` | *(empty)* | CSV of peer addresses |
|
||||
|
||||
여러 provider가 요청 URL에 서명하므로, 그 URL을 잘못 재구성하면 정상 webhook이 전부 서명 실패가 된다.
|
||||
`trusted-proxies`가 비어 있으면 forwarded 헤더를 **믿지 않고** 컨테이너가 관측한 값을 쓴다. 무조건 믿으면
|
||||
아무 호출자나 자기 서명이 검증될 URL을 고를 수 있어 서명 자체가 무의미해진다. 로드밸런서 뒤에 있는 배포는
|
||||
그 peer를 명시한다.
|
||||
|
||||
65508 is not a round number by accident: it is the ciphertext column's 65536 bytes minus the AES-GCM
|
||||
nonce and tag. A larger configured value would pass every check above the database and fail the
|
||||
@@ -69,6 +75,43 @@ them, because the keys are deployment-chosen; supply them as YAML or as
|
||||
A profile pins provider type, environment, credential profile, timeouts, concurrency and rate limit.
|
||||
Sender identity and credential profile are separate concerns.
|
||||
|
||||
## SMTP relay
|
||||
|
||||
The one provider profile the template ships, off. A deployment that wants the common case sets
|
||||
`APP_NOTIFICATION_PLATFORM_SMTP_ENABLED=true` and the relay address; one that wants a different
|
||||
profile id or a second family declares it in its own YAML instead.
|
||||
|
||||
The profile and the relay are separate tables below because they answer different questions. The
|
||||
profile says *which* provider serves EMAIL and under what limits; the relay says *what the transport
|
||||
is*. Host, port and credentials are not here at all — they stay `spring.mail.*`, because Spring
|
||||
already owns them and a second spelling would be a second thing to keep in step.
|
||||
|
||||
| Property | Environment variable | Default | Bound |
|
||||
|---|---|---|---|
|
||||
| `providers.smtp.enabled` | `APP_NOTIFICATION_PLATFORM_SMTP_ENABLED` | `false` | boolean |
|
||||
| `providers.smtp.primary-for-channel` | `APP_NOTIFICATION_PLATFORM_SMTP_PRIMARY` | `true` | boolean; exactly one primary per channel |
|
||||
| `providers.smtp.environment` | `APP_NOTIFICATION_PLATFORM_SMTP_ENVIRONMENT` | `local` | required when enabled |
|
||||
| `providers.smtp.credential-profile` | `APP_NOTIFICATION_PLATFORM_SMTP_CREDENTIAL_PROFILE` | `default` | resolved through `SecretMaterialProvider`, never inline material |
|
||||
| `providers.smtp.timeout` | `APP_NOTIFICATION_PLATFORM_SMTP_TIMEOUT` | `10s` | positive, finite |
|
||||
| `providers.smtp.max-concurrency` | `APP_NOTIFICATION_PLATFORM_SMTP_MAX_CONCURRENCY` | `4` | positive |
|
||||
| `providers.smtp.rate-per-second` | `APP_NOTIFICATION_PLATFORM_SMTP_RATE_PER_SECOND` | `10` | positive |
|
||||
|
||||
| Property | Environment variable | Default | Bound |
|
||||
|---|---|---|---|
|
||||
| `smtp.tls-mode` | `APP_NOTIFICATION_PLATFORM_SMTP_TLS_MODE` | `STARTTLS_REQUIRED` | `STARTTLS_REQUIRED` or `IMPLICIT_TLS` |
|
||||
| `smtp.sender-identity` | `APP_NOTIFICATION_PLATFORM_SMTP_SENDER_IDENTITY` | `no-reply@example.invalid` | address |
|
||||
| `smtp.connect-timeout` | `APP_NOTIFICATION_PLATFORM_SMTP_CONNECT_TIMEOUT` | `5s` | positive, finite |
|
||||
| `smtp.read-timeout` | `APP_NOTIFICATION_PLATFORM_SMTP_READ_TIMEOUT` | `10s` | positive, finite |
|
||||
| `smtp.write-timeout` | `APP_NOTIFICATION_PLATFORM_SMTP_WRITE_TIMEOUT` | `10s` | positive, finite |
|
||||
| `smtp.max-concurrency` | `APP_NOTIFICATION_PLATFORM_SMTP_DISPATCH_CONCURRENCY` | `4` | positive |
|
||||
|
||||
The TLS mode enum has no plaintext member. An unencrypted relay is refused by construction rather
|
||||
than by a validator somebody has to remember to run.
|
||||
|
||||
The default sender is an RFC 2606 reserved domain that resolves nowhere, so a deployment that forgot
|
||||
to set one produces a traceable bounce instead of mail apparently sent from an address it does not
|
||||
own.
|
||||
|
||||
## Startup failures
|
||||
|
||||
Startup fails rather than degrading when:
|
||||
@@ -91,6 +134,33 @@ All key material arrives through `SecretMaterialProvider`. Nothing is read from
|
||||
committed file, or from a plaintext log. Contact point encryption and lookup HMAC keys must be
|
||||
distinct, and the encryption key must be exactly 256 bits.
|
||||
|
||||
Eight purposes, eight keys. Each is base64 of at least 32 bytes and each must differ from every
|
||||
other; the platform decodes them at startup and refuses to boot if one is blank, short or shared. A
|
||||
blank value used to be skipped, which meant the platform started without the key and found out on
|
||||
the first contact point — in production, on a recipient's notification.
|
||||
|
||||
Every default below is **unset**, deliberately. Supply the values out of band, per environment. Do
|
||||
not write one into this table, into `application.yml`, into an `.env` file that is tracked, or into
|
||||
any example: a value that appears in the repository is a value that has been disclosed.
|
||||
|
||||
| Purpose | Key material | Active key id |
|
||||
|---|---|---|
|
||||
| Contact point encryption | `APP_NOTIFICATION_PLATFORM_CONTACT_ENCRYPTION_KEY` | `APP_NOTIFICATION_PLATFORM_CONTACT_ENCRYPTION_KEY_ID` |
|
||||
| Contact point lookup HMAC | `APP_NOTIFICATION_PLATFORM_CONTACT_LOOKUP_HMAC_KEY` | `APP_NOTIFICATION_PLATFORM_CONTACT_LOOKUP_HMAC_KEY_ID` |
|
||||
| Callback signing | `APP_NOTIFICATION_PLATFORM_CALLBACK_SIGNING_KEY` | `APP_NOTIFICATION_PLATFORM_CALLBACK_SIGNING_KEY_ID` |
|
||||
| Callback fingerprint HMAC | `APP_NOTIFICATION_PLATFORM_CALLBACK_FINGERPRINT_HMAC_KEY` | `APP_NOTIFICATION_PLATFORM_CALLBACK_FINGERPRINT_HMAC_KEY_ID` |
|
||||
| Provider credential encryption | `APP_NOTIFICATION_PLATFORM_PROVIDER_CREDENTIAL_KEY` | `APP_NOTIFICATION_PLATFORM_PROVIDER_CREDENTIAL_KEY_ID` |
|
||||
| Provider request lookup HMAC | `APP_NOTIFICATION_PLATFORM_PROVIDER_REQUEST_LOOKUP_HMAC_KEY` | `APP_NOTIFICATION_PLATFORM_PROVIDER_REQUEST_LOOKUP_HMAC_KEY_ID` |
|
||||
| Payload encryption | `APP_NOTIFICATION_PLATFORM_PAYLOAD_ENCRYPTION_KEY` | `APP_NOTIFICATION_PLATFORM_PAYLOAD_ENCRYPTION_KEY_ID` |
|
||||
| Web Push VAPID signing | `APP_NOTIFICATION_PLATFORM_VAPID_SIGNING_KEY` | `APP_NOTIFICATION_PLATFORM_VAPID_SIGNING_KEY_ID` |
|
||||
|
||||
A key id is not secret — an id identifies key material without revealing it — but it is required,
|
||||
and it has no default on purpose. A constant id makes a rotation indistinguishable from the key it
|
||||
replaced, so nothing could decrypt what was written before it. Change the id in the same deployment
|
||||
that changes the material, and keep the superseded key readable under its old id until the data it
|
||||
wrote has been re-encrypted. The rotation sequence is in
|
||||
[at-rest-threat-model.md](at-rest-threat-model.md).
|
||||
|
||||
## Readiness
|
||||
|
||||
The platform contributes a `notifications` actuator endpoint and a health indicator. It reports DOWN
|
||||
|
||||
@@ -1672,9 +1672,12 @@ env_keys:
|
||||
required_test: idempotency-contract:ttl-applied
|
||||
|
||||
- name: APP_IDEMPOTENCY_PROVIDER
|
||||
# postgresql selects the owner-safe V2 store on the primary data source. It had no value here
|
||||
# while the store, its schema stream and its integration suite all existed, so the capability
|
||||
# could only be reached by constructing it in a test.
|
||||
type: enum
|
||||
default: jdbc
|
||||
allowed_values: [disabled, jdbc, redis]
|
||||
allowed_values: [disabled, jdbc, redis, postgresql]
|
||||
classification: public-config
|
||||
required: false
|
||||
reload_policy: restart-only
|
||||
@@ -4970,6 +4973,21 @@ env_keys:
|
||||
compatibility_impact: behavior-change
|
||||
required_test: adapter-contract:notification-callback-body-bound
|
||||
|
||||
- name: APP_NOTIFICATION_PLATFORM_CALLBACK_TRUSTED_PROXIES
|
||||
# source: NTF-001 — peers whose forwarded headers may be believed when reconstructing the URL a
|
||||
# provider signed. Empty means the resolver uses what the container observed; honouring
|
||||
# forwarded headers unconditionally would let any caller pick the URL its signature is checked
|
||||
# against, which defeats the signature.
|
||||
type: csv
|
||||
default: ""
|
||||
allowed_values: null
|
||||
classification: security-relevant
|
||||
required: false
|
||||
reload_policy: restart-only
|
||||
owner_branch: worktree-notification-platform
|
||||
validation: none
|
||||
compatibility_impact: behavior-change
|
||||
required_test: adapter-contract:notification-callback-url-resolution
|
||||
- name: APP_NOTIFICATION_PLATFORM_CALLBACK_REPLAY_SKEW
|
||||
# source: NTF-025 — how far a callback timestamp may differ from local time before it is treated as a replay
|
||||
type: duration
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
# P1 remediation status — the five module reviews
|
||||
|
||||
**Reviews:** `docs/reviews/2026-08-14-{jpa,graphql,messaging,mongodb,notification}-module-code-review.md`
|
||||
**Baseline:** the P0 pass was already complete when this pass began; this file records the P1 pass,
|
||||
which is complete — all 31 findings closed, two of them by establishing that the review's own
|
||||
accepted outcome was already met rather than by writing code.
|
||||
**Verified at:** repo-wide `test`, `spotlessCheck`, `verifyCleanArchitectureDependencies`,
|
||||
`verifyEnvKeys`, `verifyPublicPathSnapshot` and the root `CleanArchitectureTest` all green.
|
||||
|
||||
This file exists because the status was previously carried only in conversation and had to be
|
||||
reconstructed. A finding's row is the claim; the evidence column is where the claim is falsifiable.
|
||||
|
||||
## The recurring defect
|
||||
|
||||
Nearly every P1 in these five reviews is one shape: **a control that exists, passes its own tests,
|
||||
and is reached by nothing.** Not a wrong algorithm — an unreachable one. The tests passed because
|
||||
they constructed the class directly; the capability was absent because no configuration could.
|
||||
|
||||
Examples closed in this pass: the Mongo typed-update path (`MongoBulkExecutor` and
|
||||
`MongoAtomicOperationsTemplate` were constructed by nothing), the entire Mongo change-stream
|
||||
capability (no production code opened a stream at all), `GraphQlBatchLoaderRegistrar.register` (no
|
||||
caller, so the wrong-key refusal never ran on an executing query), `PublishOptions.timeout()` (read
|
||||
by nobody on the real publish path), `markExhausted` (no caller, so a row that spent its budget
|
||||
stayed `AMBIGUOUS` forever), `OutboxMessagePublishPort.publishForOutcome` (no caller, so every
|
||||
ambiguous publish collapsed into an exception), the outbox relay itself (no bean ran a pass), and
|
||||
`BackpressureController` (a limiter the publish path never consulted, reporting `globalInFlight: 0`
|
||||
under any load).
|
||||
|
||||
The lesson worth keeping: **a passing unit test is not evidence a capability exists.** The
|
||||
reachability question — what constructs this, and on which request path — has to be asked
|
||||
separately, and several of the tests added in this pass exist only to ask it.
|
||||
|
||||
## Status
|
||||
|
||||
| Finding | Verdict | Evidence |
|
||||
| --- | --- | --- |
|
||||
| JPA-005 | closed already | roll-up in `NotificationRequestStatusPolicy`; port is tenant-scoped; ArchUnit `PERSISTENCE_DOES_NOT_DEPEND_ON_APPLICATION_SERVICES` |
|
||||
| JPA-006 | closed already | `PersistenceJpaRootAutoConfiguration` is in `AutoConfiguration.imports` and imports the real runtime config |
|
||||
| JPA-007 | closed under item 6 | the review offers two accepted outcomes: full integration, or the interim state under item 6's two conditions. Both hold and were verified in code — `FullTransactionRetryCoordinator:89-93` resolves the policy per call from the calling profile, and `DefaultJpaRetryPolicy:61-64` returns on `!failure.retryable()` before consulting the category allowlist |
|
||||
| JPA-008 | closed | nothing registered a `VendorFailureTranslator`, so every executor ran `withoutCatalogs()` and a 40001 never reached the retry classifier |
|
||||
| JPA-026 | closed | a rehydrated callback event had no matcher once `attempt_id` was null; hash fallback + write-back added |
|
||||
| JPA-028 | closed | the reaper query had no caller, uploads had no terminal state, cleanup decided from a lease it had read rather than claiming |
|
||||
| JPA-029 | closed already | tuple cutoff implemented; the signal is documented best-effort by decision |
|
||||
| GQL-004 | not a defect | every evidence bullet false at HEAD; no WebFlux dependency exists, transport disagreement fails startup |
|
||||
| GQL-011 | closed | unkeyed truncated SHA-256 over actor/tenant replaced with a keyed, rotating HMAC; no default key |
|
||||
| GQL-015 | closed | schema extensions were invisible to the comparator, so a field removed by `extend type` produced no change at all |
|
||||
| GQL-016 | closed | the batch executor returned the loader's map verbatim, so the wrong-key refusal and missing-key policy never ran |
|
||||
| GQL-017 | closed | the blocking bridge was opt-in and null by default, so a reactive runtime ran blocking chunks on the event loop |
|
||||
| MNG-010 | closed | the guardrail was a `Set<String>` asserted against itself; now an ArchUnit rule over the real production graph at the composition root |
|
||||
| MNG-012 | closed | a failed abort or close on a committed transaction was discarded by a closing brace |
|
||||
| MNG-018 | closed | TLS and auth were asserted against a settings object; four TLS cases now run against real servers |
|
||||
| MNG-024 | closed | the reactive binder carried read preference and write concern only, so reactive writes skipped auditing and callbacks |
|
||||
| MNG-026 | closed | both typed-update paths were unreachable, and the bulk executor could be built with no policy at all |
|
||||
| MNG-028 | closed | no production code opened a change stream; the consumer now owns load → resume → stream → project → checkpoint |
|
||||
| MSG-006 | closed | `markExhausted` had no caller and the scheduler's backoff was never written; a relay worker now runs passes |
|
||||
| MSG-008 | closed | validators were beans nothing injected, and the documented configuration bound nowhere; destination/broker/security sections now bind under `app.messaging` and the reference document is executed by a test |
|
||||
| MSG-010 | closed | `BackpressureController` deleted as an unreachable duplicate; its one unique capability moved into the gate that is called |
|
||||
| MSG-012 | closed | header values accepted CR/LF/NUL, identifiers were bounded in chars not bytes, `traceparent` was any string, denylists matched exact spellings only |
|
||||
| MSG-014 | closed | `hasLiveBrokerCertification` is derived from recorded evidence rather than declared, and the evidence is now a manifest a fault lane wrote against a real broker rather than a hand-authored list |
|
||||
| MSG-015 | semantic half closed | the outcome-aware publish path is wired; the anti-corruption bridge needs a `modules.json` edge and is an architecture decision |
|
||||
| MSG-016 | closed | no reserved name existed for tenant, so every consumed message was rebuilt with none; the canonical metadata is now columns, and the CDC event key moved off `destination`, which had put every message on a topic onto one partition |
|
||||
| MSG-017 | closed | the timeout is an absolute deadline; contradictory `PublishResult` combinations are unrepresentable; `brokerHints` removed |
|
||||
| NTF-015 | closed | webhook signing was one shared secret for every subscription; SES silently dropped attachments and now sends them as raw MIME |
|
||||
| NTF-016 | closed | retired keys were forced to one purpose so a provider-credential drain failed; required purposes now follow enabled capabilities |
|
||||
| NTF-019 | closed already | split inbound ports carry capabilities; four ArchUnit rules with negative fixtures close the gate |
|
||||
|
||||
## Found while closing, not in any review
|
||||
|
||||
`SmtpMimeMessageFactory` handed JavaMail the resolver's one-shot stream. JavaMail reads an
|
||||
attachment twice — once to choose the part's transfer encoding, once to write it — so the second
|
||||
read returned nothing and the message went out announcing a filename and carrying no bytes, with
|
||||
the attempt recorded as accepted. Every existing test asserted on the outcome of the send rather
|
||||
than on what was sent, which is why a bug that emptied every attachment on the one provider family
|
||||
this platform can actually assemble survived a full review pass.
|
||||
|
||||
`SmtpAttachmentBodyTest` now reads the attachment back off the serialised message the way a
|
||||
receiving client would. It was confirmed to fail against the original code and pass against the
|
||||
fix, because a regression test nobody has watched fail is a regression test of unknown shape.
|
||||
|
||||
## Observations that are not open P1 items
|
||||
|
||||
Both were checked against the reviews rather than assumed, because "looks unfinished" and "is an open
|
||||
finding" are different claims.
|
||||
|
||||
**The GraphQL cursor key gate.** `GraphQlPlatformStartupValidator` refuses to start a production
|
||||
deployment without `backend.graphql.cursor.key-ids`, and nothing signs a cursor with it:
|
||||
`GraphQlConnectionAssembler` and `HmacGraphQlCursorCodec` have no consumer anywhere in this
|
||||
repository, because the template ships no paginating resolver. This is not GQL-010, which is about
|
||||
the codec's framing, rotation and scope and is implemented — versioned framing, the codec choosing
|
||||
the active key rather than the caller, v1 decode kept only for migration, tenant scope bound. It
|
||||
belongs to the `modelled` grading the leaf's own `GraphQlPolicyRequestPathTest` already documents in
|
||||
as many words. Declaring beans for it would create the unreachable-control defect this pass exists
|
||||
to close, and the present behaviour fails closed, which is the safe direction. Left as it is, on
|
||||
purpose.
|
||||
|
||||
## Product work, not remediation
|
||||
|
||||
**Notification provider transports.** Only SMTP has a `ProviderRuntimeAssembler`.
|
||||
`NotificationProviderAssembly` refuses to start a profile whose family has no assembler, naming the
|
||||
transport as a seam rather than an implementation — which is the honest fail-closed behaviour, not a
|
||||
defect. Building SES, Twilio, FCM, APNs and WebPush transports is product work.
|
||||
@@ -25,7 +25,9 @@ status: stub
|
||||
|
||||
### Step 1 — 확인
|
||||
1. ERROR log에서 `OUTBOX_PUBLISH_FAILED` 라인 확인: `event_type`, `event_id`, `correlation_id`, `attempt_count` 추출
|
||||
2. broker 상태 확인: `APP_MESSAGING_BROKER` 값(공백이면 messaging 비활성)과 broker endpoint 가용성
|
||||
2. broker 상태 확인: `APP_MESSAGING_BROKER` 값과 broker endpoint 가용성. 이 키는 활성화 스위치가
|
||||
아니라 **선택자**다 — messaging을 끄는 것은 `APP_MESSAGING_ENABLED=false`이고, 이 값을 비운다고
|
||||
messaging이 꺼지지는 않는다.
|
||||
- `APP_MESSAGING_BROKER`가 공백인 채로 relay가 켜져 있으면 **애플리케이션이 기동하지 않는다**
|
||||
(`OutboxRelayBrokerRequirementValidator`, MSG-024). 이 조합에서는 publish가 전부
|
||||
`AdapterDisabledException`으로 실패하며 PENDING row가 DEAD까지 소진되기 때문이다.
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,41 @@
|
||||
$ ./gradlew verifyCleanArchitectureDependencies verifyEnvKeys verifyRuntimeModuleMembership verifyPublicPathSnapshot verifyDocumentedLeafCount --console=plain
|
||||
run-at: 2026-08-20T01:59:14Z
|
||||
> Task :build-logic:extractPluginRequests UP-TO-DATE
|
||||
> Task :build-logic:generatePluginAdapters UP-TO-DATE
|
||||
> Task :build-logic:compileJava UP-TO-DATE
|
||||
> Task :build-logic:compileGroovy UP-TO-DATE
|
||||
> Task :build-logic:compileGroovyPlugins UP-TO-DATE
|
||||
> Task :build-logic:pluginDescriptors UP-TO-DATE
|
||||
> Task :build-logic:processResources UP-TO-DATE
|
||||
> Task :build-logic:classes UP-TO-DATE
|
||||
> Task :build-logic:jar UP-TO-DATE
|
||||
> Task :verifyCleanArchitectureDependencies
|
||||
> Task :shared-contract:compileJava UP-TO-DATE
|
||||
> Task :shared-contract:processResources UP-TO-DATE
|
||||
> Task :shared-contract:classes UP-TO-DATE
|
||||
> Task :shared-contract:jar UP-TO-DATE
|
||||
> Task :application-core:compileJava UP-TO-DATE
|
||||
> Task :application-core:processResources NO-SOURCE
|
||||
> Task :application-core:classes UP-TO-DATE
|
||||
> Task :application-core:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:support:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:support:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:support:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:support:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:compileJava UP-TO-DATE
|
||||
|
||||
> Task :verifyEnvKeys
|
||||
verifyEnvKeys: OK — 341 env keys, 6 required placeholders covered, 225 application APP_ references registered, 61 typed properties registered, 338 rows with a consumer or a deprecation.
|
||||
|
||||
> Task :verifyRuntimeModuleMembership
|
||||
verifyRuntimeModuleMembership: 2 runtime composition(s) match the registry
|
||||
|
||||
> Task :verifyPublicPathSnapshot
|
||||
verifyPublicPathSnapshot: OK — committed public paths are unchanged.
|
||||
|
||||
> Task :verifyDocumentedLeafCount
|
||||
|
||||
BUILD SUCCESSFUL in 8s
|
||||
21 actionable tasks: 5 executed, 16 up-to-date
|
||||
Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.0.0/userguide/configuration_cache_enabling.html
|
||||
exit=0
|
||||
@@ -0,0 +1,901 @@
|
||||
$ ./gradlew check --warning-mode=fail --no-daemon --console=plain (re-run after the SpotBugs fix)
|
||||
run-at: 2026-08-20T01:53:16Z
|
||||
To honour the JVM settings for this build a single-use Daemon process will be forked. For more on this, please refer to https://docs.gradle.org/9.0.0/userguide/gradle_daemon.html#sec:disabling_the_daemon in the Gradle documentation.
|
||||
Daemon will be stopped at the end of the build
|
||||
> Task :build-logic:extractPluginRequests UP-TO-DATE
|
||||
> Task :build-logic:generatePluginAdapters UP-TO-DATE
|
||||
> Task :build-logic:compileJava UP-TO-DATE
|
||||
> Task :build-logic:compileGroovy UP-TO-DATE
|
||||
> Task :build-logic:compileGroovyPlugins UP-TO-DATE
|
||||
> Task :build-logic:pluginDescriptors UP-TO-DATE
|
||||
> Task :build-logic:processResources UP-TO-DATE
|
||||
> Task :build-logic:classes UP-TO-DATE
|
||||
> Task :build-logic:jar UP-TO-DATE
|
||||
> Task :verifyCleanArchitectureDependencies
|
||||
|
||||
> Task :verifyConfigurationPropertiesProcessor
|
||||
verifyConfigurationPropertiesProcessor: OK — all 44 registered leaves have exact configuration-processor parity.
|
||||
|
||||
> Task :verifyDocumentedLeafCount
|
||||
> Task :shared-contract:compileJava UP-TO-DATE
|
||||
> Task :shared-contract:processResources UP-TO-DATE
|
||||
> Task :shared-contract:classes UP-TO-DATE
|
||||
> Task :shared-contract:jar UP-TO-DATE
|
||||
> Task :application-core:compileJava UP-TO-DATE
|
||||
> Task :application-core:processResources NO-SOURCE
|
||||
> Task :application-core:classes UP-TO-DATE
|
||||
> Task :application-core:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:support:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:support:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:support:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:support:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:compileJava UP-TO-DATE
|
||||
|
||||
> Task :verifyEnvKeys
|
||||
verifyEnvKeys: OK — 341 env keys, 6 required placeholders covered, 225 application APP_ references registered, 61 typed properties registered, 338 rows with a consumer or a deprecation.
|
||||
|
||||
> Task :verifyJpaReadinessRegistryContract
|
||||
verifyJpaReadinessRegistryContract: OK — unknown card, duplicate task, missing prerequisite, cycle, duplicate migration ownership, missing selected task, and malformed evidence ownership all fail closed.
|
||||
|
||||
> Task :verifyJpaReadinessRegistry
|
||||
verifyJpaReadinessRegistry: OK — 17 exact cards, 9 owned migration streams, acyclic prerequisites, unique tasks/locations/history tables, and selected task existence verified.
|
||||
|
||||
> Task :verifyNoIgnoredSourcePackages
|
||||
verifyNoIgnoredSourcePackages: OK — 5164 Java sources are all committable.
|
||||
|
||||
> Task :verifyNoStaleTraceableJars
|
||||
verifyNoStaleTraceableJars: OK — no stale traceable JARs in build/libs.
|
||||
|
||||
> Task :verifyNotificationApiSurface
|
||||
verifyNotificationApiSurface: OK — 586 public types, unchanged.
|
||||
|
||||
> Task :verifyNotificationConfiguration
|
||||
verifyNotificationConfiguration: OK — 42 platform settings, bound, documented and registered.
|
||||
|
||||
> Task :verifyNotificationEvidence
|
||||
verifyNotificationEvidence: OK — 4 claims proven, every grade in support-matrix.md is backed.
|
||||
|
||||
> Task :verifyOneTypePerFile
|
||||
verifyOneTypePerFile: OK — one public top-level type per file, names match.
|
||||
|
||||
> Task :verifyQuarantineSunset
|
||||
verifyQuarantineSunset: OK — 0 registered, 0 tagged (14-day sunset enforced).
|
||||
|
||||
> Task :verifyReadmeCommands
|
||||
verifyReadmeCommands: OK — executable commands in /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/README.md resolve.
|
||||
|
||||
> Task :verifyRunbookReferences
|
||||
|
||||
> Task :verifyRuntimeModuleMembership
|
||||
verifyRuntimeModuleMembership: 2 runtime composition(s) match the registry
|
||||
|
||||
> Task :verifySpotBugsAnalysisFailureContract
|
||||
verifySpotBugsAnalysisFailureContract: OK — clean and advisory bug-only reports pass; missing classes and analysis errors fail closed.
|
||||
|
||||
> Task :verifyTrivyignore
|
||||
verifyTrivyignore: OK — 0 suppression(s) validated (reason + bounded, non-expired expiry).
|
||||
|
||||
> Task :domain-core:compileJava UP-TO-DATE
|
||||
> Task :domain-core:processResources NO-SOURCE
|
||||
> Task :domain-core:classes UP-TO-DATE
|
||||
> Task :domain-core:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-reliability-api:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-security:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-claim-check:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-cloudevents:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-runtime-core:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-json:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:compileJava UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:compileJava UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:processResources UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:classes UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:jar UP-TO-DATE
|
||||
> Task :adapter:inbound:web:compileJava UP-TO-DATE
|
||||
> Task :adapter:inbound:web:processResources NO-SOURCE
|
||||
> Task :adapter:inbound:web:classes UP-TO-DATE
|
||||
> Task :adapter:inbound:web:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:fileserver:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:fileserver:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:fileserver:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:fileserver:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:httpclient:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:httpclient:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:httpclient:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:httpclient:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:identifier:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:identifier:compileGroovy NO-SOURCE
|
||||
> Task :adapter:outbound:identifier:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:identifier:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:identifier:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:notification:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:jar UP-TO-DATE
|
||||
> Task :app-bootstrap:compileJava UP-TO-DATE
|
||||
> Task :app-bootstrap:processResources UP-TO-DATE
|
||||
> Task :app-bootstrap:classes UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:compileJava UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:processResources NO-SOURCE
|
||||
> Task :adapter:inbound:grpc:classes UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:jar UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:compileJava UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:processResources NO-SOURCE
|
||||
> Task :adapter:inbound:websocket:classes UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:jar UP-TO-DATE
|
||||
> Task :app-bootstrap:compileConditionalTransportTestJava UP-TO-DATE
|
||||
> Task :app-bootstrap:processConditionalTransportTestResources NO-SOURCE
|
||||
> Task :app-bootstrap:conditionalTransportTestClasses UP-TO-DATE
|
||||
> Task :app-bootstrap:checkstyleConditionalTransportTest UP-TO-DATE
|
||||
> Task :app-bootstrap:compileFunctionalTestJava UP-TO-DATE
|
||||
> Task :app-bootstrap:processFunctionalTestResources NO-SOURCE
|
||||
> Task :app-bootstrap:functionalTestClasses UP-TO-DATE
|
||||
> Task :app-bootstrap:checkstyleFunctionalTest UP-TO-DATE
|
||||
> Task :app-bootstrap:checkstyleMain UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileTestkitJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:testkitClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:testkitJar UP-TO-DATE
|
||||
> Task :app-bootstrap:compileSampleOffTestJava UP-TO-DATE
|
||||
> Task :app-bootstrap:processSampleOffTestResources UP-TO-DATE
|
||||
> Task :app-bootstrap:sampleOffTestClasses UP-TO-DATE
|
||||
> Task :app-bootstrap:checkstyleSampleOffTest UP-TO-DATE
|
||||
> Task :sample-portfolio:compileJava UP-TO-DATE
|
||||
> Task :sample-portfolio:processResources UP-TO-DATE
|
||||
> Task :sample-portfolio:classes UP-TO-DATE
|
||||
> Task :sample-portfolio:jar UP-TO-DATE
|
||||
> Task :app-bootstrap:compileTestJava UP-TO-DATE
|
||||
> Task :app-bootstrap:processTestResources UP-TO-DATE
|
||||
> Task :app-bootstrap:testClasses UP-TO-DATE
|
||||
> Task :app-bootstrap:checkstyleTest UP-TO-DATE
|
||||
> Task :app-bootstrap:runtimeClasspathManifest UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-admin-api:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-admin-runtime:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-claim-check:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-claim-check:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-claim-check:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-cloudevents:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-cloudevents:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-cloudevents:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-core-api:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:processResources UP-TO-DATE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-kafka:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-observability:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:processResources UP-TO-DATE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-policy:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-rabbit:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-reliability-api:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-reliability-api:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-reliability-api:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-runtime-core:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-runtime-core:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-runtime-core:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-schema-api:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-json:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-schema-json:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-json:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-security:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-security:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-security:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:processResources UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-transport-spi:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:objectstorage:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:objectstorage:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:objectstorage:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:objectstorage:jar UP-TO-DATE
|
||||
> Task :app-bootstrap:test UP-TO-DATE
|
||||
> Task :app-bootstrap:functionalTest UP-TO-DATE
|
||||
> Task :app-bootstrap:spotbugsConditionalTransportTest UP-TO-DATE
|
||||
> Task :app-bootstrap:spotbugsFunctionalTest UP-TO-DATE
|
||||
> Task :app-bootstrap:spotbugsMain UP-TO-DATE
|
||||
> Task :app-bootstrap:spotbugsSampleOffTest UP-TO-DATE
|
||||
> Task :app-bootstrap:spotbugsTest UP-TO-DATE
|
||||
> Task :app-bootstrap:spotlessJava UP-TO-DATE
|
||||
> Task :app-bootstrap:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :app-bootstrap:spotlessCheck UP-TO-DATE
|
||||
> Task :app-bootstrap:check
|
||||
|
||||
> Task :verifyApplicationCoreDependencyPurity
|
||||
verifyApplicationCoreDependencyPurity: OK — application-core production declarations are project-only and application classpaths contain no Spring/logging/metrics frameworks.
|
||||
|
||||
> Task :application-core:checkstyleMain UP-TO-DATE
|
||||
> Task :application-core:compileTestJava UP-TO-DATE
|
||||
> Task :application-core:processTestResources NO-SOURCE
|
||||
> Task :application-core:testClasses UP-TO-DATE
|
||||
> Task :application-core:checkstyleTest UP-TO-DATE
|
||||
> Task :application-core:spotbugsMain UP-TO-DATE
|
||||
> Task :application-core:spotbugsTest UP-TO-DATE
|
||||
> Task :application-core:spotlessJava UP-TO-DATE
|
||||
> Task :application-core:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :application-core:spotlessCheck UP-TO-DATE
|
||||
> Task :application-core:test UP-TO-DATE
|
||||
> Task :application-core:check
|
||||
> Task :domain-core:checkstyleMain UP-TO-DATE
|
||||
> Task :domain-core:compileTestJava NO-SOURCE
|
||||
> Task :domain-core:processTestResources NO-SOURCE
|
||||
> Task :domain-core:testClasses UP-TO-DATE
|
||||
> Task :domain-core:checkstyleTest NO-SOURCE
|
||||
> Task :domain-core:spotbugsMain UP-TO-DATE
|
||||
> Task :domain-core:spotbugsTest NO-SOURCE
|
||||
> Task :domain-core:spotlessJava UP-TO-DATE
|
||||
> Task :domain-core:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :domain-core:spotlessCheck UP-TO-DATE
|
||||
> Task :domain-core:test NO-SOURCE
|
||||
> Task :domain-core:check
|
||||
> Task :sample-portfolio:checkstyleMain UP-TO-DATE
|
||||
> Task :sample-portfolio:compileTestJava UP-TO-DATE
|
||||
> Task :sample-portfolio:processTestResources UP-TO-DATE
|
||||
> Task :sample-portfolio:testClasses UP-TO-DATE
|
||||
> Task :sample-portfolio:compilePosterImageMigrationTestJava UP-TO-DATE
|
||||
> Task :sample-portfolio:processPosterImageMigrationTestResources NO-SOURCE
|
||||
> Task :sample-portfolio:posterImageMigrationTestClasses UP-TO-DATE
|
||||
> Task :sample-portfolio:checkstylePosterImageMigrationTest UP-TO-DATE
|
||||
> Task :sample-portfolio:checkstyleTest UP-TO-DATE
|
||||
> Task :sample-portfolio:spotbugsMain UP-TO-DATE
|
||||
> Task :sample-portfolio:spotbugsPosterImageMigrationTest UP-TO-DATE
|
||||
> Task :sample-portfolio:spotbugsTest UP-TO-DATE
|
||||
> Task :sample-portfolio:spotlessJava UP-TO-DATE
|
||||
> Task :sample-portfolio:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :sample-portfolio:spotlessCheck UP-TO-DATE
|
||||
> Task :sample-portfolio:test UP-TO-DATE
|
||||
> Task :sample-portfolio:check
|
||||
> Task :shared-contract:compileEdgeRateLimitContractTestJava UP-TO-DATE
|
||||
> Task :shared-contract:processEdgeRateLimitContractTestResources NO-SOURCE
|
||||
> Task :shared-contract:edgeRateLimitContractTestClasses UP-TO-DATE
|
||||
> Task :shared-contract:checkstyleEdgeRateLimitContractTest UP-TO-DATE
|
||||
> Task :shared-contract:checkstyleMain UP-TO-DATE
|
||||
> Task :shared-contract:compileTestJava UP-TO-DATE
|
||||
> Task :shared-contract:processTestResources NO-SOURCE
|
||||
> Task :shared-contract:testClasses UP-TO-DATE
|
||||
> Task :shared-contract:checkstyleTest UP-TO-DATE
|
||||
> Task :shared-contract:spotbugsEdgeRateLimitContractTest UP-TO-DATE
|
||||
> Task :shared-contract:spotbugsMain UP-TO-DATE
|
||||
> Task :shared-contract:spotbugsTest UP-TO-DATE
|
||||
> Task :shared-contract:spotlessJava UP-TO-DATE
|
||||
> Task :shared-contract:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :shared-contract:spotlessCheck UP-TO-DATE
|
||||
> Task :shared-contract:test UP-TO-DATE
|
||||
> Task :shared-contract:check
|
||||
> Task :messaging:messaging-admin-api:checkstyleMain UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-admin-api:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:checkstyleTest UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:spotbugsMain UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:spotbugsTest UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:spotlessJava UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:spotlessCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:test UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:check
|
||||
> Task :messaging:messaging-admin-runtime:checkstyleMain UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-admin-runtime:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:checkstyleTest UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:spotbugsMain UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:spotbugsTest UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:spotlessJava UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:spotlessCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:test UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:check
|
||||
> Task :messaging:messaging-claim-check:checkstyleMain UP-TO-DATE
|
||||
> Task :messaging:messaging-claim-check:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-claim-check:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-claim-check:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-claim-check:checkstyleTest UP-TO-DATE
|
||||
> Task :messaging:messaging-claim-check:spotbugsMain UP-TO-DATE
|
||||
> Task :messaging:messaging-claim-check:spotbugsTest UP-TO-DATE
|
||||
> Task :messaging:messaging-claim-check:spotlessJava UP-TO-DATE
|
||||
> Task :messaging:messaging-claim-check:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-claim-check:spotlessCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-claim-check:test UP-TO-DATE
|
||||
> Task :messaging:messaging-claim-check:check
|
||||
> Task :messaging:messaging-cloudevents:checkstyleMain UP-TO-DATE
|
||||
> Task :messaging:messaging-cloudevents:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-cloudevents:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-cloudevents:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-cloudevents:checkstyleTest UP-TO-DATE
|
||||
> Task :messaging:messaging-cloudevents:spotbugsMain UP-TO-DATE
|
||||
> Task :messaging:messaging-cloudevents:spotbugsTest UP-TO-DATE
|
||||
> Task :messaging:messaging-cloudevents:spotlessJava UP-TO-DATE
|
||||
> Task :messaging:messaging-cloudevents:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-cloudevents:spotlessCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-cloudevents:test UP-TO-DATE
|
||||
> Task :messaging:messaging-cloudevents:check
|
||||
> Task :messaging:messaging-core-api:checkstyleMain UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-core-api:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:checkstyleTest UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:spotbugsMain UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:spotbugsTest UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:spotlessJava UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:spotlessCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:test UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:check
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:checkstyleMain UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:checkstyleTest UP-TO-DATE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:spotbugsMain UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:processResources UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:spotbugsTest UP-TO-DATE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:spotlessJava UP-TO-DATE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:spotlessCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:test UP-TO-DATE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:check
|
||||
> Task :messaging:messaging-kafka:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-kafka:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:compileJmhJava UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:processJmhResources NO-SOURCE
|
||||
> Task :messaging:messaging-kafka:jmhClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:checkstyleJmh SKIPPED
|
||||
> Task :messaging:messaging-kafka:checkstyleMain UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:checkstyleTest UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:spotbugsJmh SKIPPED
|
||||
> Task :messaging:messaging-kafka:spotbugsMain UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:spotbugsTest UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:spotlessJava UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:spotlessCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:test UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:check
|
||||
> Task :messaging:messaging-kafka-share-experimental:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka-share-experimental:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-kafka-share-experimental:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka-share-experimental:checkstyleMain UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka-share-experimental:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka-share-experimental:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-kafka-share-experimental:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka-share-experimental:checkstyleTest UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka-share-experimental:spotbugsMain UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka-share-experimental:spotbugsTest UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka-share-experimental:spotlessJava UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka-share-experimental:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka-share-experimental:spotlessCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka-share-experimental:test UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka-share-experimental:check
|
||||
> Task :messaging:messaging-nats-experimental:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-nats-experimental:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-nats-experimental:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-nats-experimental:checkstyleMain UP-TO-DATE
|
||||
> Task :messaging:messaging-nats-experimental:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-nats-experimental:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-nats-experimental:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-nats-experimental:checkstyleTest UP-TO-DATE
|
||||
> Task :messaging:messaging-nats-experimental:spotbugsMain UP-TO-DATE
|
||||
> Task :messaging:messaging-nats-experimental:spotbugsTest UP-TO-DATE
|
||||
> Task :messaging:messaging-nats-experimental:spotlessJava UP-TO-DATE
|
||||
> Task :messaging:messaging-nats-experimental:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-nats-experimental:spotlessCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-nats-experimental:test UP-TO-DATE
|
||||
> Task :messaging:messaging-nats-experimental:check
|
||||
> Task :messaging:messaging-observability:checkstyleMain UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-observability:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:checkstyleTest UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:spotbugsMain UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:spotbugsTest UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:spotlessJava UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:spotlessCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:test UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:check
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:checkstyleMain UP-TO-DATE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:checkstyleTest UP-TO-DATE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:spotbugsMain UP-TO-DATE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:spotbugsTest UP-TO-DATE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:spotlessJava UP-TO-DATE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:spotlessCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:test UP-TO-DATE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:check
|
||||
> Task :messaging:messaging-policy:checkstyleMain UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-policy:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:checkstyleTest UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:spotbugsMain UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:spotbugsTest UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:spotlessJava UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:spotlessCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:test UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:check
|
||||
> Task :messaging:messaging-pulsar-experimental:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-pulsar-experimental:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-pulsar-experimental:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-pulsar-experimental:checkstyleMain UP-TO-DATE
|
||||
> Task :messaging:messaging-pulsar-experimental:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-pulsar-experimental:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-pulsar-experimental:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-pulsar-experimental:checkstyleTest UP-TO-DATE
|
||||
> Task :messaging:messaging-pulsar-experimental:spotbugsMain UP-TO-DATE
|
||||
> Task :messaging:messaging-pulsar-experimental:spotbugsTest UP-TO-DATE
|
||||
> Task :messaging:messaging-pulsar-experimental:spotlessJava UP-TO-DATE
|
||||
> Task :messaging:messaging-pulsar-experimental:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-pulsar-experimental:spotlessCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-pulsar-experimental:test UP-TO-DATE
|
||||
> Task :messaging:messaging-pulsar-experimental:check
|
||||
> Task :messaging:messaging-rabbit:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-rabbit:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:compileJmhJava UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:processJmhResources NO-SOURCE
|
||||
> Task :messaging:messaging-rabbit:jmhClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:checkstyleJmh SKIPPED
|
||||
> Task :messaging:messaging-rabbit:checkstyleMain UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:checkstyleTest UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:spotbugsJmh SKIPPED
|
||||
> Task :messaging:messaging-rabbit:spotbugsMain UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:spotbugsTest UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:spotlessJava UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:spotlessCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:test UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:check
|
||||
> Task :messaging:messaging-reliability-api:checkstyleMain UP-TO-DATE
|
||||
> Task :messaging:messaging-reliability-api:compileTestJava NO-SOURCE
|
||||
> Task :messaging:messaging-reliability-api:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-reliability-api:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-reliability-api:checkstyleTest NO-SOURCE
|
||||
> Task :messaging:messaging-reliability-api:spotbugsMain UP-TO-DATE
|
||||
> Task :messaging:messaging-reliability-api:spotbugsTest NO-SOURCE
|
||||
> Task :messaging:messaging-reliability-api:spotlessJava UP-TO-DATE
|
||||
> Task :messaging:messaging-reliability-api:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-reliability-api:spotlessCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-reliability-api:test NO-SOURCE
|
||||
> Task :messaging:messaging-reliability-api:check
|
||||
> Task :messaging:messaging-runtime-core:checkstyleMain UP-TO-DATE
|
||||
> Task :messaging:messaging-runtime-core:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-runtime-core:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-runtime-core:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-runtime-core:checkstyleTest UP-TO-DATE
|
||||
> Task :messaging:messaging-runtime-core:spotbugsMain UP-TO-DATE
|
||||
> Task :messaging:messaging-runtime-core:spotbugsTest UP-TO-DATE
|
||||
> Task :messaging:messaging-runtime-core:spotlessJava UP-TO-DATE
|
||||
> Task :messaging:messaging-runtime-core:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-runtime-core:spotlessCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-runtime-core:test UP-TO-DATE
|
||||
> Task :messaging:messaging-runtime-core:check
|
||||
> Task :messaging:messaging-schema-api:checkstyleMain UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-schema-api:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:checkstyleTest UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:spotbugsMain UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:spotbugsTest UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:spotlessJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:spotlessCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:test UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:check
|
||||
> Task :messaging:messaging-schema-avro:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-avro:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-schema-avro:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-avro:checkstyleMain UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-avro:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-avro:processTestResources UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-avro:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-avro:checkstyleTest UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-avro:spotbugsMain UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-avro:spotbugsTest UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-avro:spotlessJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-avro:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-avro:spotlessCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-avro:test UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-avro:check
|
||||
> Task :messaging:messaging-schema-json:checkstyleMain UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-json:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-json:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-schema-json:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-json:checkstyleTest UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-json:spotbugsMain UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-json:spotbugsTest UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-json:spotlessJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-json:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-json:spotlessCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-json:test UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-json:check
|
||||
> Task :messaging:messaging-schema-protobuf:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-protobuf:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-schema-protobuf:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-protobuf:checkstyleMain UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-protobuf:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-protobuf:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-schema-protobuf:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-protobuf:checkstyleTest UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-protobuf:spotbugsMain UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-protobuf:spotbugsTest UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-protobuf:spotlessJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-protobuf:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-protobuf:spotlessCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-protobuf:test UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-protobuf:check
|
||||
> Task :messaging:messaging-security:checkstyleMain UP-TO-DATE
|
||||
> Task :messaging:messaging-security:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-security:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-security:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-security:checkstyleTest UP-TO-DATE
|
||||
> Task :messaging:messaging-security:spotbugsMain UP-TO-DATE
|
||||
> Task :messaging:messaging-security:spotbugsTest UP-TO-DATE
|
||||
> Task :messaging:messaging-security:spotlessJava UP-TO-DATE
|
||||
> Task :messaging:messaging-security:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-security:spotlessCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-security:test UP-TO-DATE
|
||||
> Task :messaging:messaging-security:check
|
||||
> Task :messaging:messaging-spring-boot-starter:checkstyleMain UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:processTestResources UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:checkstyleTest UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:spotbugsMain UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:spotbugsTest UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:spotlessJava UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:spotlessCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:test UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:check
|
||||
> Task :messaging:messaging-spring-cloud-stream-bridge:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-cloud-stream-bridge:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-spring-cloud-stream-bridge:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-cloud-stream-bridge:checkstyleMain UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-cloud-stream-bridge:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-cloud-stream-bridge:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-spring-cloud-stream-bridge:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-cloud-stream-bridge:checkstyleTest UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-cloud-stream-bridge:spotbugsMain UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-cloud-stream-bridge:spotbugsTest UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-cloud-stream-bridge:spotlessJava UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-cloud-stream-bridge:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-cloud-stream-bridge:spotlessCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-cloud-stream-bridge:test UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-cloud-stream-bridge:check
|
||||
> Task :messaging:messaging-testkit:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-testkit:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:compileJmhJava UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:processJmhResources NO-SOURCE
|
||||
> Task :messaging:messaging-testkit:jmhClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:checkstyleJmh SKIPPED
|
||||
> Task :messaging:messaging-testkit:checkstyleMain UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:checkstyleTest UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:spotbugsJmh SKIPPED
|
||||
> Task :messaging:messaging-testkit:spotbugsMain UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:spotbugsTest UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:spotlessJava UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:spotlessCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:test UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:check
|
||||
> Task :messaging:messaging-transport-spi:checkstyleMain UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-transport-spi:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:checkstyleTest UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:spotbugsMain UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:spotbugsTest UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:spotlessJava UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:spotlessCheck UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:test UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:check
|
||||
> Task :adapter:inbound:graphql:checkstyleMain UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:compileTestFixturesJava UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:processTestResources UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:testClasses UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:processTestFixturesResources NO-SOURCE
|
||||
> Task :adapter:inbound:graphql:testFixturesClasses UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:checkstyleTestFixtures UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:spotbugsMain UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:testFixturesJar UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:spotbugsTest UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:spotbugsTestFixtures UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:spotlessJava UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:spotlessCheck UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:test UP-TO-DATE
|
||||
|
||||
> Task :adapter:inbound:graphql:verifyGraphQlApiSurface
|
||||
verifyGraphQlApiSurface: OK — the committed public API surface is unchanged.
|
||||
|
||||
> Task :adapter:inbound:graphql:verifyGraphQlProductionJar UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:checkstyleMain UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:processTestResources NO-SOURCE
|
||||
> Task :adapter:inbound:grpc:testClasses UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:checkstyleTest UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:spotbugsMain UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:spotbugsTest UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:spotlessJava UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:spotlessCheck UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:test UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:check
|
||||
> Task :adapter:inbound:web:checkstyleMain UP-TO-DATE
|
||||
> Task :adapter:inbound:web:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:inbound:web:processTestResources NO-SOURCE
|
||||
> Task :adapter:inbound:web:testClasses UP-TO-DATE
|
||||
> Task :adapter:inbound:web:checkstyleTest UP-TO-DATE
|
||||
> Task :adapter:inbound:web:spotbugsMain UP-TO-DATE
|
||||
> Task :adapter:inbound:web:spotbugsTest UP-TO-DATE
|
||||
> Task :adapter:inbound:web:spotlessJava UP-TO-DATE
|
||||
> Task :adapter:inbound:web:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :adapter:inbound:web:spotlessCheck UP-TO-DATE
|
||||
> Task :adapter:inbound:web:test UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:checkstyleTest
|
||||
> Task :adapter:inbound:web:webSecurityBoundaryTest
|
||||
> Task :adapter:inbound:graphql:check
|
||||
> Task :adapter:inbound:web:check
|
||||
> Task :adapter:inbound:websocket:checkstyleMain UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:processTestResources NO-SOURCE
|
||||
> Task :adapter:inbound:websocket:testClasses UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:checkstyleTest UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:spotbugsMain UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:spotbugsTest UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:spotlessJava UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:spotlessCheck UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:test UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:check
|
||||
> Task :adapter:outbound:cache-redis:checkstyleMain UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:processTestResources UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:checkstyleTest UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:spotbugsMain UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:spotbugsTest UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:spotlessJava UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:spotlessJavaCheck UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:spotlessCheck UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:test UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:check
|
||||
> Task :adapter:outbound:fileserver:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:fileserver:processTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:fileserver:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:fileserver:checkstyleMain
|
||||
> Task :adapter:outbound:fileserver:spotlessJava
|
||||
> Task :adapter:outbound:fileserver:spotlessJavaCheck
|
||||
> Task :adapter:outbound:fileserver:spotlessCheck
|
||||
> Task :adapter:outbound:fileserver:test UP-TO-DATE
|
||||
> Task :adapter:outbound:httpclient:compileTestkitJava UP-TO-DATE
|
||||
> Task :adapter:outbound:httpclient:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:httpclient:testkitClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:fileserver:checkstyleTest
|
||||
> Task :adapter:outbound:httpclient:compileHttpClientPerformanceTestJava
|
||||
> Task :adapter:outbound:httpclient:processHttpClientPerformanceTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:httpclient:httpClientPerformanceTestClasses
|
||||
> Task :adapter:outbound:httpclient:checkstyleHttpClientPerformanceTest
|
||||
> Task :adapter:outbound:fileserver:spotbugsMain
|
||||
> Task :adapter:outbound:fileserver:spotbugsTest
|
||||
> Task :adapter:outbound:httpclient:compileJmhJava
|
||||
> Task :adapter:outbound:httpclient:processJmhResources NO-SOURCE
|
||||
> Task :adapter:outbound:httpclient:jmhClasses
|
||||
> Task :adapter:outbound:httpclient:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:httpclient:processTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:httpclient:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:httpclient:checkstyleJmh
|
||||
|
||||
> Task :adapter:outbound:httpclient:httpClientBlockHoundTest
|
||||
OpenJDK 64-Bit Server VM warning: Option AllowRedefinitionToAddDeleteMethods was deprecated in version 13.0 and will likely be removed in a future release.
|
||||
|
||||
> Task :adapter:outbound:httpclient:checkstyleMain
|
||||
> Task :adapter:outbound:httpclient:checkstyleTestkit
|
||||
> Task :adapter:outbound:httpclient:checkstyleTest
|
||||
> Task :adapter:outbound:httpclient:httpClientSecurityTest
|
||||
> Task :adapter:outbound:httpclient:httpClientStableContractTest
|
||||
> Task :adapter:outbound:httpclient:spotbugsJmh SKIPPED
|
||||
> Task :adapter:outbound:httpclient:spotlessJava
|
||||
> Task :adapter:outbound:httpclient:spotlessJavaCheck
|
||||
> Task :adapter:outbound:httpclient:spotlessCheck
|
||||
> Task :adapter:outbound:httpclient:spring62ApiSurfaceScan
|
||||
> Task :adapter:outbound:httpclient:test UP-TO-DATE
|
||||
> Task :adapter:outbound:identifier:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:identifier:compileTestGroovy UP-TO-DATE
|
||||
> Task :adapter:outbound:identifier:processTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:identifier:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:identifier:spotlessJava
|
||||
> Task :adapter:outbound:httpclient:spotbugsHttpClientPerformanceTest
|
||||
> Task :adapter:outbound:identifier:spotlessJavaCheck
|
||||
> Task :adapter:outbound:identifier:spotlessCheck
|
||||
> Task :adapter:outbound:identifier:test UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:processTestResources UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:identifier:checkstyleTest
|
||||
> Task :adapter:outbound:identifier:checkstyleMain
|
||||
> Task :adapter:outbound:messaging:spotlessJava
|
||||
> Task :adapter:outbound:messaging:spotlessJavaCheck
|
||||
> Task :adapter:outbound:messaging:spotlessCheck
|
||||
> Task :adapter:outbound:messaging:test UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:verifyJsonSchemaRuntimeGraph
|
||||
> Task :adapter:outbound:notification:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:processTestResources UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:fileserver:check
|
||||
> Task :adapter:outbound:messaging:checkstyleTest
|
||||
> Task :adapter:outbound:messaging:checkstyleMain
|
||||
> Task :adapter:outbound:httpclient:spotbugsMain
|
||||
> Task :adapter:outbound:httpclient:spotbugsTest
|
||||
> Task :adapter:outbound:httpclient:spotbugsTestkit
|
||||
> Task :adapter:outbound:notification:checkstyleTest
|
||||
> Task :adapter:outbound:notification:spotlessJava
|
||||
> Task :adapter:outbound:notification:spotlessJavaCheck
|
||||
> Task :adapter:outbound:notification:spotlessCheck
|
||||
> Task :adapter:outbound:notification:test UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:verifyDependencyPolicy
|
||||
> Task :adapter:outbound:objectstorage:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:objectstorage:processTestResources UP-TO-DATE
|
||||
> Task :adapter:outbound:objectstorage:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:checkstyleMain
|
||||
> Task :adapter:outbound:objectstorage:compileObjectStorageAwsQualificationTestJava
|
||||
> Task :adapter:outbound:objectstorage:processObjectStorageAwsQualificationTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:objectstorage:objectStorageAwsQualificationTestClasses
|
||||
> Task :adapter:outbound:objectstorage:checkstyleObjectStorageAwsQualificationTest
|
||||
> Task :adapter:outbound:objectstorage:checkstyleMain
|
||||
> Task :adapter:outbound:identifier:spotbugsMain
|
||||
> Task :adapter:outbound:identifier:spotbugsTest
|
||||
> Task :adapter:outbound:messaging:spotbugsMain
|
||||
> Task :adapter:outbound:messaging:spotbugsTest
|
||||
> Task :adapter:outbound:notification:spotbugsMain
|
||||
> Task :adapter:outbound:notification:spotbugsTest
|
||||
> Task :adapter:outbound:objectstorage:compileObjectStorageMinioContractTestJava
|
||||
> Task :adapter:outbound:objectstorage:processObjectStorageMinioContractTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:objectstorage:objectStorageMinioContractTestClasses
|
||||
> Task :adapter:outbound:objectstorage:checkstyleObjectStorageMinioContractTest
|
||||
> Task :adapter:outbound:objectstorage:compileObjectStorageMinioFaultTestJava
|
||||
> Task :adapter:outbound:objectstorage:processObjectStorageMinioFaultTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:objectstorage:objectStorageMinioFaultTestClasses
|
||||
> Task :adapter:outbound:objectstorage:checkstyleObjectStorageMinioFaultTest
|
||||
> Task :adapter:outbound:identifier:check
|
||||
> Task :adapter:outbound:objectstorage:checkstyleTest
|
||||
> Task :adapter:outbound:objectstorage:spotlessJava
|
||||
> Task :adapter:outbound:objectstorage:spotlessJavaCheck
|
||||
> Task :adapter:outbound:objectstorage:spotlessCheck
|
||||
> Task :adapter:outbound:objectstorage:test UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileJpaPlatformPerformanceTestJava
|
||||
> Task :adapter:outbound:persistence-jpa:processJpaPlatformPerformanceTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformPerformanceTestClasses
|
||||
> Task :adapter:outbound:persistence-jpa:checkstyleJpaPlatformPerformanceTest
|
||||
> Task :adapter:outbound:persistence-jpa:checkstyleMain
|
||||
> Task :adapter:outbound:objectstorage:spotbugsMain
|
||||
> Task :adapter:outbound:objectstorage:spotbugsObjectStorageAwsQualificationTest
|
||||
> Task :adapter:outbound:objectstorage:spotbugsObjectStorageMinioContractTest
|
||||
> Task :adapter:outbound:objectstorage:spotbugsObjectStorageMinioFaultTest
|
||||
> Task :adapter:outbound:objectstorage:spotbugsTest
|
||||
> Task :adapter:outbound:persistence-jpa:compilePostgresqlIntegrationTestJava
|
||||
> Task :adapter:outbound:persistence-jpa:processPostgresqlIntegrationTestResources
|
||||
> Task :adapter:outbound:persistence-jpa:postgresqlIntegrationTestClasses
|
||||
> Task :adapter:outbound:persistence-jpa:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:check
|
||||
> Task :adapter:outbound:persistence-jpa:checkstyleTestkit
|
||||
> Task :adapter:outbound:persistence-jpa:checkstyleTest
|
||||
> Task :adapter:outbound:persistence-jpa:checkstylePostgresqlIntegrationTest
|
||||
> Task :adapter:outbound:persistence-jpa:spotlessJava
|
||||
> Task :adapter:outbound:persistence-jpa:spotlessJavaCheck
|
||||
> Task :adapter:outbound:persistence-jpa:spotlessCheck
|
||||
> Task :adapter:outbound:persistence-jpa:test UP-TO-DATE
|
||||
|
||||
> Task :adapter:outbound:persistence-jpa:verifyJpaEvidenceHarnessContract
|
||||
verifyJpaEvidenceHarnessContract: OK — skip, dirty/local R2, and content mutation fail closed.
|
||||
|
||||
> Task :adapter:outbound:persistence-mongo:compileTestkitJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-mongo:testkitClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileMongoPerformanceTestJava
|
||||
> Task :adapter:outbound:persistence-mongo:processMongoPerformanceTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-mongo:mongoPerformanceTestClasses
|
||||
> Task :adapter:outbound:persistence-mongo:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-mongo:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:check
|
||||
> Task :adapter:outbound:persistence-mongo:checkstyleMongoPerformanceTest
|
||||
> Task :adapter:outbound:persistence-jpa:spotbugsJpaPlatformPerformanceTest
|
||||
> Task :adapter:outbound:persistence-jpa:spotbugsMain
|
||||
> Task :adapter:outbound:persistence-mongo:checkstyleTestkit
|
||||
> Task :adapter:outbound:persistence-jpa:spotbugsPostgresqlIntegrationTest
|
||||
> Task :adapter:outbound:persistence-jpa:spotbugsTest
|
||||
> Task :adapter:outbound:persistence-jpa:spotbugsTestkit
|
||||
> Task :adapter:outbound:persistence-mongo:checkstyleMain
|
||||
> Task :adapter:outbound:persistence-mongo:checkstyleTest
|
||||
> Task :adapter:outbound:persistence-mongo:mongoStableContractTest
|
||||
> Task :adapter:outbound:persistence-mongo:spotlessJava
|
||||
> Task :adapter:outbound:persistence-mongo:spotlessJavaCheck
|
||||
> Task :adapter:outbound:persistence-mongo:spotlessCheck
|
||||
> Task :adapter:outbound:persistence-mongo:test UP-TO-DATE
|
||||
|
||||
> Task :adapter:outbound:persistence-mongo:verifyMongoApiSurface
|
||||
verifyMongoApiSurface: OK — the committed public API surface is unchanged.
|
||||
|
||||
> Task :adapter:outbound:persistence-mongo:verifyMongoReleaseContractLanes
|
||||
> Task :adapter:outbound:httpclient:check
|
||||
> Task :adapter:outbound:objectstorage:check
|
||||
> Task :adapter:outbound:persistence-mongo:verifyMongoTestLaneDisjointness
|
||||
> Task :adapter:outbound:support:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:support:processTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:support:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:support:spotlessJava
|
||||
> Task :adapter:outbound:support:spotlessJavaCheck
|
||||
> Task :adapter:outbound:support:spotlessCheck
|
||||
> Task :adapter:outbound:support:test UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:check
|
||||
> Task :adapter:outbound:support:checkstyleMain
|
||||
> Task :adapter:outbound:support:checkstyleTest
|
||||
> Task :adapter:outbound:persistence-mongo:spotbugsMongoPerformanceTest
|
||||
> Task :adapter:outbound:persistence-mongo:spotbugsMain
|
||||
> Task :adapter:outbound:persistence-mongo:spotbugsTest
|
||||
> Task :adapter:outbound:persistence-mongo:spotbugsTestkit
|
||||
> Task :adapter:outbound:support:spotbugsTest
|
||||
> Task :adapter:outbound:support:spotbugsMain
|
||||
> Task :adapter:outbound:support:check
|
||||
> Task :adapter:outbound:persistence-mongo:check
|
||||
|
||||
BUILD SUCCESSFUL in 5m 42s
|
||||
547 actionable tasks: 117 executed, 430 up-to-date
|
||||
exit=0
|
||||
@@ -0,0 +1,265 @@
|
||||
$ ./gradlew clean compileJava compileTestJava --warning-mode=fail --no-daemon --console=plain
|
||||
run-at: 2026-08-20T01:18:16Z
|
||||
To honour the JVM settings for this build a single-use Daemon process will be forked. For more on this, please refer to https://docs.gradle.org/9.0.0/userguide/gradle_daemon.html#sec:disabling_the_daemon in the Gradle documentation.
|
||||
Daemon will be stopped at the end of the build
|
||||
> Task :build-logic:extractPluginRequests UP-TO-DATE
|
||||
> Task :build-logic:generatePluginAdapters UP-TO-DATE
|
||||
> Task :build-logic:compileJava UP-TO-DATE
|
||||
> Task :build-logic:compileGroovy UP-TO-DATE
|
||||
> Task :build-logic:compileGroovyPlugins UP-TO-DATE
|
||||
> Task :build-logic:pluginDescriptors UP-TO-DATE
|
||||
> Task :build-logic:processResources UP-TO-DATE
|
||||
> Task :build-logic:classes UP-TO-DATE
|
||||
> Task :build-logic:jar UP-TO-DATE
|
||||
> Task :app-bootstrap:clean
|
||||
> Task :application-core:clean
|
||||
> Task :domain-core:clean
|
||||
> Task :sample-portfolio:clean
|
||||
> Task :shared-contract:clean
|
||||
> Task :messaging:messaging-admin-api:clean
|
||||
> Task :messaging:messaging-admin-runtime:clean
|
||||
> Task :messaging:messaging-claim-check:clean
|
||||
> Task :messaging:messaging-cloudevents:clean
|
||||
> Task :messaging:messaging-core-api:clean
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:clean
|
||||
> Task :messaging:messaging-kafka:clean
|
||||
> Task :messaging:messaging-kafka-share-experimental:clean
|
||||
> Task :messaging:messaging-nats-experimental:clean
|
||||
> Task :messaging:messaging-observability:clean
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:clean
|
||||
> Task :messaging:messaging-policy:clean
|
||||
> Task :messaging:messaging-pulsar-experimental:clean
|
||||
> Task :messaging:messaging-rabbit:clean
|
||||
> Task :messaging:messaging-reliability-api:clean
|
||||
> Task :messaging:messaging-runtime-core:clean
|
||||
> Task :messaging:messaging-schema-api:clean
|
||||
> Task :messaging:messaging-schema-avro:clean
|
||||
> Task :messaging:messaging-schema-json:clean
|
||||
> Task :messaging:messaging-schema-protobuf:clean
|
||||
> Task :messaging:messaging-security:clean
|
||||
> Task :messaging:messaging-spring-boot-starter:clean
|
||||
> Task :messaging:messaging-spring-cloud-stream-bridge:clean
|
||||
> Task :messaging:messaging-testkit:clean
|
||||
> Task :messaging:messaging-transport-spi:clean
|
||||
> Task :adapter:inbound:graphql:clean
|
||||
> Task :adapter:inbound:grpc:clean
|
||||
> Task :adapter:inbound:web:clean
|
||||
> Task :adapter:inbound:websocket:clean
|
||||
> Task :adapter:outbound:cache-redis:clean
|
||||
> Task :adapter:outbound:fileserver:clean
|
||||
> Task :adapter:outbound:httpclient:clean
|
||||
> Task :adapter:outbound:identifier:clean
|
||||
> Task :adapter:outbound:messaging:clean
|
||||
> Task :adapter:outbound:notification:clean
|
||||
> Task :adapter:outbound:objectstorage:clean
|
||||
> Task :adapter:outbound:persistence-jpa:clean
|
||||
> Task :adapter:outbound:persistence-mongo:clean
|
||||
> Task :adapter:outbound:support:clean
|
||||
> Task :shared-contract:compileJava
|
||||
> Task :shared-contract:processResources
|
||||
> Task :shared-contract:classes
|
||||
> Task :shared-contract:jar
|
||||
> Task :application-core:compileJava
|
||||
> Task :application-core:processResources NO-SOURCE
|
||||
> Task :application-core:classes
|
||||
> Task :application-core:jar
|
||||
> Task :domain-core:compileJava
|
||||
> Task :domain-core:processResources NO-SOURCE
|
||||
> Task :domain-core:classes
|
||||
> Task :domain-core:jar
|
||||
> Task :messaging:messaging-core-api:compileJava
|
||||
> Task :messaging:messaging-observability:compileJava
|
||||
> Task :messaging:messaging-schema-api:compileJava
|
||||
> Task :messaging:messaging-policy:compileJava
|
||||
> Task :messaging:messaging-reliability-api:compileJava
|
||||
> Task :messaging:messaging-security:compileJava
|
||||
> Task :messaging:messaging-admin-api:compileJava
|
||||
> Task :messaging:messaging-transport-spi:compileJava
|
||||
> Task :messaging:messaging-admin-runtime:compileJava
|
||||
> Task :messaging:messaging-claim-check:compileJava
|
||||
> Task :messaging:messaging-cloudevents:compileJava
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:compileJava
|
||||
> Task :messaging:messaging-kafka:compileJava
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:compileJava
|
||||
> Task :messaging:messaging-rabbit:compileJava
|
||||
> Task :messaging:messaging-runtime-core:compileJava
|
||||
> Task :messaging:messaging-schema-json:compileJava
|
||||
> Task :messaging:messaging-spring-boot-starter:compileJava
|
||||
> Task :adapter:inbound:graphql:compileJava
|
||||
> Task :adapter:inbound:graphql:processResources
|
||||
> Task :adapter:inbound:graphql:classes
|
||||
> Task :adapter:inbound:graphql:jar
|
||||
> Task :adapter:inbound:web:compileJava
|
||||
> Task :adapter:inbound:web:processResources NO-SOURCE
|
||||
> Task :adapter:inbound:web:classes
|
||||
> Task :adapter:inbound:web:jar
|
||||
> Task :adapter:outbound:support:compileJava
|
||||
> Task :adapter:outbound:support:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:support:classes
|
||||
> Task :adapter:outbound:support:jar
|
||||
> Task :adapter:outbound:cache-redis:compileJava
|
||||
> Task :adapter:outbound:cache-redis:processResources
|
||||
> Task :adapter:outbound:cache-redis:classes
|
||||
> Task :adapter:outbound:cache-redis:jar
|
||||
> Task :adapter:outbound:fileserver:compileJava
|
||||
> Task :adapter:outbound:fileserver:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:fileserver:classes
|
||||
> Task :adapter:outbound:fileserver:jar
|
||||
> Task :adapter:outbound:httpclient:compileJava
|
||||
> Task :adapter:outbound:httpclient:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:httpclient:classes
|
||||
> Task :adapter:outbound:httpclient:jar
|
||||
> Task :adapter:outbound:identifier:compileJava
|
||||
> Task :adapter:outbound:identifier:compileGroovy NO-SOURCE
|
||||
> Task :adapter:outbound:identifier:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:identifier:classes
|
||||
> Task :adapter:outbound:identifier:jar
|
||||
> Task :adapter:outbound:messaging:compileJava
|
||||
> Task :adapter:outbound:messaging:processResources
|
||||
> Task :adapter:outbound:messaging:classes
|
||||
> Task :adapter:outbound:messaging:jar
|
||||
> Task :adapter:outbound:notification:compileJava
|
||||
> Task :adapter:outbound:notification:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:notification:classes
|
||||
> Task :adapter:outbound:notification:jar
|
||||
> Task :adapter:outbound:persistence-jpa:compileJava
|
||||
> Task :adapter:outbound:persistence-jpa:processResources
|
||||
> Task :adapter:outbound:persistence-jpa:classes
|
||||
> Task :adapter:outbound:persistence-jpa:jar
|
||||
> Task :adapter:outbound:persistence-mongo:compileJava
|
||||
> Task :adapter:outbound:persistence-mongo:processResources
|
||||
> Task :adapter:outbound:persistence-mongo:classes
|
||||
> Task :adapter:outbound:persistence-mongo:jar
|
||||
> Task :app-bootstrap:compileJava
|
||||
> Task :sample-portfolio:compileJava
|
||||
> Task :messaging:messaging-kafka-share-experimental:compileJava
|
||||
> Task :messaging:messaging-nats-experimental:compileJava
|
||||
> Task :messaging:messaging-pulsar-experimental:compileJava
|
||||
> Task :messaging:messaging-schema-avro:compileJava
|
||||
> Task :messaging:messaging-schema-protobuf:compileJava
|
||||
> Task :messaging:messaging-spring-cloud-stream-bridge:compileJava
|
||||
> Task :messaging:messaging-testkit:compileJava
|
||||
> Task :adapter:inbound:grpc:compileJava
|
||||
> Task :adapter:inbound:websocket:compileJava
|
||||
> Task :adapter:outbound:objectstorage:compileJava
|
||||
> Task :app-bootstrap:processResources
|
||||
> Task :app-bootstrap:classes
|
||||
> Task :sample-portfolio:processResources
|
||||
> Task :sample-portfolio:classes
|
||||
> Task :sample-portfolio:jar
|
||||
> Task :adapter:outbound:persistence-jpa:compileTestkitJava
|
||||
> Task :adapter:outbound:persistence-jpa:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:testkitClasses
|
||||
> Task :adapter:outbound:persistence-jpa:testkitJar
|
||||
> Task :app-bootstrap:compileTestJava
|
||||
> Task :application-core:compileTestJava
|
||||
> Task :domain-core:compileTestJava NO-SOURCE
|
||||
> Task :sample-portfolio:compileTestJava
|
||||
> Task :shared-contract:compileTestJava
|
||||
> Task :messaging:messaging-admin-api:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-admin-api:classes
|
||||
> Task :messaging:messaging-admin-api:compileTestJava
|
||||
> Task :messaging:messaging-admin-runtime:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-admin-runtime:classes
|
||||
> Task :messaging:messaging-admin-runtime:compileTestJava
|
||||
> Task :messaging:messaging-claim-check:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-claim-check:classes
|
||||
> Task :messaging:messaging-claim-check:compileTestJava
|
||||
> Task :messaging:messaging-cloudevents:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-cloudevents:classes
|
||||
> Task :messaging:messaging-cloudevents:compileTestJava
|
||||
> Task :messaging:messaging-core-api:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-core-api:classes
|
||||
> Task :messaging:messaging-core-api:compileTestJava
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:processResources
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:classes
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:compileTestJava
|
||||
> Task :messaging:messaging-kafka:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-kafka:classes
|
||||
> Task :messaging:messaging-kafka:compileTestJava
|
||||
> Task :messaging:messaging-kafka-share-experimental:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-kafka-share-experimental:classes
|
||||
> Task :messaging:messaging-kafka-share-experimental:compileTestJava
|
||||
> Task :messaging:messaging-nats-experimental:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-nats-experimental:classes
|
||||
> Task :messaging:messaging-nats-experimental:compileTestJava
|
||||
> Task :messaging:messaging-observability:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-observability:classes
|
||||
> Task :messaging:messaging-observability:compileTestJava
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:processResources
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:classes
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:compileTestJava
|
||||
> Task :messaging:messaging-policy:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-policy:classes
|
||||
> Task :messaging:messaging-policy:compileTestJava
|
||||
> Task :messaging:messaging-pulsar-experimental:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-pulsar-experimental:classes
|
||||
> Task :messaging:messaging-pulsar-experimental:compileTestJava
|
||||
> Task :messaging:messaging-rabbit:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-rabbit:classes
|
||||
> Task :messaging:messaging-rabbit:compileTestJava
|
||||
> Task :messaging:messaging-reliability-api:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-reliability-api:classes
|
||||
> Task :messaging:messaging-reliability-api:compileTestJava NO-SOURCE
|
||||
> Task :messaging:messaging-runtime-core:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-runtime-core:classes
|
||||
> Task :messaging:messaging-runtime-core:compileTestJava
|
||||
> Task :messaging:messaging-schema-api:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-schema-api:classes
|
||||
> Task :messaging:messaging-schema-api:compileTestJava
|
||||
> Task :messaging:messaging-schema-avro:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-schema-avro:classes
|
||||
> Task :messaging:messaging-schema-avro:compileTestJava
|
||||
> Task :messaging:messaging-schema-json:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-schema-json:classes
|
||||
> Task :messaging:messaging-schema-json:compileTestJava
|
||||
> Task :messaging:messaging-schema-protobuf:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-schema-protobuf:classes
|
||||
> Task :messaging:messaging-schema-protobuf:compileTestJava
|
||||
> Task :messaging:messaging-security:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-security:classes
|
||||
> Task :messaging:messaging-security:compileTestJava
|
||||
> Task :messaging:messaging-spring-boot-starter:processResources
|
||||
> Task :messaging:messaging-spring-boot-starter:classes
|
||||
> Task :messaging:messaging-spring-boot-starter:compileTestJava
|
||||
> Task :messaging:messaging-spring-cloud-stream-bridge:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-spring-cloud-stream-bridge:classes
|
||||
> Task :messaging:messaging-spring-cloud-stream-bridge:compileTestJava
|
||||
> Task :messaging:messaging-testkit:processResources
|
||||
> Task :messaging:messaging-testkit:classes
|
||||
> Task :messaging:messaging-testkit:compileTestJava
|
||||
> Task :messaging:messaging-transport-spi:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-transport-spi:classes
|
||||
> Task :messaging:messaging-transport-spi:compileTestJava
|
||||
> Task :adapter:inbound:graphql:compileTestFixturesJava
|
||||
> Task :adapter:inbound:graphql:compileTestJava
|
||||
> Task :adapter:inbound:grpc:processResources NO-SOURCE
|
||||
> Task :adapter:inbound:grpc:classes
|
||||
> Task :adapter:inbound:grpc:compileTestJava
|
||||
> Task :adapter:inbound:web:compileTestJava
|
||||
> Task :adapter:inbound:websocket:processResources NO-SOURCE
|
||||
> Task :adapter:inbound:websocket:classes
|
||||
> Task :adapter:inbound:websocket:compileTestJava
|
||||
> Task :adapter:outbound:cache-redis:compileTestJava
|
||||
> Task :adapter:outbound:fileserver:compileTestJava
|
||||
> Task :adapter:outbound:httpclient:compileTestkitJava
|
||||
> Task :adapter:outbound:httpclient:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:httpclient:testkitClasses
|
||||
> Task :adapter:outbound:httpclient:compileTestJava
|
||||
> Task :adapter:outbound:identifier:compileTestJava
|
||||
> Task :adapter:outbound:messaging:compileTestJava
|
||||
> Task :adapter:outbound:notification:compileTestJava
|
||||
> Task :adapter:outbound:objectstorage:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:objectstorage:classes
|
||||
> Task :adapter:outbound:objectstorage:compileTestJava
|
||||
> Task :adapter:outbound:persistence-jpa:compileTestJava
|
||||
> Task :adapter:outbound:persistence-mongo:compileTestkitJava
|
||||
> Task :adapter:outbound:persistence-mongo:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-mongo:testkitClasses
|
||||
> Task :adapter:outbound:persistence-mongo:compileTestJava
|
||||
> Task :adapter:outbound:support:compileTestJava
|
||||
|
||||
BUILD SUCCESSFUL in 4m 48s
|
||||
170 actionable tasks: 162 executed, 8 up-to-date
|
||||
Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.0.0/userguide/configuration_cache_enabling.html
|
||||
exit=0
|
||||
@@ -0,0 +1,378 @@
|
||||
$ ./gradlew test --warning-mode=fail --no-daemon --console=plain
|
||||
run-at: 2026-08-20T01:33:26Z
|
||||
To honour the JVM settings for this build a single-use Daemon process will be forked. For more on this, please refer to https://docs.gradle.org/9.0.0/userguide/gradle_daemon.html#sec:disabling_the_daemon in the Gradle documentation.
|
||||
Daemon will be stopped at the end of the build
|
||||
> Task :build-logic:extractPluginRequests UP-TO-DATE
|
||||
> Task :build-logic:generatePluginAdapters UP-TO-DATE
|
||||
> Task :build-logic:compileJava UP-TO-DATE
|
||||
> Task :build-logic:compileGroovy UP-TO-DATE
|
||||
> Task :build-logic:compileGroovyPlugins UP-TO-DATE
|
||||
> Task :build-logic:pluginDescriptors UP-TO-DATE
|
||||
> Task :build-logic:processResources UP-TO-DATE
|
||||
> Task :build-logic:classes UP-TO-DATE
|
||||
> Task :build-logic:jar UP-TO-DATE
|
||||
> Task :shared-contract:compileJava UP-TO-DATE
|
||||
> Task :shared-contract:processResources UP-TO-DATE
|
||||
> Task :shared-contract:classes UP-TO-DATE
|
||||
> Task :shared-contract:jar UP-TO-DATE
|
||||
> Task :application-core:compileJava UP-TO-DATE
|
||||
> Task :application-core:processResources NO-SOURCE
|
||||
> Task :application-core:classes UP-TO-DATE
|
||||
> Task :application-core:jar UP-TO-DATE
|
||||
> Task :domain-core:compileJava UP-TO-DATE
|
||||
> Task :domain-core:processResources NO-SOURCE
|
||||
> Task :domain-core:classes UP-TO-DATE
|
||||
> Task :domain-core:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-reliability-api:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-security:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-claim-check:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-cloudevents:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-runtime-core:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-json:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:compileJava UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:compileJava UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:processResources UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:classes UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:jar UP-TO-DATE
|
||||
> Task :adapter:inbound:web:compileJava UP-TO-DATE
|
||||
> Task :adapter:inbound:web:processResources NO-SOURCE
|
||||
> Task :adapter:inbound:web:classes UP-TO-DATE
|
||||
> Task :adapter:inbound:web:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:support:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:support:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:support:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:support:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:fileserver:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:fileserver:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:fileserver:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:fileserver:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:httpclient:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:httpclient:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:httpclient:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:httpclient:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:identifier:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:identifier:compileGroovy NO-SOURCE
|
||||
> Task :adapter:outbound:identifier:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:identifier:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:identifier:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:notification:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:jar UP-TO-DATE
|
||||
> Task :app-bootstrap:compileJava UP-TO-DATE
|
||||
> Task :app-bootstrap:processResources UP-TO-DATE
|
||||
> Task :app-bootstrap:classes UP-TO-DATE
|
||||
> Task :sample-portfolio:compileJava UP-TO-DATE
|
||||
> Task :sample-portfolio:processResources UP-TO-DATE
|
||||
> Task :sample-portfolio:classes UP-TO-DATE
|
||||
> Task :sample-portfolio:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileTestkitJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:testkitClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:testkitJar UP-TO-DATE
|
||||
> Task :app-bootstrap:compileTestJava UP-TO-DATE
|
||||
> Task :app-bootstrap:runtimeClasspathManifest UP-TO-DATE
|
||||
> Task :app-bootstrap:processTestResources UP-TO-DATE
|
||||
> Task :app-bootstrap:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-admin-api:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-admin-runtime:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-claim-check:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-claim-check:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-claim-check:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-cloudevents:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-cloudevents:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-cloudevents:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-core-api:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:processResources UP-TO-DATE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-kafka:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-observability:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:processResources UP-TO-DATE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-policy:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-rabbit:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-reliability-api:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-reliability-api:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-reliability-api:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-runtime-core:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-runtime-core:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-runtime-core:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-schema-api:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-json:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-schema-json:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-json:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-security:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-security:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-security:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:processResources UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-transport-spi:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:objectstorage:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:objectstorage:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:objectstorage:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:objectstorage:jar UP-TO-DATE
|
||||
> Task :app-bootstrap:test UP-TO-DATE
|
||||
> Task :application-core:compileTestJava UP-TO-DATE
|
||||
> Task :application-core:processTestResources NO-SOURCE
|
||||
> Task :application-core:testClasses UP-TO-DATE
|
||||
> Task :application-core:test UP-TO-DATE
|
||||
> Task :domain-core:compileTestJava NO-SOURCE
|
||||
> Task :domain-core:processTestResources NO-SOURCE
|
||||
> Task :domain-core:testClasses UP-TO-DATE
|
||||
> Task :domain-core:test NO-SOURCE
|
||||
> Task :sample-portfolio:compileTestJava UP-TO-DATE
|
||||
> Task :sample-portfolio:processTestResources UP-TO-DATE
|
||||
> Task :sample-portfolio:testClasses UP-TO-DATE
|
||||
> Task :sample-portfolio:test UP-TO-DATE
|
||||
> Task :shared-contract:compileTestJava UP-TO-DATE
|
||||
> Task :shared-contract:processTestResources NO-SOURCE
|
||||
> Task :shared-contract:testClasses UP-TO-DATE
|
||||
> Task :shared-contract:test UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-admin-api:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:test UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-admin-runtime:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:test UP-TO-DATE
|
||||
> Task :messaging:messaging-claim-check:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-claim-check:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-claim-check:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-claim-check:test UP-TO-DATE
|
||||
> Task :messaging:messaging-cloudevents:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-cloudevents:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-cloudevents:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-cloudevents:test UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-core-api:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:test UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:processResources UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:test UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-kafka:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:test UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka-share-experimental:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka-share-experimental:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-kafka-share-experimental:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka-share-experimental:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka-share-experimental:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-kafka-share-experimental:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka-share-experimental:test UP-TO-DATE
|
||||
> Task :messaging:messaging-nats-experimental:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-nats-experimental:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-nats-experimental:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-nats-experimental:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-nats-experimental:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-nats-experimental:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-nats-experimental:test UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-observability:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:test UP-TO-DATE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:test UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-policy:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:test UP-TO-DATE
|
||||
> Task :messaging:messaging-pulsar-experimental:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-pulsar-experimental:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-pulsar-experimental:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-pulsar-experimental:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-pulsar-experimental:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-pulsar-experimental:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-pulsar-experimental:test UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-rabbit:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:test UP-TO-DATE
|
||||
> Task :messaging:messaging-reliability-api:compileTestJava NO-SOURCE
|
||||
> Task :messaging:messaging-reliability-api:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-reliability-api:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-reliability-api:test NO-SOURCE
|
||||
> Task :messaging:messaging-runtime-core:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-runtime-core:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-runtime-core:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-runtime-core:test UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-schema-api:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:test UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-avro:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-avro:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-schema-avro:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-avro:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-avro:processTestResources UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-avro:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-avro:test UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-json:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-json:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-schema-json:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-json:test UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-protobuf:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-protobuf:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-schema-protobuf:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-protobuf:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-protobuf:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-schema-protobuf:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-protobuf:test UP-TO-DATE
|
||||
> Task :messaging:messaging-security:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-security:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-security:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-security:test UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:processTestResources UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:test UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-cloud-stream-bridge:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-cloud-stream-bridge:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-spring-cloud-stream-bridge:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-cloud-stream-bridge:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-cloud-stream-bridge:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-spring-cloud-stream-bridge:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-cloud-stream-bridge:test UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-testkit:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:test UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-transport-spi:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:test UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:compileTestFixturesJava UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:processTestFixturesResources NO-SOURCE
|
||||
> Task :adapter:inbound:graphql:testFixturesClasses UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:testFixturesJar UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:processTestResources UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:testClasses UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:test UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:compileJava UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:processResources NO-SOURCE
|
||||
> Task :adapter:inbound:grpc:classes UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:processTestResources NO-SOURCE
|
||||
> Task :adapter:inbound:grpc:testClasses UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:test UP-TO-DATE
|
||||
> Task :adapter:inbound:web:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:inbound:web:processTestResources NO-SOURCE
|
||||
> Task :adapter:inbound:web:testClasses UP-TO-DATE
|
||||
> Task :adapter:inbound:web:test UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:compileJava UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:processResources NO-SOURCE
|
||||
> Task :adapter:inbound:websocket:classes UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:processTestResources NO-SOURCE
|
||||
> Task :adapter:inbound:websocket:testClasses UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:test UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:processTestResources UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:test UP-TO-DATE
|
||||
> Task :adapter:outbound:fileserver:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:fileserver:processTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:fileserver:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:fileserver:test UP-TO-DATE
|
||||
> Task :adapter:outbound:httpclient:compileTestkitJava UP-TO-DATE
|
||||
> Task :adapter:outbound:httpclient:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:httpclient:testkitClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:httpclient:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:httpclient:processTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:httpclient:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:httpclient:test UP-TO-DATE
|
||||
> Task :adapter:outbound:identifier:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:identifier:compileTestGroovy UP-TO-DATE
|
||||
> Task :adapter:outbound:identifier:processTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:identifier:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:identifier:test UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:processTestResources UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:test UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:processTestResources UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:test
|
||||
> Task :adapter:outbound:objectstorage:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:objectstorage:processTestResources
|
||||
> Task :adapter:outbound:objectstorage:testClasses
|
||||
> Task :adapter:outbound:objectstorage:test
|
||||
> Task :adapter:outbound:persistence-jpa:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:test
|
||||
> Task :adapter:outbound:persistence-mongo:compileTestkitJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-mongo:testkitClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-mongo:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:test
|
||||
> Task :adapter:outbound:support:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:support:processTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:support:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:support:test
|
||||
|
||||
BUILD SUCCESSFUL in 2m 38s
|
||||
200 actionable tasks: 6 executed, 194 up-to-date
|
||||
Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.0.0/userguide/configuration_cache_enabling.html
|
||||
exit=0
|
||||
@@ -0,0 +1,54 @@
|
||||
# Task 1 — the Wave 0 red set is empty, and the lanes are removed
|
||||
|
||||
## Command
|
||||
|
||||
```bash
|
||||
cd src
|
||||
./gradlew wave0RedReport --console=plain --no-daemon
|
||||
```
|
||||
|
||||
`BUILD SUCCESSFUL in 43s` — but that says nothing on its own, and this is the important part of the
|
||||
evidence rather than a caveat to it. Both `wave0Red` lanes set `ignoreFailures = true`, because they
|
||||
were reports rather than gates: their job was to answer "what is still red from the baseline?", not
|
||||
to fail a build. A green exit code from a report is not a claim about the tests.
|
||||
|
||||
## What the results actually say
|
||||
|
||||
```
|
||||
app-bootstrap/build/test-results/wave0Red: 0 classes, 0 tests, 0 failures, 0 skipped
|
||||
messaging/messaging-observability/build/test-results/wave0Red: 0 classes, 0 tests, 0 failures, 0 skipped
|
||||
```
|
||||
|
||||
Zero tests, because no test carries the tag any more:
|
||||
|
||||
```bash
|
||||
grep -rc 'wave0-red' $(git ls-files '*.java') # no match in any tracked Java source
|
||||
```
|
||||
|
||||
The three Wave 0 characterizations — the full-`test` scanner failure, the five-switch-off bean and
|
||||
resource inventory, and the local/dev boot and Compose merge reproductions — became ordinary tests as
|
||||
the waves that fixed them landed, and their `@Tag("wave0-red")` markers came off with them. The red
|
||||
set is empty by the only measure that matters: there is nothing left tagged.
|
||||
|
||||
## Why the lanes are deleted rather than kept
|
||||
|
||||
Two reasons, and the second is the one that generalises.
|
||||
|
||||
1. The plan says so, and its reason holds: a permanent lane for an empty set is a lane that stops
|
||||
being read.
|
||||
2. These lanes are the exact shape the Wave 5 lane convention exists to refuse. A tag filter that
|
||||
matches nothing does not fail — `failOnNoDiscoveredTests` applies to discovery and a tag excludes
|
||||
after discovery — so the lane runs, executes zero tests, and reports success. Here that is
|
||||
harmless, because the lanes are reports and their emptiness is the answer. But leaving two
|
||||
hand-rolled lanes in that shape, outside the convention that would have refused them, is leaving
|
||||
a template for the next lane somebody copies.
|
||||
|
||||
Removed:
|
||||
|
||||
- `src/build.gradle` — the `wave0RedReport` aggregate
|
||||
- `src/app-bootstrap/build.gradle` — the `wave0Red` lane and the `test { excludeTags 'wave0-red' }`
|
||||
- `src/messaging/messaging-observability/build.gradle` — the same pair
|
||||
|
||||
The `excludeTags` removal matters as much as the lane removal: it was what kept tagged
|
||||
characterizations out of the ordinary suite. With no tagged test left it is inert, and leaving it
|
||||
would silently exclude any future test that reused the tag.
|
||||
@@ -0,0 +1,28 @@
|
||||
$ ./gradlew wave0RedReport --console=plain --no-daemon
|
||||
run-at: 2026-08-20 (Wave 6 execution pass)
|
||||
|
||||
FAILURE: Build failed with an exception.
|
||||
|
||||
* What went wrong:
|
||||
Task 'wave0RedReport' not found in root project 'ca-skeleton' and its subprojects.
|
||||
|
||||
exit=1
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
READ THIS BEFORE TREATING THE LINE ABOVE AS A REGRESSION.
|
||||
|
||||
This is the expected end state, not a failure. Task 1's checkbox is "confirm the report is empty,
|
||||
*then delete the lanes and the aggregate*". The deletion happened, so the task it names no longer
|
||||
exists and the command can no longer run. `grep -rn wave0Red src --include=*.gradle` returns
|
||||
nothing, which is the same fact from the other direction.
|
||||
|
||||
The substantive evidence — the empty red set measured while the lanes still existed — is in
|
||||
`task1-wave0-red-set.md` beside this file: 0 classes / 0 tests / 0 failures in both lanes, with the
|
||||
note that those lanes ran `ignoreFailures = true` and so a green exit code from them was never the
|
||||
claim.
|
||||
|
||||
Provenance note: this file previously held the raw log of that earlier successful run. It was
|
||||
overwritten during the Wave 6 execution pass by re-running the command under the same filename
|
||||
without checking what was already there. The original log is not recoverable (this directory is
|
||||
untracked). What was lost is the raw transcript; what the checkbox depends on survives in the
|
||||
`.md` above, which was written from it.
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
# Task 2 — Wave 2 Task B5, the three ghost release lanes
|
||||
|
||||
Wave 2 offered two outcomes for `mongoShardedTest`, `mongoAtlasTest` and `mongoKmsTest`: implement
|
||||
them, or demote them and stop describing an unrunnable gate. **(b) Demote was taken**, and it is
|
||||
reflected in all three places the plan names.
|
||||
|
||||
## `src/config/mongodb/release-contracts.json`
|
||||
|
||||
All three moved out of the Stable blocking set into `experimental_contracts`, each carrying
|
||||
`"blocking": false`, `"promotion": "experimental"` and a `not_promoted_reason` that states the
|
||||
mechanism rather than an intention:
|
||||
|
||||
> A manifest entry pointing at an unregistered task does not fail; it is simply never run, and the
|
||||
> release reports green for a capability nobody qualified. Demoted rather than implemented so the
|
||||
> green means what it says.
|
||||
|
||||
That is the correct reading. A release manifest naming a task that no build file registers is not a
|
||||
failing gate — it is an absent one, and absence is indistinguishable from success in a report that
|
||||
counts failures.
|
||||
|
||||
## `docs/mongodb/advanced/sharding.md`
|
||||
|
||||
The gate row now reads:
|
||||
|
||||
> **Not promoted.** No `mongoShardedTest` lane is registered, and a sharded cluster is not an
|
||||
> environment this repository stands up. Listed under `experimental_contracts` in
|
||||
> `src/config/mongodb/release-contracts.json`; promoting it needs the lane, its required class, and
|
||||
> protected-environment evidence to exist first.
|
||||
|
||||
## `scripts/verify-mongodb-advanced.sh`
|
||||
|
||||
Setting `MONGODB_SHARDED_URI` is now an explicit error rather than an invocation of a task that does
|
||||
not exist:
|
||||
|
||||
```
|
||||
sharded topology is experimental and has no registered lane;
|
||||
MONGODB_SHARDED_URI was set but mongoShardedTest does not exist.
|
||||
See experimental_contracts in src/config/mongodb/release-contracts.json.
|
||||
```
|
||||
|
||||
The distinction the script draws is worth keeping: an operator who exported the URI expected a
|
||||
qualification to run, so silence would be worse than failure. With the URI unset it records missing
|
||||
evidence instead, which is a different statement from a pass.
|
||||
|
||||
## The arbiter
|
||||
|
||||
```bash
|
||||
cd src
|
||||
./gradlew :app-bootstrap:test --tests '*ReleaseManifestTaskExistenceTest' --console=plain
|
||||
```
|
||||
|
||||
`BUILD SUCCESSFUL` — 1 test, 0 failures, 0 skipped. The manifest names no blocking task that the
|
||||
build does not register.
|
||||
|
||||
## Registered Mongo lanes, for the record
|
||||
|
||||
`mongoStableContractTest`, `mongoReplicaSetTest`, `mongoFailoverTest`, `mongoMigrationTest`,
|
||||
`mongoCompatibilityTest`, `mongoSecurityIntegrationTest`, `mongoPerformanceTest` — seven, and none of
|
||||
the three demoted names among them, which is the state the demotion describes.
|
||||
+181
@@ -0,0 +1,181 @@
|
||||
> Task :build-logic:extractPluginRequests UP-TO-DATE
|
||||
> Task :build-logic:generatePluginAdapters UP-TO-DATE
|
||||
> Task :build-logic:compileJava UP-TO-DATE
|
||||
> Task :build-logic:compileGroovy UP-TO-DATE
|
||||
> Task :build-logic:compileGroovyPlugins UP-TO-DATE
|
||||
> Task :build-logic:pluginDescriptors UP-TO-DATE
|
||||
> Task :build-logic:processResources UP-TO-DATE
|
||||
> Task :build-logic:classes UP-TO-DATE
|
||||
> Task :build-logic:jar UP-TO-DATE
|
||||
> Task :shared-contract:compileJava UP-TO-DATE
|
||||
> Task :shared-contract:processResources UP-TO-DATE
|
||||
> Task :shared-contract:classes UP-TO-DATE
|
||||
> Task :shared-contract:jar UP-TO-DATE
|
||||
> Task :application-core:compileJava UP-TO-DATE
|
||||
> Task :application-core:processResources NO-SOURCE
|
||||
> Task :application-core:classes UP-TO-DATE
|
||||
> Task :application-core:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileTestkitJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:testkitClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:test UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileTestkitJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-mongo:testkitClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-mongo:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:test UP-TO-DATE
|
||||
> Task :adapter:outbound:support:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:support:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:support:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:support:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:processTestResources UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:test UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:notification:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:processTestResources UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:test UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:compileJava UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:processResources UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:classes UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:jar UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:compileTestFixturesJava UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:processTestFixturesResources NO-SOURCE
|
||||
> Task :adapter:inbound:graphql:testFixturesClasses UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:testFixturesJar UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:processTestResources UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:testClasses UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:test UP-TO-DATE
|
||||
2026-08-19T04:59:21.954Z INFO 432501 --- [ionShutdownHook] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete
|
||||
2026-08-19T04:59:21.963Z INFO 432501 --- [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete
|
||||
2026-08-19T04:59:21.978Z INFO 432501 --- [ionShutdownHook] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete
|
||||
2026-08-19T04:59:21.980Z INFO 432501 --- [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete
|
||||
> Task :adapter:inbound:graphql:graphqlStableTest
|
||||
|
||||
> Task :verifyRuntimeModuleMembership
|
||||
verifyRuntimeModuleMembership: 2 runtime composition(s) match the registry
|
||||
|
||||
> Task :domain-core:compileJava UP-TO-DATE
|
||||
> Task :domain-core:processResources NO-SOURCE
|
||||
> Task :domain-core:classes UP-TO-DATE
|
||||
> Task :domain-core:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-reliability-api:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-security:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-claim-check:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-cloudevents:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-runtime-core:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-json:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:compileJava UP-TO-DATE
|
||||
> Task :adapter:inbound:web:compileJava UP-TO-DATE
|
||||
> Task :adapter:inbound:web:processResources NO-SOURCE
|
||||
> Task :adapter:inbound:web:classes UP-TO-DATE
|
||||
> Task :adapter:inbound:web:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:fileserver:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:fileserver:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:fileserver:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:fileserver:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:httpclient:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:httpclient:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:httpclient:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:httpclient:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:identifier:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:identifier:compileGroovy NO-SOURCE
|
||||
> Task :adapter:outbound:identifier:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:identifier:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:identifier:jar UP-TO-DATE
|
||||
> Task :app-bootstrap:compileJava UP-TO-DATE
|
||||
> Task :app-bootstrap:processResources UP-TO-DATE
|
||||
> Task :app-bootstrap:classes UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:compileJava UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:processResources NO-SOURCE
|
||||
> Task :adapter:inbound:grpc:classes UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:jar UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:compileJava UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:processResources NO-SOURCE
|
||||
> Task :adapter:inbound:websocket:classes UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:jar UP-TO-DATE
|
||||
> Task :app-bootstrap:compileConditionalTransportTestJava UP-TO-DATE
|
||||
> Task :app-bootstrap:processConditionalTransportTestResources NO-SOURCE
|
||||
> Task :app-bootstrap:conditionalTransportTestClasses UP-TO-DATE
|
||||
> Task :app-bootstrap:conditionalTransportCompositionTestRequiredClasses
|
||||
> Task :app-bootstrap:conditionalTransportCompositionTest
|
||||
|
||||
> Task :app-bootstrap:conditionalTransportCompositionTestEvidence
|
||||
conditionalTransportCompositionTest: 3 tests, 0 skipped
|
||||
|
||||
> Task :adapter:inbound:graphql:graphqlTransportQualificationTestRequiredClasses
|
||||
2026-08-19T04:59:43.275Z INFO 433478 --- [ionShutdownHook] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete
|
||||
2026-08-19T04:59:43.288Z INFO 433478 --- [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete
|
||||
> Task :adapter:inbound:graphql:graphqlTransportQualificationTest
|
||||
|
||||
> Task :adapter:inbound:graphql:graphqlTransportQualificationTestEvidence
|
||||
graphqlTransportQualificationTest: 8 tests, 0 skipped
|
||||
|
||||
> Task :adapter:inbound:grpc:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:processTestResources NO-SOURCE
|
||||
> Task :adapter:inbound:grpc:testClasses UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:grpcTransportQualificationTestRequiredClasses
|
||||
> Task :adapter:inbound:grpc:grpcTransportQualificationTest
|
||||
|
||||
> Task :adapter:inbound:grpc:grpcTransportQualificationTestEvidence
|
||||
grpcTransportQualificationTest: 15 tests, 0 skipped
|
||||
|
||||
> Task :adapter:inbound:websocket:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:processTestResources NO-SOURCE
|
||||
> Task :adapter:inbound:websocket:testClasses UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:websocketTransportQualificationTestRequiredClasses
|
||||
2026-08-19T05:00:00.518Z INFO 437360 --- [ionShutdownHook] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete
|
||||
2026-08-19T05:00:00.523Z INFO 437360 --- [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete
|
||||
> Task :adapter:inbound:websocket:websocketTransportQualificationTest
|
||||
|
||||
> Task :adapter:inbound:websocket:websocketTransportQualificationTestEvidence
|
||||
websocketTransportQualificationTest: 5 tests, 0 skipped
|
||||
|
||||
> Task :conditionalTransportQualification
|
||||
conditional-transport-graphql: 8 tests, 0 skipped
|
||||
conditional-transport-grpc: 15 tests, 0 skipped
|
||||
conditional-transport-websocket: 5 tests, 0 skipped
|
||||
conditional-transport-composition: 3 tests, 0 skipped
|
||||
|
||||
BUILD SUCCESSFUL in 1m 8s
|
||||
101 actionable tasks: 15 executed, 86 up-to-date
|
||||
Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.0.0/userguide/configuration_cache_enabling.html
|
||||
EXIT=0
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
# NOT RUN — the GraphQL bootJar JWT qualification
|
||||
|
||||
Recorded as not-run with its reason, per this wave's rule that a gate which could not run is never
|
||||
reported as passing.
|
||||
|
||||
## What was attempted
|
||||
|
||||
```bash
|
||||
cd src
|
||||
./gradlew :app-bootstrap:graphqlRuntimeQualification --console=plain
|
||||
```
|
||||
|
||||
```
|
||||
* What went wrong:
|
||||
Cannot locate tasks that match ':app-bootstrap:graphqlRuntimeQualification' as task
|
||||
'graphqlRuntimeQualification' not found in project ':app-bootstrap'.
|
||||
exit=1
|
||||
```
|
||||
|
||||
## Why it cannot run
|
||||
|
||||
The task does not exist, and neither does the source set the spec names for it.
|
||||
`app-bootstrap/src/` holds `main`, `test`, `functionalTest`, `conditionalTransportTest` and
|
||||
`sampleOffTest` — there is no `graphqlRuntimeQualificationTest`.
|
||||
|
||||
The spec (`…-five-adapter-runtime-remediation-review-design.md`, GraphQL section) fixes the
|
||||
canonical task as `:app-bootstrap:graphqlRuntimeQualification`, depending on `bootJar`, running the
|
||||
produced jar as a child process, taking a client-credentials token from a Keycloak container that
|
||||
imported the same tracked realm artifact, and calling real HTTP `/graphql`. None of that machinery
|
||||
was built.
|
||||
|
||||
## What exists instead, and why it does not substitute
|
||||
|
||||
| Artefact | What it actually proves | Why it is not release evidence |
|
||||
| --- | --- | --- |
|
||||
| `GraphqlHttpBoundaryQualificationTest` | `/graphql` and `/graphiql` answer over HTTP in a `@SpringBootTest` | authenticates with `withBasicAuth(USERNAME, PASSWORD)` and `httpBasic(Customizer.withDefaults())` — test-only Basic auth, not the JWT decoder a deployment runs |
|
||||
| `ConditionalTransportCompositionContractTest` | the GraphQL types load and the leaf's runtime membership matches the registry | `assertThatCodeLoads(typeName)` is class existence; it makes no request and sees no token |
|
||||
|
||||
The spec anticipates exactly these two and rules both out by name: the boundary test "may remain a
|
||||
module contract test but is not aggregated into release evidence", and class existence is named as
|
||||
the thing the qualification exists to replace.
|
||||
|
||||
## Consequence for the Definition of Done
|
||||
|
||||
Spec §13 item — *"GraphQL blocking qualification runs the bootJar JWT composition exactly once and
|
||||
uses neither class-existence nor test-only Basic Auth as release evidence"* — **cannot be ticked**.
|
||||
It is the one item of the twenty-four in that state.
|
||||
|
||||
## This was already declared, not discovered
|
||||
|
||||
`.github/ci-gate-matrix.yml` registers the gate as `mechanism: delegated-pending` with the comment
|
||||
that it "inherits that control's pending status rather than having none of its own", and
|
||||
`verify-gate-matrix.sh` reports `49 gates, 45 verified, 4 delegated-pending`. The gap is recorded in
|
||||
the repository's own control plane; this file is the Wave 6 confirmation of it, not a new finding.
|
||||
|
||||
## What closing it would take
|
||||
|
||||
A new `graphqlRuntimeQualificationTest` source set, a Gradle lane depending on `bootJar`, a child
|
||||
process launcher for the jar, a Keycloak container importing `infra/keycloak/realms/
|
||||
ca-skeleton-realm.json`, and the required-class / zero-discovery / stale-XML refusals the spec lists.
|
||||
That is new capability, which this wave explicitly does not add.
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
$ ./gradlew :app-bootstrap:graphqlRuntimeQualification --console=plain
|
||||
run-at: 2026-08-20T07:20:21Z
|
||||
Mem: 30Gi 18Gi 1.4Gi 688Mi 12Gi 12Gi
|
||||
> Task :build-logic:extractPluginRequests UP-TO-DATE
|
||||
> Task :build-logic:generatePluginAdapters UP-TO-DATE
|
||||
> Task :build-logic:compileJava UP-TO-DATE
|
||||
> Task :build-logic:compileGroovy UP-TO-DATE
|
||||
> Task :build-logic:compileGroovyPlugins UP-TO-DATE
|
||||
> Task :build-logic:pluginDescriptors UP-TO-DATE
|
||||
> Task :build-logic:processResources UP-TO-DATE
|
||||
> Task :build-logic:classes UP-TO-DATE
|
||||
> Task :build-logic:jar UP-TO-DATE
|
||||
|
||||
[Incubating] Problems report is available at: file:///home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/build/reports/problems/problems-report.html
|
||||
|
||||
FAILURE: Build failed with an exception.
|
||||
|
||||
* What went wrong:
|
||||
Cannot locate tasks that match ':app-bootstrap:graphqlRuntimeQualification' as task 'graphqlRuntimeQualification' not found in project ':app-bootstrap'.
|
||||
|
||||
* Try:
|
||||
> Run gradlew tasks to get a list of available tasks.
|
||||
> For more on name expansion, please refer to https://docs.gradle.org/9.0.0/userguide/command_line_interface.html#sec:name_abbreviation in the Gradle documentation.
|
||||
> Run with --stacktrace option to get the stack trace.
|
||||
> Run with --info or --debug option to get more log output.
|
||||
> Run with --scan to generate a Build Scan (Powered by Develocity).
|
||||
> Get more help at https://help.gradle.org.
|
||||
|
||||
BUILD FAILED in 2s
|
||||
8 actionable tasks: 8 up-to-date
|
||||
exit=1
|
||||
+162
@@ -0,0 +1,162 @@
|
||||
$ ./gradlew :adapter:inbound:graphql:graphqlStableTest conditionalTransportQualification --console=plain
|
||||
run-at: 2026-08-20T07:18:59Z
|
||||
total used free shared buff/cache available
|
||||
Mem: 30Gi 17Gi 2.0Gi 687Mi 12Gi 13Gi
|
||||
> Task :build-logic:extractPluginRequests UP-TO-DATE
|
||||
> Task :build-logic:generatePluginAdapters UP-TO-DATE
|
||||
> Task :build-logic:compileJava UP-TO-DATE
|
||||
> Task :build-logic:compileGroovy UP-TO-DATE
|
||||
> Task :build-logic:compileGroovyPlugins UP-TO-DATE
|
||||
> Task :build-logic:pluginDescriptors UP-TO-DATE
|
||||
> Task :build-logic:processResources UP-TO-DATE
|
||||
> Task :build-logic:classes UP-TO-DATE
|
||||
> Task :build-logic:jar UP-TO-DATE
|
||||
> Task :shared-contract:compileJava UP-TO-DATE
|
||||
> Task :shared-contract:processResources UP-TO-DATE
|
||||
> Task :shared-contract:classes UP-TO-DATE
|
||||
> Task :shared-contract:jar UP-TO-DATE
|
||||
> Task :application-core:compileJava UP-TO-DATE
|
||||
> Task :application-core:processResources NO-SOURCE
|
||||
> Task :application-core:classes UP-TO-DATE
|
||||
> Task :application-core:jar UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:compileJava UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:processResources UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:classes UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:jar UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:compileTestFixturesJava UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:processTestFixturesResources NO-SOURCE
|
||||
> Task :adapter:inbound:graphql:testFixturesClasses UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:testFixturesJar UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:processTestResources UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:testClasses UP-TO-DATE
|
||||
2026-08-20T07:19:40.310Z INFO 3669807 --- [ionShutdownHook] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete
|
||||
2026-08-20T07:19:40.317Z INFO 3669807 --- [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete
|
||||
2026-08-20T07:19:40.345Z INFO 3669807 --- [ionShutdownHook] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete
|
||||
2026-08-20T07:19:40.347Z INFO 3669807 --- [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete
|
||||
> Task :adapter:inbound:graphql:graphqlStableTest
|
||||
|
||||
> Task :verifyRuntimeModuleMembership
|
||||
verifyRuntimeModuleMembership: 2 runtime composition(s) match the registry
|
||||
|
||||
> Task :domain-core:compileJava UP-TO-DATE
|
||||
> Task :domain-core:processResources NO-SOURCE
|
||||
> Task :domain-core:classes UP-TO-DATE
|
||||
> Task :domain-core:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-reliability-api:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-security:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-claim-check:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-cloudevents:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-runtime-core:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-json:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:compileJava UP-TO-DATE
|
||||
> Task :adapter:inbound:web:compileJava UP-TO-DATE
|
||||
> Task :adapter:inbound:web:processResources NO-SOURCE
|
||||
> Task :adapter:inbound:web:classes UP-TO-DATE
|
||||
> Task :adapter:inbound:web:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:support:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:support:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:support:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:support:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:fileserver:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:fileserver:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:fileserver:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:fileserver:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:httpclient:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:httpclient:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:httpclient:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:httpclient:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:identifier:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:identifier:compileGroovy NO-SOURCE
|
||||
> Task :adapter:outbound:identifier:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:identifier:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:identifier:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:notification:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:jar UP-TO-DATE
|
||||
> Task :app-bootstrap:compileJava UP-TO-DATE
|
||||
> Task :app-bootstrap:processResources UP-TO-DATE
|
||||
> Task :app-bootstrap:classes UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:compileJava UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:processResources NO-SOURCE
|
||||
> Task :adapter:inbound:grpc:classes UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:jar UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:compileJava UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:processResources NO-SOURCE
|
||||
> Task :adapter:inbound:websocket:classes UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:jar UP-TO-DATE
|
||||
> Task :app-bootstrap:compileConditionalTransportTestJava UP-TO-DATE
|
||||
> Task :app-bootstrap:processConditionalTransportTestResources NO-SOURCE
|
||||
> Task :app-bootstrap:conditionalTransportTestClasses UP-TO-DATE
|
||||
> Task :app-bootstrap:conditionalTransportCompositionTestRequiredClasses
|
||||
> Task :app-bootstrap:conditionalTransportCompositionTest
|
||||
|
||||
> Task :app-bootstrap:conditionalTransportCompositionTestEvidence
|
||||
conditionalTransportCompositionTest: 3 tests, 0 skipped
|
||||
|
||||
> Task :adapter:inbound:graphql:graphqlTransportQualificationTestRequiredClasses
|
||||
2026-08-20T07:19:56.193Z INFO 3670728 --- [ionShutdownHook] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete
|
||||
2026-08-20T07:19:56.198Z INFO 3670728 --- [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete
|
||||
> Task :adapter:inbound:graphql:graphqlTransportQualificationTest
|
||||
|
||||
> Task :adapter:inbound:graphql:graphqlTransportQualificationTestEvidence
|
||||
graphqlTransportQualificationTest: 8 tests, 0 skipped
|
||||
|
||||
> Task :adapter:inbound:grpc:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:processTestResources NO-SOURCE
|
||||
> Task :adapter:inbound:grpc:testClasses UP-TO-DATE
|
||||
> Task :adapter:inbound:grpc:grpcTransportQualificationTestRequiredClasses
|
||||
> Task :adapter:inbound:grpc:grpcTransportQualificationTest
|
||||
|
||||
> Task :adapter:inbound:grpc:grpcTransportQualificationTestEvidence
|
||||
grpcTransportQualificationTest: 15 tests, 0 skipped
|
||||
|
||||
> Task :adapter:inbound:websocket:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:processTestResources NO-SOURCE
|
||||
> Task :adapter:inbound:websocket:testClasses UP-TO-DATE
|
||||
> Task :adapter:inbound:websocket:websocketTransportQualificationTestRequiredClasses
|
||||
2026-08-20T07:20:10.449Z INFO 3671395 --- [ionShutdownHook] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete
|
||||
2026-08-20T07:20:10.454Z INFO 3671395 --- [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete
|
||||
> Task :adapter:inbound:websocket:websocketTransportQualificationTest
|
||||
|
||||
> Task :adapter:inbound:websocket:websocketTransportQualificationTestEvidence
|
||||
websocketTransportQualificationTest: 5 tests, 0 skipped
|
||||
|
||||
> Task :conditionalTransportQualification
|
||||
conditional-transport-graphql: 8 tests, 0 skipped
|
||||
conditional-transport-grpc: 15 tests, 0 skipped
|
||||
conditional-transport-websocket: 5 tests, 0 skipped
|
||||
conditional-transport-composition: 3 tests, 0 skipped
|
||||
|
||||
BUILD SUCCESSFUL in 1m 11s
|
||||
88 actionable tasks: 15 executed, 73 up-to-date
|
||||
Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.0.0/userguide/configuration_cache_enabling.html
|
||||
exit=0
|
||||
+173
@@ -0,0 +1,173 @@
|
||||
===== PostgreSQL 16 =====
|
||||
> Task :build-logic:extractPluginRequests UP-TO-DATE
|
||||
> Task :build-logic:generatePluginAdapters UP-TO-DATE
|
||||
> Task :build-logic:compileJava UP-TO-DATE
|
||||
> Task :build-logic:compileGroovy UP-TO-DATE
|
||||
> Task :build-logic:compileGroovyPlugins UP-TO-DATE
|
||||
> Task :build-logic:pluginDescriptors UP-TO-DATE
|
||||
> Task :build-logic:processResources UP-TO-DATE
|
||||
> Task :build-logic:classes UP-TO-DATE
|
||||
> Task :build-logic:jar UP-TO-DATE
|
||||
> Task :shared-contract:compileJava UP-TO-DATE
|
||||
> Task :shared-contract:processResources UP-TO-DATE
|
||||
> Task :shared-contract:classes UP-TO-DATE
|
||||
> Task :shared-contract:jar UP-TO-DATE
|
||||
> Task :application-core:compileJava UP-TO-DATE
|
||||
> Task :application-core:processResources NO-SOURCE
|
||||
> Task :application-core:classes UP-TO-DATE
|
||||
> Task :application-core:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileTestkitJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:testkitClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compilePostgresqlIntegrationTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processPostgresqlIntegrationTestResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:postgresqlIntegrationTestClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformContractTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformFailureTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformMigrationTest
|
||||
|
||||
PostgreSqlNotificationSchemaActivationIntegrationTest > V1 to V4, disable, re-enable and an interrupted migration all recover FAILED
|
||||
org.opentest4j.AssertionFailedError at PostgreSqlNotificationSchemaActivationIntegrationTest.java:184
|
||||
|
||||
43 tests completed, 1 failed
|
||||
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformMigrationTest FAILED
|
||||
|
||||
FAILURE: Build failed with an exception.
|
||||
|
||||
* What went wrong:
|
||||
Execution failed for task ':adapter:outbound:persistence-jpa:jpaPlatformMigrationTest'.
|
||||
> There were failing tests. See the report at: file:///home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/reports/tests/jpaPlatformMigrationTest/index.html
|
||||
|
||||
* Try:
|
||||
> Run with --scan to generate a Build Scan (Powered by Develocity).
|
||||
|
||||
BUILD FAILED in 4m 58s
|
||||
21 actionable tasks: 3 executed, 18 up-to-date
|
||||
EXIT(16)=1
|
||||
===== PostgreSQL 17 =====
|
||||
> Task :build-logic:extractPluginRequests UP-TO-DATE
|
||||
> Task :build-logic:generatePluginAdapters UP-TO-DATE
|
||||
> Task :build-logic:compileJava UP-TO-DATE
|
||||
> Task :build-logic:compileGroovy UP-TO-DATE
|
||||
> Task :build-logic:compileGroovyPlugins UP-TO-DATE
|
||||
> Task :build-logic:pluginDescriptors UP-TO-DATE
|
||||
> Task :build-logic:processResources UP-TO-DATE
|
||||
> Task :build-logic:classes UP-TO-DATE
|
||||
> Task :build-logic:jar UP-TO-DATE
|
||||
> Task :shared-contract:compileJava UP-TO-DATE
|
||||
> Task :shared-contract:processResources UP-TO-DATE
|
||||
> Task :shared-contract:classes UP-TO-DATE
|
||||
> Task :shared-contract:jar UP-TO-DATE
|
||||
> Task :application-core:compileJava UP-TO-DATE
|
||||
> Task :application-core:processResources NO-SOURCE
|
||||
> Task :application-core:classes UP-TO-DATE
|
||||
> Task :application-core:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileTestkitJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:testkitClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compilePostgresqlIntegrationTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processPostgresqlIntegrationTestResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:postgresqlIntegrationTestClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformContractTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformFailureTest
|
||||
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformMigrationTest
|
||||
|
||||
PostgreSqlNotificationSchemaActivationIntegrationTest > V1 to V4, disable, re-enable and an interrupted migration all recover FAILED
|
||||
org.opentest4j.AssertionFailedError at PostgreSqlNotificationSchemaActivationIntegrationTest.java:184
|
||||
|
||||
43 tests completed, 1 failed
|
||||
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformMigrationTest FAILED
|
||||
|
||||
FAILURE: Build failed with an exception.
|
||||
|
||||
* What went wrong:
|
||||
Execution failed for task ':adapter:outbound:persistence-jpa:jpaPlatformMigrationTest'.
|
||||
> There were failing tests. See the report at: file:///home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/reports/tests/jpaPlatformMigrationTest/index.html
|
||||
|
||||
* Try:
|
||||
> Run with --scan to generate a Build Scan (Powered by Develocity).
|
||||
|
||||
BUILD FAILED in 5m 42s
|
||||
21 actionable tasks: 3 executed, 18 up-to-date
|
||||
EXIT(17)=1
|
||||
===== PostgreSQL 18 =====
|
||||
> Task :build-logic:extractPluginRequests
|
||||
> Task :build-logic:generatePluginAdapters
|
||||
> Task :build-logic:compileJava
|
||||
> Task :build-logic:compileGroovy
|
||||
> Task :build-logic:compileGroovyPlugins
|
||||
> Task :build-logic:pluginDescriptors
|
||||
> Task :build-logic:processResources
|
||||
> Task :build-logic:classes
|
||||
> Task :build-logic:jar
|
||||
> Task :shared-contract:compileJava UP-TO-DATE
|
||||
> Task :shared-contract:processResources UP-TO-DATE
|
||||
> Task :shared-contract:classes UP-TO-DATE
|
||||
> Task :shared-contract:jar UP-TO-DATE
|
||||
> Task :application-core:compileJava UP-TO-DATE
|
||||
> Task :application-core:processResources NO-SOURCE
|
||||
> Task :application-core:classes UP-TO-DATE
|
||||
> Task :application-core:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileTestkitJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:testkitClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compilePostgresqlIntegrationTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processPostgresqlIntegrationTestResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:postgresqlIntegrationTestClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformContractTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformContractTest FAILED
|
||||
|
||||
FAILURE: Build failed with an exception.
|
||||
|
||||
* What went wrong:
|
||||
Execution failed for task ':adapter:outbound:persistence-jpa:jpaPlatformContractTest'.
|
||||
> Multiple build operations failed.
|
||||
Could not write XML test results for dev.caskeleton.adapter.outbound.persistence.platform.StablePostgreSqlMatrixContractTest to file /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/test-results/jpaPlatformContractTest/TEST-dev.caskeleton.adapter.outbound.persistence.platform.StablePostgreSqlMatrixContractTest.xml.
|
||||
Could not write XML test results for dev.caskeleton.adapter.outbound.persistence.platform.PostgreSqlArrayRangeContractTest to file /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/test-results/jpaPlatformContractTest/TEST-dev.caskeleton.adapter.outbound.persistence.platform.PostgreSqlArrayRangeContractTest.xml.
|
||||
Could not write XML test results for dev.caskeleton.adapter.outbound.persistence.platform.PostgreSqlPessimisticLockContractTest to file /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/test-results/jpaPlatformContractTest/TEST-dev.caskeleton.adapter.outbound.persistence.platform.PostgreSqlPessimisticLockContractTest.xml.
|
||||
Could not write XML test results for dev.caskeleton.adapter.outbound.persistence.platform.OptimisticRetryIntegrationTest to file /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/test-results/jpaPlatformContractTest/TEST-dev.caskeleton.adapter.outbound.persistence.platform.OptimisticRetryIntegrationTest.xml.
|
||||
Could not write XML test results for dev.caskeleton.adapter.outbound.persistence.platform.PostgreSqlCopyLoaderIntegrationTest to file /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/test-results/jpaPlatformContractTest/TEST-dev.caskeleton.adapter.outbound.persistence.platform.PostgreSqlCopyLoaderIntegrationTest.xml.
|
||||
Could not write XML test results for dev.caskeleton.adapter.outbound.persistence.platform.experimental.ReadAfterWriteRoutingContractTest to file /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/test-results/jpaPlatformContractTest/TEST-dev.caskeleton.adapter.outbound.persistence.platform.experimental.ReadAfterWriteRoutingContractTest.xml.
|
||||
Could not write XML test results for dev.caskeleton.adapter.outbound.persistence.readiness.PostgreSqlNotificationIdempotencyRaceIntegrationTest to file /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/test-results/jpaPlatformContractTest/TEST-dev.caskeleton.adapter.outbound.persistence.readiness.PostgreSqlNotificationIdempotencyRaceIntegrationTest.xml.
|
||||
Could not write XML test results for dev.caskeleton.adapter.outbound.persistence.platform.experimental.TenantColumnIsolationTest to file /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/test-results/jpaPlatformContractTest/TEST-dev.caskeleton.adapter.outbound.persistence.platform.experimental.TenantColumnIsolationTest.xml.
|
||||
Could not write XML test results for dev.caskeleton.adapter.outbound.persistence.platform.experimental.TenantPoolCapacityContractTest to file /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/test-results/jpaPlatformContractTest/TEST-dev.caskeleton.adapter.outbound.persistence.platform.experimental.TenantPoolCapacityContractTest.xml.
|
||||
Could not write XML test results for dev.caskeleton.adapter.outbound.persistence.platform.PostgreSqlWorkClaimContractTest to file /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/test-results/jpaPlatformContractTest/TEST-dev.caskeleton.adapter.outbound.persistence.platform.PostgreSqlWorkClaimContractTest.xml.
|
||||
...and 7 more failures.
|
||||
> Could not write XML test results for dev.caskeleton.adapter.outbound.persistence.platform.StablePostgreSqlMatrixContractTest to file /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/test-results/jpaPlatformContractTest/TEST-dev.caskeleton.adapter.outbound.persistence.platform.StablePostgreSqlMatrixContractTest.xml.
|
||||
> Could not write XML test results for dev.caskeleton.adapter.outbound.persistence.platform.PostgreSqlArrayRangeContractTest to file /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/test-results/jpaPlatformContractTest/TEST-dev.caskeleton.adapter.outbound.persistence.platform.PostgreSqlArrayRangeContractTest.xml.
|
||||
> Could not write XML test results for dev.caskeleton.adapter.outbound.persistence.platform.PostgreSqlPessimisticLockContractTest to file /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/test-results/jpaPlatformContractTest/TEST-dev.caskeleton.adapter.outbound.persistence.platform.PostgreSqlPessimisticLockContractTest.xml.
|
||||
> Could not write XML test results for dev.caskeleton.adapter.outbound.persistence.platform.OptimisticRetryIntegrationTest to file /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/test-results/jpaPlatformContractTest/TEST-dev.caskeleton.adapter.outbound.persistence.platform.OptimisticRetryIntegrationTest.xml.
|
||||
> Could not write XML test results for dev.caskeleton.adapter.outbound.persistence.platform.PostgreSqlCopyLoaderIntegrationTest to file /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/test-results/jpaPlatformContractTest/TEST-dev.caskeleton.adapter.outbound.persistence.platform.PostgreSqlCopyLoaderIntegrationTest.xml.
|
||||
> Could not write XML test results for dev.caskeleton.adapter.outbound.persistence.platform.experimental.ReadAfterWriteRoutingContractTest to file /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/test-results/jpaPlatformContractTest/TEST-dev.caskeleton.adapter.outbound.persistence.platform.experimental.ReadAfterWriteRoutingContractTest.xml.
|
||||
> Could not write XML test results for dev.caskeleton.adapter.outbound.persistence.readiness.PostgreSqlNotificationIdempotencyRaceIntegrationTest to file /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/test-results/jpaPlatformContractTest/TEST-dev.caskeleton.adapter.outbound.persistence.readiness.PostgreSqlNotificationIdempotencyRaceIntegrationTest.xml.
|
||||
> Could not write XML test results for dev.caskeleton.adapter.outbound.persistence.platform.experimental.TenantColumnIsolationTest to file /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/test-results/jpaPlatformContractTest/TEST-dev.caskeleton.adapter.outbound.persistence.platform.experimental.TenantColumnIsolationTest.xml.
|
||||
> Could not write XML test results for dev.caskeleton.adapter.outbound.persistence.platform.experimental.TenantPoolCapacityContractTest to file /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/test-results/jpaPlatformContractTest/TEST-dev.caskeleton.adapter.outbound.persistence.platform.experimental.TenantPoolCapacityContractTest.xml.
|
||||
> Could not write XML test results for dev.caskeleton.adapter.outbound.persistence.platform.PostgreSqlWorkClaimContractTest to file /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/test-results/jpaPlatformContractTest/TEST-dev.caskeleton.adapter.outbound.persistence.platform.PostgreSqlWorkClaimContractTest.xml.
|
||||
> Could not write XML test results for dev.caskeleton.adapter.outbound.persistence.platform.JpaLifecycleAssociationContractTest to file /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/test-results/jpaPlatformContractTest/TEST-dev.caskeleton.adapter.outbound.persistence.platform.JpaLifecycleAssociationContractTest.xml.
|
||||
> Could not write XML test results for dev.caskeleton.adapter.outbound.persistence.platform.PostgreSqlUpsertContractTest to file /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/test-results/jpaPlatformContractTest/TEST-dev.caskeleton.adapter.outbound.persistence.platform.PostgreSqlUpsertContractTest.xml.
|
||||
> Could not write XML test results for dev.caskeleton.adapter.outbound.persistence.platform.PostgreSqlJsonbContractTest to file /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/test-results/jpaPlatformContractTest/TEST-dev.caskeleton.adapter.outbound.persistence.platform.PostgreSqlJsonbContractTest.xml.
|
||||
> Could not write XML test results for dev.caskeleton.adapter.outbound.persistence.platform.JpaValueMappingContractTest to file /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/test-results/jpaPlatformContractTest/TEST-dev.caskeleton.adapter.outbound.persistence.platform.JpaValueMappingContractTest.xml.
|
||||
> Could not write XML test results for dev.caskeleton.adapter.outbound.persistence.platform.JpaPlatformContractSupportOwnershipTest to file /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/test-results/jpaPlatformContractTest/TEST-dev.caskeleton.adapter.outbound.persistence.platform.JpaPlatformContractSupportOwnershipTest.xml.
|
||||
> Could not write XML test results for dev.caskeleton.adapter.outbound.persistence.platform.PostgreSqlSqlStateContractTest to file /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/test-results/jpaPlatformContractTest/TEST-dev.caskeleton.adapter.outbound.persistence.platform.PostgreSqlSqlStateContractTest.xml.
|
||||
> Could not write XML test results for dev.caskeleton.adapter.outbound.persistence.readiness.PostgreSqlRecipientLeaseFencingIntegrationTest to file /home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-jpa/build/test-results/jpaPlatformContractTest/TEST-dev.caskeleton.adapter.outbound.persistence.readiness.PostgreSqlRecipientLeaseFencingIntegrationTest.xml.
|
||||
|
||||
* Try:
|
||||
> Run with --stacktrace option to get the stack trace.
|
||||
> Run with --info or --debug option to get more log output.
|
||||
> Run with --scan to generate a Build Scan (Powered by Develocity).
|
||||
> Get more help at https://help.gradle.org.
|
||||
|
||||
BUILD FAILED in 5m 20s
|
||||
19 actionable tasks: 9 executed, 10 up-to-date
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
$ ./gradlew :adapter:outbound:persistence-jpa:jpaPlatformReleaseGate -Pjpa.matrix.versions=16 --console=plain
|
||||
run-at: 2026-08-20T07:38:10Z
|
||||
Mem: 30Gi 15Gi 8.9Gi 770Mi 8.2Gi 15Gi
|
||||
Starting a Gradle Daemon, 5 stopped Daemons could not be reused, use --status for details
|
||||
> Task :build-logic:extractPluginRequests UP-TO-DATE
|
||||
> Task :build-logic:generatePluginAdapters UP-TO-DATE
|
||||
> Task :build-logic:compileJava UP-TO-DATE
|
||||
> Task :build-logic:compileGroovy UP-TO-DATE
|
||||
> Task :build-logic:compileGroovyPlugins UP-TO-DATE
|
||||
> Task :build-logic:pluginDescriptors UP-TO-DATE
|
||||
> Task :build-logic:processResources UP-TO-DATE
|
||||
> Task :build-logic:classes UP-TO-DATE
|
||||
> Task :build-logic:jar UP-TO-DATE
|
||||
> Task :shared-contract:compileJava UP-TO-DATE
|
||||
> Task :shared-contract:processResources UP-TO-DATE
|
||||
> Task :shared-contract:classes UP-TO-DATE
|
||||
> Task :shared-contract:jar UP-TO-DATE
|
||||
> Task :application-core:compileJava UP-TO-DATE
|
||||
> Task :application-core:processResources NO-SOURCE
|
||||
> Task :application-core:classes UP-TO-DATE
|
||||
> Task :application-core:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileTestkitJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:testkitClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compilePostgresqlIntegrationTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processPostgresqlIntegrationTestResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:postgresqlIntegrationTestClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformContractTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformFailureTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformMigrationTest
|
||||
> Task :adapter:outbound:persistence-jpa:compileJpaPlatformPerformanceTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processJpaPlatformPerformanceTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformPerformanceTestClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformPoolContractTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformQueryPlanTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformSecurityTest
|
||||
> Task :adapter:outbound:persistence-jpa:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:test UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformReleaseGate
|
||||
|
||||
BUILD SUCCESSFUL in 8m 14s
|
||||
27 actionable tasks: 6 executed, 21 up-to-date
|
||||
Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.0.0/userguide/configuration_cache_enabling.html
|
||||
exit=0
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
$ ./gradlew :adapter:outbound:persistence-jpa:jpaPlatformReleaseGate -Pjpa.matrix.versions=17 --console=plain
|
||||
run-at: 2026-08-20T07:46:38Z
|
||||
Mem: 30Gi 19Gi 4.6Gi 782Mi 8.5Gi 11Gi
|
||||
> Task :build-logic:extractPluginRequests UP-TO-DATE
|
||||
> Task :build-logic:generatePluginAdapters UP-TO-DATE
|
||||
> Task :build-logic:compileJava UP-TO-DATE
|
||||
> Task :build-logic:compileGroovy UP-TO-DATE
|
||||
> Task :build-logic:compileGroovyPlugins UP-TO-DATE
|
||||
> Task :build-logic:pluginDescriptors UP-TO-DATE
|
||||
> Task :build-logic:processResources UP-TO-DATE
|
||||
> Task :build-logic:classes UP-TO-DATE
|
||||
> Task :build-logic:jar UP-TO-DATE
|
||||
> Task :shared-contract:compileJava UP-TO-DATE
|
||||
> Task :shared-contract:processResources UP-TO-DATE
|
||||
> Task :shared-contract:classes UP-TO-DATE
|
||||
> Task :shared-contract:jar UP-TO-DATE
|
||||
> Task :application-core:compileJava UP-TO-DATE
|
||||
> Task :application-core:processResources NO-SOURCE
|
||||
> Task :application-core:classes UP-TO-DATE
|
||||
> Task :application-core:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileTestkitJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:testkitClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compilePostgresqlIntegrationTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processPostgresqlIntegrationTestResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:postgresqlIntegrationTestClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformContractTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformFailureTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformMigrationTest
|
||||
> Task :adapter:outbound:persistence-jpa:compileJpaPlatformPerformanceTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processJpaPlatformPerformanceTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformPerformanceTestClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformPoolContractTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformQueryPlanTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformSecurityTest
|
||||
> Task :adapter:outbound:persistence-jpa:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:test UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformReleaseGate
|
||||
|
||||
BUILD SUCCESSFUL in 7m 26s
|
||||
27 actionable tasks: 6 executed, 21 up-to-date
|
||||
Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.0.0/userguide/configuration_cache_enabling.html
|
||||
exit=0
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
$ ./gradlew :adapter:outbound:persistence-jpa:jpaPlatformReleaseGate -Pjpa.matrix.versions=18 --console=plain
|
||||
run-at: 2026-08-20T07:54:35Z
|
||||
Mem: 30Gi 19Gi 4.3Gi 1.1Gi 8.2Gi 10Gi
|
||||
> Task :build-logic:extractPluginRequests UP-TO-DATE
|
||||
> Task :build-logic:generatePluginAdapters UP-TO-DATE
|
||||
> Task :build-logic:compileJava UP-TO-DATE
|
||||
> Task :build-logic:compileGroovy UP-TO-DATE
|
||||
> Task :build-logic:compileGroovyPlugins UP-TO-DATE
|
||||
> Task :build-logic:pluginDescriptors UP-TO-DATE
|
||||
> Task :build-logic:processResources UP-TO-DATE
|
||||
> Task :build-logic:classes UP-TO-DATE
|
||||
> Task :build-logic:jar UP-TO-DATE
|
||||
> Task :shared-contract:compileJava UP-TO-DATE
|
||||
> Task :shared-contract:processResources UP-TO-DATE
|
||||
> Task :shared-contract:classes UP-TO-DATE
|
||||
> Task :shared-contract:jar UP-TO-DATE
|
||||
> Task :application-core:compileJava UP-TO-DATE
|
||||
> Task :application-core:processResources NO-SOURCE
|
||||
> Task :application-core:classes UP-TO-DATE
|
||||
> Task :application-core:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileTestkitJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:testkitClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compilePostgresqlIntegrationTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processPostgresqlIntegrationTestResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:postgresqlIntegrationTestClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformContractTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformFailureTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformMigrationTest
|
||||
> Task :adapter:outbound:persistence-jpa:compileJpaPlatformPerformanceTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processJpaPlatformPerformanceTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformPerformanceTestClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformPoolContractTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformQueryPlanTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformSecurityTest
|
||||
> Task :adapter:outbound:persistence-jpa:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:test UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformReleaseGate
|
||||
|
||||
BUILD SUCCESSFUL in 5m 45s
|
||||
27 actionable tasks: 6 executed, 21 up-to-date
|
||||
Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.0.0/userguide/configuration_cache_enabling.html
|
||||
exit=0
|
||||
@@ -0,0 +1,138 @@
|
||||
===== PostgreSQL 16 =====
|
||||
> Task :build-logic:extractPluginRequests UP-TO-DATE
|
||||
> Task :build-logic:generatePluginAdapters UP-TO-DATE
|
||||
> Task :build-logic:compileJava UP-TO-DATE
|
||||
> Task :build-logic:compileGroovy UP-TO-DATE
|
||||
> Task :build-logic:compileGroovyPlugins UP-TO-DATE
|
||||
> Task :build-logic:pluginDescriptors UP-TO-DATE
|
||||
> Task :build-logic:processResources UP-TO-DATE
|
||||
> Task :build-logic:classes UP-TO-DATE
|
||||
> Task :build-logic:jar UP-TO-DATE
|
||||
> Task :shared-contract:compileJava UP-TO-DATE
|
||||
> Task :shared-contract:processResources UP-TO-DATE
|
||||
> Task :shared-contract:classes UP-TO-DATE
|
||||
> Task :shared-contract:jar UP-TO-DATE
|
||||
> Task :application-core:compileJava UP-TO-DATE
|
||||
> Task :application-core:processResources NO-SOURCE
|
||||
> Task :application-core:classes UP-TO-DATE
|
||||
> Task :application-core:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileTestkitJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:testkitClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compilePostgresqlIntegrationTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processPostgresqlIntegrationTestResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:postgresqlIntegrationTestClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformContractTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformFailureTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformMigrationTest
|
||||
> Task :adapter:outbound:persistence-jpa:compileJpaPlatformPerformanceTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processJpaPlatformPerformanceTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformPerformanceTestClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformPoolContractTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformQueryPlanTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformSecurityTest
|
||||
> Task :adapter:outbound:persistence-jpa:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:test UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformReleaseGate
|
||||
|
||||
BUILD SUCCESSFUL in 7m 26s
|
||||
27 actionable tasks: 6 executed, 21 up-to-date
|
||||
Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.0.0/userguide/configuration_cache_enabling.html
|
||||
EXIT(16)=0
|
||||
===== PostgreSQL 17 =====
|
||||
> Task :build-logic:extractPluginRequests UP-TO-DATE
|
||||
> Task :build-logic:generatePluginAdapters UP-TO-DATE
|
||||
> Task :build-logic:compileJava UP-TO-DATE
|
||||
> Task :build-logic:compileGroovy UP-TO-DATE
|
||||
> Task :build-logic:compileGroovyPlugins UP-TO-DATE
|
||||
> Task :build-logic:pluginDescriptors UP-TO-DATE
|
||||
> Task :build-logic:processResources UP-TO-DATE
|
||||
> Task :build-logic:classes UP-TO-DATE
|
||||
> Task :build-logic:jar UP-TO-DATE
|
||||
> Task :shared-contract:compileJava UP-TO-DATE
|
||||
> Task :shared-contract:processResources UP-TO-DATE
|
||||
> Task :shared-contract:classes UP-TO-DATE
|
||||
> Task :shared-contract:jar UP-TO-DATE
|
||||
> Task :application-core:compileJava UP-TO-DATE
|
||||
> Task :application-core:processResources NO-SOURCE
|
||||
> Task :application-core:classes UP-TO-DATE
|
||||
> Task :application-core:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileTestkitJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:testkitClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compilePostgresqlIntegrationTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processPostgresqlIntegrationTestResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:postgresqlIntegrationTestClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformContractTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformFailureTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformMigrationTest
|
||||
> Task :adapter:outbound:persistence-jpa:compileJpaPlatformPerformanceTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processJpaPlatformPerformanceTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformPerformanceTestClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformPoolContractTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformQueryPlanTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformSecurityTest
|
||||
> Task :adapter:outbound:persistence-jpa:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:test UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformReleaseGate
|
||||
|
||||
BUILD SUCCESSFUL in 5m 55s
|
||||
27 actionable tasks: 6 executed, 21 up-to-date
|
||||
Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.0.0/userguide/configuration_cache_enabling.html
|
||||
EXIT(17)=0
|
||||
===== PostgreSQL 18 =====
|
||||
> Task :build-logic:extractPluginRequests UP-TO-DATE
|
||||
> Task :build-logic:generatePluginAdapters UP-TO-DATE
|
||||
> Task :build-logic:compileJava UP-TO-DATE
|
||||
> Task :build-logic:compileGroovy UP-TO-DATE
|
||||
> Task :build-logic:compileGroovyPlugins UP-TO-DATE
|
||||
> Task :build-logic:pluginDescriptors UP-TO-DATE
|
||||
> Task :build-logic:processResources UP-TO-DATE
|
||||
> Task :build-logic:classes UP-TO-DATE
|
||||
> Task :build-logic:jar UP-TO-DATE
|
||||
> Task :shared-contract:compileJava UP-TO-DATE
|
||||
> Task :shared-contract:processResources UP-TO-DATE
|
||||
> Task :shared-contract:classes UP-TO-DATE
|
||||
> Task :shared-contract:jar UP-TO-DATE
|
||||
> Task :application-core:compileJava UP-TO-DATE
|
||||
> Task :application-core:processResources NO-SOURCE
|
||||
> Task :application-core:classes UP-TO-DATE
|
||||
> Task :application-core:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileTestkitJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:testkitClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compilePostgresqlIntegrationTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processPostgresqlIntegrationTestResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:postgresqlIntegrationTestClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformContractTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformFailureTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformMigrationTest
|
||||
> Task :adapter:outbound:persistence-jpa:compileJpaPlatformPerformanceTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processJpaPlatformPerformanceTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformPerformanceTestClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformPoolContractTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformQueryPlanTest
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformSecurityTest
|
||||
> Task :adapter:outbound:persistence-jpa:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:test UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:jpaPlatformReleaseGate
|
||||
|
||||
BUILD SUCCESSFUL in 5m 58s
|
||||
27 actionable tasks: 6 executed, 21 up-to-date
|
||||
Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.0.0/userguide/configuration_cache_enabling.html
|
||||
EXIT(18)=0
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
$ ./gradlew :messaging:messaging-kafka:verifyMessagingCertificationEvidence --console=plain
|
||||
run-at: 2026-08-20T08:00:43Z
|
||||
Mem: 30Gi 16Gi 7.8Gi 1.0Gi 8.3Gi 14Gi
|
||||
> Task :build-logic:extractPluginRequests UP-TO-DATE
|
||||
> Task :build-logic:generatePluginAdapters UP-TO-DATE
|
||||
> Task :build-logic:compileJava UP-TO-DATE
|
||||
> Task :build-logic:compileGroovy UP-TO-DATE
|
||||
> Task :build-logic:compileGroovyPlugins UP-TO-DATE
|
||||
> Task :build-logic:pluginDescriptors UP-TO-DATE
|
||||
> Task :build-logic:processResources UP-TO-DATE
|
||||
> Task :build-logic:classes UP-TO-DATE
|
||||
> Task :build-logic:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-admin-api:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-security:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-admin-runtime:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-core-api:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-kafka:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-kafka:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-observability:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-policy:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-schema-api:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-security:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-security:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-security:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:processResources UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-transport-spi:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:messagingCertificationTest
|
||||
> Task :messaging:messaging-kafka:verifyMessagingCertificationEvidence
|
||||
|
||||
BUILD SUCCESSFUL in 39s
|
||||
31 actionable tasks: 2 executed, 29 up-to-date
|
||||
Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.0.0/userguide/configuration_cache_enabling.html
|
||||
exit=0
|
||||
+71
@@ -0,0 +1,71 @@
|
||||
$ ./gradlew :messaging:messaging-kafka:cleanTest :messaging:messaging-kafka:test --tests '*IT' :messaging:messaging-rabbit:cleanTest :messaging:messaging-rabbit:test --tests '*IT' --console=plain
|
||||
(cleanTest first: the previous invocation reused 6.5-hour-old XML because the task was up-to-date)
|
||||
run-at: 2026-08-20T08:03:01Z
|
||||
Mem: 30Gi 17Gi 6.5Gi 1.0Gi 8.5Gi 13Gi
|
||||
Starting a Gradle Daemon, 1 busy and 35 stopped Daemons could not be reused, use --status for details
|
||||
> Task :build-logic:extractPluginRequests UP-TO-DATE
|
||||
> Task :build-logic:generatePluginAdapters UP-TO-DATE
|
||||
> Task :build-logic:compileJava UP-TO-DATE
|
||||
> Task :build-logic:compileGroovy UP-TO-DATE
|
||||
> Task :build-logic:compileGroovyPlugins UP-TO-DATE
|
||||
> Task :build-logic:pluginDescriptors UP-TO-DATE
|
||||
> Task :build-logic:processResources UP-TO-DATE
|
||||
> Task :build-logic:classes UP-TO-DATE
|
||||
> Task :build-logic:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:cleanTest
|
||||
> Task :messaging:messaging-core-api:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-admin-api:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-security:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-admin-runtime:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-core-api:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-kafka:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-kafka:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-observability:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-policy:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-schema-api:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-security:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-security:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-security:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:processResources UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-testkit:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-transport-spi:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:test
|
||||
> Task :messaging:messaging-rabbit:cleanTest
|
||||
> Task :messaging:messaging-rabbit:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-rabbit:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:compileTestJava UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:processTestResources NO-SOURCE
|
||||
> Task :messaging:messaging-rabbit:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:test
|
||||
|
||||
BUILD SUCCESSFUL in 1m 29s
|
||||
35 actionable tasks: 4 executed, 31 up-to-date
|
||||
Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.0.0/userguide/configuration_cache_enabling.html
|
||||
exit=0
|
||||
@@ -0,0 +1,27 @@
|
||||
$ ./gradlew :adapter:outbound:persistence-mongo:mongoCompatibilityTest --console=plain
|
||||
run-at: 2026-08-20T07:31:58Z
|
||||
Mem: 30Gi 19Gi 632Mi 834Mi 11Gi 11Gi
|
||||
> Task :build-logic:extractPluginRequests UP-TO-DATE
|
||||
> Task :build-logic:generatePluginAdapters UP-TO-DATE
|
||||
> Task :build-logic:compileJava UP-TO-DATE
|
||||
> Task :build-logic:compileGroovy UP-TO-DATE
|
||||
> Task :build-logic:compileGroovyPlugins UP-TO-DATE
|
||||
> Task :build-logic:pluginDescriptors UP-TO-DATE
|
||||
> Task :build-logic:processResources UP-TO-DATE
|
||||
> Task :build-logic:classes UP-TO-DATE
|
||||
> Task :build-logic:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileTestkitJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-mongo:testkitClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-mongo:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:mongoCompatibilityTest
|
||||
|
||||
BUILD SUCCESSFUL in 18s
|
||||
13 actionable tasks: 1 executed, 12 up-to-date
|
||||
Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.0.0/userguide/configuration_cache_enabling.html
|
||||
exit=0
|
||||
@@ -0,0 +1,27 @@
|
||||
$ ./gradlew :adapter:outbound:persistence-mongo:mongoFailoverTest --console=plain
|
||||
run-at: 2026-08-20T07:33:19Z
|
||||
Mem: 30Gi 19Gi 1.0Gi 839Mi 11Gi 11Gi
|
||||
> Task :build-logic:extractPluginRequests UP-TO-DATE
|
||||
> Task :build-logic:generatePluginAdapters UP-TO-DATE
|
||||
> Task :build-logic:compileJava UP-TO-DATE
|
||||
> Task :build-logic:compileGroovy UP-TO-DATE
|
||||
> Task :build-logic:compileGroovyPlugins UP-TO-DATE
|
||||
> Task :build-logic:pluginDescriptors UP-TO-DATE
|
||||
> Task :build-logic:processResources UP-TO-DATE
|
||||
> Task :build-logic:classes UP-TO-DATE
|
||||
> Task :build-logic:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileTestkitJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-mongo:testkitClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-mongo:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:mongoFailoverTest
|
||||
|
||||
BUILD SUCCESSFUL in 1m 17s
|
||||
13 actionable tasks: 1 executed, 12 up-to-date
|
||||
Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.0.0/userguide/configuration_cache_enabling.html
|
||||
exit=0
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
> Task :build-logic:extractPluginRequests UP-TO-DATE
|
||||
> Task :build-logic:generatePluginAdapters UP-TO-DATE
|
||||
> Task :build-logic:compileJava UP-TO-DATE
|
||||
> Task :build-logic:compileGroovy UP-TO-DATE
|
||||
> Task :build-logic:compileGroovyPlugins UP-TO-DATE
|
||||
> Task :build-logic:pluginDescriptors UP-TO-DATE
|
||||
> Task :build-logic:processResources UP-TO-DATE
|
||||
> Task :build-logic:classes UP-TO-DATE
|
||||
> Task :build-logic:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileTestkitJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-mongo:testkitClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-mongo:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:mongoStableContractTest
|
||||
> Task :adapter:outbound:persistence-mongo:mongoReplicaSetTest
|
||||
> Task :adapter:outbound:persistence-mongo:mongoFailoverTest
|
||||
|
||||
> Task :adapter:outbound:persistence-mongo:mongoMigrationTest
|
||||
|
||||
MongoMigrationLaneTest > aCheckpointSurvivesTheProcessThatWroteIt() FAILED
|
||||
dev.caskeleton.adapter.outbound.mongo.api.error.MongoOperationRejectedException at MongoMigrationLaneTest.java:155
|
||||
|
||||
6 tests completed, 1 failed
|
||||
|
||||
> Task :adapter:outbound:persistence-mongo:mongoMigrationTest FAILED
|
||||
|
||||
FAILURE: Build failed with an exception.
|
||||
|
||||
* What went wrong:
|
||||
Execution failed for task ':adapter:outbound:persistence-mongo:mongoMigrationTest'.
|
||||
> There were failing tests. See the report at: file:///home/donghyeon/workspace/desktop-server-git/clean-architecture-backend-template/src/adapter/outbound/persistence-mongo/build/reports/tests/mongoMigrationTest/index.html
|
||||
|
||||
* Try:
|
||||
> Run with --scan to generate a Build Scan (Powered by Develocity).
|
||||
|
||||
BUILD FAILED in 2m 11s
|
||||
16 actionable tasks: 4 executed, 12 up-to-date
|
||||
EXIT=1
|
||||
@@ -0,0 +1,33 @@
|
||||
> Task :build-logic:extractPluginRequests UP-TO-DATE
|
||||
> Task :build-logic:generatePluginAdapters UP-TO-DATE
|
||||
> Task :build-logic:compileJava UP-TO-DATE
|
||||
> Task :build-logic:compileGroovy UP-TO-DATE
|
||||
> Task :build-logic:compileGroovyPlugins UP-TO-DATE
|
||||
> Task :build-logic:pluginDescriptors UP-TO-DATE
|
||||
> Task :build-logic:processResources UP-TO-DATE
|
||||
> Task :build-logic:classes UP-TO-DATE
|
||||
> Task :build-logic:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileTestkitJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-mongo:testkitClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-mongo:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:mongoStableContractTest
|
||||
> Task :adapter:outbound:persistence-mongo:mongoReplicaSetTest
|
||||
> Task :adapter:outbound:persistence-mongo:mongoFailoverTest
|
||||
> Task :adapter:outbound:persistence-mongo:mongoMigrationTest
|
||||
> Task :adapter:outbound:persistence-mongo:mongoCompatibilityTest
|
||||
> Task :adapter:outbound:persistence-mongo:mongoSecurityIntegrationTest
|
||||
> Task :adapter:outbound:persistence-mongo:compileMongoPerformanceTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processMongoPerformanceTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-mongo:mongoPerformanceTestClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:mongoPerformanceTest
|
||||
|
||||
BUILD SUCCESSFUL in 2m 50s
|
||||
20 actionable tasks: 7 executed, 13 up-to-date
|
||||
Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.0.0/userguide/configuration_cache_enabling.html
|
||||
EXIT=0
|
||||
@@ -0,0 +1,27 @@
|
||||
$ ./gradlew :adapter:outbound:persistence-mongo:mongoMigrationTest --console=plain
|
||||
run-at: 2026-08-20T07:31:22Z
|
||||
Mem: 30Gi 19Gi 858Mi 817Mi 12Gi 11Gi
|
||||
> Task :build-logic:extractPluginRequests UP-TO-DATE
|
||||
> Task :build-logic:generatePluginAdapters UP-TO-DATE
|
||||
> Task :build-logic:compileJava UP-TO-DATE
|
||||
> Task :build-logic:compileGroovy UP-TO-DATE
|
||||
> Task :build-logic:compileGroovyPlugins UP-TO-DATE
|
||||
> Task :build-logic:pluginDescriptors UP-TO-DATE
|
||||
> Task :build-logic:processResources UP-TO-DATE
|
||||
> Task :build-logic:classes UP-TO-DATE
|
||||
> Task :build-logic:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileTestkitJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-mongo:testkitClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-mongo:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:mongoMigrationTest
|
||||
|
||||
BUILD SUCCESSFUL in 13s
|
||||
13 actionable tasks: 1 executed, 12 up-to-date
|
||||
Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.0.0/userguide/configuration_cache_enabling.html
|
||||
exit=0
|
||||
@@ -0,0 +1,27 @@
|
||||
$ ./gradlew :adapter:outbound:persistence-mongo:mongoPerformanceTest --console=plain
|
||||
run-at: 2026-08-20T07:37:00Z
|
||||
Mem: 30Gi 21Gi 664Mi 789Mi 9.5Gi 9.0Gi
|
||||
> Task :build-logic:extractPluginRequests UP-TO-DATE
|
||||
> Task :build-logic:generatePluginAdapters UP-TO-DATE
|
||||
> Task :build-logic:compileJava UP-TO-DATE
|
||||
> Task :build-logic:compileGroovy UP-TO-DATE
|
||||
> Task :build-logic:compileGroovyPlugins UP-TO-DATE
|
||||
> Task :build-logic:pluginDescriptors UP-TO-DATE
|
||||
> Task :build-logic:processResources UP-TO-DATE
|
||||
> Task :build-logic:classes UP-TO-DATE
|
||||
> Task :build-logic:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileTestkitJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-mongo:testkitClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileMongoPerformanceTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processMongoPerformanceTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-mongo:mongoPerformanceTestClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:mongoPerformanceTest
|
||||
|
||||
BUILD SUCCESSFUL in 26s
|
||||
13 actionable tasks: 1 executed, 12 up-to-date
|
||||
Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.0.0/userguide/configuration_cache_enabling.html
|
||||
exit=0
|
||||
@@ -0,0 +1,27 @@
|
||||
$ ./gradlew :adapter:outbound:persistence-mongo:mongoReplicaSetTest --console=plain
|
||||
run-at: 2026-08-20T07:33:01Z
|
||||
Mem: 30Gi 19Gi 1.0Gi 804Mi 11Gi 11Gi
|
||||
> Task :build-logic:extractPluginRequests UP-TO-DATE
|
||||
> Task :build-logic:generatePluginAdapters UP-TO-DATE
|
||||
> Task :build-logic:compileJava UP-TO-DATE
|
||||
> Task :build-logic:compileGroovy UP-TO-DATE
|
||||
> Task :build-logic:compileGroovyPlugins UP-TO-DATE
|
||||
> Task :build-logic:pluginDescriptors UP-TO-DATE
|
||||
> Task :build-logic:processResources UP-TO-DATE
|
||||
> Task :build-logic:classes UP-TO-DATE
|
||||
> Task :build-logic:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileTestkitJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-mongo:testkitClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-mongo:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:mongoReplicaSetTest
|
||||
|
||||
BUILD SUCCESSFUL in 9s
|
||||
13 actionable tasks: 1 executed, 12 up-to-date
|
||||
Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.0.0/userguide/configuration_cache_enabling.html
|
||||
exit=0
|
||||
@@ -0,0 +1,27 @@
|
||||
$ ./gradlew :adapter:outbound:persistence-mongo:mongoSecurityIntegrationTest --console=plain
|
||||
run-at: 2026-08-20T07:34:53Z
|
||||
Mem: 30Gi 19Gi 1.6Gi 795Mi 11Gi 11Gi
|
||||
> Task :build-logic:extractPluginRequests UP-TO-DATE
|
||||
> Task :build-logic:generatePluginAdapters UP-TO-DATE
|
||||
> Task :build-logic:compileJava UP-TO-DATE
|
||||
> Task :build-logic:compileGroovy UP-TO-DATE
|
||||
> Task :build-logic:compileGroovyPlugins UP-TO-DATE
|
||||
> Task :build-logic:pluginDescriptors UP-TO-DATE
|
||||
> Task :build-logic:processResources UP-TO-DATE
|
||||
> Task :build-logic:classes UP-TO-DATE
|
||||
> Task :build-logic:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileTestkitJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-mongo:testkitClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileTestJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processTestResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-mongo:testClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:mongoSecurityIntegrationTest
|
||||
|
||||
BUILD SUCCESSFUL in 1m 54s
|
||||
13 actionable tasks: 1 executed, 12 up-to-date
|
||||
Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.0.0/userguide/configuration_cache_enabling.html
|
||||
exit=0
|
||||
+164
@@ -0,0 +1,164 @@
|
||||
Starting a Gradle Daemon, 1 busy and 61 stopped Daemons could not be reused, use --status for details
|
||||
> Task :build-logic:extractPluginRequests UP-TO-DATE
|
||||
> Task :build-logic:generatePluginAdapters UP-TO-DATE
|
||||
> Task :build-logic:compileJava UP-TO-DATE
|
||||
> Task :build-logic:compileGroovy UP-TO-DATE
|
||||
> Task :build-logic:compileGroovyPlugins UP-TO-DATE
|
||||
> Task :build-logic:pluginDescriptors UP-TO-DATE
|
||||
> Task :build-logic:processResources UP-TO-DATE
|
||||
> Task :build-logic:classes UP-TO-DATE
|
||||
> Task :build-logic:jar UP-TO-DATE
|
||||
> Task :shared-contract:compileJava UP-TO-DATE
|
||||
> Task :shared-contract:processResources UP-TO-DATE
|
||||
> Task :shared-contract:classes UP-TO-DATE
|
||||
> Task :shared-contract:jar UP-TO-DATE
|
||||
> Task :application-core:compileJava UP-TO-DATE
|
||||
> Task :application-core:processResources NO-SOURCE
|
||||
> Task :application-core:classes UP-TO-DATE
|
||||
> Task :application-core:jar UP-TO-DATE
|
||||
> Task :domain-core:compileJava UP-TO-DATE
|
||||
> Task :domain-core:processResources NO-SOURCE
|
||||
> Task :domain-core:classes UP-TO-DATE
|
||||
> Task :domain-core:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-reliability-api:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-security:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-claim-check:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-cloudevents:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-runtime-core:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-json:compileJava UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:compileJava UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:compileJava UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:processResources UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:classes UP-TO-DATE
|
||||
> Task :adapter:inbound:graphql:jar UP-TO-DATE
|
||||
> Task :adapter:inbound:web:compileJava UP-TO-DATE
|
||||
> Task :adapter:inbound:web:processResources NO-SOURCE
|
||||
> Task :adapter:inbound:web:classes UP-TO-DATE
|
||||
> Task :adapter:inbound:web:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:support:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:support:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:support:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:support:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:cache-redis:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:fileserver:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:fileserver:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:fileserver:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:fileserver:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:httpclient:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:httpclient:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:httpclient:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:httpclient:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:identifier:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:identifier:compileGroovy NO-SOURCE
|
||||
> Task :adapter:outbound:identifier:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:identifier:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:identifier:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:messaging:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:notification:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:notification:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:processResources UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-mongo:jar UP-TO-DATE
|
||||
> Task :app-bootstrap:compileJava UP-TO-DATE
|
||||
> Task :app-bootstrap:processResources UP-TO-DATE
|
||||
> Task :app-bootstrap:classes UP-TO-DATE
|
||||
> Task :sample-portfolio:compileJava UP-TO-DATE
|
||||
> Task :sample-portfolio:processResources UP-TO-DATE
|
||||
> Task :sample-portfolio:classes UP-TO-DATE
|
||||
> Task :sample-portfolio:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:compileTestkitJava UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:processTestkitResources NO-SOURCE
|
||||
> Task :adapter:outbound:persistence-jpa:testkitClasses UP-TO-DATE
|
||||
> Task :adapter:outbound:persistence-jpa:testkitJar UP-TO-DATE
|
||||
> Task :app-bootstrap:compileTestJava UP-TO-DATE
|
||||
> Task :app-bootstrap:runtimeClasspathManifest UP-TO-DATE
|
||||
> Task :app-bootstrap:processTestResources UP-TO-DATE
|
||||
> Task :app-bootstrap:testClasses UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-admin-api:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-api:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-admin-runtime:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-admin-runtime:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-claim-check:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-claim-check:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-claim-check:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-cloudevents:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-cloudevents:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-cloudevents:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-core-api:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-core-api:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:processResources UP-TO-DATE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-inbox-jdbc-postgresql:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-kafka:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-kafka:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-observability:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-observability:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:processResources UP-TO-DATE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-outbox-jdbc-postgresql:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-policy:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-policy:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-rabbit:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-rabbit:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-reliability-api:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-reliability-api:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-reliability-api:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-runtime-core:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-runtime-core:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-runtime-core:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-schema-api:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-api:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-json:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-schema-json:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-schema-json:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-security:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-security:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-security:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:processResources UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-spring-boot-starter:jar UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:processResources NO-SOURCE
|
||||
> Task :messaging:messaging-transport-spi:classes UP-TO-DATE
|
||||
> Task :messaging:messaging-transport-spi:jar UP-TO-DATE
|
||||
> Task :adapter:outbound:objectstorage:compileJava UP-TO-DATE
|
||||
> Task :adapter:outbound:objectstorage:processResources NO-SOURCE
|
||||
> Task :adapter:outbound:objectstorage:classes UP-TO-DATE
|
||||
> Task :adapter:outbound:objectstorage:jar UP-TO-DATE
|
||||
> Task :app-bootstrap:test
|
||||
|
||||
BUILD SUCCESSFUL in 1m 6s
|
||||
94 actionable tasks: 1 executed, 93 up-to-date
|
||||
Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.0.0/userguide/configuration_cache_enabling.html
|
||||
EXIT=0
|
||||
@@ -0,0 +1,104 @@
|
||||
# Task 3 — the ten-row activation matrix
|
||||
|
||||
Every row below names where its evidence is, and nothing is ticked from reasoning about the code.
|
||||
Rows 1–7 and 10 are runtime lanes from one Compose matrix run, `20260819T025416Z-200172`; rows 8 and 9
|
||||
needed work this wave and are described in full.
|
||||
|
||||
The per-lane `activation.json` is the application's own answer about which switches are on, not the
|
||||
flags the harness passed in — which is the point of reading it rather than the lane definition.
|
||||
|
||||
| # | Matrix | Evidence | Resolved switches (from `activation.json`) |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | five off | `off-local`, `off-dev`, `off-prod` lanes + `FiveAdapterOffInventoryTest` | `local` / `dev` / `prod`, **none on** |
|
||||
| 2 | JPA only | `local-jpa` lane | `local`, `persistence-jpa` |
|
||||
| 3 | Mongo only | `local-mongo` lane | `local`, `persistence-mongo` |
|
||||
| 4 | Messaging only | `local-messaging` lane | `local`, `messaging` |
|
||||
| 5 | Notification + JPA, `INGEST_ONLY` | `local-notification-ingest` + `local-notification-handoff` | `local`, `persistence-jpa`+`notification.platform`, `APP_NOTIFICATION_PLATFORM_MODE: INGEST_ONLY` |
|
||||
| 6 | Notification + JPA, `SERVING` | `local-notification-serving` | same switches, `MODE: SERVING` |
|
||||
| 7 | GraphQL only | `local-graphql` lane | `local`, `graphql` |
|
||||
| 8 | relay on, dependency missing | **this wave** — see below | n/a: the deployment is refused |
|
||||
| 9 | JPA + Mongo | `all-adapters` lane + `PortResolutionContractTest` | `local`, both persistence switches on |
|
||||
| 10 | five on | `all-adapters` lane | `local`, `graphql`,`messaging`,`persistence-jpa`,`persistence-mongo`,`notification.platform` |
|
||||
|
||||
Row 5's exactly-once claim is not inferred from the lane passing; the smoke client says it:
|
||||
|
||||
```
|
||||
notification-smoke: b0e083cb-06c5-4dde-b454-4c4e26f65edc delivered exactly once and stayed that way
|
||||
```
|
||||
|
||||
## Row 8 — a defect, found by running the row
|
||||
|
||||
The plan is explicit that Row 8 must be checked for the *name*, not merely for a failure. Checking it
|
||||
that way found that the name was not what an operator got.
|
||||
|
||||
`ca-skeleton.outbox.enabled=true` with the JPA switch off is a dependency error this repository
|
||||
names, and `CapabilityDependencyValidator` produces the sentence that names it. But the outbox is
|
||||
also a registered relational consumer, so `DataSourceRequirement` reports that a pool is required,
|
||||
`JpaOffAutoConfigurationImportFilter` therefore keeps Boot's relational auto-configurations in the
|
||||
candidate set, and Hibernate and Flyway were instantiated during refresh — ahead of the
|
||||
`InitializingBean` that carried the check. What actually came out was:
|
||||
|
||||
```
|
||||
Unable to obtain connection from database: Connection to localhost:5433 refused.
|
||||
```
|
||||
|
||||
Both components were right on their own. A pool does have consumers besides JPA, and the outbox does
|
||||
need the JPA switch. The disagreement was only ever visible in **which one spoke first**, and no test
|
||||
could see it: the existing `CapabilityDependencyValidatorTest` calls the validator's static method
|
||||
against a `MockEnvironment`, which proves the rule computes the right sentence and nothing about
|
||||
whether anything runs it in time.
|
||||
|
||||
**Fix.** The check moved to the environment stage
|
||||
(`CapabilityDependencyEnvironmentValidator`, an `EnvironmentPostProcessor` at
|
||||
`LOWEST_PRECEDENCE` alongside the master-switch and profile validators), where every property
|
||||
source is resolved and nothing has been instantiated. The `InitializingBean` stays: a context built
|
||||
without `spring.factories` — an `ApplicationContextRunner`, a slice test — never reaches the
|
||||
post-processor, and the rule should not be optional there.
|
||||
|
||||
**Evidence, from the built jar rather than from a test harness** — see
|
||||
[task3-row8-dependency-error.log](task3-row8-dependency-error.log):
|
||||
|
||||
```
|
||||
### outbox on, JPA off exit code: 1
|
||||
This deployment enables capabilities whose dependencies are off:
|
||||
- ca-skeleton.outbox.enabled=true needs relational persistence to store rows;
|
||||
set ca-skeleton.persistence-jpa.enabled=true or turn the outbox off.
|
||||
- ca-skeleton.outbox.enabled=true needs somewhere to publish;
|
||||
set app.messaging.enabled=true or turn the outbox off.
|
||||
|
||||
### relay on, outbox off exit code: 1
|
||||
This deployment enables capabilities whose dependencies are off:
|
||||
- ca-skeleton.outbox.relay-enabled=true only starts the scheduler for a capability that is off;
|
||||
set ca-skeleton.outbox.enabled=true or turn the relay off.
|
||||
```
|
||||
|
||||
`DependencyErrorStartupContractTest` pins this at the composition-root level, including a case that
|
||||
boots all-off successfully — without it, every other assertion in that class would also be satisfied
|
||||
by a validator that refuses everything.
|
||||
|
||||
## Row 9 — the positive half runs; the conflict half is pinned as a rule
|
||||
|
||||
`all-adapters` starts PostgreSQL and MongoDB and the application together, and the application
|
||||
reports both persistence switches on. The two adapters implement disjoint ports, so there is no
|
||||
ambiguity to resolve and no `@Primary` involved.
|
||||
|
||||
That absence is what needs pinning, because manufacturing a conflict would test Spring's
|
||||
`NoUniqueBeanDefinitionException` rather than this repository. What can silently change is the
|
||||
property the row depends on: that no port is resolved by preferring one bean over another. A
|
||||
`@Primary` added later to settle an ambiguity would convert a startup rejection into a silent pick,
|
||||
and every existing test would stay green, because the composition would still boot.
|
||||
|
||||
`PortResolutionContractTest` states the rule directly — a `@Primary` on a port implementation is
|
||||
permitted only when a condition decides which one is active, which makes it a selector rather than a
|
||||
tiebreak. The whole repository has three `@Primary` beans:
|
||||
|
||||
| bean | type | guard |
|
||||
| --- | --- | --- |
|
||||
| `inProcessDistributedLock` | `DistributedLockPort` | `multi-instance-enabled` false or absent |
|
||||
| `distributedLockProvider` | `DistributedLockPort` | `multi-instance-enabled` true |
|
||||
| `applicationTaskExecutor` | `TaskExecutor` | none — Boot's own contract wants a primary executor, and it is not a port |
|
||||
|
||||
The two lock beans cannot coexist, so neither is being preferred; one of them simply is not there.
|
||||
|
||||
The rule was falsified before being trusted: removing the `@ConditionalOnProperty` from
|
||||
`distributedLockProvider` fails the test, and restoring it passes.
|
||||
@@ -0,0 +1,26 @@
|
||||
# Task 3 — the activation matrix, and where each row's evidence comes from
|
||||
|
||||
The plan's matrix is ten rows; the Compose contract is fifteen lanes; the in-process activation
|
||||
suite is nineteen classes. They are not three copies of one thing, so this records which artefact
|
||||
answers which row before anything is run. A row whose evidence is a passing unit test is recorded as
|
||||
that, not as a runtime lane.
|
||||
|
||||
| # | Matrix row | Evidence |
|
||||
| --- | --- | --- |
|
||||
| 1 | five off | `off-local`, `off-dev`, `off-prod` lanes + `FiveAdapterOffInventoryTest` (bean/thread/endpoint inventory is in-process; a container cannot count beans) |
|
||||
| 2 | JPA only | `local-jpa` lane (db + app) |
|
||||
| 3 | Mongo only | `local-mongo` lane (mongo + rs-init + app) |
|
||||
| 4 | Messaging only | `local-messaging` lane; `local-messaging-outbox` additionally proves the relay's database dependency |
|
||||
| 5 | Notification + JPA, `INGEST_ONLY` | `local-notification-ingest`, and `local-notification-handoff` for the accept → restart → deliver-once half |
|
||||
| 6 | Notification + JPA, `SERVING` | `local-notification-serving` |
|
||||
| 7 | GraphQL only | `local-graphql` lane (keycloak + auth-smoke + graphql-smoke) |
|
||||
| 8 | relay on, dependency missing | **no lane** — a startup that must be *rejected* is an in-process contract: `DependencyErrorStartupContractTest`, `CapabilityDependencyValidatorTest`. The plan requires the *name* of the missing switch, not merely a failure. |
|
||||
| 9 | JPA + Mongo | `all-adapters` covers the both-on half; the two-implementations-of-one-port rejection is in-process (`CleanArchitectureTest` plus the composition tests), because it is a context-startup outcome |
|
||||
| 10 | five on | `all-adapters` lane |
|
||||
|
||||
Rows 8 and 9 are deliberately not Compose lanes. Both are assertions that a context *refuses* to
|
||||
start for a stated reason, and a Compose lane can only observe that a container exited — which is
|
||||
the same observation for a missing switch, a bad password and a typo in a YAML key.
|
||||
|
||||
Lanes with no matrix row of their own — `shared-infra-local`, `shared-infra-dev`, `prod-smoke` —
|
||||
carry Task 4's environment evidence rather than Task 3's activation evidence.
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
# Task 3 Row 8 — a capability on with its dependency off: the real jar, the real exit code
|
||||
|
||||
### outbox on, JPA off
|
||||
```
|
||||
java.lang.IllegalStateException: This deployment enables capabilities whose dependencies are off:
|
||||
- ca-skeleton.outbox.enabled=true needs relational persistence to store rows; set ca-skeleton.persistence-jpa.enabled=true or turn the outbox off.
|
||||
- ca-skeleton.outbox.enabled=true needs somewhere to publish; set app.messaging.enabled=true or turn the outbox off.
|
||||
exit code: 1
|
||||
```
|
||||
|
||||
### relay on, outbox off
|
||||
```
|
||||
java.lang.IllegalStateException: This deployment enables capabilities whose dependencies are off:
|
||||
- ca-skeleton.outbox.relay-enabled=true only starts the scheduler for a capability that is off; set ca-skeleton.outbox.enabled=true or turn the relay off.
|
||||
exit code: 1
|
||||
```
|
||||
|
||||
@@ -0,0 +1,165 @@
|
||||
# Task 6 — the five reviews' P0 findings, reconciled
|
||||
|
||||
The remediation design this wave executed never referenced a review id (`grep -c` over it: zero).
|
||||
It took one theme from the five reviews — five adapters ship and do not run — and Waves 0–6 executed
|
||||
that theme. So "how much of the reviews is reflected" had never been measured. This is the first
|
||||
measurement, and then the work that followed it.
|
||||
|
||||
Three read-only audits ran in parallel, one per review family, each instructed to treat a passing
|
||||
test as evidence only when it exercises the real composition. Their headline claims were then
|
||||
re-checked by hand before being acted on; one was wrong and is recorded as such below.
|
||||
|
||||
## Where the P0 set stood when measured
|
||||
|
||||
| Review | P0 | CLOSED | PARTIAL | OPEN |
|
||||
| --- | ---: | ---: | ---: | ---: |
|
||||
| jpa | 6 | 5 | 1 | 0 |
|
||||
| messaging | 5 | 2 | 3 | 0 |
|
||||
| graphql | 2 | 1 | 1 | 0 |
|
||||
| notification | 12 | 1 | 11 | 0 |
|
||||
| mongodb | 9 | 0 | 9 | 0 |
|
||||
| **total** | **34** | **9** | **25** | **0** |
|
||||
|
||||
Nothing was OPEN: every P0 had been worked. What the audits found instead, in three independent
|
||||
voices, was the same shape — **the implementation is substantially real and the gate under it is
|
||||
thin**. Six notification adapter classes were referenced by zero tests. Both Mongo executors were
|
||||
referenced by zero tests. Every messaging real-broker test skips silently without Docker. And the
|
||||
Compose matrix, the strongest evidence this repository produces, runs in no workflow.
|
||||
|
||||
## What was fixed, and how each was proven
|
||||
|
||||
### NTF-004 / JPA-004 — the completion write was not fenced
|
||||
|
||||
Two audits reached this independently from different reviews, which is why it was taken first.
|
||||
|
||||
The claim is fenced (a single `FOR UPDATE SKIP LOCKED` CTE that bumps `lease_fence`) and the renew
|
||||
is fenced. The *completion* was `findById → mutate → saveAndFlush` with no owner or fence predicate.
|
||||
A worker whose lease expired during the provider call — the one stretch the platform deliberately
|
||||
spends outside a transaction — came back and wrote its outcome over the row a new holder had already
|
||||
claimed. The `@Version` column does not stop that: it detects a concurrent edit, not a superseded
|
||||
writer, and the late worker's read is recent enough to win.
|
||||
|
||||
Fixed with conditional statements in the same idiom as the renew, `saveHeldBy`/`transitionHeldBy` on
|
||||
the port returning empty when the lease is gone, and all four branches of `applyNextAction` moved
|
||||
onto them. Losing the lease is not an error: the new holder owns the job and will record its own
|
||||
outcome.
|
||||
|
||||
`@Modifying(clearAutomatically = true)` on both, because a native update bypasses the persistence
|
||||
context and the immediate re-read would otherwise be served the values it just replaced — a trap one
|
||||
of the audits had found elsewhere in this same platform.
|
||||
|
||||
**Proof:** two real-PostgreSQL cases in the JPA contract lane. A superseded holder's completion
|
||||
matches zero rows and the live holder's state is untouched; the current holder's completion writes.
|
||||
The second exists because without it the first is satisfied by a statement that matches nothing ever.
|
||||
|
||||
### NTF-012 — the SSRF guard had no callers
|
||||
|
||||
`requireExternallyRoutable` refuses the cloud metadata service, RFC 1918, link-local, IPv6 local,
|
||||
userinfo disguise and multi-answer DNS. It had an eight-case test suite, all green, and **one
|
||||
occurrence in the repository: its own definition.** The two sites it was written for —
|
||||
`WebhookSubscription` and `SesProviderProperties` — still called `requireSecureOrLoopback`, which
|
||||
reads the scheme and nothing else.
|
||||
|
||||
Both now call it. The new test goes through the constructors rather than the helper, because testing
|
||||
the helper again is exactly what failed to catch this.
|
||||
|
||||
What is not closed: `allowLoopback` is true, so a user-supplied target naming `localhost` still
|
||||
passes. Closing it means the allowance becomes a decision the caller states, and the caller does not
|
||||
exist — WEBHOOK has no `ProviderRuntimeAssembler`, so a webhook profile refuses to boot and nothing
|
||||
in production constructs the record. Writing the policy now would mean choosing its default with no
|
||||
caller to check it against. Recorded in the code at the call site.
|
||||
|
||||
### NTF-001 — the documented callback switch broke startup
|
||||
|
||||
`CallbackRequestFactory` is a constructor argument of the MVC controller, the WebFlux handler and the
|
||||
WebFlux configuration, and was produced by no production code — the only instantiation was in a test.
|
||||
So `APP_NOTIFICATION_PLATFORM_CALLBACKS_ENABLED=true`, a key in the env registry and in the
|
||||
configuration reference, did not enable callbacks; it failed the boot on an unsatisfied dependency.
|
||||
|
||||
The beans now exist, conditioned on the same switch. The missing `trusted-proxies` setting came with
|
||||
them, defaulting to empty — with no entry, forwarded headers are not believed, because honouring
|
||||
them unconditionally lets any caller choose the URL its own signature is checked against. Registered
|
||||
in `application.yml`, the env registry, `.env.example` and the configuration reference; both
|
||||
notification gates pass.
|
||||
|
||||
### MNG-007 — a health view Actuator could not read, and a reactive half nothing built
|
||||
|
||||
`MongoPlatformHealthIndicator` computed topology mismatch, secondary availability and a bounded
|
||||
detail map, and implemented neither `HealthIndicator` nor `HealthContributor`. The adapter carries no
|
||||
Actuator dependency and should not: the delivery platform had already established the shape, where
|
||||
the adapter computes the facts and the composition root maps them onto `Health`. Done the same way.
|
||||
|
||||
Separately, every reactive class in the leaf — executor, consistency binder, session factory, cursor
|
||||
guard — was declared by no configuration. They shipped and no configuration could construct them.
|
||||
Now wired in a nested configuration conditioned on a `ReactiveMongoTemplate` *bean*, not just the
|
||||
class: the class is on the compile classpath unconditionally, so a class condition alone would try to
|
||||
build the reactive path in a servlet-only deployment and fail a startup for a capability nobody asked
|
||||
for. Both the positive and the negative case are asserted.
|
||||
|
||||
### MNG-005 / MNG-023 — a deadline that only produced a report
|
||||
|
||||
The blocking executor compared elapsed time to the declared timeout *after* the callback returned,
|
||||
and said so in its own comment: a Java callback cannot be interrupted mid driver call. That is an
|
||||
overrun report, not a deadline.
|
||||
|
||||
The scoped API is the narrowed surface where the number can actually be sent, so every method taking
|
||||
a `Query` or an `Aggregation` now carries it as `maxTimeMS`, which the server enforces. `insert` has
|
||||
no query to attach it to. `Duration.ZERO` is refused, because zero means "no limit" to the server and
|
||||
accepting it would turn a misconfiguration into an unbounded operation.
|
||||
|
||||
The raw escape hatches (`rawOperations()`, `executeInternal(...)`) are genuinely used inside the
|
||||
platform by the geospatial, atomic and bulk operations, and their callers live in sibling packages,
|
||||
so package-private cannot express the rule. It is enforced as a boundary from the composition root —
|
||||
the only place that sees both the platform and everything consuming it. The rule was falsified by
|
||||
widening its scope until it fired, and a second case asserts the platform still uses them, so the
|
||||
rule cannot pass by the hatches having been deleted.
|
||||
|
||||
### MNG-006 — a guard that compared a declaration against nothing
|
||||
|
||||
`LocalDateTimeMappingGuard` was constructed `withoutConverters()` and then asked to validate the
|
||||
manifest. It could only ever reject `LOCAL_DATE_TIME_WITH_REGISTERED_CONVERTER`: a deployment that
|
||||
*had* registered the named converter was rejected exactly as loudly as one that had not, so the check
|
||||
that exists to distinguish those two cases could not tell them apart. It now reads the converters the
|
||||
deployment actually registered, and a test asserts the same manifest passes with the converter and
|
||||
fails without it.
|
||||
|
||||
### MNG-008 — a promotion gate that required five of the six categories it declares
|
||||
|
||||
`MongoAdvancedPromotionEvidence.REQUIRED` listed six; `MongoAdvancedPromotionGate.verify()` required
|
||||
five. `migration` was missing, so a promotion could pass with no migration evidence at all.
|
||||
|
||||
### GQL-002 — the batch policy applied to nothing
|
||||
|
||||
`GraphQlBatchLoaderRegistrar` carried the chunking, the budget and the request scope, was unit
|
||||
tested, and was declared by no configuration — the only file mentioning it was itself. A field
|
||||
resolving through `@BatchMapping` or a `DataLoader` met none of it. The chain
|
||||
(`BatchPolicyRegistry → DataLoaderFactory → BatchLoaderRegistrar`) is now assembled by the platform.
|
||||
The batch ceiling reuses `maximumPageSize` rather than adding a setting: both answer how many rows
|
||||
one downstream call may ask for, and a batch limit above the page limit would let one request fan out
|
||||
past the bound it already accepted.
|
||||
|
||||
## One thing an audit got wrong, and one fix that was reverted
|
||||
|
||||
The mongodb audit reported that the UUID axis is "declaration-only" and mapped onto the driver
|
||||
nowhere. It is mapped — `MongoClientSettingsFactory` calls `.uuidRepresentation(...)`. Verified
|
||||
before acting.
|
||||
|
||||
Acting on the adjacent concern — the manifest and the profile describing the same fact independently
|
||||
— a startup check was written to refuse a disagreement between them. Writing its test showed the
|
||||
disagreement cannot occur: `MongoUuidRepresentation` has two values, only `STANDARD` is writable, and
|
||||
an existing check already refuses the other. **A guard for a state that cannot arise is the same
|
||||
"declaration nothing checks" this wave has been removing**, so it was reverted rather than kept with
|
||||
an unfalsifiable test.
|
||||
|
||||
## What remains, and why
|
||||
|
||||
- **NTF-012 loopback residue** — belongs with the change set that gives WEBHOOK an assembler.
|
||||
- **MSG-015** — the application-owned port and anti-corruption bridge between `application-core` and
|
||||
the messaging platform. The review names it and specifies the target shape; it is a runtime wiring
|
||||
change, and the review itself says the physical work is a separate change set.
|
||||
- **MSG-003/004/005 residue** — on code no deployment can execute: the platform's outbox and inbox
|
||||
migrations are applied only by tests, the production Kafka transport is publish-only, and Rabbit
|
||||
declares no transport bean.
|
||||
- **P1 and P2 — 100 findings, never audited.** They were not in this remediation's scope and their
|
||||
state is unknown. Saying so is the honest position; the P0 audit took three parallel agents and
|
||||
the P1/P2 set is three times larger.
|
||||
Reference in New Issue
Block a user