forked from opensearch-project/opensearch-net
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add abstractions library to the repo - full copy without changes from…
… `main/HEAD` @ 63bac1681. Signed-off-by: Yury-Fridlyand <[email protected]>
- Loading branch information
1 parent
234b745
commit 13f96f3
Showing
105 changed files
with
7,934 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
<PropertyGroup> | ||
<MinVerDefaultPreReleasePhase>canary</MinVerDefaultPreReleasePhase> | ||
<MinVerMinimumMajorMinor>0.1</MinVerMinimumMajorMinor> | ||
|
||
<LangVersion>latest</LangVersion> | ||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors> | ||
</PropertyGroup> | ||
<ItemGroup> | ||
<PackageReference Include="MinVer" Version="2.3.1" PrivateAssets="all" /> | ||
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies.net461" Version="1.0.0" PrivateAssets="all"/> | ||
</ItemGroup> | ||
</Project> |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
![OpenSearch logo](OpenSearch.svg) | ||
|
||
- [OpenSearch .NET abstractions](#opensearch-net-abstractions) | ||
- [OpenSearch.OpenSearch.Managed](#opensearchopensearchmanaged) | ||
- [OpenSearch.OpenSearch.Ephemeral](#opensearchopensearchephemeral) | ||
- [OpenSearch.OpenSearch.Xunit](#opensearchopensearchxunit) | ||
- [OpenSearch.Stack.ArtifactsApi](#opensearchstackartifactsapi) | ||
- [Project Resources](#project-resources) | ||
- [Code of Conduct](#code-of-conduct) | ||
- [Security](#security) | ||
- [License](#license) | ||
- [Copyright](#copyright) | ||
|
||
## Welcome! | ||
|
||
# OpenSearch .NET abstractions | ||
|
||
You've reached the home repository for several auxiliary projects from the .NET team within OpenSearch. | ||
|
||
Pre-release packages of these projects are available at [OpenSearch NuGet Package Repository](https://www.github.com/opensearch-project/packages). See [GitHub documentation](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-nuget-registry#installing-a-package) for instructions on how to access them. | ||
|
||
Current projects: | ||
|
||
### [OpenSearch.OpenSearch.Managed](src/OpenSearch.OpenSearch.Managed/README.md) | ||
|
||
Provides an easy to start/stop one or more OpenSearch instances that exists on disk already | ||
|
||
### [OpenSearch.OpenSearch.Ephemeral](src/OpenSearch.OpenSearch.Ephemeral/README.md) | ||
|
||
Bootstrap (download, install, configure) and run OpenSearch clusters with ease. | ||
Started nodes are run in a new ephemeral location each time they are started and will clean up after they | ||
are disposed. | ||
|
||
### [OpenSearch.OpenSearch.Xunit](src/OpenSearch.OpenSearch.Xunit/README.md) | ||
|
||
Write integration tests against OpenSearch. | ||
Works with `.NET Core` and `.NET 4.6` and up. | ||
|
||
Supports `dotnet xunit`, `dotnet test`, `xunit.console.runner` and tests will be runnable in your IDE through VSTest and jetBrains Rider. | ||
|
||
### [OpenSearch.Stack.ArtifactsApi](src/OpenSearch.Stack.ArtifactsApi/README.md) | ||
|
||
Library to fetch the url and metadata for released artifacts. | ||
|
||
Supports: | ||
|
||
1. Snapshots builds | ||
* `latest-MAJOR` where `MAJOR` is a single integer representing the major you want | ||
* `latest` latest greatest | ||
|
||
2. Released versions | ||
* `MAJOR.MINOR.PATH` where `MAJOR` is still supported as defined by the EOL policy of OpenSearch. | ||
* Note if the version exists but is not yet released it will resolve as a build candidate | ||
|
||
## Project Resources | ||
|
||
* [Project Website](https://opensearch.org/) | ||
* Need help? Try [Forums](https://discuss.opendistrocommunity.dev/) | ||
* [Project Principles](https://opensearch.org/#principles) | ||
* [Contributing to OpenSearch](CONTRIBUTING.md) | ||
* [Maintainer Responsibilities](MAINTAINERS.md) | ||
* [Release Management](RELEASING.md) | ||
* [Admin Responsibilities](ADMINS.md) | ||
* [Security](SECURITY.md) | ||
|
||
## Code of Conduct | ||
|
||
This project has adopted the [Amazon Open Source Code of Conduct](CODE_OF_CONDUCT.md). For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq), or contact [[email protected]](mailto:[email protected]) with any additional questions or comments. | ||
|
||
## Security | ||
If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our [vulnerability reporting page](http://aws.amazon.com/security/vulnerability-reporting/) or directly via email to [email protected]. Please do **not** create a public GitHub issue. | ||
|
||
## License | ||
|
||
This project is licensed under the [Apache v2.0 License](LICENSE.txt). | ||
|
||
## Copyright | ||
|
||
Copyright OpenSearch Contributors. See [NOTICE](NOTICE.txt) for details. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
@echo off | ||
dotnet run --project build/scripts -- %* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
#!/usr/bin/env bash | ||
set -euo pipefail | ||
dotnet run --project build/scripts -- "$@" |
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
// SPDX-License-Identifier: Apache-2.0 | ||
// | ||
// The OpenSearch Contributors require contributions made to | ||
// this file be licensed under the Apache-2.0 license or a | ||
// compatible open source license. | ||
// | ||
// Modifications Copyright OpenSearch Contributors. See | ||
// GitHub history for details. | ||
// | ||
// Licensed to Elasticsearch B.V. under one or more contributor | ||
// license agreements. See the NOTICE file distributed with | ||
// this work for additional information regarding copyright | ||
// ownership. Elasticsearch B.V. licenses this file to you under | ||
// the Apache License, Version 2.0 (the "License"); you may | ||
// not use this file except in compliance with the License. | ||
// You may obtain a copy of the License at | ||
// | ||
// http://www.apache.org/licenses/LICENSE-2.0 | ||
// | ||
// Unless required by applicable law or agreed to in writing, | ||
// software distributed under the License is distributed on an | ||
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
// KIND, either express or implied. See the License for the | ||
// specific language governing permissions and limitations | ||
// under the License. | ||
// | ||
|
||
module CommandLine | ||
|
||
open Argu | ||
open Microsoft.FSharp.Reflection | ||
|
||
type Arguments = | ||
| [<CliPrefix(CliPrefix.None);SubCommand>] Clean | ||
| [<CliPrefix(CliPrefix.None);SubCommand>] Build | ||
|
||
| [<CliPrefix(CliPrefix.None);Hidden;SubCommand>] PristineCheck | ||
| [<CliPrefix(CliPrefix.None);Hidden;SubCommand>] GeneratePackages | ||
| [<CliPrefix(CliPrefix.None);Hidden;SubCommand>] ValidatePackages | ||
| [<CliPrefix(CliPrefix.None);Hidden;SubCommand>] GenerateReleaseNotes | ||
| [<CliPrefix(CliPrefix.None);Hidden;SubCommand>] GenerateApiChanges | ||
| [<CliPrefix(CliPrefix.None);SubCommand>] Release | ||
|
||
| [<CliPrefix(CliPrefix.None);Hidden;SubCommand>] CreateReleaseOnGithub | ||
| [<CliPrefix(CliPrefix.None);SubCommand>] Publish | ||
|
||
| [<Inherit;AltCommandLine("-s")>] SingleTarget of bool | ||
| [<Inherit>] Token of string | ||
with | ||
interface IArgParserTemplate with | ||
member this.Usage = | ||
match this with | ||
| Clean _ -> "clean known output locations" | ||
| Build _ -> "Run build and tests" | ||
| Release _ -> "runs build, and create an validates the packages shy of publishing them" | ||
| Publish _ -> "Runs the full release" | ||
|
||
| SingleTarget _ -> "Runs the provided sub command without running their dependencies" | ||
| Token _ -> "Token to be used to authenticate with github" | ||
|
||
| PristineCheck | ||
| GeneratePackages | ||
| ValidatePackages | ||
| GenerateReleaseNotes | ||
| GenerateApiChanges | ||
| CreateReleaseOnGithub | ||
-> "Undocumented, dependent target" | ||
member this.Name = | ||
match FSharpValue.GetUnionFields(this, typeof<Arguments>) with | ||
| case, _ -> case.Name.ToLowerInvariant() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
// SPDX-License-Identifier: Apache-2.0 | ||
// | ||
// The OpenSearch Contributors require contributions made to | ||
// this file be licensed under the Apache-2.0 license or a | ||
// compatible open source license. | ||
// | ||
// Modifications Copyright OpenSearch Contributors. See | ||
// GitHub history for details. | ||
// | ||
// Licensed to Elasticsearch B.V. under one or more contributor | ||
// license agreements. See the NOTICE file distributed with | ||
// this work for additional information regarding copyright | ||
// ownership. Elasticsearch B.V. licenses this file to you under | ||
// the Apache License, Version 2.0 (the "License"); you may | ||
// not use this file except in compliance with the License. | ||
// You may obtain a copy of the License at | ||
// | ||
// http://www.apache.org/licenses/LICENSE-2.0 | ||
// | ||
// Unless required by applicable law or agreed to in writing, | ||
// software distributed under the License is distributed on an | ||
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
// KIND, either express or implied. See the License for the | ||
// specific language governing permissions and limitations | ||
// under the License. | ||
// | ||
|
||
module Paths | ||
|
||
open System | ||
open System.IO | ||
|
||
let ToolName = "opensearch-net-abstractions" | ||
let Repository = sprintf "opensearch/%s" ToolName | ||
let MainTFM = "netstandard2.0" | ||
|
||
let ValidateAssemblyName = false | ||
let IncludeGitHashInInformational = true | ||
let GenerateApiChanges = false | ||
|
||
let Root = | ||
let mutable dir = DirectoryInfo(".") | ||
while dir.GetFiles("*.sln").Length = 0 do dir <- dir.Parent | ||
Environment.CurrentDirectory <- dir.FullName | ||
dir | ||
|
||
let RootRelative path = Path.GetRelativePath(Root.FullName, path) | ||
|
||
let Output = DirectoryInfo(Path.Combine(Root.FullName, "build", "output")) | ||
|
||
let ToolProject = DirectoryInfo(Path.Combine(Root.FullName, "src", ToolName)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
// SPDX-License-Identifier: Apache-2.0 | ||
// | ||
// The OpenSearch Contributors require contributions made to | ||
// this file be licensed under the Apache-2.0 license or a | ||
// compatible open source license. | ||
// | ||
// Modifications Copyright OpenSearch Contributors. See | ||
// GitHub history for details. | ||
// | ||
// Licensed to Elasticsearch B.V. under one or more contributor | ||
// license agreements. See the NOTICE file distributed with | ||
// this work for additional information regarding copyright | ||
// ownership. Elasticsearch B.V. licenses this file to you under | ||
// the Apache License, Version 2.0 (the "License"); you may | ||
// not use this file except in compliance with the License. | ||
// You may obtain a copy of the License at | ||
// | ||
// http://www.apache.org/licenses/LICENSE-2.0 | ||
// | ||
// Unless required by applicable law or agreed to in writing, | ||
// software distributed under the License is distributed on an | ||
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
// KIND, either express or implied. See the License for the | ||
// specific language governing permissions and limitations | ||
// under the License. | ||
// | ||
|
||
module Program | ||
|
||
open Argu | ||
open Bullseye | ||
open ProcNet | ||
open CommandLine | ||
|
||
[<EntryPoint>] | ||
let main argv = | ||
let parser = ArgumentParser.Create<Arguments>(programName = "./build.sh") | ||
let parsed = | ||
try | ||
let parsed = parser.ParseCommandLine(inputs = argv, raiseOnUsage = true) | ||
let arguments = parsed.GetSubCommand() | ||
Some (parsed, arguments) | ||
with e -> | ||
printfn "%s" e.Message | ||
None | ||
|
||
match parsed with | ||
| None -> 2 | ||
| Some (parsed, arguments) -> | ||
|
||
let target = arguments.Name | ||
|
||
Targets.Setup parsed arguments | ||
let swallowTypes = [typeof<ProcExecException>; typeof<ExceptionExiter>] | ||
|
||
Targets.RunTargetsAndExit | ||
([target], (fun e -> swallowTypes |> List.contains (e.GetType()) ), ":") | ||
0 | ||
|
Oops, something went wrong.