[#68] Ensure compatibility of different API versions with each other. #69
No reviewers
Labels
No labels
P0
P1
P2
P3
good first issue
triage
Infrastructure
blocked
bug
config
discussion
documentation
duplicate
enhancement
go
help wanted
internal
invalid
kludge
observability
perfomance
question
refactoring
wontfix
No milestone
No project
No assignees
6 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: TrueCloudLab/frostfs-api#69
Loading…
Reference in a new issue
No description provided.
Delete branch "orikik/frostfs-api:feature/compatibility"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ensure compatibility of different API versions with each other.
Remove unnecessary language options.
Update linters.
Signed-off-by: Ori Bruk o.bruk@yadro.com
@ -4,3 +3,1 @@
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/accounting/grpc;accounting";
option csharp_namespace = "Neo.FileStorage.API.Accounting";
package frost.fs.accounting;
Honestly, I would use
frostfs
without a dot,neo
by itself has some sense,frost
does not (as some project).@ -4,3 +3,1 @@
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/accounting/grpc;accounting";
option csharp_namespace = "Neo.FileStorage.API.Accounting";
package frost.fs.accounting;
This is breaking change. Is it expected?
Yes, these changes were discussed with @realloc @alexvanin in order to bring everything to a single form.
Can you please squash two commits with the same message
Fix version linter.
in one?58b81f5ef4
to68eee8bfbc
done
@ -1,5 +1,19 @@
# Changelog
## [3.0] - 2024-10-08 - Oryukdo (오륙도, 五六島)
For FrostFS we follow a different release naming scheme. It should be glaciers sorted by the path of the sun from the date change line. There is a list already prepared, please ask me about it.
Yep, changed it
@ -23,2 +23,4 @@
done
# Run version update check
version:
version
target usually returns current version of the repository. Should be renamed.Changed
@ -24,1 +24,4 @@
# Run version update check
version:
@version=$$(wget -qO- "https://git.frostfs.info/TrueCloudLab/frostfs-api/raw/branch/master/version.json"); \
Is it possible to make version checks locally?
Added check with the repository master where the pull request is located.
@ -25,0 +46,4 @@
exit 1; \
fi
# Run compatibility information check
Is it possible to describe logic behind the following code?
added description
68eee8bfbc
to3cb6553234
3cb6553234
tode471049e5
de471049e5
to6aa5a1b8b0
6aa5a1b8b0
to581dbd4104
581dbd4104
tob0df4dfc4d
b0df4dfc4d
toce37ce12d6
@ -2,4 +2,1 @@
package neo.fs.v2.accounting;
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/accounting/grpc;accounting";
Why have you removed this option? This breaks the plugin (
api/util/protogen
infrostfs-sdk-go
) and thus protobufs cannot be generatedfrostfs-api-go and frostfs-sdk-go are now combined into one repository
TrueCloudLab/frostfs-sdk-go#276
Now each sdk is responsible for the language features of working with the api
frostfs-api
defines.proto
-s, not proto templates where we can insert language-specific options and instructions on SDK's demand (although I've never seen such approach because it seems unreasonable). From my POV: it's absolutely fine to define options for specific languages because this defines import lookup orderCurrently sdk-go converts proto files into prepare.sh. Replaces api-go/v2 with sdk-go/api (and more).
It is intended that this functionality will be replaced by the creation of a "option go_package".
(as a rough example
sed -i "2ioption go_package = \"git.frostfs.info\/TrueCloudLab\/frostfs-sdk-go\/api\/${dir:2};$parentDir\";" $file
)This API assumes the ability to create a third-party SDK, so it should not contain any specific language constructs for use in our SDKs.
@realloc
Okay. I believe @realloc can confirm either we leave
go_package
or we insert in makefile