Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
13 changes: 13 additions & 0 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"version": 1,
"isRoot": true,
"tools": {
"csharpier": {
"version": "1.1.1",
"commands": [
"csharpier"
],
"rollForward": false
}
}
}
1 change: 1 addition & 0 deletions .csharpierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
cake.config
14 changes: 14 additions & 0 deletions .github/workflows/csharpier.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Formatting check

on:
workflow_dispatch:
pull_request:

jobs:
formatting-check:
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- name: CSharpier Linter
uses: guibranco/[email protected]
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -402,4 +402,6 @@ FodyWeavers.xsd

# JetBrains Rider
.idea/
*.sln.iml
*.sln.iml

test-results/
21 changes: 18 additions & 3 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,25 @@
<GlobalPackageReference Include="SauceControl.InheritDoc" VersionOverride="2.0.2" />
</ItemGroup>
<ItemGroup>
<None Include="$(MSBuildThisFileDirectory)docs/banner.png" Visible="false" Pack="true" PackagePath="docs/" />
<None Include="$(MSBuildThisFileDirectory)docs/logo.png" Visible="false" Pack="true" PackagePath="docs/" />
<None
Include="$(MSBuildThisFileDirectory)docs/banner.png"
Visible="false"
Pack="true"
PackagePath="docs/"
/>
<None
Include="$(MSBuildThisFileDirectory)docs/logo.png"
Visible="false"
Pack="true"
PackagePath="docs/"
/>
<None Include="$(MSBuildThisFileDirectory)LICENSE" Visible="false" Pack="true" PackagePath="" />
<None Include="$(MSBuildThisFileDirectory)README.md" Visible="false" Pack="true" PackagePath="" />
<None
Include="$(MSBuildThisFileDirectory)README.md"
Visible="false"
Pack="true"
PackagePath=""
/>
</ItemGroup>
<ItemGroup>
<AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo">
Expand Down
174 changes: 87 additions & 87 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -1,90 +1,90 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="BouncyCastle.Cryptography" Version="2.6.1"/>
<PackageVersion Include="Docker.DotNet.Enhanced.X509" Version="3.128.5"/>
<PackageVersion Include="Docker.DotNet.Enhanced" Version="3.128.5"/>
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="8.0.0"/>
<PackageVersion Include="Microsoft.Bcl.HashCode" Version="1.1.1"/>
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.3"/>
<PackageVersion Include="SharpZipLib" Version="1.4.2"/>
<PackageVersion Include="SSH.NET" Version="2024.2.0"/>
<!-- Cake build: -->
<PackageVersion Include="Cake.Frosting.Git" Version="5.0.1"/>
<PackageVersion Include="Cake.Frosting" Version="5.0.0"/>
<PackageVersion Include="Cake.Sonar" Version="5.0.0"/>
<!-- Unit and integration test dependencies: -->
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.11.1"/>
<PackageVersion Include="Microsoft.Extensions.Diagnostics.Testing" Version="8.10.0"/>
<PackageVersion Include="coverlet.collector" Version="6.0.4"/>
<PackageVersion Include="Dapper" Version="2.1.66"/>
<PackageVersion Include="ReflectionMagic" Version="5.0.1"/>
<PackageVersion Include="xunit.analyzers" Version="1.21.0"/>
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.0"/>
<PackageVersion Include="xunit" Version="2.9.3"/>
<PackageVersion Include="xunit.v3" Version="2.0.2"/>
<!-- xUnit.net extensibility for Testcontainers.Xunit and Testcontainers.XunitV3 packages: -->
<PackageVersion Include="xunit.extensibility.execution" Version="2.9.3"/>
<PackageVersion Include="xunit.v3.extensibility.core" Version="2.0.2"/>
<!-- Third-party client dependencies to connect and interact with the containers: -->
<PackageVersion Include="Apache.NMS.ActiveMQ" Version="2.1.1"/>
<PackageVersion Include="ArangoDBNetStandard" Version="2.0.1"/>
<PackageVersion Include="AWSSDK.CloudWatchLogs" Version="3.7.104.14"/>
<PackageVersion Include="AWSSDK.DynamoDBv2" Version="3.7.101.42"/>
<PackageVersion Include="AWSSDK.S3" Version="3.7.103.3"/>
<PackageVersion Include="AWSSDK.SimpleNotificationService" Version="3.7.101.7"/>
<PackageVersion Include="AWSSDK.SQS" Version="3.7.100.71"/>
<PackageVersion Include="Azure.Data.Tables" Version="12.8.0"/>
<PackageVersion Include="Azure.Identity" Version="1.13.2"/>
<PackageVersion Include="Azure.Messaging.EventHubs" Version="5.11.3"/>
<PackageVersion Include="Azure.Messaging.ServiceBus" Version="7.18.2"/>
<PackageVersion Include="Azure.Security.KeyVault.Certificates" Version="4.7.0"/>
<PackageVersion Include="Azure.Security.KeyVault.Secrets" Version="4.7.0"/>
<PackageVersion Include="Azure.Storage.Blobs" Version="12.17.0"/>
<PackageVersion Include="Azure.Storage.Queues" Version="12.15.0"/>
<PackageVersion Include="CassandraCSharpDriver" Version="3.22.0"/>
<PackageVersion Include="ClickHouse.Client" Version="7.9.1"/>
<PackageVersion Include="Confluent.Kafka" Version="2.8.0"/>
<PackageVersion Include="Confluent.SchemaRegistry.Serdes.Json" Version="2.8.0"/>
<PackageVersion Include="Confluent.SchemaRegistry" Version="2.8.0"/>
<PackageVersion Include="Consul" Version="1.6.10.9"/>
<PackageVersion Include="CouchbaseNetClient" Version="3.7.2"/>
<PackageVersion Include="DotPulsar" Version="3.6.0"/>
<PackageVersion Include="Elastic.Clients.Elasticsearch" Version="8.16.3"/>
<PackageVersion Include="EventStore.Client.Grpc.Streams" Version="22.0.0"/>
<PackageVersion Include="FirebirdSql.Data.FirebirdClient" Version="10.0.0"/>
<PackageVersion Include="Google.Cloud.BigQuery.V2" Version="3.4.0"/>
<PackageVersion Include="Google.Cloud.Bigtable.Admin.V2" Version="3.7.0"/>
<PackageVersion Include="Google.Cloud.Firestore" Version="3.1.0"/>
<PackageVersion Include="Google.Cloud.PubSub.V1" Version="3.5.0"/>
<PackageVersion Include="Google.Cloud.Storage.V1" Version="4.6.0"/>
<PackageVersion Include="InfluxDB.Client" Version="4.18.0"/>
<PackageVersion Include="JanusGraph.Net" Version="1.0.0"/>
<PackageVersion Include="Keycloak.Net.Core" Version="1.0.20"/>
<PackageVersion Include="KubernetesClient" Version="15.0.1"/>
<PackageVersion Include="Microsoft.Azure.Cosmos" Version="3.32.1"/>
<PackageVersion Include="Microsoft.Azure.Kusto.Data" Version="12.2.8"/>
<PackageVersion Include="Microsoft.Data.SqlClient" Version="5.2.2"/>
<PackageVersion Include="Milvus.Client" Version="2.2.2-preview.6"/>
<PackageVersion Include="MongoDB.Driver" Version="3.2.0"/>
<PackageVersion Include="MyCouch" Version="7.6.0"/>
<PackageVersion Include="MySqlConnector" Version="2.2.5"/>
<PackageVersion Include="NATS.Client" Version="1.0.8"/>
<PackageVersion Include="Neo4j.Driver" Version="5.5.0"/>
<PackageVersion Include="Net.IBM.Data.Db2-lnx" Version="9.0.0.100"/>
<PackageVersion Include="Net.IBM.Data.Db2-osx" Version="9.0.0.100"/>
<PackageVersion Include="Net.IBM.Data.Db2" Version="9.0.0.100"/>
<PackageVersion Include="Npgsql" Version="6.0.11"/>
<PackageVersion Include="OllamaSharp" Version="5.1.13"/>
<PackageVersion Include="OpenSearch.Client" Version="1.8.0"/>
<PackageVersion Include="Oracle.ManagedDataAccess.Core" Version="23.7.0"/>
<PackageVersion Include="Qdrant.Client" Version="1.13.0"/>
<PackageVersion Include="RabbitMQ.Client" Version="6.4.0"/>
<PackageVersion Include="RavenDB.Client" Version="5.4.100"/>
<PackageVersion Include="Selenium.WebDriver" Version="4.8.1"/>
<PackageVersion Include="StackExchange.Redis" Version="2.6.90"/>
</ItemGroup>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="BouncyCastle.Cryptography" Version="2.6.1" />
<PackageVersion Include="Docker.DotNet.Enhanced.X509" Version="3.128.5" />
<PackageVersion Include="Docker.DotNet.Enhanced" Version="3.128.5" />
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="8.0.0" />
<PackageVersion Include="Microsoft.Bcl.HashCode" Version="1.1.1" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.3" />
<PackageVersion Include="SharpZipLib" Version="1.4.2" />
<PackageVersion Include="SSH.NET" Version="2024.2.0" />
<!-- Cake build: -->
<PackageVersion Include="Cake.Frosting.Git" Version="5.0.1" />
<PackageVersion Include="Cake.Frosting" Version="5.0.0" />
<PackageVersion Include="Cake.Sonar" Version="5.0.0" />
<!-- Unit and integration test dependencies: -->
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
<PackageVersion Include="Microsoft.Extensions.Diagnostics.Testing" Version="8.10.0" />
<PackageVersion Include="coverlet.collector" Version="6.0.4" />
<PackageVersion Include="Dapper" Version="2.1.66" />
<PackageVersion Include="ReflectionMagic" Version="5.0.1" />
<PackageVersion Include="xunit.analyzers" Version="1.21.0" />
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.0" />
<PackageVersion Include="xunit" Version="2.9.3" />
<PackageVersion Include="xunit.v3" Version="2.0.2" />
<!-- xUnit.net extensibility for Testcontainers.Xunit and Testcontainers.XunitV3 packages: -->
<PackageVersion Include="xunit.extensibility.execution" Version="2.9.3" />
<PackageVersion Include="xunit.v3.extensibility.core" Version="2.0.2" />
<!-- Third-party client dependencies to connect and interact with the containers: -->
<PackageVersion Include="Apache.NMS.ActiveMQ" Version="2.1.1" />
<PackageVersion Include="ArangoDBNetStandard" Version="2.0.1" />
<PackageVersion Include="AWSSDK.CloudWatchLogs" Version="3.7.104.14" />
<PackageVersion Include="AWSSDK.DynamoDBv2" Version="3.7.101.42" />
<PackageVersion Include="AWSSDK.S3" Version="3.7.103.3" />
<PackageVersion Include="AWSSDK.SimpleNotificationService" Version="3.7.101.7" />
<PackageVersion Include="AWSSDK.SQS" Version="3.7.100.71" />
<PackageVersion Include="Azure.Data.Tables" Version="12.8.0" />
<PackageVersion Include="Azure.Identity" Version="1.13.2" />
<PackageVersion Include="Azure.Messaging.EventHubs" Version="5.11.3" />
<PackageVersion Include="Azure.Messaging.ServiceBus" Version="7.18.2" />
<PackageVersion Include="Azure.Security.KeyVault.Certificates" Version="4.7.0" />
<PackageVersion Include="Azure.Security.KeyVault.Secrets" Version="4.7.0" />
<PackageVersion Include="Azure.Storage.Blobs" Version="12.17.0" />
<PackageVersion Include="Azure.Storage.Queues" Version="12.15.0" />
<PackageVersion Include="CassandraCSharpDriver" Version="3.22.0" />
<PackageVersion Include="ClickHouse.Client" Version="7.9.1" />
<PackageVersion Include="Confluent.Kafka" Version="2.8.0" />
<PackageVersion Include="Confluent.SchemaRegistry.Serdes.Json" Version="2.8.0" />
<PackageVersion Include="Confluent.SchemaRegistry" Version="2.8.0" />
<PackageVersion Include="Consul" Version="1.6.10.9" />
<PackageVersion Include="CouchbaseNetClient" Version="3.7.2" />
<PackageVersion Include="DotPulsar" Version="3.6.0" />
<PackageVersion Include="Elastic.Clients.Elasticsearch" Version="8.16.3" />
<PackageVersion Include="EventStore.Client.Grpc.Streams" Version="22.0.0" />
<PackageVersion Include="FirebirdSql.Data.FirebirdClient" Version="10.0.0" />
<PackageVersion Include="Google.Cloud.BigQuery.V2" Version="3.4.0" />
<PackageVersion Include="Google.Cloud.Bigtable.Admin.V2" Version="3.7.0" />
<PackageVersion Include="Google.Cloud.Firestore" Version="3.1.0" />
<PackageVersion Include="Google.Cloud.PubSub.V1" Version="3.5.0" />
<PackageVersion Include="Google.Cloud.Storage.V1" Version="4.6.0" />
<PackageVersion Include="InfluxDB.Client" Version="4.18.0" />
<PackageVersion Include="JanusGraph.Net" Version="1.0.0" />
<PackageVersion Include="Keycloak.Net.Core" Version="1.0.20" />
<PackageVersion Include="KubernetesClient" Version="15.0.1" />
<PackageVersion Include="Microsoft.Azure.Cosmos" Version="3.32.1" />
<PackageVersion Include="Microsoft.Azure.Kusto.Data" Version="12.2.8" />
<PackageVersion Include="Microsoft.Data.SqlClient" Version="5.2.2" />
<PackageVersion Include="Milvus.Client" Version="2.2.2-preview.6" />
<PackageVersion Include="MongoDB.Driver" Version="3.2.0" />
<PackageVersion Include="MyCouch" Version="7.6.0" />
<PackageVersion Include="MySqlConnector" Version="2.2.5" />
<PackageVersion Include="NATS.Client" Version="1.0.8" />
<PackageVersion Include="Neo4j.Driver" Version="5.5.0" />
<PackageVersion Include="Net.IBM.Data.Db2-lnx" Version="9.0.0.100" />
<PackageVersion Include="Net.IBM.Data.Db2-osx" Version="9.0.0.100" />
<PackageVersion Include="Net.IBM.Data.Db2" Version="9.0.0.100" />
<PackageVersion Include="Npgsql" Version="6.0.11" />
<PackageVersion Include="OllamaSharp" Version="5.1.13" />
<PackageVersion Include="OpenSearch.Client" Version="1.8.0" />
<PackageVersion Include="Oracle.ManagedDataAccess.Core" Version="23.7.0" />
<PackageVersion Include="Qdrant.Client" Version="1.13.0" />
<PackageVersion Include="RabbitMQ.Client" Version="6.4.0" />
<PackageVersion Include="RavenDB.Client" Version="5.4.100" />
<PackageVersion Include="Selenium.WebDriver" Version="4.8.1" />
<PackageVersion Include="StackExchange.Redis" Version="2.6.90" />
</ItemGroup>
</Project>
2 changes: 1 addition & 1 deletion build.ps1
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
dotnet run --project build/Build.csproj -- $args
exit $LASTEXITCODE;
exit $LASTEXITCODE;
6 changes: 5 additions & 1 deletion build.sh
Original file line number Diff line number Diff line change
@@ -1 +1,5 @@
dotnet run --project ./build/Build.csproj -- "$@"
#!/bin/sh

set -e

dotnet run --project ./build/Build.csproj -- "$@"
24 changes: 12 additions & 12 deletions build/Build.csproj
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<OutputType>Exe</OutputType>
<SignAssembly>false</SignAssembly>
<RunWorkingDirectory>$(MSBuildProjectDirectory)/..</RunWorkingDirectory>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Cake.Frosting.Git"/>
<PackageReference Include="Cake.Frosting"/>
<PackageReference Include="Cake.Sonar"/>
</ItemGroup>
</Project>
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<OutputType>Exe</OutputType>
<SignAssembly>false</SignAssembly>
<RunWorkingDirectory>$(MSBuildProjectDirectory)/..</RunWorkingDirectory>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Cake.Frosting.Git" />
<PackageReference Include="Cake.Frosting" />
<PackageReference Include="Cake.Sonar" />
</ItemGroup>
</Project>
11 changes: 4 additions & 7 deletions build/Credentials.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,7 @@ private BuildCredentials(string username, string password)

public static BuildCredentials GetCodeSigningCertificateCredentials(ICakeContext context)
{
return new BuildCredentials
(
return new BuildCredentials(
null,
context.EnvironmentVariable("CODE_SIGNING_CERTIFICATE_PASSWORD")
);
Expand All @@ -38,8 +37,7 @@ private SonarQubeCredentials(string url, string key, string token, string organi

public static SonarQubeCredentials GetSonarQubeCredentials(ICakeContext context)
{
return new SonarQubeCredentials
(
return new SonarQubeCredentials(
context.EnvironmentVariable("SONARCLOUD_URL"),
context.EnvironmentVariable("SONARCLOUD_KEY"),
context.EnvironmentVariable("SONARCLOUD_TOKEN"),
Expand All @@ -61,10 +59,9 @@ private NuGetCredentials(string source, string apiKey)

public static NuGetCredentials GetNuGetCredentials(ICakeContext context)
{
return new NuGetCredentials
(
return new NuGetCredentials(
context.EnvironmentVariable("FEED_SOURCE"),
context.EnvironmentVariable("FEED_API_KEY")
);
}
}
}
14 changes: 8 additions & 6 deletions build/Parameters.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@ namespace Testcontainers.Build;

internal sealed class BuildParameters
{
private BuildParameters()
{
}
private BuildParameters() { }

public string Solution { get; private set; }
public string Target { get; private set; }
Expand Down Expand Up @@ -39,7 +37,10 @@ public static BuildParameters Instance(ICakeContext context)
{
Solution = context.MakeAbsolute(new DirectoryPath(solutionFilePath)).FullPath,
Target = context.Argument("target", "Default"),
Configuration = context.Argument("configuration", buildInformation.IsReleaseBuild ? "Release" : "Debug"),
Configuration = context.Argument(
"configuration",
buildInformation.IsReleaseBuild ? "Release" : "Debug"
),
Sha = buildInformation.Sha,
Branch = buildInformation.Branch,
SourceBranch = buildInformation.SourceBranch,
Expand All @@ -53,11 +54,12 @@ public static BuildParameters Instance(ICakeContext context)
IsPullRequest = buildInformation.IsPullRequest,
ShouldPublish = !buildInformation.IsLocalBuild && buildInformation.ShouldPublish,
Verbosity = DotNetVerbosity.Minimal,
CodeSigningCertificateCredentials = BuildCredentials.GetCodeSigningCertificateCredentials(context),
CodeSigningCertificateCredentials =
BuildCredentials.GetCodeSigningCertificateCredentials(context),
SonarQubeCredentials = SonarQubeCredentials.GetSonarQubeCredentials(context),
NuGetCredentials = NuGetCredentials.GetNuGetCredentials(context),
Projects = BuildProjects.Instance(context, solutionFilePath),
Paths = BuildPaths.Instance(context, buildInformation.Version),
};
}
}
}
9 changes: 4 additions & 5 deletions build/Paths.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@ namespace Testcontainers.Build;

internal sealed class BuildPaths
{
private BuildPaths()
{
}
private BuildPaths() { }

public BuildFiles Files { get; private set; }
public BuildDirectories Directories { get; private set; }
Expand Down Expand Up @@ -55,7 +53,8 @@ public BuildDirectories(
DirectoryPath testResultsDir,
DirectoryPath testCoverageDir,
DirectoryPath nugetDir,
DirectoryPath artifactsDir)
DirectoryPath artifactsDir
)
{
TestResultsDirectoryPath = testResultsDir;
TestCoverageDirectoryPath = testCoverageDir;
Expand All @@ -70,4 +69,4 @@ public BuildDirectories(
new DirectoryPath(".sonarqube"),
};
}
}
}
2 changes: 1 addition & 1 deletion build/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ public static int Main(string[] args)
.UseLifetime<BuildLifetime>()
.Run(args);
}
}
}
Loading
Loading