Skip to content
Closed
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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
"additionalVersions": ["6.0","8.0"]
},
"ghcr.io/devcontainers/features/node": {
"version": "12",
"additionalVersions": ["18","20"]
"version": "18",
"additionalVersions": ["20"]
},
"ghcr.io/devcontainers/features/github-cli": {},
"ghcr.io/nils-geistmann/devcontainers-features/zsh": {
Expand Down
9 changes: 2 additions & 7 deletions .github/workflows/ci-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,8 @@ jobs:
run: |
dotnet build --configuration Release

- name: Test (Node 12)
if: matrix.node-version == 12
run: dotnet test --configuration Release --no-build --no-restore --verbosity normal --filter "TestCategory!=Node18" --collect:"XPlat Code Coverage" --logger trx --results-directory TestResults

- name: Test (Node 18)
if: matrix.node-version == 18
run: dotnet test --configuration Release --no-build --no-restore --verbosity normal --filter "TestCategory!=Node12" --collect:"XPlat Code Coverage" --logger trx --results-directory TestResults
- name: Test
run: dotnet test --configuration Release --no-build --no-restore --verbosity normal --collect:"XPlat Code Coverage" --logger trx --results-directory TestResults

- name: Merge Coverage Reports
run: |
Expand Down
2 changes: 1 addition & 1 deletion .husky/pre-commit
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ staged_files=$(git diff --cached --name-only)
# Check if any changes are in cmf-cli, core, or tests folders
if echo "$staged_files" | grep -qE "^(cmf-cli|core|tests)/"; then
echo "Changes detected in cmf-cli, core, or tests folders. Running tests..."
dotnet test --filter "(TestCategory!=LongRunning)&(TestCategory!=Node12)"
dotnet test --filter "(TestCategory!=LongRunning)"
else
echo "No changes in cmf-cli, core, or tests folders. Skipping tests."
fi
4 changes: 2 additions & 2 deletions cmf-cli/Commands/build/GenerateBasedOnTemplatesCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ public void Execute(IDirectoryInfo packagePath)

var helpRoot = FileSystemUtilities.GetPackageRootByType(packagePath.FullName, PackageType.Help, this.fileSystem).FullName;
var project = ExecutionContext.Instance.ProjectConfig.Tenant;
var helpPackagesRoot = (mesVersion.Major > 9) ? this.fileSystem.Path.Join(helpRoot, "projects") : this.fileSystem.Path.Join(helpRoot, "src", "packages");
var helpPackagesRoot = this.fileSystem.Path.Join(helpRoot, "projects");
var helpPackages = this.fileSystem.Directory.GetDirectories(helpPackagesRoot);
var pkgName = CmfPackage.Load(this.fileSystem.FileInfo.New(this.fileSystem.Path.Join(helpRoot, CliConstants.CmfPackageFileName))).PackageId.ToLowerInvariant();
foreach (var helpPackagePath in helpPackages)
Expand All @@ -84,7 +84,7 @@ public void Execute(IDirectoryInfo packagePath)
}
}

Generate(helpPackagePath, useLegacyFormat ? project : ( (mesVersion.Major > 9) ? pkgName.Replace(".", "-").ToLowerInvariant() : pkgName));
Generate(helpPackagePath, useLegacyFormat ? project : pkgName.Replace(".", "-").ToLowerInvariant());
}
}

Expand Down
4 changes: 2 additions & 2 deletions cmf-cli/Commands/build/GenerateMenuItemsCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,8 @@ public void Execute(IDirectoryInfo packagePath)

var regex = new Regex("\"?id\"?:\\s+[\"'](.*)[\"']"); // match for menu item IDs

var packagesDir = (mesVersion.Major > 9) ? this.fileSystem.DirectoryInfo.New(this.fileSystem.Path.Join(helpRoot, "projects")) : this.fileSystem.DirectoryInfo.New(this.fileSystem.Path.Join(helpRoot, "src", "packages"));
var helpPackages = packagesDir.GetDirectories("cmf.docs.area.*".Replace(".", (mesVersion.Major > 9) ? "-" : "."));
var packagesDir = this.fileSystem.DirectoryInfo.New(this.fileSystem.Path.Join(helpRoot, "projects"));
var helpPackages = packagesDir.GetDirectories("cmf.docs.area.*".Replace(".", "-"));

void GetMetadataFromFolder(IDirectoryInfo current, List<object> metadata, IDirectoryInfo parent = null)
{
Expand Down
43 changes: 18 additions & 25 deletions cmf-cli/Commands/build/IoTLibCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -63,37 +63,30 @@ public override void Configure(Command cmd)
/// <param name="version">package version</param>
public void Execute(IDirectoryInfo workingDir)
{
if (ExecutionContext.Instance.ProjectConfig.MESVersion.Major > 9)
{
IFileInfo cmfpackageFile = this.fileSystem.FileInfo.New($"{workingDir}/{CliConstants.CmfPackageFileName}");
var cmfPackage = CmfPackage.Load(cmfpackageFile, setDefaultValues: true, this.fileSystem);
IFileInfo cmfpackageFile = this.fileSystem.FileInfo.New($"{workingDir}/{CliConstants.CmfPackageFileName}");
var cmfPackage = CmfPackage.Load(cmfpackageFile, setDefaultValues: true, this.fileSystem);

if (cmfPackage.PackageType != PackageType.IoT)
{
throw new CliException(CliMessages.CommandIsOnlyValidForPackageOfTypeIoT);
}
if (cmfPackage.PackageType != PackageType.IoT)
{
throw new CliException(CliMessages.CommandIsOnlyValidForPackageOfTypeIoT);
}

var listOfLibs = workingDir.EnumerateDirectories().FirstOrDefault(dir => dir.Name == "dist").EnumerateDirectories();
cmfPackage.RelatedPackages?.ForEach(relatedPackage =>
var listOfLibs = workingDir.EnumerateDirectories().FirstOrDefault(dir => dir.Name == "dist").EnumerateDirectories();
cmfPackage.RelatedPackages?.ForEach(relatedPackage =>
{
if (relatedPackage.CmfPackage.GetFileInfo().Directory.GetFile(CliConstants.AngularJson) != null)
{
if (relatedPackage.CmfPackage.GetFileInfo().Directory.GetFile(CliConstants.AngularJson) != null)
foreach (var lib in listOfLibs)
{
foreach (var lib in listOfLibs)
new NPMCommand()
{
new NPMCommand()
{
DisplayName = "npm link dist",
Args = new string[] { "link", lib.FullName },
WorkingDirectory = relatedPackage.CmfPackage.GetFileInfo().Directory
}.Exec();
}
DisplayName = "npm link dist",
Args = new string[] { "link", lib.FullName },
WorkingDirectory = relatedPackage.CmfPackage.GetFileInfo().Directory
}.Exec();
}
});
}
else
{
throw new CliException(string.Format(CliMessages.InvalidVersionForCommand, "10"));
}
}
});
}
}
}
29 changes: 3 additions & 26 deletions cmf-cli/Commands/init/InitCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -562,33 +562,10 @@ internal void Execute(InitArguments x)
var version = Version.Parse(x.BaseVersion);
args.AddRange(new []{ "--dotnetSDKVersion", ExecutionContext.ServiceProvider.GetService<IDependencyVersionService>().DotNetSdk(version) });

if (version.Major > 9)
if (string.IsNullOrWhiteSpace(x.ngxSchematicsVersion))
{
if (string.IsNullOrWhiteSpace(x.ngxSchematicsVersion))
{
throw new CliException(
"--ngxSchematicsVersion is required when targeting a base version of 10 or above.");
}
}
else
{
var errors = new List<string>();
if (string.IsNullOrWhiteSpace(x.DevTasksVersion))
{
errors.Add("--DevTasksVersion is required when targeting a base version lower than 10.");
}
if (string.IsNullOrWhiteSpace(x.HTMLStarterVersion))
{
errors.Add("--HTMLStarterVersion is required when targeting a base version lower than 10.");
}
if (string.IsNullOrWhiteSpace(x.yoGeneratorVersion))
{
errors.Add("--yoGeneratorVersion is required when targeting a base version lower than 10.");
}
if (errors.Count > 0)
{
throw new CliException(string.Join(Environment.NewLine, errors));
}
throw new CliException(
"--ngxSchematicsVersion is required when targeting a base version of 10 or above.");
}
#endregion

Expand Down
35 changes: 16 additions & 19 deletions cmf-cli/Commands/new/BusinessCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -83,28 +83,25 @@ protected override List<string> GenerateArgs(IDirectoryInfo projectRoot, IDirect
var mesVersion = ExecutionContext.Instance.ProjectConfig.MESVersion;
var includeMESNugets = true;

if (mesVersion.Major > 8)
{
this.CommandName = "business9";
var baseLayer = ExecutionContext.Instance.ProjectConfig.BaseLayer ?? CliConstants.DefaultBaseLayer;
includeMESNugets = baseLayer == BaseLayer.MES;
Log.Debug($"Project is targeting base layer {baseLayer}, so scaffolding {(includeMESNugets ? "with" : "without")} MES nugets.");
this.CommandName = "business9";
var baseLayer = ExecutionContext.Instance.ProjectConfig.BaseLayer ?? CliConstants.DefaultBaseLayer;
includeMESNugets = baseLayer == BaseLayer.MES;
Log.Debug($"Project is targeting base layer {baseLayer}, so scaffolding {(includeMESNugets ? "with" : "without")} MES nugets.");

args.AddRange(new []{ "--targetFramework", mesVersion.Major >= 11 ? "net8.0" : "net6.0" });
args.AddRange(new []{ "--targetFramework", mesVersion.Major >= 11 ? "net8.0" : "net6.0" });

if (ExecutionContext.Instance.ProjectConfig.RepositoryType == RepositoryType.App)
if (ExecutionContext.Instance.ProjectConfig.RepositoryType == RepositoryType.App)
{
var appData = ExecutionContext.Instance.AppData ??
throw new CliException("Could not retrieve repository AppData.");
args.AddRange(new[]
{
var appData = ExecutionContext.Instance.AppData ??
throw new CliException("Could not retrieve repository AppData.");
args.AddRange(new[]
{
"--app", "true",
"--licensedAppName", appData.licensedApplication,
"--fileVersion", $"{mesVersion}.0",
"--assemblyVersion", $"{mesVersion.Major}.{mesVersion.Minor}.0.0",
"--addApplicationVersionAssembly", AddApplicationVersionAssembly.ToString()
});
}
"--app", "true",
"--licensedAppName", appData.licensedApplication,
"--fileVersion", $"{mesVersion}.0",
"--assemblyVersion", $"{mesVersion.Major}.{mesVersion.Minor}.0.0",
"--addApplicationVersionAssembly", AddApplicationVersionAssembly.ToString()
});
}

// calculate relative path to local environment and create a new symbol for it
Expand Down
6 changes: 1 addition & 5 deletions cmf-cli/Commands/new/DataCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,7 @@ protected override List<string> GenerateArgs(IDirectoryInfo projectRoot, IDirect
"--repositoryType", repoType.ToString()
});

#region version-specific bits

var version = ExecutionContext.Instance.ProjectConfig.MESVersion;
args.AddRange(new []{ "--targetFramework", version.Major > 8 ? "net6.0" : "netstandard2.0" });
#endregion
args.AddRange(new []{ "--targetFramework", "net6.0"});

return args;
}
Expand Down
5 changes: 0 additions & 5 deletions cmf-cli/Commands/new/GrafanaCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,6 @@ public GrafanaCommand(IFileSystem fileSystem) : base("grafana", PackageType.Graf
/// <inheritdoc />
protected override List<string> GenerateArgs(IDirectoryInfo projectRoot, IDirectoryInfo workingDir, List<string> args)
{
if (ExecutionContext.Instance.ProjectConfig.MESVersion.Major < 10)
{
throw new CliException("Version unsupported, available in MES >= 10");
}

var isRepositoryType = ExecutionContext.Instance.ProjectConfig.RepositoryType == RepositoryType.App;

args.AddRange(new[]
Expand Down
Loading
Loading