From c20cabfe0fa52efb2afdb51de5d4ba1f9410d44a Mon Sep 17 00:00:00 2001 From: Petr Chromec Date: Fri, 31 Jul 2026 14:13:21 +0200 Subject: [PATCH] Rename core to contracts --- .github/copilot-instructions.md | 14 +-- AGENTS.md | 2 +- CHANGELOG.md | 3 + CLAUDE.md | 2 +- README.md | 58 +++++----- buf.yaml | 2 +- composer.json | 2 +- gen/csharp/Core.cs | 84 +++++++------- gen/php/Feather/Contracts/Core/V1/Box.php | 104 ++++++++++++++++++ .../{ => Contracts}/Core/V1/CorrelationId.php | 8 +- .../Feather/{ => Contracts}/Core/V1/Error.php | 8 +- .../Contracts/Core/V1/GPBMetadata/Core.php | 25 +++++ .../{ => Contracts}/Core/V1/Instance.php | 8 +- .../Core/V1/SerializedForChunking.php | 8 +- .../Feather/{ => Contracts}/Core/V1/Spot.php | 8 +- .../{ => Contracts}/Core/V1/Timestamp.php | 8 +- gen/php/Feather/Core/V1/Box.php | 104 ------------------ gen/php/Feather/Core/V1/GPBMetadata/Core.php | 25 ----- .../{ => contracts}/core/v1/core.proto | 2 +- 19 files changed, 239 insertions(+), 236 deletions(-) create mode 100644 gen/php/Feather/Contracts/Core/V1/Box.php rename gen/php/Feather/{ => Contracts}/Core/V1/CorrelationId.php (83%) rename gen/php/Feather/{ => Contracts}/Core/V1/Error.php (89%) create mode 100644 gen/php/Feather/Contracts/Core/V1/GPBMetadata/Core.php rename gen/php/Feather/{ => Contracts}/Core/V1/Instance.php (84%) rename gen/php/Feather/{ => Contracts}/Core/V1/SerializedForChunking.php (84%) rename gen/php/Feather/{ => Contracts}/Core/V1/Spot.php (89%) rename gen/php/Feather/{ => Contracts}/Core/V1/Timestamp.php (86%) delete mode 100644 gen/php/Feather/Core/V1/Box.php delete mode 100644 gen/php/Feather/Core/V1/GPBMetadata/Core.php rename proto/feather/{ => contracts}/core/v1/core.proto (94%) diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index a6d2397..7f9dd6e 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -4,17 +4,17 @@ This is the **primary** instruction file for AI coding agents. `AGENTS.md` and ` ## What this repository is -The single source of truth for generic, domain-agnostic Protobuf contracts shared across Feather gRPC services. The schema in `proto/feather/core/v1/core.proto` is compiled by `buf generate` into committed output under `gen/`, published as: +The single source of truth for generic, domain-agnostic Protobuf contracts shared across Feather gRPC services. The schema in `proto/feather/contracts/core/v1/core.proto` is compiled by `buf generate` into committed output under `gen/`, published as: - **.NET**: `Feather.Contracts` NuGet package (`Contracts.csproj` compiles `gen/csharp`). - **PHP**: `feather/contracts` composer package (autoloads `gen/php`). -- **Protobuf module**: `buf.build/feathertools/core` on the Buf Schema Registry. +- **Protobuf module**: `buf.build/feathertools/contracts` on the Buf Schema Registry. It is consumed as a .NET dependency in `Feather.Grpc`, as a PHP dependency in the PHP contracts library, and by depending on the BSR module in other `.proto` files. ## Golden rules -- **`proto/core.proto` is the source of truth.** All message types are defined there. Never hand-edit generated output. +- **`proto/feather/contracts/core/v1/core.proto` is the source of truth.** All message types are defined there. Never hand-edit generated output. - **Keep contracts generic and domain-agnostic.** This library holds only reusable primitives. Do not add domain-specific types. - **NO abbreviations** in names. Use full, readable words (`Instance` not `Inst`, `Message` not `Msg`). Exception: an adopted standard's proper name is written fully uppercase. - Change **only what is asked**. No unsolicited refactors, extra files, or "improvements". @@ -22,11 +22,11 @@ It is consumed as a .NET dependency in `Feather.Grpc`, as a PHP dependency in th ## Editing the schema -After changing `proto/feather/core/v1/core.proto`: +After changing `proto/feather/contracts/core/v1/core.proto`: 1. Lint: `buf lint` (config in `buf.yaml`, STANDARD rule set). -2. .NET classes regenerate automatically at build time via `Grpc.Tools` — run `./build.sh`. -3. Regenerate committed classes: `buf generate` (remote plugins in `buf.gen.yaml`, managed mode) emits C# to `gen/csharp` and PHP to `gen/php`. Commit the updated `gen/` output. `buf build` only compiles the schema; use `buf generate` to emit code. +2. Regenerate committed classes: `buf generate` (remote plugins in `buf.gen.yaml`, managed mode) emits C# to `gen/csharp` and PHP to `gen/php`. Commit the updated `gen/` output. `buf build` only compiles the schema; use `buf generate` to emit code. +3. Build the .NET package with `./build.sh`; `Contracts.csproj` compiles the committed `gen/csharp` (no `Grpc.Tools` codegen). **Before opening a PR**, always run `buf generate` and commit the regenerated `gen/` files so they stay in sync with the schema in git. @@ -36,7 +36,7 @@ After changing `proto/feather/core/v1/core.proto`: - Messages / enums: `UpperCamelCase` - Fields: `lower_snake_case` - Enum values: `UPPER_SNAKE_CASE` -- Package is `feather.core.v1`; do NOT set `csharp_namespace` / `php_namespace` — Buf managed mode derives them (`Feather.Core.V1`, `Feather\Core\V1`). +- Package is `feather.contracts.core.v1`; do NOT set `csharp_namespace` / `php_namespace` — Buf managed mode derives them (`Feather.Contracts.Core.V1`, `Feather\Contracts\Core\V1`). ## Build & tooling diff --git a/AGENTS.md b/AGENTS.md index 5cdd3c7..ca4b7c3 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -4,5 +4,5 @@ The authoritative agent instructions for this repository live in [`.github/copilot-instructions.md`](.github/copilot-instructions.md). Read that file first and follow it for all work in this repository. It covers the -project purpose, the `proto/core.proto` source-of-truth rule, naming conventions, +project purpose, the `proto/feather/contracts/core/v1/core.proto` source-of-truth rule, naming conventions, code generation, build tooling, CI, and the release process. diff --git a/CHANGELOG.md b/CHANGELOG.md index a1c35c8..69d8ae9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ ## Unreleased +### Changed +- Renamed the package to `feather.contracts.core.v1` (module `buf.build/feathertools/contracts`, path `proto/feather/contracts/core/v1/core.proto`). +- Generated namespaces are now .NET `Feather.Contracts.Core.V1` and PHP `Feather\Contracts\Core\V1`. ## 1.1.0 - 2026-07-31 ### Changed diff --git a/CLAUDE.md b/CLAUDE.md index ddf937b..03c8c8b 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -4,5 +4,5 @@ The authoritative agent instructions for this repository live in [`.github/copilot-instructions.md`](.github/copilot-instructions.md). Read that file first and follow it for all work in this repository. It covers the -project purpose, the `proto/core.proto` source-of-truth rule, naming conventions, +project purpose, the `proto/feather/contracts/core/v1/core.proto` source-of-truth rule, naming conventions, code generation, build tooling, CI, and the release process. diff --git a/README.md b/README.md index 22635c2..a64505c 100644 --- a/README.md +++ b/README.md @@ -6,21 +6,21 @@ > Core Protobuf contracts (generic, reusable message types) shared across Feather gRPC services — packaged for both .NET and PHP. -This repository is the single source of truth for the low-level, domain-agnostic contracts used across Feather. The Protobuf schema in [`proto/feather/core/v1/core.proto`](proto/feather/core/v1/core.proto) is compiled into: +This repository is the single source of truth for the low-level, domain-agnostic contracts used across Feather. The Protobuf schema in [`proto/feather/contracts/core/v1/core.proto`](proto/feather/contracts/core/v1/core.proto) is compiled into: - a **.NET** library published as the [`Feather.Contracts`](https://www.nuget.org/packages/Feather.Contracts) NuGet package, - a **PHP** package (`feather/contracts`) with generated message, client and RoadRunner server classes under [`gen/php/`](gen/php/), and -- a **Protobuf module** published to the [Buf Schema Registry](https://buf.build/feathertools/core) (`buf.build/feathertools/core`). +- a **Protobuf module** published to the [Buf Schema Registry](https://buf.build/feathertools/contracts) (`buf.build/feathertools/contracts`). It is designed to be consumed in three ways: 1. As a **.NET dependency** in the `Feather.Grpc` library, providing the core message types. 2. As a **PHP dependency** in the PHP contracts library, providing the same core types. -3. **Directly in other `.proto` files**, by depending on the BSR module `buf.build/feathertools/core` and referencing the `feather.core.v1` types. +3. **Directly in other `.proto` files**, by depending on the BSR module `buf.build/feathertools/contracts` and referencing the `feather.contracts.core.v1` types. ## Contracts -All messages live in the `feather.core.v1` package ([`proto/feather/core/v1/core.proto`](proto/feather/core/v1/core.proto)): +All messages live in the `feather.contracts.core.v1` package ([`proto/feather/contracts/core/v1/core.proto`](proto/feather/contracts/core/v1/core.proto)): | Message | Purpose | | ----------------------- | ------------------------------------------------------------------------------ | @@ -32,10 +32,10 @@ All messages live in the `feather.core.v1` package ([`proto/feather/core/v1/core | `Box` | An `Instance` bound to a `Spot`. | | `SerializedForChunking` | Wrapper (`bytes content`) for chunking large payloads in streaming gRPC calls. | -Generated namespaces (derived by Buf managed mode from the `feather.core.v1` package): +Generated namespaces (derived by Buf managed mode from the `feather.contracts.core.v1` package): -- .NET: `Feather.Core.V1` -- PHP: `Feather\Core\V1` (messages) and `Feather\Core\V1\GPBMetadata` (metadata) +- .NET: `Feather.Contracts.Core.V1` +- PHP: `Feather\Contracts\Core\V1` (messages) and `Feather\Contracts\Core\V1\GPBMetadata` (metadata) ## Install @@ -46,7 +46,7 @@ dotnet add package Feather.Contracts ``` ```fsharp -open Feather.Core.V1 +open Feather.Contracts.Core.V1 let error = Error(Name = "NotFound", Message = "Instance not found") ``` @@ -73,7 +73,7 @@ composer require feather/contracts:dev-main ``` ```php -use Feather\Core\V1\Error; +use Feather\Contracts\Core\V1\Error; $error = (new Error())->setName('NotFound')->setMessage('Instance not found'); ``` @@ -85,19 +85,19 @@ Add the BSR module as a dependency in your `buf.yaml`: ```yaml version: v2 deps: - - buf.build/feathertools/core + - buf.build/feathertools/contracts ``` -Then import and reference the `feather.core.v1` types: +Then import and reference the `feather.contracts.core.v1` types: ```proto syntax = "proto3"; -import "feather/core/v1/core.proto"; +import "feather/contracts/core/v1/core.proto"; message Envelope { - feather.core.v1.CorrelationId correlation_id = 1; - feather.core.v1.Error error = 2; + feather.contracts.core.v1.CorrelationId correlation_id = 1; + feather.contracts.core.v1.Error error = 2; } ``` @@ -124,7 +124,7 @@ Common flags: `no-lint`, `no-clean` to skip the respective steps. ## Working with the Protobuf schema -[`proto/feather/core/v1/core.proto`](proto/feather/core/v1/core.proto) is the source of truth. After editing it: +[`proto/feather/contracts/core/v1/core.proto`](proto/feather/contracts/core/v1/core.proto) is the source of truth. After editing it: 1. **Lint** the schema: @@ -132,23 +132,21 @@ Common flags: `no-lint`, `no-clean` to skip the respective steps. buf lint ``` -2. **.NET** classes are generated automatically at build time by `Grpc.Tools` (see [`Contracts.csproj`](Contracts.csproj)) — just run `./build.sh`. - -3. **PHP** classes (and the C# reference output) are regenerated with Buf using the remote plugins in [`buf.gen.yaml`](buf.gen.yaml): +2. **.NET** and **PHP** classes are regenerated with Buf using the remote plugins in [`buf.gen.yaml`](buf.gen.yaml): ```sh buf generate ``` - This produces PHP message, client and RoadRunner server classes under [`gen/php/`](gen/php/) (namespace `Feather\Core\V1`) and the C# under [`gen/csharp/`](gen/csharp/); both are committed to the repository. `buf build` only compiles the schema to an in-memory image; use `buf generate` to emit code. + This produces C# under [`gen/csharp/`](gen/csharp/) (namespace `Feather.Contracts.Core.V1`, compiled by [`Contracts.csproj`](Contracts.csproj)) and PHP message, client and RoadRunner server classes under [`gen/php/`](gen/php/) (namespace `Feather\Contracts\Core\V1`); both are committed to the repository. `buf build` only compiles the schema to an in-memory image; use `buf generate` to emit code. > **Before opening a PR**, run `buf generate` and commit the regenerated `gen/` files so they stay in sync with the schema in git. -4. **Publish** the module to the Buf Schema Registry: +3. **Publish** the module to the Buf Schema Registry: ```sh buf registry login # first time only - buf push # publishes buf.build/feathertools/core + buf push # publishes buf.build/feathertools/contracts ``` ### Proto conventions @@ -160,15 +158,15 @@ Common flags: `no-lint`, `no-clean` to skip the respective steps. ## Repository layout ``` -proto/feather/core/v1/core.proto # Source-of-truth Protobuf schema -buf.yaml # Buf module (buf.build/feathertools/core), lint & breaking config -buf.gen.yaml # Buf code generation (managed mode, remote plugins) -Contracts.csproj # .NET package (Feather.Contracts), compiles gen/csharp -composer.json # PHP package (feather/contracts), autoloads gen/php -gen/csharp/ # Generated C# classes (committed, compiled by Contracts.csproj) -gen/php/ # Generated PHP classes (committed, autoloaded by composer) -build/ # FAKE build project (F#) -.github/workflows/ # CI: net-tests, php-tests, proto-lint, net-publish, bsr-publish, pr-check +proto/feather/contracts/core/v1/core.proto # Source-of-truth Protobuf schema +buf.yaml # Buf module (buf.build/feathertools/contracts), lint & breaking config +buf.gen.yaml # Buf code generation (managed mode, remote plugins) +Contracts.csproj # .NET package (Feather.Contracts), compiles gen/csharp +composer.json # PHP package (feather/contracts), autoloads gen/php +gen/csharp/ # Generated C# classes (committed, compiled by Contracts.csproj) +gen/php/ # Generated PHP classes (committed, autoloaded by composer) +build/ # FAKE build project (F#) +.github/workflows/ # CI: net-tests, php-tests, proto-lint, net-publish, bsr-publish, pr-check ``` ## Releasing diff --git a/buf.yaml b/buf.yaml index 8b13a62..6160f7b 100644 --- a/buf.yaml +++ b/buf.yaml @@ -1,7 +1,7 @@ version: v2 modules: - path: proto - name: buf.build/feathertools/core + name: buf.build/feathertools/contracts lint: use: - STANDARD diff --git a/composer.json b/composer.json index 4402127..85f9983 100644 --- a/composer.json +++ b/composer.json @@ -16,7 +16,7 @@ }, "autoload": { "psr-4": { - "Feather\\Core\\V1\\": "gen/php/Feather/Core/V1/" + "Feather\\Contracts\\Core\\V1\\": "gen/php/Feather/Contracts/Core/V1/" } }, "archive": { diff --git a/gen/csharp/Core.cs b/gen/csharp/Core.cs index 3a4139c..5de1abd 100644 --- a/gen/csharp/Core.cs +++ b/gen/csharp/Core.cs @@ -1,6 +1,6 @@ // // Generated by the protocol buffer compiler. DO NOT EDIT! -// source: feather/core/v1/core.proto +// source: feather/contracts/core/v1/core.proto // #pragma warning disable 1591, 0612, 3021, 8981 #region Designer generated code @@ -9,13 +9,13 @@ using pbc = global::Google.Protobuf.Collections; using pbr = global::Google.Protobuf.Reflection; using scg = global::System.Collections.Generic; -namespace Feather.Core.V1 { +namespace Feather.Contracts.Core.V1 { - /// Holder for reflection information generated from feather/core/v1/core.proto + /// Holder for reflection information generated from feather/contracts/core/v1/core.proto public static partial class CoreReflection { #region Descriptor - /// File descriptor for feather/core/v1/core.proto + /// File descriptor for feather/contracts/core/v1/core.proto public static pbr::FileDescriptor Descriptor { get { return descriptor; } } @@ -24,29 +24,31 @@ public static partial class CoreReflection { static CoreReflection() { byte[] descriptorData = global::System.Convert.FromBase64String( string.Concat( - "ChpmZWF0aGVyL2NvcmUvdjEvY29yZS5wcm90bxIPZmVhdGhlci5jb3JlLnYx", - "IjUKBUVycm9yEhIKBG5hbWUYASABKAlSBG5hbWUSGAoHbWVzc2FnZRgCIAEo", - "CVIHbWVzc2FnZSIfCg1Db3JyZWxhdGlvbklkEg4KAmlkGAEgASgJUgJpZCIy", - "CglUaW1lc3RhbXASJQoOdW5peF90aW1lc3RhbXAYASABKANSDXVuaXhUaW1l", - "c3RhbXAiMgoEU3BvdBISCgR6b25lGAEgASgJUgR6b25lEhYKBmJ1Y2tldBgC", - "IAEoCVIGYnVja2V0IiYKCEluc3RhbmNlEhoKCGluc3RhbmNlGAEgASgJUghp", - "bnN0YW5jZSJnCgNCb3gSNQoIaW5zdGFuY2UYASABKAsyGS5mZWF0aGVyLmNv", - "cmUudjEuSW5zdGFuY2VSCGluc3RhbmNlEikKBHNwb3QYAiABKAsyFS5mZWF0", - "aGVyLmNvcmUudjEuU3BvdFIEc3BvdCIxChVTZXJpYWxpemVkRm9yQ2h1bmtp", - "bmcSGAoHY29udGVudBgBIAEoDFIHY29udGVudEJ+ChNjb20uZmVhdGhlci5j", - "b3JlLnYxQglDb3JlUHJvdG9QAaICA0ZDWKoCD0ZlYXRoZXIuQ29yZS5WMcoC", - "D0ZlYXRoZXJcQ29yZVxWMeICG0ZlYXRoZXJcQ29yZVxWMVxHUEJNZXRhZGF0", - "YeoCEUZlYXRoZXI6OkNvcmU6OlYxYgZwcm90bzM=")); + "CiRmZWF0aGVyL2NvbnRyYWN0cy9jb3JlL3YxL2NvcmUucHJvdG8SGWZlYXRo", + "ZXIuY29udHJhY3RzLmNvcmUudjEiNQoFRXJyb3ISEgoEbmFtZRgBIAEoCVIE", + "bmFtZRIYCgdtZXNzYWdlGAIgASgJUgdtZXNzYWdlIh8KDUNvcnJlbGF0aW9u", + "SWQSDgoCaWQYASABKAlSAmlkIjIKCVRpbWVzdGFtcBIlCg51bml4X3RpbWVz", + "dGFtcBgBIAEoA1INdW5peFRpbWVzdGFtcCIyCgRTcG90EhIKBHpvbmUYASAB", + "KAlSBHpvbmUSFgoGYnVja2V0GAIgASgJUgZidWNrZXQiJgoISW5zdGFuY2US", + "GgoIaW5zdGFuY2UYASABKAlSCGluc3RhbmNlInsKA0JveBI/CghpbnN0YW5j", + "ZRgBIAEoCzIjLmZlYXRoZXIuY29udHJhY3RzLmNvcmUudjEuSW5zdGFuY2VS", + "CGluc3RhbmNlEjMKBHNwb3QYAiABKAsyHy5mZWF0aGVyLmNvbnRyYWN0cy5j", + "b3JlLnYxLlNwb3RSBHNwb3QiMQoVU2VyaWFsaXplZEZvckNodW5raW5nEhgK", + "B2NvbnRlbnQYASABKAxSB2NvbnRlbnRCsQEKHWNvbS5mZWF0aGVyLmNvbnRy", + "YWN0cy5jb3JlLnYxQglDb3JlUHJvdG9QAaICA0ZDQ6oCGUZlYXRoZXIuQ29u", + "dHJhY3RzLkNvcmUuVjHKAhlGZWF0aGVyXENvbnRyYWN0c1xDb3JlXFYx4gIl", + "RmVhdGhlclxDb250cmFjdHNcQ29yZVxWMVxHUEJNZXRhZGF0YeoCHEZlYXRo", + "ZXI6OkNvbnRyYWN0czo6Q29yZTo6VjFiBnByb3RvMw==")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { }, new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { - new pbr::GeneratedClrTypeInfo(typeof(global::Feather.Core.V1.Error), global::Feather.Core.V1.Error.Parser, new[]{ "Name", "Message" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Feather.Core.V1.CorrelationId), global::Feather.Core.V1.CorrelationId.Parser, new[]{ "Id" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Feather.Core.V1.Timestamp), global::Feather.Core.V1.Timestamp.Parser, new[]{ "UnixTimestamp" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Feather.Core.V1.Spot), global::Feather.Core.V1.Spot.Parser, new[]{ "Zone", "Bucket" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Feather.Core.V1.Instance), global::Feather.Core.V1.Instance.Parser, new[]{ "Instance_" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Feather.Core.V1.Box), global::Feather.Core.V1.Box.Parser, new[]{ "Instance", "Spot" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Feather.Core.V1.SerializedForChunking), global::Feather.Core.V1.SerializedForChunking.Parser, new[]{ "Content" }, null, null, null, null) + new pbr::GeneratedClrTypeInfo(typeof(global::Feather.Contracts.Core.V1.Error), global::Feather.Contracts.Core.V1.Error.Parser, new[]{ "Name", "Message" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::Feather.Contracts.Core.V1.CorrelationId), global::Feather.Contracts.Core.V1.CorrelationId.Parser, new[]{ "Id" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::Feather.Contracts.Core.V1.Timestamp), global::Feather.Contracts.Core.V1.Timestamp.Parser, new[]{ "UnixTimestamp" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::Feather.Contracts.Core.V1.Spot), global::Feather.Contracts.Core.V1.Spot.Parser, new[]{ "Zone", "Bucket" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::Feather.Contracts.Core.V1.Instance), global::Feather.Contracts.Core.V1.Instance.Parser, new[]{ "Instance_" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::Feather.Contracts.Core.V1.Box), global::Feather.Contracts.Core.V1.Box.Parser, new[]{ "Instance", "Spot" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::Feather.Contracts.Core.V1.SerializedForChunking), global::Feather.Contracts.Core.V1.SerializedForChunking.Parser, new[]{ "Content" }, null, null, null, null) })); } #endregion @@ -68,7 +70,7 @@ public sealed partial class Error : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Feather.Core.V1.CoreReflection.Descriptor.MessageTypes[0]; } + get { return global::Feather.Contracts.Core.V1.CoreReflection.Descriptor.MessageTypes[0]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -303,7 +305,7 @@ public sealed partial class CorrelationId : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Feather.Core.V1.CoreReflection.Descriptor.MessageTypes[1]; } + get { return global::Feather.Contracts.Core.V1.CoreReflection.Descriptor.MessageTypes[1]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -501,7 +503,7 @@ public sealed partial class Timestamp : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Feather.Core.V1.CoreReflection.Descriptor.MessageTypes[2]; } + get { return global::Feather.Contracts.Core.V1.CoreReflection.Descriptor.MessageTypes[2]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -702,7 +704,7 @@ public sealed partial class Spot : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Feather.Core.V1.CoreReflection.Descriptor.MessageTypes[3]; } + get { return global::Feather.Contracts.Core.V1.CoreReflection.Descriptor.MessageTypes[3]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -937,7 +939,7 @@ public sealed partial class Instance : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Feather.Core.V1.CoreReflection.Descriptor.MessageTypes[4]; } + get { return global::Feather.Contracts.Core.V1.CoreReflection.Descriptor.MessageTypes[4]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -1135,7 +1137,7 @@ public sealed partial class Box : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Feather.Core.V1.CoreReflection.Descriptor.MessageTypes[5]; } + get { return global::Feather.Contracts.Core.V1.CoreReflection.Descriptor.MessageTypes[5]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -1168,10 +1170,10 @@ public Box Clone() { /// Field number for the "instance" field. public const int InstanceFieldNumber = 1; - private global::Feather.Core.V1.Instance instance_; + private global::Feather.Contracts.Core.V1.Instance instance_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Feather.Core.V1.Instance Instance { + public global::Feather.Contracts.Core.V1.Instance Instance { get { return instance_; } set { instance_ = value; @@ -1180,10 +1182,10 @@ public Box Clone() { /// Field number for the "spot" field. public const int SpotFieldNumber = 2; - private global::Feather.Core.V1.Spot spot_; + private global::Feather.Contracts.Core.V1.Spot spot_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Feather.Core.V1.Spot Spot { + public global::Feather.Contracts.Core.V1.Spot Spot { get { return spot_; } set { spot_ = value; @@ -1290,13 +1292,13 @@ public void MergeFrom(Box other) { } if (other.instance_ != null) { if (instance_ == null) { - Instance = new global::Feather.Core.V1.Instance(); + Instance = new global::Feather.Contracts.Core.V1.Instance(); } Instance.MergeFrom(other.Instance); } if (other.spot_ != null) { if (spot_ == null) { - Spot = new global::Feather.Core.V1.Spot(); + Spot = new global::Feather.Contracts.Core.V1.Spot(); } Spot.MergeFrom(other.Spot); } @@ -1321,14 +1323,14 @@ public void MergeFrom(pb::CodedInputStream input) { break; case 10: { if (instance_ == null) { - Instance = new global::Feather.Core.V1.Instance(); + Instance = new global::Feather.Contracts.Core.V1.Instance(); } input.ReadMessage(Instance); break; } case 18: { if (spot_ == null) { - Spot = new global::Feather.Core.V1.Spot(); + Spot = new global::Feather.Contracts.Core.V1.Spot(); } input.ReadMessage(Spot); break; @@ -1354,14 +1356,14 @@ public void MergeFrom(pb::CodedInputStream input) { break; case 10: { if (instance_ == null) { - Instance = new global::Feather.Core.V1.Instance(); + Instance = new global::Feather.Contracts.Core.V1.Instance(); } input.ReadMessage(Instance); break; } case 18: { if (spot_ == null) { - Spot = new global::Feather.Core.V1.Spot(); + Spot = new global::Feather.Contracts.Core.V1.Spot(); } input.ReadMessage(Spot); break; @@ -1391,7 +1393,7 @@ public sealed partial class SerializedForChunking : pb::IMessagefeather.contracts.core.v1.Box + */ +class Box extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field .feather.contracts.core.v1.Instance instance = 1 [json_name = "instance"]; + */ + protected $instance = null; + /** + * Generated from protobuf field .feather.contracts.core.v1.Spot spot = 2 [json_name = "spot"]; + */ + protected $spot = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Feather\Contracts\Core\V1\Instance $instance + * @type \Feather\Contracts\Core\V1\Spot $spot + * } + */ + public function __construct($data = NULL) { + \Feather\Contracts\Core\V1\GPBMetadata\Core::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field .feather.contracts.core.v1.Instance instance = 1 [json_name = "instance"]; + * @return \Feather\Contracts\Core\V1\Instance|null + */ + public function getInstance() + { + return $this->instance; + } + + public function hasInstance() + { + return isset($this->instance); + } + + public function clearInstance() + { + unset($this->instance); + } + + /** + * Generated from protobuf field .feather.contracts.core.v1.Instance instance = 1 [json_name = "instance"]; + * @param \Feather\Contracts\Core\V1\Instance $var + * @return $this + */ + public function setInstance(\Feather\Contracts\Core\V1\Instance|null $var) + { + $this->instance = $var; + + return $this; + } + + /** + * Generated from protobuf field .feather.contracts.core.v1.Spot spot = 2 [json_name = "spot"]; + * @return \Feather\Contracts\Core\V1\Spot|null + */ + public function getSpot() + { + return $this->spot; + } + + public function hasSpot() + { + return isset($this->spot); + } + + public function clearSpot() + { + unset($this->spot); + } + + /** + * Generated from protobuf field .feather.contracts.core.v1.Spot spot = 2 [json_name = "spot"]; + * @param \Feather\Contracts\Core\V1\Spot $var + * @return $this + */ + public function setSpot(\Feather\Contracts\Core\V1\Spot|null $var) + { + $this->spot = $var; + + return $this; + } + +} + diff --git a/gen/php/Feather/Core/V1/CorrelationId.php b/gen/php/Feather/Contracts/Core/V1/CorrelationId.php similarity index 83% rename from gen/php/Feather/Core/V1/CorrelationId.php rename to gen/php/Feather/Contracts/Core/V1/CorrelationId.php index 5d5f9ca..4071ff8 100644 --- a/gen/php/Feather/Core/V1/CorrelationId.php +++ b/gen/php/Feather/Contracts/Core/V1/CorrelationId.php @@ -1,16 +1,16 @@ feather.core.v1.CorrelationId + * Generated from protobuf message feather.contracts.core.v1.CorrelationId */ class CorrelationId extends \Google\Protobuf\Internal\Message { @@ -29,7 +29,7 @@ class CorrelationId extends \Google\Protobuf\Internal\Message * } */ public function __construct($data = NULL) { - \Feather\Core\V1\GPBMetadata\Core::initOnce(); + \Feather\Contracts\Core\V1\GPBMetadata\Core::initOnce(); parent::__construct($data); } diff --git a/gen/php/Feather/Core/V1/Error.php b/gen/php/Feather/Contracts/Core/V1/Error.php similarity index 89% rename from gen/php/Feather/Core/V1/Error.php rename to gen/php/Feather/Contracts/Core/V1/Error.php index 6877c2e..6ebb3e2 100644 --- a/gen/php/Feather/Core/V1/Error.php +++ b/gen/php/Feather/Contracts/Core/V1/Error.php @@ -1,16 +1,16 @@ feather.core.v1.Error + * Generated from protobuf message feather.contracts.core.v1.Error */ class Error extends \Google\Protobuf\Internal\Message { @@ -34,7 +34,7 @@ class Error extends \Google\Protobuf\Internal\Message * } */ public function __construct($data = NULL) { - \Feather\Core\V1\GPBMetadata\Core::initOnce(); + \Feather\Contracts\Core\V1\GPBMetadata\Core::initOnce(); parent::__construct($data); } diff --git a/gen/php/Feather/Contracts/Core/V1/GPBMetadata/Core.php b/gen/php/Feather/Contracts/Core/V1/GPBMetadata/Core.php new file mode 100644 index 0000000..1ab87c8 --- /dev/null +++ b/gen/php/Feather/Contracts/Core/V1/GPBMetadata/Core.php @@ -0,0 +1,25 @@ +internalAddGeneratedFile( + "\x0A\x95\x05\x0A\$feather/contracts/core/v1/core.proto\x12\x19feather.contracts.core.v1\"5\x0A\x05Error\x12\x12\x0A\x04name\x18\x01 \x01(\x09R\x04name\x12\x18\x0A\x07message\x18\x02 \x01(\x09R\x07message\"\x1F\x0A\x0DCorrelationId\x12\x0E\x0A\x02id\x18\x01 \x01(\x09R\x02id\"2\x0A\x09Timestamp\x12%\x0A\x0Eunix_timestamp\x18\x01 \x01(\x03R\x0DunixTimestamp\"2\x0A\x04Spot\x12\x12\x0A\x04zone\x18\x01 \x01(\x09R\x04zone\x12\x16\x0A\x06bucket\x18\x02 \x01(\x09R\x06bucket\"&\x0A\x08Instance\x12\x1A\x0A\x08instance\x18\x01 \x01(\x09R\x08instance\"{\x0A\x03Box\x12?\x0A\x08instance\x18\x01 \x01(\x0B2#.feather.contracts.core.v1.InstanceR\x08instance\x123\x0A\x04spot\x18\x02 \x01(\x0B2\x1F.feather.contracts.core.v1.SpotR\x04spot\"1\x0A\x15SerializedForChunking\x12\x18\x0A\x07content\x18\x01 \x01(\x0CR\x07contentB\xB1\x01\x0A\x1Dcom.feather.contracts.core.v1B\x09CoreProtoP\x01\xA2\x02\x03FCC\xAA\x02\x19Feather.Contracts.Core.V1\xCA\x02\x19Feather\\Contracts\\Core\\V1\xE2\x02%Feather\\Contracts\\Core\\V1\\GPBMetadata\xEA\x02\x1CFeather::Contracts::Core::V1b\x06proto3" + , true); + + static::$is_initialized = true; + } +} + diff --git a/gen/php/Feather/Core/V1/Instance.php b/gen/php/Feather/Contracts/Core/V1/Instance.php similarity index 84% rename from gen/php/Feather/Core/V1/Instance.php rename to gen/php/Feather/Contracts/Core/V1/Instance.php index b822cc1..eb2e763 100644 --- a/gen/php/Feather/Core/V1/Instance.php +++ b/gen/php/Feather/Contracts/Core/V1/Instance.php @@ -1,16 +1,16 @@ feather.core.v1.Instance + * Generated from protobuf message feather.contracts.core.v1.Instance */ class Instance extends \Google\Protobuf\Internal\Message { @@ -29,7 +29,7 @@ class Instance extends \Google\Protobuf\Internal\Message * } */ public function __construct($data = NULL) { - \Feather\Core\V1\GPBMetadata\Core::initOnce(); + \Feather\Contracts\Core\V1\GPBMetadata\Core::initOnce(); parent::__construct($data); } diff --git a/gen/php/Feather/Core/V1/SerializedForChunking.php b/gen/php/Feather/Contracts/Core/V1/SerializedForChunking.php similarity index 84% rename from gen/php/Feather/Core/V1/SerializedForChunking.php rename to gen/php/Feather/Contracts/Core/V1/SerializedForChunking.php index 7999aaa..4e47e61 100644 --- a/gen/php/Feather/Core/V1/SerializedForChunking.php +++ b/gen/php/Feather/Contracts/Core/V1/SerializedForChunking.php @@ -1,9 +1,9 @@ feather.core.v1.SerializedForChunking + * Generated from protobuf message feather.contracts.core.v1.SerializedForChunking */ class SerializedForChunking extends \Google\Protobuf\Internal\Message { @@ -31,7 +31,7 @@ class SerializedForChunking extends \Google\Protobuf\Internal\Message * } */ public function __construct($data = NULL) { - \Feather\Core\V1\GPBMetadata\Core::initOnce(); + \Feather\Contracts\Core\V1\GPBMetadata\Core::initOnce(); parent::__construct($data); } diff --git a/gen/php/Feather/Core/V1/Spot.php b/gen/php/Feather/Contracts/Core/V1/Spot.php similarity index 89% rename from gen/php/Feather/Core/V1/Spot.php rename to gen/php/Feather/Contracts/Core/V1/Spot.php index 1ac64b1..d68c4dc 100644 --- a/gen/php/Feather/Core/V1/Spot.php +++ b/gen/php/Feather/Contracts/Core/V1/Spot.php @@ -1,16 +1,16 @@ feather.core.v1.Spot + * Generated from protobuf message feather.contracts.core.v1.Spot */ class Spot extends \Google\Protobuf\Internal\Message { @@ -34,7 +34,7 @@ class Spot extends \Google\Protobuf\Internal\Message * } */ public function __construct($data = NULL) { - \Feather\Core\V1\GPBMetadata\Core::initOnce(); + \Feather\Contracts\Core\V1\GPBMetadata\Core::initOnce(); parent::__construct($data); } diff --git a/gen/php/Feather/Core/V1/Timestamp.php b/gen/php/Feather/Contracts/Core/V1/Timestamp.php similarity index 86% rename from gen/php/Feather/Core/V1/Timestamp.php rename to gen/php/Feather/Contracts/Core/V1/Timestamp.php index a84cd3a..078be35 100644 --- a/gen/php/Feather/Core/V1/Timestamp.php +++ b/gen/php/Feather/Contracts/Core/V1/Timestamp.php @@ -1,16 +1,16 @@ feather.core.v1.Timestamp + * Generated from protobuf message feather.contracts.core.v1.Timestamp */ class Timestamp extends \Google\Protobuf\Internal\Message { @@ -32,7 +32,7 @@ class Timestamp extends \Google\Protobuf\Internal\Message * } */ public function __construct($data = NULL) { - \Feather\Core\V1\GPBMetadata\Core::initOnce(); + \Feather\Contracts\Core\V1\GPBMetadata\Core::initOnce(); parent::__construct($data); } diff --git a/gen/php/Feather/Core/V1/Box.php b/gen/php/Feather/Core/V1/Box.php deleted file mode 100644 index e8ede40..0000000 --- a/gen/php/Feather/Core/V1/Box.php +++ /dev/null @@ -1,104 +0,0 @@ -feather.core.v1.Box - */ -class Box extends \Google\Protobuf\Internal\Message -{ - /** - * Generated from protobuf field .feather.core.v1.Instance instance = 1 [json_name = "instance"]; - */ - protected $instance = null; - /** - * Generated from protobuf field .feather.core.v1.Spot spot = 2 [json_name = "spot"]; - */ - protected $spot = null; - - /** - * Constructor. - * - * @param array $data { - * Optional. Data for populating the Message object. - * - * @type \Feather\Core\V1\Instance $instance - * @type \Feather\Core\V1\Spot $spot - * } - */ - public function __construct($data = NULL) { - \Feather\Core\V1\GPBMetadata\Core::initOnce(); - parent::__construct($data); - } - - /** - * Generated from protobuf field .feather.core.v1.Instance instance = 1 [json_name = "instance"]; - * @return \Feather\Core\V1\Instance|null - */ - public function getInstance() - { - return $this->instance; - } - - public function hasInstance() - { - return isset($this->instance); - } - - public function clearInstance() - { - unset($this->instance); - } - - /** - * Generated from protobuf field .feather.core.v1.Instance instance = 1 [json_name = "instance"]; - * @param \Feather\Core\V1\Instance $var - * @return $this - */ - public function setInstance(\Feather\Core\V1\Instance|null $var) - { - $this->instance = $var; - - return $this; - } - - /** - * Generated from protobuf field .feather.core.v1.Spot spot = 2 [json_name = "spot"]; - * @return \Feather\Core\V1\Spot|null - */ - public function getSpot() - { - return $this->spot; - } - - public function hasSpot() - { - return isset($this->spot); - } - - public function clearSpot() - { - unset($this->spot); - } - - /** - * Generated from protobuf field .feather.core.v1.Spot spot = 2 [json_name = "spot"]; - * @param \Feather\Core\V1\Spot $var - * @return $this - */ - public function setSpot(\Feather\Core\V1\Spot|null $var) - { - $this->spot = $var; - - return $this; - } - -} - diff --git a/gen/php/Feather/Core/V1/GPBMetadata/Core.php b/gen/php/Feather/Core/V1/GPBMetadata/Core.php deleted file mode 100644 index e1f83c9..0000000 --- a/gen/php/Feather/Core/V1/GPBMetadata/Core.php +++ /dev/null @@ -1,25 +0,0 @@ -internalAddGeneratedFile( - "\x0A\xB9\x04\x0A\x1Afeather/core/v1/core.proto\x12\x0Ffeather.core.v1\"5\x0A\x05Error\x12\x12\x0A\x04name\x18\x01 \x01(\x09R\x04name\x12\x18\x0A\x07message\x18\x02 \x01(\x09R\x07message\"\x1F\x0A\x0DCorrelationId\x12\x0E\x0A\x02id\x18\x01 \x01(\x09R\x02id\"2\x0A\x09Timestamp\x12%\x0A\x0Eunix_timestamp\x18\x01 \x01(\x03R\x0DunixTimestamp\"2\x0A\x04Spot\x12\x12\x0A\x04zone\x18\x01 \x01(\x09R\x04zone\x12\x16\x0A\x06bucket\x18\x02 \x01(\x09R\x06bucket\"&\x0A\x08Instance\x12\x1A\x0A\x08instance\x18\x01 \x01(\x09R\x08instance\"g\x0A\x03Box\x125\x0A\x08instance\x18\x01 \x01(\x0B2\x19.feather.core.v1.InstanceR\x08instance\x12)\x0A\x04spot\x18\x02 \x01(\x0B2\x15.feather.core.v1.SpotR\x04spot\"1\x0A\x15SerializedForChunking\x12\x18\x0A\x07content\x18\x01 \x01(\x0CR\x07contentB~\x0A\x13com.feather.core.v1B\x09CoreProtoP\x01\xA2\x02\x03FCX\xAA\x02\x0FFeather.Core.V1\xCA\x02\x0FFeather\\Core\\V1\xE2\x02\x1BFeather\\Core\\V1\\GPBMetadata\xEA\x02\x11Feather::Core::V1b\x06proto3" - , true); - - static::$is_initialized = true; - } -} - diff --git a/proto/feather/core/v1/core.proto b/proto/feather/contracts/core/v1/core.proto similarity index 94% rename from proto/feather/core/v1/core.proto rename to proto/feather/contracts/core/v1/core.proto index 4666e42..e907576 100644 --- a/proto/feather/core/v1/core.proto +++ b/proto/feather/contracts/core/v1/core.proto @@ -1,6 +1,6 @@ syntax = "proto3"; -package feather.core.v1; +package feather.contracts.core.v1; // Generic types