record-builder icon indicating copy to clipboard operation
record-builder copied to clipboard

[Feature request] Publish a BOM

Open yeikel opened this issue 4 months ago • 4 comments

With the current setup, we need to track(and align) versions separately.


<dependencies>
    <dependency>
        <groupId>io.soabase.record-builder</groupId>
        <artifactId>record-builder-core</artifactId>
        <version>${record.builder.version}</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <annotationProcessorPaths>
                    <path>
                        <groupId>io.soabase.record-builder</groupId>
                        <artifactId>record-builder-processor</artifactId>
                        <version>${record.builder.version}</version>
                    </path>
                </annotationProcessorPaths>
            </configuration>
        </plugin>
    </plugins>
</build>

It would be ideal if we could import a BOM to do this easier

yeikel avatar Aug 21 '25 14:08 yeikel

Sure, that would be useful. A contribution would be appreciated. Although, wouldn't a BOM be to match RecordBuilder's dependencies? You need to define a record builder version property regardless right?

Randgalt avatar Aug 21 '25 15:08 Randgalt

Sure, that would be useful. A contribution would be appreciated.

If we work through assignments, feel free to assign it to me. I can try! If not, I'll send the PR separately regardless :)

Although, wouldn't a BOM be to match RecordBuilder's dependencies? You need to define a record builder version property regardless right?

I'll have to test and get back, but my understanding is that Maven would apply it for all. I may be wrong though

yeikel avatar Aug 21 '25 15:08 yeikel

From my understanding this is not possible with maven because you have the entries in different sections (Plugins and dependencies). You can share the configuration across projects by having a common parent BOM, but this is something you should create for your projects by your own.

So I would really be interested in a possible solution too, just to learn more about maven.

AndreasIgel avatar Aug 28 '25 11:08 AndreasIgel

It's not really useful for Maven, but it can be useful for Gradle.

semyon-levin-workato avatar Oct 31 '25 20:10 semyon-levin-workato