Skip to content

Improve the multi-module build for more flexible versioning#234

Merged
ctrueden merged 13 commits into
mainfrom
flexible-versions
Jun 4, 2024
Merged

Improve the multi-module build for more flexible versioning#234
ctrueden merged 13 commits into
mainfrom
flexible-versions

Conversation

@ctrueden

@ctrueden ctrueden commented Jun 3, 2024

Copy link
Copy Markdown
Member

This patchset reworks the modules to each extend pom-scijava directly, and use a toplevel aggregator POM that is not a parent. It avoids deploying the parent, as well as a few non-library components not intended for downstream consumption. It also includes miscellaneous fixes done in preparation for release.

@ctrueden ctrueden force-pushed the flexible-versions branch from b12b9d2 to 266672b Compare June 3, 2024 20:44

@gselzer gselzer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general, this looks great! Thanks for doing this!

Note that this PR is poised to close #221, although maybe it would take marginally more work.

Comment thread scijava-ops-image/src/main/java/module-info.java Outdated
Comment thread scijava-ops-api/pom.xml Outdated
Comment thread scijava-discovery-test/pom.xml
@ctrueden ctrueden force-pushed the flexible-versions branch 3 times, most recently from d7bc322 to e8bc616 Compare June 3, 2024 22:28
ctrueden and others added 12 commits June 3, 2024 17:40
Co-authored-by: Gabriel Selzer <gjselzer@wisc.edu>
It is important that the license blurbs stay exactly how the
license-maven-plugin generates them. No fighting auto-formatters!
And regenerate the autogenerated source files.
It is important that they remain exactly the same as:

  bin/generate.groovy && mvn license:update-file-header

Otherwise, it is too burdensome to use the code generation tooling
as intended whenever changes are needed to the templates.

No fighting autoformatters!

This commit makes the following changes:

* Remove obsolete .arityX() calls from Velocity templates.
* Align formatting of all "do not edit" warning blurbs.
And make the toplevel POM into solely an aggregator.
A BiFunction would take three type parameters, not two.
I.e.: deploy only components intended to be consumed as dependencies.
* parse.ops -> scijava.ops.parse
* op.version -> scijava.ops.op-version

All scijava-related system properties start with `scijava.`.
All scijava-ops-related properties should start with `scijava.ops.`.
It's not a hack, exactly. Individually opening every one of the 105
org.scijava.ops.image.** packages is very verbose, and also does not
fully work on its own to let all tests pass. Maybe there are also
scijava.surefire.args flags that need to be set? But rather than mess
with that, we stick with the solution that works via a single keyword.
@ctrueden ctrueden force-pushed the flexible-versions branch 2 times, most recently from 228521e to bad456d Compare June 4, 2024 00:03
@ctrueden ctrueden force-pushed the flexible-versions branch from bad456d to e1b3633 Compare June 4, 2024 00:06
@ctrueden ctrueden marked this pull request as ready for review June 4, 2024 00:15
@ctrueden ctrueden merged commit d7c44ae into main Jun 4, 2024
@ctrueden ctrueden deleted the flexible-versions branch June 4, 2024 00:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants