Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 4.0.0 #325

Merged
merged 79 commits into from
Jul 26, 2023
Merged
Changes from 1 commit
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
5281ff1
chore!: upgrade dotnet command line api dependencies to the latest beta
m-s- Feb 28, 2023
d26d209
chore: upgrade dotnet/templating dependency to latest v6
m-s- Mar 2, 2023
519aa02
chore: upgrade several nuget dependencies
m-s- Mar 3, 2023
06ad621
chore: upgrade System.IO.Abstractions nugets
m-s- Mar 3, 2023
d9f35b1
refactor!: invoke execution via Parser instead of RootCommand, with a…
m-s- Mar 6, 2023
cf41659
feat: support scaffolding apps in `cmf init`
m-s- Mar 9, 2023
8eebd69
test: increase test coverage for pack and assemble
ricardofslp Mar 16, 2023
9d60396
refactor!: revert Consistency Check
jrk94 Mar 21, 2023
500118c
chore(plugin): bump template cli core dependency (#287)
jrk94 Mar 27, 2023
c59345f
feat(new): allow scaffolding HTML packages for MES v10
m-s- Mar 20, 2023
fb676f8
chore: migrate GenerateBasedOnTemplates to csharp to remove Powershel…
m-s- Mar 23, 2023
f9f0f96
feat(build): support @angular/cli managed HTML package
m-s- Mar 9, 2023
0fb4c91
chore: use npx for invoking ng, so we don't require installation
m-s- Mar 20, 2023
8090bee
feat(bump): support @angular/cli managed HTML packages
joaoopereira Mar 22, 2023
b6b77dc
chore(pipelines)!: improvements on CI-Release and CD-Containers
joaoopereira Feb 28, 2023
eb1f5d2
refactor(pipelines)!: move all environment related variables to Build…
joaoopereira Mar 2, 2023
05be07b
chore: add ISOLocation to project-config
joaoopereira Mar 28, 2023
731b738
feat(pipelines)!: add Authentication Variables closes #253
joaoopereira Mar 6, 2023
438f820
chore(pipelines): small fixes on improvements
joaoopereira Mar 28, 2023
a037440
refactor: move TemplaceCommand to Core
joaoopereira Mar 31, 2023
7a9e2c8
feat: scaffold a reference doc package for MES v10
m-s- Mar 24, 2023
91406d5
fix: missing MES version token replacement in new Feature command
m-s- Mar 29, 2023
b06b5b0
chore: support latest version of ngx-schematics
m-s- Mar 29, 2023
807564c
feat: build MES v10 help packages
m-s- Mar 30, 2023
c4c9802
fixup! feat(new): allow scaffolding HTML packages for MES v10
m-s- Mar 30, 2023
a2d3ab8
Merge remote-tracking branch 'origin/main' into development
m-s- Apr 4, 2023
ff7450a
chore: change deprecated System.IO.Abstraction methods to the newer e…
m-s- Apr 4, 2023
41cb620
refactor: read project-config as a versioned object instead of a Json…
m-s- Apr 4, 2023
e969d3b
test: test the new project-config mechanism
m-s- Apr 5, 2023
35f76dc
chore: fix plugin scaffolding template
joaoopereira Apr 3, 2023
34940ba
chore: remove stale documentation
m-s- Apr 5, 2023
d29ee9f
chore: move documentation to the code branch
m-s- Apr 5, 2023
02583f4
chore: bump to 4.0.0-0
m-s- Apr 10, 2023
114a53f
refactor(pipelines)!: deprecate pipelines scaffolding
joaoopereira Apr 11, 2023
cd4558c
chore: bump to 4.0.0-1
joaoopereira Apr 12, 2023
b8b11af
fix(plugins): pass null to NPMClient if no registry was specified
m-s- Apr 17, 2023
7293ca9
refactor(installation): remove temporary zip file from github releases
m-s- Apr 17, 2023
67df93a
chore(init): fix typo in project-config
joaoopereira Apr 17, 2023
ec688f4
docs(refactor): deprecate pipelines scaffolding
joaoopereira Apr 17, 2023
a69836e
chore(docs): make pdf export optional
joaoopereira Apr 17, 2023
2f3bb51
refactor: support pre-release ngxSchematics and yeoman generators
m-s- Apr 18, 2023
4ba5e6f
refactor(plugins)!: bypass System.CommandLine API when invoking plugins
m-s- Apr 18, 2023
1793658
docs: remove repositoryUrl from cmf init
joaoopereira May 2, 2023
1f9f14c
chore: remove powershell runtime as it's no longer needed
m-s- Apr 20, 2023
60f0328
refactor(build): remove .NET bundling from bundle (testing) builds
m-s- Apr 20, 2023
d9e24fa
feat: add validate start/end methods command
Apr 19, 2023
5802fe8
chore: do not process methods without input object
Apr 19, 2023
a2d41f1
chore: validate method name
Apr 19, 2023
952c130
chore: change factory to singleton and processors to transient
Apr 20, 2023
49d9d5b
chore: fix typo
m-s- Apr 26, 2023
aee6c86
chore: replace values with tokens in index.html, ngsw.json and assets…
m-s- Apr 26, 2023
9216048
chore: bump to 4.0.0-2
joaoopereira May 8, 2023
7c98f98
docs: fix scaffolding typo
joaoopereira May 16, 2023
debdd2f
chore: avoid exception when envar is already set
joaoopereira May 16, 2023
e9223b8
chore: bump to 4.0.0-3
joaoopereira May 16, 2023
1109ad2
feat(LBOs): automatically link LBOs when building UI packages
m-s- May 29, 2023
08102a9
feat(help packages): add token placer as we do for html
m-s- May 25, 2023
ed5ec3a
refactor(LBOs)!: remove deprecated LBO generation script
m-s- May 29, 2023
a32053d
chore: remove nullable notation where not needed
m-s- May 29, 2023
1ca6dea
chore: bump to 4.0.0-4
m-s- May 30, 2023
e983ebb
chore: log warning instead of information on development version checks
joaoopereira Jun 5, 2023
70a5d3e
chore(new html): build app and define config settings after new
joaoopereira Jun 13, 2023
8216a71
fix(build): use package name instead of workspace key for token replacer
m-s- Jun 22, 2023
67ecd4d
chore: bump to 4.0.0-5
m-s- Jun 22, 2023
defda80
chore: bump to 4.0.0-6
m-s- Jun 29, 2023
a024784
feat(new): add Support for New IoT V10
jrk94 Apr 11, 2023
01428ea
fix: change on V9 IoT Build Process
jrk94 Jun 30, 2023
d7cbd37
chore: bump to 4.0.0-7
m-s- Jul 3, 2023
7264300
fix: iot for versions lesser than v835 (#319)
jrk94 Jul 3, 2023
353404a
chore: bump to 4.0.0-8
m-s- Jul 3, 2023
20fcfcb
fix: guard DevTasksVersion
jrk94 Jul 6, 2023
9bbd982
fix: reference Nuget.Versioning directly, as we use it for SemanticVe…
m-s- Jul 13, 2023
7d55d0a
chore: bump to 4.0.0-9
m-s- Jul 13, 2023
2823196
chore: reduce log messages verbosity
joaoopereira Jul 11, 2023
58b9fb8
chore(refactor): improve RelatedPackages logic
joaoopereira Jul 11, 2023
b5a2212
chore: bump to 4.0.0-10
m-s- Jul 17, 2023
8668f8a
chore(new IoT): set RelatedPackages with RelativePath
joaoopereira Jul 24, 2023
edcdfab
test(new IoT): merged v9 and v10 tests
joaoopereira Jul 25, 2023
400118d
chore: release v4.0.0
m-s- Jul 25, 2023
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
Prev Previous commit
Next Next commit
feat(new): add Support for New IoT V10
fix: address comments

fix: ioTLibCommand should not be concerned with install and build
jrk94 authored and m-s- committed Jun 29, 2023
commit a02478412d7ece47148117ebfed7b92c2f18f151
2 changes: 1 addition & 1 deletion .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

dotnet test --filter TestCategory!=LongRunning
dotnet test --filter "(TestCategory!=LongRunning)&(TestCategory!=Node12)"
27 changes: 27 additions & 0 deletions cmf-cli/CliMessages.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions cmf-cli/CliMessages.resx
Original file line number Diff line number Diff line change
@@ -117,10 +117,20 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="CommandIsOnlyValidForPackageOfTypeIoT" xml:space="preserve">
<value>Command is only valid for Packages of Type IoT</value>
</data>
<data name="GetPackage" xml:space="preserve">
<value>Get Package {0}.{1}...</value>
<comment>0 - Id; 1 - Version</comment>
</data>
<data name="InvalidVersionForCommand" xml:space="preserve">
<value>This Command does not apply to your version, version must be at least {0}</value>
<comment>0 - Version of MES</comment>
</data>
<data name="IoTV10HTMLPackageMustBeProvided" xml:space="preserve">
<value>Please provide and scaffold an HTML package</value>
</data>
<data name="MissingMandatoryDependency" xml:space="preserve">
<value>Mandatory Dependency {0}.{1} not found</value>
<comment>0 - Dependency Name; 1 - Dependency Version</comment>
8 changes: 4 additions & 4 deletions cmf-cli/Commands/build/BuildCommand.cs
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
using System.CommandLine;
using System.CommandLine.NamingConventionBinder;
using System.IO.Abstractions;
using Cmf.CLI.Constants;
using Cmf.CLI.Core.Attributes;
using Cmf.CLI.Core.Interfaces;
using Cmf.CLI.Core.Objects;
using Cmf.CLI.Factories;
using Cmf.CLI.Interfaces;
using Cmf.CLI.Utilities;
using Microsoft.Extensions.DependencyInjection;
using System.CommandLine;
using System.CommandLine.NamingConventionBinder;
using System.IO.Abstractions;

namespace Cmf.CLI.Commands
{
2 changes: 1 addition & 1 deletion cmf-cli/Commands/build/HelpCommand.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
using System.CommandLine;
using Cmf.CLI.Core.Attributes;
using System.CommandLine;

namespace Cmf.CLI.Commands
{
21 changes: 21 additions & 0 deletions cmf-cli/Commands/build/IoTCommand.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
using Cmf.CLI.Core.Attributes;
using System.CommandLine;

namespace Cmf.CLI.Commands
{
/// <summary>
/// Parent Command For IoT
/// </summary>
/// <seealso cref="BaseCommand" />
[CmfCommand(name: "iot", ParentId = "build", Id = "build_iot", Description = "Parent Command For IoT")]
public class IotCommand : BaseCommand
{
/// <summary>
/// Configure command
/// </summary>
/// <param name="cmd"></param>
public override void Configure(Command cmd)
{
}
}
}
95 changes: 95 additions & 0 deletions cmf-cli/Commands/build/IoTLibCommand.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
using Cmf.CLI.Builders;
using Cmf.CLI.Constants;
using Cmf.CLI.Core.Attributes;
using Cmf.CLI.Core.Enums;
using Cmf.CLI.Core.Objects;
using Cmf.CLI.Utilities;
using System.CommandLine;
using System.CommandLine.NamingConventionBinder;
using System.IO.Abstractions;
using System.Linq;

namespace Cmf.CLI.Commands.New
{
/// <summary>
/// Links all Related Packages to IoT Package
/// </summary>
[CmfCommand("lib", ParentId = "build_iot", Id = "build_iot_lib", Description = "Links all Related Packages to IoT Package")]
public class IoTLibCommand : BaseCommand
{
/// <summary>
/// constructor
/// </summary>
public IoTLibCommand() : base()
{
}

/// <summary>
/// constructor
/// </summary>
/// <param name="fileSystem">the filesystem implementation</param>
public IoTLibCommand(IFileSystem fileSystem) : base(fileSystem)
{
}

public override void Configure(Command cmd)
{
var nearestRootPackage = FileSystemUtilities.GetPackageRootByType(
this.fileSystem.Directory.GetCurrentDirectory(),
PackageType.IoT,
this.fileSystem
);

cmd.AddArgument(new Argument<IDirectoryInfo>(
name: "workingDir",
parse: (argResult) => Parse<IDirectoryInfo>(argResult, nearestRootPackage?.FullName),
isDefault: true
)
{
Description = "Working Directory"
});

cmd.Handler = CommandHandler.Create<IDirectoryInfo>(this.Execute);
}

/// <summary>
/// Execute the command
/// </summary>
/// <param name="workingDir">nearest root package</param>
/// <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);

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

var listOfLibs = workingDir.EnumerateDirectories().FirstOrDefault(dir => dir.Name == "dist").EnumerateDirectories();
cmfPackage.RelatedPackages.ForEach(relatedPackage =>
{
if (relatedPackage.Path.GetFile(CliConstants.AngularJson) != null)
{
foreach (var lib in listOfLibs)
{
new NPMCommand()
{
DisplayName = "npm link dist",
Args = new string[] { "link", lib.FullName },
WorkingDirectory = relatedPackage.Path
}.Exec();
}
}
});
}
else
{
throw new CliException(string.Format(CliMessages.InvalidVersionForCommand, "10"));
}
}
}
}
12 changes: 6 additions & 6 deletions cmf-cli/Commands/bump/BumpCommand.cs
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
using System.Collections.Generic;
using System.CommandLine;
using System.CommandLine.NamingConventionBinder;
using System.IO;
using System.IO.Abstractions;
using Cmf.CLI.Constants;
using Cmf.CLI.Core.Attributes;
using Cmf.CLI.Core.Interfaces;
using Cmf.CLI.Core.Objects;
using Cmf.CLI.Factories;
using Cmf.CLI.Interfaces;
using Cmf.CLI.Utilities;
using Microsoft.Extensions.DependencyInjection;
using System.Collections.Generic;
using System.CommandLine;
using System.CommandLine.NamingConventionBinder;
using System.IO;
using System.IO.Abstractions;

namespace Cmf.CLI.Commands
{
2 changes: 1 addition & 1 deletion cmf-cli/Commands/init/InitCommand.cs
Original file line number Diff line number Diff line change
@@ -112,7 +112,7 @@ public override void Configure(Command cmd)
description: "Deployments directory"
){ IsRequired = true });
cmd.AddOption(new Option<string>(
aliases: new[] { "--BaseVersion", "--MESVersion" },
aliases: new[] { "--baseVersion", "--MESVersion" },
description: "Target CM framework/MES version"
) { IsRequired = true });
cmd.AddOption(new Option<string>(
Loading