Java expects to have a class with the same name as the file within the file. This constraint was violated, and renaming the class ort the file was needed
* feat: add compare command to cli
A new 'compare' command has been added to the CLI. This command allows users to compare two manifest files and list the changes between them. The comparison is done by loading each manifest file, then using a new function from the 'manifest' package to identify differences. Error handling has also been implemented for scenarios where loading or comparing manifests fails. Tests were also included to test the compare function.
Signed-off-by: Kris Coleman <kriscodeman@gmail.com>
* feat: adds tree behavior to compare cmd
Compare now supports flat, tree, and color output modes.
Signed-off-by: Kris Coleman <kriscodeman@gmail.com>
* chore: refactors compare command flag handling
Refactors the compare command to use the global manifest
flag and introduces an 'against' flag for specifying the
target manifest for comparison.
This change simplifies command usage and aligns it with
other commands that utilize the global manifest configuration.
Signed-off-by: Kris Coleman <kriscodeman@gmail.com>
* feat: Adds output formats to compare
Adds the ability to render the differences between manifests in JSON format,
providing a structured output suitable for consumption by other tools or
systems. Also, introduces validation for the output format flag.
Signed-off-by: Kris Coleman <kriscodeman@gmail.com>
* feat: adds yaml output format
Adds the ability to output manifest comparison results in YAML format.
This provides users with another option for viewing and processing
the differences between manifests, which can be useful for
configuration management and automation tasks.
The changes include:
- Implementation of a new render function for YAML output.
- Modification of the output format selection logic to include YAML.
- Addition of YAML as a valid output format option in the command
line interface and documentation.
Signed-off-by: Kris Coleman <kriscodeman@gmail.com>
---------
Signed-off-by: Kris Coleman <kriscodeman@gmail.com>
* feat: adds c# generator
Adds a new generator for C# to create typesafe clients.
This allows users to generate C# code based on feature flag
definitions, streamlining integration with .NET applications.
Includes necessary command-line flags, templates, and tests.
Signed-off-by: Kris Coleman <kriscodeman@gmail.com>
* feat(csharp): adds C# generator integration test
Adds a C# code generator integration test to ensure the generated C# code compiles correctly.
This includes:
- A new C# generator based on templates
- Updates to the build process and documentation to support C# generation and testing
- An integration test using Docker to compile the generated C# code
- Fixes and adjustments to data type mappings for C# compatibility
Signed-off-by: Kris Coleman <kriscodeman@gmail.com>
* chore: go fmt fixes
Signed-off-by: Kris Coleman <kriscodeman@gmail.com>
* Update .github/workflows/csharp-integration.yml
Co-authored-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: Kris Coleman <kris.blacksuitmedia@gmail.com>
Signed-off-by: Kris Coleman <kriscodeman@gmail.com>
* Update CONTRIBUTING.md
Co-authored-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: Kris Coleman <kris.blacksuitmedia@gmail.com>
Signed-off-by: Kris Coleman <kriscodeman@gmail.com>
* Update internal/generators/csharp/csharp.go
Co-authored-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: Kris Coleman <kris.blacksuitmedia@gmail.com>
Signed-off-by: Kris Coleman <kriscodeman@gmail.com>
* chore(ci): moved the csharp integration into pr-test workflow as a separate job
Signed-off-by: Kris Coleman <kriscodeman@gmail.com>
* chore: cleaned up generate code to private funcs are private
Signed-off-by: Kris Coleman <kriscodeman@gmail.com>
* feat(csharp): implemented di for generated code
- updated openfeature to 2.3.2
- introduced IServiceCollection and DI patterns
- updated tests and expectations
Signed-off-by: Kris Coleman <kriscodeman@gmail.com>
* Update .github/workflows/pr-test.yml
Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com>
Signed-off-by: Kris Coleman <kris.blacksuitmedia@gmail.com>
* Update .github/workflows/pr-test.yml
Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com>
Signed-off-by: Kris Coleman <kris.blacksuitmedia@gmail.com>
---------
Signed-off-by: Kris Coleman <kriscodeman@gmail.com>
Signed-off-by: Kris Coleman <kris.blacksuitmedia@gmail.com>
Co-authored-by: André Silva <2493377+askpt@users.noreply.github.com>
Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com>
* feat: add nodejs generator
Signed-off-by: Michael Beemer <michael.beemer@dynatrace.com>
* feat: add a nodejs generator
Signed-off-by: Michael Beemer <beeme1mr@users.noreply.github.com>
* improve doc diff output
Signed-off-by: Michael Beemer <beeme1mr@users.noreply.github.com>
* check out expected sha
Signed-off-by: Michael Beemer <beeme1mr@users.noreply.github.com>
* fix variable name
Signed-off-by: Michael Beemer <beeme1mr@users.noreply.github.com>
* feat: consolidate logging and support debug flag
Signed-off-by: Michael Beemer <beeme1mr@users.noreply.github.com>
* regenerate docs
Signed-off-by: Michael Beemer <beeme1mr@users.noreply.github.com>
---------
Signed-off-by: Michael Beemer <michael.beemer@dynatrace.com>
Signed-off-by: Michael Beemer <beeme1mr@users.noreply.github.com>
## This PR
Added a new CONTRIBUTING.md file with detailed instructions on how to
contribute new generators to the project. This includes steps from
forking the repository, implementing the generator logic, writing tests,
registering the generator in CLI, updating documentation, and creating a
pull request.
Also added a README.md in the internal/generators directory explaining
how each generator works. It details about `language.go` and
`language.tmpl` files that are essential parts of each generator along
with an example workflow of how these components interact to generate
code based on OpenFeature flag manifest.
### Related Issues
closes#69
Signed-off-by: Kris Coleman <kriscodeman@gmail.com>
## This PR
- moves JSON schema to a dedicated directory
- added schema validation tests
- fixed React code gen (and tests)
- automate CLI doc generation
- Loosen JSON schema
- ~~Rename default value~~
### Related Issues
Fixes#66
### Notes
It's a big PR that I could break into smaller changes if necessary.
---------
Signed-off-by: Michael Beemer <beeme1mr@users.noreply.github.com>
Signed-off-by: Michael Beemer <michael.beemer@dynatrace.com>
<!-- Please use this template for your pull request. -->
<!-- Please use the sections that you need and delete other sections -->
## This PR
<!-- add the description of the PR here -->
- updates the golang output for the flag accessors
---------
Signed-off-by: Florin-Mihai Anghel <fanghel@google.com>
Signed-off-by: Florin-Mihai Anghel <44744433+anghelflorinm@users.noreply.github.com>
Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com>
<!-- Please use this template for your pull request. -->
<!-- Please use the sections that you need and delete other sections -->
## This PR
updates back to previous mkdir permissions.
context:
https://unix.stackexchange.com/questions/21251/execute-vs-read-bit-how-do-directory-permissions-in-linux-work
---------
Signed-off-by: Florin-Mihai Anghel <fanghel@google.com>
Signed-off-by: Florin-Mihai Anghel <44744433+anghelflorinm@users.noreply.github.com>
Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com>
<!-- Please use this template for your pull request. -->
<!-- Please use the sections that you need and delete other sections -->
## This PR
Removes empty testutils package
---------
Signed-off-by: Florin-Mihai Anghel <fanghel@google.com>
Signed-off-by: Florin-Mihai Anghel <44744433+anghelflorinm@users.noreply.github.com>
Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com>
<!-- Please use this template for your pull request. -->
<!-- Please use the sections that you need and delete other sections -->
## This PR
Changes the name of the go module
### Related Issues
<!-- add here the GitHub issue that this PR resolves if applicable -->
Fixes#45
---------
Signed-off-by: Florin-Mihai Anghel <fanghel@google.com>
Signed-off-by: Florin-Mihai Anghel <44744433+anghelflorinm@users.noreply.github.com>
Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com>
<!-- Please use this template for your pull request. -->
<!-- Please use the sections that you need and delete other sections -->
## This PR
<!-- add the description of the PR here -->
- adds tests for React and Golang
### Related Issues
https://github.com/open-feature/codegen/issues/42Fixes#42
### How to test
`go test ./...` from root folder
---------
Signed-off-by: Florin-Mihai Anghel <fanghel@google.com>
Signed-off-by: Florin-Mihai Anghel <44744433+anghelflorinm@users.noreply.github.com>
Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com>
<!-- Please use this template for your pull request. -->
<!-- Please use the sections that you need and delete other sections -->
## This PR
<!-- add the description of the PR here -->
refactor: changes folder, package structure; integrates CLI with cobra
### Related Issues
<!-- add here the GitHub issue that this PR resolves if applicable -->
Fixes https://github.com/open-feature/codegen/issues/20#issue-2559398075
---------
Signed-off-by: Florin-Mihai Anghel <fanghel@google.com>
Signed-off-by: Florin-Mihai Anghel <44744433+anghelflorinm@users.noreply.github.com>
Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com>