Skip to content

Commit 1496753

Browse files
dmealingclaude
andcommitted
chore(release): Maven Central 8.0.2
The JVM coordinate for the npm line's 1.0.2 (npm major + 7, derived by scripts/maven-coordinate.mjs). Maven publishes this cut because the JVM codegen changed: generated Kotlin entities and value objects gained a nested Builder and a @JvmStatic builder(), and codegen-spring's Java records gained a builder too (#365). PyPI and NuGet sit it out at 1.0.1, since no Python or C# product file changed. All 17 poms carrying 8.0.1 are bumped, including the reactor-excluded integration-test modules and examples/showcase/jvm; scripts/check-pom-versions.sh is green. The showcase is regenerated in the same commit, from a local `mvn install` of THIS tree at 8.0.2 (not on Central until the deploy that follows, so nothing is shadowed). It could not be regenerated at 8.0.1: on this machine the self-hosted local-ci's java-reactor gate `mvn install`s main into the shared ~/.m2, so "8.0.1" there was main as of the last CI run, not what Central published. The Kotlin showcase regen in 54af283 had already been served unreleased code that way. Regenerating from the exact tree about to be deployed makes what the site shows what shipped. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ApQWqotP1jaKs85XhKVXG4
1 parent 3911c64 commit 1496753

20 files changed

Lines changed: 43 additions & 21 deletions

File tree

examples/showcase/generated/java/acme/SubscriberDto.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,26 @@ public static SubscriberDto stampForUpdate(SubscriberDto dto) {
3737

3838
/** Issue #203 @autoSet escape hatch: the DTO written VERBATIM (import/restore/replication). */
3939
public static SubscriberDto insertPreserving(SubscriberDto dto) { return dto; }
40+
41+
/** A fluent builder, so a caller can set a subset of the components. */
42+
public static Builder builder() { return new Builder(); }
43+
44+
/** Builds a {@link SubscriberDto}; an unset component stays null. */
45+
public static final class Builder {
46+
private Long id;
47+
private String email;
48+
private String name;
49+
private SubscriberStatus status;
50+
private java.time.Instant createdAt;
51+
52+
private Builder() {}
53+
54+
public Builder id(Long v) { this.id = v; return this; }
55+
public Builder email(String v) { this.email = v; return this; }
56+
public Builder name(String v) { this.name = v; return this; }
57+
public Builder status(SubscriberStatus v) { this.status = v; return this; }
58+
public Builder createdAt(java.time.Instant v) { this.createdAt = v; return this; }
59+
60+
public SubscriberDto build() { return new SubscriberDto(id, email, name, status, createdAt); }
61+
}
4062
}

examples/showcase/jvm/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<properties>
2424
<!-- Kept in lockstep with server/java/pom.xml by scripts/check-pom-versions.sh:
2525
this project is OUTSIDE the reactor, so `mvn versions:set` never touches it. -->
26-
<metaobjects.version>8.0.1</metaobjects.version>
26+
<metaobjects.version>8.0.2</metaobjects.version>
2727
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
2828
</properties>
2929

examples/showcase/site-payload.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"npm": "1.0.1",
44
"pypi": "1.0.1",
55
"nuget": "1.0.1",
6-
"maven": "8.0.1",
6+
"maven": "8.0.2",
77
"metamodel": "1.0"
88
},
99
"counts": {
@@ -39,8 +39,8 @@
3939
"java-dto": {
4040
"lang": "java",
4141
"inline": "…\n<span class=\"comment\">/** GENERATED — wire DTO for Subscriber. Do not hand-edit; regenerated from metadata. */</span>\n<span class=\"keyword\">public</span> <span class=\"keyword\">record</span> <span class=\"key\">SubscriberDto</span><span class=\"key\">(\n Long id,\n @NotNull @Size(min = 1, max = 320)</span> String email,\n String name,\n <span class=\"comment\">@NotNull</span> SubscriberStatus status,\n java.time.Instant createdAt\n) {\n <span class=\"keyword\">public</span> <span class=\"keyword\">enum</span> <span class=\"key\">SubscriberStatus</span> { active, paused, cancelled }\n\n <span class=\"comment\">/** Issue #203 <span>@autoSet</span>: a copy with every <span>@autoSet</span> column (onCreate AND onUpdate) stamped to now() on insert (the model value is ignored; a fresh row&#x27;s updated_at equals its created_at). */</span>\n <span class=\"keyword\">public</span> <span class=\"keyword\">static</span> <span class=\"keyword\">SubscriberDto</span> <span class=\"key\">stampForInsert</span><span class=\"key\">(SubscriberDto dto)</span> {\n java.time.<span class=\"keyword\">Instant</span> <span class=\"key\">__nowInstant</span> <span>=</span> java.time.Instant.now();\n <span class=\"keyword\">return</span> <span class=\"keyword\">new</span> <span class=\"key\">SubscriberDto</span>(\n dto.id(),\n dto.email(),\n dto.name(),\n dto.status(),\n __nowInstant\n );\n }\n…\n}\n…",
42-
"full": "<span class=\"keyword\">package</span> acme;\n\n<span class=\"keyword\">import</span> jakarta.validation.constraints.*;\n\n<span class=\"comment\">/** GENERATED — wire DTO for Subscriber. Do not hand-edit; regenerated from metadata. */</span>\n<span class=\"keyword\">public</span> <span class=\"keyword\">record</span> <span class=\"key\">SubscriberDto</span><span class=\"key\">(\n Long id,\n @NotNull @Size(min = 1, max = 320)</span> String email,\n String name,\n <span class=\"comment\">@NotNull</span> SubscriberStatus status,\n java.time.Instant createdAt\n) {\n <span class=\"keyword\">public</span> <span class=\"keyword\">enum</span> <span class=\"key\">SubscriberStatus</span> { active, paused, cancelled }\n\n <span class=\"comment\">/** Issue #203 <span>@autoSet</span>: a copy with every <span>@autoSet</span> column (onCreate AND onUpdate) stamped to now() on insert (the model value is ignored; a fresh row&#x27;s updated_at equals its created_at). */</span>\n <span class=\"keyword\">public</span> <span class=\"keyword\">static</span> <span class=\"keyword\">SubscriberDto</span> <span class=\"key\">stampForInsert</span><span class=\"key\">(SubscriberDto dto)</span> {\n java.time.<span class=\"keyword\">Instant</span> <span class=\"key\">__nowInstant</span> <span>=</span> java.time.Instant.now();\n <span class=\"keyword\">return</span> <span class=\"keyword\">new</span> <span class=\"key\">SubscriberDto</span>(\n dto.id(),\n dto.email(),\n dto.name(),\n dto.status(),\n __nowInstant\n );\n }\n\n <span class=\"comment\">/** Issue #203 <span>@autoSet</span>: a copy with <span>@autoSet</span> onUpdate columns stamped to now(); onCreate columns are preserved (never rewrites created_at — the full-DTO update path). */</span>\n <span class=\"keyword\">public</span> <span class=\"keyword\">static</span> <span class=\"keyword\">SubscriberDto</span> <span class=\"key\">stampForUpdate</span><span class=\"key\">(SubscriberDto dto)</span> {\n <span class=\"keyword\">return</span> <span class=\"keyword\">new</span> <span class=\"key\">SubscriberDto</span>(\n dto.id(),\n dto.email(),\n dto.name(),\n dto.status(),\n dto.createdAt()\n );\n }\n\n <span class=\"comment\">/** Issue #203 <span>@autoSet</span> escape hatch: the DTO written VERBATIM (import/restore/replication). */</span>\n <span class=\"keyword\">public</span> <span class=\"keyword\">static</span> <span class=\"keyword\">SubscriberDto</span> <span class=\"key\">insertPreserving</span><span class=\"key\">(SubscriberDto dto)</span> { <span class=\"keyword\">return</span> dto; }\n}\n",
43-
"lineCount": 40
42+
"full": "<span class=\"keyword\">package</span> acme;\n\n<span class=\"keyword\">import</span> jakarta.validation.constraints.*;\n\n<span class=\"comment\">/** GENERATED — wire DTO for Subscriber. Do not hand-edit; regenerated from metadata. */</span>\n<span class=\"keyword\">public</span> <span class=\"keyword\">record</span> <span class=\"key\">SubscriberDto</span><span class=\"key\">(\n Long id,\n @NotNull @Size(min = 1, max = 320)</span> String email,\n String name,\n <span class=\"comment\">@NotNull</span> SubscriberStatus status,\n java.time.Instant createdAt\n) {\n <span class=\"keyword\">public</span> <span class=\"keyword\">enum</span> <span class=\"key\">SubscriberStatus</span> { active, paused, cancelled }\n\n <span class=\"comment\">/** Issue #203 <span>@autoSet</span>: a copy with every <span>@autoSet</span> column (onCreate AND onUpdate) stamped to now() on insert (the model value is ignored; a fresh row&#x27;s updated_at equals its created_at). */</span>\n <span class=\"keyword\">public</span> <span class=\"keyword\">static</span> <span class=\"keyword\">SubscriberDto</span> <span class=\"key\">stampForInsert</span><span class=\"key\">(SubscriberDto dto)</span> {\n java.time.<span class=\"keyword\">Instant</span> <span class=\"key\">__nowInstant</span> <span>=</span> java.time.Instant.now();\n <span class=\"keyword\">return</span> <span class=\"keyword\">new</span> <span class=\"key\">SubscriberDto</span>(\n dto.id(),\n dto.email(),\n dto.name(),\n dto.status(),\n __nowInstant\n );\n }\n\n <span class=\"comment\">/** Issue #203 <span>@autoSet</span>: a copy with <span>@autoSet</span> onUpdate columns stamped to now(); onCreate columns are preserved (never rewrites created_at — the full-DTO update path). */</span>\n <span class=\"keyword\">public</span> <span class=\"keyword\">static</span> <span class=\"keyword\">SubscriberDto</span> <span class=\"key\">stampForUpdate</span><span class=\"key\">(SubscriberDto dto)</span> {\n <span class=\"keyword\">return</span> <span class=\"keyword\">new</span> <span class=\"key\">SubscriberDto</span>(\n dto.id(),\n dto.email(),\n dto.name(),\n dto.status(),\n dto.createdAt()\n );\n }\n\n <span class=\"comment\">/** Issue #203 <span>@autoSet</span> escape hatch: the DTO written VERBATIM (import/restore/replication). */</span>\n <span class=\"keyword\">public</span> <span class=\"keyword\">static</span> <span class=\"keyword\">SubscriberDto</span> <span class=\"key\">insertPreserving</span><span class=\"key\">(SubscriberDto dto)</span> { <span class=\"keyword\">return</span> dto; }\n\n <span class=\"comment\">/** A fluent builder, so a caller can set a subset of the components. */</span>\n <span class=\"keyword\">public</span> <span class=\"keyword\">static</span> <span class=\"keyword\">Builder</span> <span class=\"key\">builder</span><span class=\"key\">()</span> { <span class=\"keyword\">return</span> <span class=\"keyword\">new</span> <span class=\"key\">Builder</span>(); }\n\n <span class=\"comment\">/** Builds a {<span>@link</span> SubscriberDto}; an unset component stays null. */</span>\n <span class=\"keyword\">public</span> <span class=\"keyword\">static</span> <span class=\"keyword\">final</span> <span class=\"keyword\">class</span> <span class=\"key\">Builder</span> {\n <span class=\"keyword\">private</span> Long id;\n <span class=\"keyword\">private</span> String email;\n <span class=\"keyword\">private</span> String name;\n <span class=\"keyword\">private</span> SubscriberStatus status;\n <span class=\"keyword\">private</span> java.time.Instant createdAt;\n\n <span class=\"keyword\">private</span> <span class=\"key\">Builder</span><span class=\"key\">()</span> {}\n\n <span class=\"keyword\">public</span> <span class=\"keyword\">Builder</span> <span class=\"key\">id</span><span class=\"key\">(Long v)</span> { <span class=\"keyword\">this</span>.id = v; <span class=\"keyword\">return</span> <span class=\"keyword\">this</span>; }\n <span class=\"keyword\">public</span> <span class=\"keyword\">Builder</span> <span class=\"key\">email</span><span class=\"key\">(String v)</span> { <span class=\"keyword\">this</span>.email = v; <span class=\"keyword\">return</span> <span class=\"keyword\">this</span>; }\n <span class=\"keyword\">public</span> <span class=\"keyword\">Builder</span> <span class=\"key\">name</span><span class=\"key\">(String v)</span> { <span class=\"keyword\">this</span>.name = v; <span class=\"keyword\">return</span> <span class=\"keyword\">this</span>; }\n <span class=\"keyword\">public</span> <span class=\"keyword\">Builder</span> <span class=\"key\">status</span><span class=\"key\">(SubscriberStatus v)</span> { <span class=\"keyword\">this</span>.status = v; <span class=\"keyword\">return</span> <span class=\"keyword\">this</span>; }\n <span class=\"keyword\">public</span> <span class=\"keyword\">Builder</span> <span class=\"key\">createdAt</span><span class=\"key\">(java.time.Instant v)</span> { <span class=\"keyword\">this</span>.createdAt = v; <span class=\"keyword\">return</span> <span class=\"keyword\">this</span>; }\n\n <span class=\"keyword\">public</span> <span class=\"keyword\">SubscriberDto</span> <span class=\"key\">build</span><span class=\"key\">()</span> { <span class=\"keyword\">return</span> <span class=\"keyword\">new</span> <span class=\"key\">SubscriberDto</span>(id, email, name, status, createdAt); }\n }\n}\n",
43+
"lineCount": 62
4444
},
4545
"kotlin-entity": {
4646
"lang": "kotlin",

server/java/codegen-base/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.metaobjects</groupId>
88
<artifactId>metaobjects</artifactId>
9-
<version>8.0.1</version>
9+
<version>8.0.2</version>
1010
</parent>
1111

1212
<artifactId>metaobjects-codegen-base</artifactId>

server/java/codegen-kotlin/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>com.metaobjects</groupId>
99
<artifactId>metaobjects</artifactId>
10-
<version>8.0.1</version>
10+
<version>8.0.2</version>
1111
</parent>
1212

1313
<artifactId>metaobjects-codegen-kotlin</artifactId>

server/java/codegen-mustache/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.metaobjects</groupId>
88
<artifactId>metaobjects</artifactId>
9-
<version>8.0.1</version>
9+
<version>8.0.2</version>
1010
</parent>
1111

1212
<artifactId>metaobjects-codegen-mustache</artifactId>

server/java/codegen-plantuml/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.metaobjects</groupId>
88
<artifactId>metaobjects</artifactId>
9-
<version>8.0.1</version>
9+
<version>8.0.2</version>
1010
</parent>
1111

1212
<artifactId>metaobjects-codegen-plantuml</artifactId>

server/java/codegen-spring/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.metaobjects</groupId>
88
<artifactId>metaobjects</artifactId>
9-
<version>8.0.1</version>
9+
<version>8.0.2</version>
1010
</parent>
1111

1212
<artifactId>metaobjects-codegen-spring</artifactId>

server/java/core-spring/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.metaobjects</groupId>
88
<artifactId>metaobjects</artifactId>
9-
<version>8.0.1</version>
9+
<version>8.0.2</version>
1010
</parent>
1111

1212
<artifactId>metaobjects-core-spring</artifactId>

server/java/integration-tests-kotlin/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>com.metaobjects</groupId>
99
<artifactId>metaobjects</artifactId>
10-
<version>8.0.1</version>
10+
<version>8.0.2</version>
1111
</parent>
1212

1313
<artifactId>metaobjects-integration-tests-kotlin</artifactId>

0 commit comments

Comments
 (0)