Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Standardize version property names #2460

Merged
merged 12 commits into from
Nov 6, 2024
Merged

Conversation

foster33
Copy link
Collaborator

@foster33 foster33 commented Jul 5, 2024

This PR is part of the effort to standardize version property names across all repos to make it easier to update the version of an artifact across the board.

Also updates documentation in the BUILDME regarding property names.

Related to: DW Issue 2436

@alerman
Copy link
Collaborator

alerman commented Jul 8, 2024

I feel like moving the properties this direction is a mistake. It makes us lose the implied grouping of the microservices. Id be fine with changing it to version.somethingBesidesMicroservervices.* if we don't like using that name across all the repositories, but I don't like losing the information that this was part of one of our services. How does a new developer differentiate one of our microservices from something we don't build?

We already get confusion between version.accumulo and version.microservices.accumulo-utils, removing microservices will only make this worse.

@jwomeara
Copy link
Collaborator

jwomeara commented Jul 8, 2024

I feel like moving the properties this direction is a mistake. It makes us lose the implied grouping of the microservices. Id be fine with changing it to version.somethingBesidesMicroservervices.* if we don't like using that name across all the repositories, but I don't like losing the information that this was part of one of our services. How does a new developer differentiate one of our microservices from something we don't build?

We already get confusion between version.accumulo and version.microservices.accumulo-utils, removing microservices will only make this worse.

Luke and I talked about this before he started working on it. At the time, I had bought into the idea of removing the 'microservice' part of the property with the idea being that the property names were probably unique enough without that part, and that keeping things short would be nice. I can see the benefit of keeping a common prefix in the property name - having the properties grouped together is certainly nice. Maybe we should consider something other than 'microservice'.

What about 'version.datawave.____' instead? Keep in mind that not all of the properties prefixed with 'microservice' were actually microservices (e.g. type-utils, metadata-utils, accumulo-utils, etc.). You could argue that the various api jars are not really 'microservice' jars either as they're depended on by both the microservices and datawave.

The overall goal of this effort was to standardize the names across all projects so that we could update the version of a thing all at once. This will facilitate being able to run a full snapshot build of all of the services in a github action, which i think would be good to do.

What are both of your thoughts on removing 'microservice' and instead using 'datawave' since these are all datawave artifacts? I think that would give everyone what they want.

@foster33
Copy link
Collaborator Author

foster33 commented Jul 8, 2024

What are both of your thoughts on removing 'microservice' and instead using 'datawave' since these are all datawave artifacts? I think that would give everyone what they want.

I think going with 'version.datawave.____' makes sense to me.

@alerman
Copy link
Collaborator

alerman commented Jul 9, 2024

I agree that version.datawave._____ works.

ivakegg
ivakegg previously approved these changes Jul 9, 2024
ivakegg
ivakegg previously approved these changes Jul 10, 2024
jwomeara
jwomeara previously approved these changes Jul 16, 2024
Copy link
Collaborator

@jwomeara jwomeara left a comment

Choose a reason for hiding this comment

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

I like it a lot. Can you link the related PRs for our other repos so we can merge all of these at once? (assuming you've finished those already)

@foster33
Copy link
Collaborator Author

I like it a lot. Can you link the related PRs for our other repos so we can merge all of these at once? (assuming you've finished those already)

I linked all of the related PRs to the initial issue, there should be a list there (#2436)

@foster33 foster33 dismissed stale reviews from jwomeara, keith-ratcliffe, and ivakegg via 4dad491 July 18, 2024 14:27
@jwomeara
Copy link
Collaborator

Hey! let's get this wrapped up if we can.

I checked out your stuff and ran the following command, and got this output.

grep -e '<version.datawave' -e '<version.microservice' `find ./ -name pom.xml` | awk '{ print $2 }' | sort | uniq
<version.datawave.accumulo-api>4.0.0</version.datawave.accumulo-api>
<version.datawave.accumulo-utils>4.0.0</version.datawave.accumulo-utils>
<version.datawave.audit-api>4.0.0</version.datawave.audit-api>
<version.datawave.authorization-api>4.0.0</version.datawave.authorization-api>
<version.datawave.authorization.api>4.0.0</version.datawave.authorization.api>
<version.datawave.base-responses>4.0.0</version.datawave.base-responses>
<version.datawave.base-rest-responses>4.0.0</version.datawave.base-rest-responses>
<version.datawave.cache-starter>4.0.0</version.datawave.cache-starter>
<version.datawave.common-utils>3.0.0</version.datawave.common-utils>
<version.datawave.dictionary-api>4.0.0</version.datawave.dictionary-api>
<version.datawave.dictionary-api>4.0.2</version.datawave.dictionary-api>
<version.datawave.hazelcast-client>4.0.1</version.datawave.hazelcast-client>
<version.datawave.hazelcast-common>4.0.1</version.datawave.hazelcast-common>
<version.datawave.hazelcast>4.0.0</version.datawave.hazelcast>
<version.datawave.hazelcast>4.0.1</version.datawave.hazelcast>
<version.datawave.mapreduce-layout-factory>1.0.0</version.datawave.mapreduce-layout-factory>
<version.datawave.mapreduce-query-api>1.0.0</version.datawave.mapreduce-query-api>
<version.datawave.mapreduce.query.core.job>1.0.1</version.datawave.mapreduce.query.core.job>
<version.datawave.metadata-utils>4.0.5</version.datawave.metadata-utils>
<version.datawave.metrics-reporter>3.0.0</version.datawave.metrics-reporter>
<version.datawave.metrics.reporter>3.0.0</version.datawave.metrics.reporter>
<version.datawave.modification-api>1.0.0</version.datawave.modification-api>
<version.datawave.query-api>1.0.0</version.datawave.query-api>
<version.datawave.query-executor-api>1.0.1</version.datawave.query-executor-api>
<version.datawave.query-metric-api>4.0.0</version.datawave.query-metric-api>
<version.datawave.query-metric-api>4.0.6</version.datawave.query-metric-api>
<version.datawave.starter-audit>4.0.0</version.datawave.starter-audit>
<version.datawave.starter-audit>4.0.1</version.datawave.starter-audit>
<version.datawave.starter-cached-results>1.0.1</version.datawave.starter-cached-results>
<version.datawave.starter-datawave-audit>4.0.1</version.datawave.starter-datawave-audit>
<version.datawave.starter-datawave-query-metric>3.0.2</version.datawave.starter-datawave-query-metric>
<version.datawave.starter-datawave>4.0.1</version.datawave.starter-datawave>
<version.datawave.starter-metadata>3.0.1</version.datawave.starter-metadata>
<version.datawave.starter-metrics>3.0.2</version.datawave.starter-metrics>
<version.datawave.starter-query>1.0.0</version.datawave.starter-query>
<version.datawave.starter-query>1.0.1</version.datawave.starter-query>
<version.datawave.starter>4.0.0</version.datawave.starter>
<version.datawave.starter>4.0.1</version.datawave.starter>
<version.datawave.type-utils>3.0.0</version.datawave.type-utils>
<version.datawave.type-utils>3.0.1</version.datawave.type-utils>

If you look through that, I want you to ignore the different version numbers for the same property. I'm not really concerned about that. What I want you to focus on are the property name differences (e.g. version.datawave.authorization-api vs version.datawave.authorization.api)

Here are the ones I noticed:

authorization-api

<version.datawave.authorization-api>4.0.0</version.datawave.authorization-api>
<version.datawave.authorization.api>4.0.0</version.datawave.authorization.api>

base-rest-responses

<version.datawave.base-responses>4.0.0</version.datawave.base-responses>
<version.datawave.base-rest-responses>4.0.0</version.datawave.base-rest-responses>

hazelcast-common

<version.datawave.hazelcast-common>4.0.1</version.datawave.hazelcast-common>
<version.datawave.hazelcast>4.0.0</version.datawave.hazelcast>
<version.datawave.hazelcast>4.0.1</version.datawave.hazelcast>

mapreduce-query-core-job

  • let's use dashes to be consistent. i know this is my crime, not yours, but while you're in here...
<version.datawave.mapreduce.query.core.job>1.0.1</version.datawave.mapreduce.query.core.job>

metrics-reporter

<version.datawave.metrics-reporter>3.0.0</version.datawave.metrics-reporter>
<version.datawave.metrics.reporter>3.0.0</version.datawave.metrics.reporter>

@foster33
Copy link
Collaborator Author

Thanks for finding these. I made the corrections for the inconsistent property names mentioned above. Should all be good now.

@ivakegg ivakegg merged commit e30c240 into integration Nov 6, 2024
5 checks passed
@ivakegg ivakegg deleted the version-property-names branch November 6, 2024 15:04
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.

5 participants