Telenav / cactus

Modules for building the KivaKit Java framework.
Apache License 2.0
0 stars 1 forks source link

remove cactus from build? #52

Closed jonathanl-telenav closed 2 years ago

jonathanl-telenav commented 2 years ago

because we depend on the same set of superpoms in safety-service, cactus versions have different meanings in the telenav-build workspace and in the safety-service-build workspace. since cactus is not in the safety-service-build workspace, it wants the version to be the most recently published version (right now 1.5.26), while the telenav-build workspace wants it to be the next version (right now 1.5.27) because cactus is in the workspace. there are a few different solutions possible, but perhaps the cleanest is to remove cactus from the telenav-build workspace and only use published versions of cactus in telenav-build and safety-service-build workspaces.

jonathanl-telenav commented 2 years ago

another option is just to include cactus in the safety-service-build. this would preserve the convenience we have now, but wouldn't make a clear dividing line between build tools and code to be built (if we want that).

timboudreau commented 2 years ago

This is marked blocker. What is it blocking?

timboudreau commented 2 years ago

The main value having cactus in telenav-build provides is the ability to update the versions in the superpoms automatically, whenever we do a release.

I don't feel strongly about this, but it is a nice convenience.

What is going wrong in safety-service that makes not having Cactus there a problem? And, do you mean in safety-service-build?

The branch of safety-service that uses released versions of kivakit, etc. should not be trying to reference unpublished versions of cactus (or superpoms, or anything else), so how can that cause a problem?

jonathanl-telenav commented 2 years ago

there's another case of this:

        <lexakai.annotations.version>1.0.5-SNAPSHOT</lexakai.annotations.version>

this isn't in the safety-service workspace either, so the telenav-build workspace wants it to be 1.0.5-SNAPSHOT, while the safety-service workspace wants it to be 1.0.4.

how should we resolve this?

jonathanl-telenav commented 2 years ago

safety-service can't build without the released version numbers of cactus and lexakai-annotations. that's the problem.

jonathanl-telenav commented 2 years ago

if it's getting those version numbers from the superpom, they're going to be wrong for one workspace or the other.

jonathanl-telenav commented 2 years ago

maybe the best way is to include cactus and lexakai-annotations in the safety-service-build workspace? that might solve it too...

jonathanl-telenav commented 2 years ago

basically, we can't prune down the projects in safety-service build. they have to be all the projects in telenav-build (plus safety-service)

timboudreau commented 2 years ago

I don't think there's any need to include cactus there.

lexakai-annotations already is there.

I think the problem here is just that the branch that had all the poms fixed up to use snapshot versions was deleted.

There shouldn't be any published superpoms that reference snapshot versions of anything. Safety service's poms, on the develop branch, should only reference released versions of other superpoms or projects.

If something in safety service - on the non-snapshot, develop branch - does reference a snapshot version of something, that's the bug.