Commit Graph

97 Commits

Author SHA1 Message Date
Oliver Drotbohm
fd4864acf3 GH-512 - Prepare next development iteration. 2024-02-23 15:49:15 +01:00
Oliver Drotbohm
37c46fdd4e GH-512 - Release version 1.0.6. 2024-02-23 15:49:15 +01:00
Oliver Drotbohm
c21b9d69f8 GH-473 - Prepare next development iteration. 2024-01-19 13:02:43 +01:00
Oliver Drotbohm
bea277d7c6 GH-473 - Release version 1.0.5. 2024-01-19 13:02:43 +01:00
Oliver Drotbohm
f8f6e0212a GH-465 - Update copyright headers. 2024-01-17 19:48:17 +01:00
Oliver Drotbohm
2929afb49e GH-433 - Prepare next development iteration. 2023-12-21 22:40:11 +01:00
Oliver Drotbohm
cdefaca8ff GH-433 - Release version 1.0.4. 2023-12-21 22:40:10 +01:00
Oliver Drotbohm
cb16a84bef GH-432 - Include JSR 303 ConstraintValidator implementations in bootstrap dependency analysis.
Spring Boot configures Hibernate Validator in a way that the latter looks up the components it needs to instantiate via the Spring container. That in turn then creates prototype instances of the types requested. This means, implementations of e.g. ConstraintValidator do not need to be explicitly marked as Spring beans, but could still declare dependencies to other Spring beans. If such a dependency crosses a module boundary, we currently fail to detect that implicitly established module dependency.

This is now fixed by considering ConstraintValidator implementations Spring beans implicitly in out bootstrap dependency analysis.
2023-12-21 22:31:41 +01:00
Oliver Drotbohm
4c60cdc705 GH-408 - Ignore Spring AOT generated types in architecture model.
We now explicitly exclude classes generated by Spring AOT in the architectural model. For technical reasons, they might introduce dependencies to application components considered module internals otherwise. Also, proxies generated do not need to be considered either.
2023-12-06 14:23:53 +01:00
Oliver Drotbohm
5944f0e5ea GH-392 - Prepare next development iteration. 2023-11-24 17:58:10 +01:00
Oliver Drotbohm
7a4e9f9df5 GH-392 - Release version 1.0.3. 2023-11-24 17:58:10 +01:00
Oliver Drotbohm
b501554d87 GH-340 - Prepare next development iteration. 2023-10-23 08:50:23 +02:00
Oliver Drotbohm
f875e67755 GH-340 - Release version 1.0.2. 2023-10-23 08:50:22 +02:00
Oliver Drotbohm
0810d8025e GH-327 - Fix Javadoc. 2023-10-16 09:01:03 +02:00
Oliver Drotbohm
f93bb39648 GH-327 - Move off of Google's Suppliers.memoize(…). 2023-10-16 08:38:43 +02:00
Oliver Drotbohm
403ed2cd0e GH-326 - Fix ApplicationModule by package name lookup.
Prior to this commit, the lookup for an ApplicationModule would find modules solely depending on the reference string starting with the base package. That means that a module with base package com.acme.foo, a request for com.acme.foobar would've resulted in a positive match, which of course is wrong.

We now match against either the module's base package or against the reference starting with the base package followed by a dot.
2023-10-16 08:36:56 +02:00
Oliver Drotbohm
f949b508a4 GH-304 - Prepare next development iteration. 2023-09-21 23:11:07 +02:00
Oliver Drotbohm
f3e9ce5fa2 GH-304 - Release version 1.0.1. 2023-09-21 23:11:06 +02:00
Oliver Drotbohm
0cc7c352f8 GH-274 - Prepare next development iteration. 2023-08-24 14:37:38 -07:00
Oliver Drotbohm
6197d35937 GH-274 - Release version 1.0.0. 2023-08-21 06:59:57 -07:00
Oliver Drotbohm
39ce5346c6 GH-270 - Prepare next development iteration. 2023-08-16 08:05:46 +02:00
Oliver Drotbohm
2c5cedd1d1 GH-270 - Release version 1.0.0-RC2. 2023-08-16 08:05:46 +02:00
Oliver Drotbohm
9568f29613 GH-267 - Explicitly declared empty allowed dependencies now forbids any dependency.
The default for @ApplicationModule(allowedDependencies) is now a single element list with a dedicated token we recognize as "all dependencies allowed". This allows users to declare an empty array explicitly to disallow any outgoing dependencies for an application module. Previously, such a declaration would have allowed any dependency.
2023-08-15 19:52:02 +02:00
Oliver Drotbohm
1a84ae256f GH-260 - Prepare next development iteration. 2023-08-09 22:29:57 +02:00
Oliver Drotbohm
bf68d74756 GH-260 - Release version 1.0.0-RC1. 2023-08-09 22:29:56 +02:00
Oliver Drotbohm
43418b5fe0 GH-246 - Upgrade to ArchUnit 1.1.0.
Related tickets: GH-221.
2023-08-09 21:21:18 +02:00
Oliver Drotbohm
9fe114387a GH-221 - Temporarily shadow ArchUnit's Location type.
It includes the fix submitted for TNG/ArchUnit#1131. To be removed once we can upgrade to a released version of the fix.
2023-07-20 16:26:32 +02:00
Oliver Drotbohm
fb839cb8a5 GH-230 - Caches in ApplicationModules and ArchitecturallyEvidentType are now ConcurrentHashMaps. 2023-07-05 13:56:01 +02:00
Oliver Drotbohm
547b6091f0 GH-229 - ApplicationModuleExporter can now write output to a file. 2023-07-05 13:54:45 +02:00
Oliver Drotbohm
9bfcf71a5d GH-227 - ApplicationModulesExporter now writes JSON containing named interfaces. 2023-06-30 17:29:56 +02:00
Oliver Drotbohm
5e2da724da GH-199 - Prepare next development iteration. 2023-06-23 12:55:10 +02:00
Oliver Drotbohm
a74c4e582d GH-199 - Release version 1.0.0-M1. 2023-06-23 12:55:09 +02:00
Oliver Drotbohm
596e8828a2 GH-197 - Promote project out of experimental status.
Set version number to 1.0.0-SNAPSHOT. New group id is org.springframework.modulith. Also adapt links to new project home.
2023-05-02 14:32:32 +02:00
Oliver Drotbohm
60ce7da56e GH-189 - Prepare next development iteration. 2023-05-02 12:28:30 +02:00
Oliver Drotbohm
9d1180017e GH-189 - Release version 0.6.0. 2023-05-02 12:28:29 +02:00
Oliver Drotbohm
4656f82089 GH-187 - Do not include non-exposed Spring beans that implement interfaces in Application Module Canvas by default.
We now properly check whether one of a Spring bean's implemented interfaces is exposed by the module before including it in the default rendering of the Application Module Canvas.
2023-04-30 22:35:14 +02:00
Oliver Drotbohm
394e87337b GH-187 - Unit tests for Spring Data repository detection.
Both imperative and reactive flavours.
2023-04-28 20:22:27 +02:00
Oliver Drotbohm
fbd2c2e66f GH-182 - Use dedicated SliceAssignment to verify modularity.
The previous modularity verification arrangement assumed the default module detection strategy to be used. To properly support alternative implementations during the verification we now use a dedicated SliceAssignment implementation that assigns types to slices identified by the module they are located in.
2023-04-23 23:24:02 +02:00
Oliver Drotbohm
d9f298c96a GH-183 - Improvements in named interface declarations.
Type based named interfaces on types declared in a module's API package still caused the type to be included in the unnamed interface. This is now fixed by explicitly removing named interface types from the unnamed interface.

We now also detect API package types assigned to a named interface without an explicit name as the package name defaulting doesn't work in this case.

Furthermore, named interfaces are now sorted alphabetically to make the unnamed one always appear first.
2023-04-23 23:21:00 +02:00
Oliver Drotbohm
daee88a227 GH-177 - Javadoc polishing. 2023-03-31 13:44:06 +02:00
Oliver Drotbohm
2454ecbc4b GH-177 - Named interfaces names now default to the local package name.
Both package- and type-level declarations now use the local package name as the named interface's name. This allows to, at the same time, easily declared named interfaces based on packages but also a nice decoupling of the interface definition and the package layout as individual types can be assigned to such interfaces no matter where they are actually declared.
2023-03-31 13:34:21 +02:00
Oliver Drotbohm
281da55eac GH-172 - Prepare next development iteration. 2023-03-24 10:24:47 +01:00
Oliver Drotbohm
d5bdff3f77 GH-172 - Release version 0.5.1. 2023-03-24 10:24:47 +01:00
Oliver Drotbohm
c58497979d GH-170 - Improve log output for ApplicationModule.
We now consider whether a type is exposed by a module to determine whether it is reported as public (+) or contained (o) type.
2023-03-23 13:00:56 +01:00
Oliver Drotbohm
f0aaca2917 GH-164 - Prepare next development iteration. 2023-03-08 11:35:15 +01:00
Oliver Drotbohm
50dd8969fb GH-164 - Release version 0.5.0. 2023-03-08 11:35:14 +01:00
Oliver Drotbohm
d0ffcddd29 GH-157 - Improve aggregate lookup.
We now directly collect all aggregate types instead of looking up entities first.
2023-03-04 00:21:22 +01:00
Oliver Drotbohm
c51ac5c6fb GH-147 - Prepare next development iteration. 2023-02-24 16:47:15 +01:00
Oliver Drotbohm
13c9f96448 GH-147 - Release version 0.4.1. 2023-02-24 16:47:14 +01:00
Oliver Drotbohm
64a5929367 GH-143 - Prepare next development iteration. 2023-02-23 23:26:25 +01:00