Skip to content
Merged
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
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -69,3 +69,5 @@ AppPackages/
# but keep track of directories ending in .cache
!*.[Cc]ache/
/Maverick.PCF.Builder/SealedClasses/EntityDetails.cs
/Maverick.PCF.Builder/.vs
/.gitignore
20 changes: 19 additions & 1 deletion Maverick.PCF.Builder.Helper/Commands.cs
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,25 @@ public static string SetExecutionPolicyToUnrestricted()
return $"powershell \"& \"Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser -force\"\"";
}

public static string ResetExecutionPolicy()
public static string SetCustomExecutionPolicy(string customPolicy)
{
if (string.IsNullOrEmpty(customPolicy))
{
return string.Empty;
}
return $"powershell \"& \"Set-ExecutionPolicy {customPolicy}\"\"";
}

public static string SetCustomExecutionPolicyWrapped(string customPolicy)
{
if (string.IsNullOrEmpty(customPolicy))
{
return SetExecutionPolicyToUnrestricted();
}
return $"powershell \"& \"Set-ExecutionPolicy {customPolicy}\"\"";
}

public static string DefaultExecutionPolicy()
{
return $"powershell \"& \"Set-ExecutionPolicy -ExecutionPolicy Default -Scope CurrentUser -force\"\"";
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"RootPath":"Z:\\SourceCode\\GitHub\\Power-Maverick\\PCF-CustomControlBuilder\\Maverick.PCF.Builder.Tests","ProjectFileName":"Maverick.PCF.Builder.Tests.csproj","Configuration":"Debug|AnyCPU","FrameworkPath":"","Sources":[],"References":[],"Analyzers":[],"Outputs":[{"OutputItemFullPath":"Z:\\SourceCode\\GitHub\\Power-Maverick\\PCF-CustomControlBuilder\\Maverick.PCF.Builder.Tests\\bin\\Debug\\Maverick.PCF.Builder.Tests.dll","OutputItemRelativePath":"Maverick.PCF.Builder.Tests.dll"},{"OutputItemFullPath":"","OutputItemRelativePath":""}],"CopyToOutputEntries":[]}
38 changes: 30 additions & 8 deletions Maverick.PCF.Builder/Forms/SettingsForm.Designer.cs

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

4 changes: 4 additions & 0 deletions Maverick.PCF.Builder/Forms/SettingsForm.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ public SettingsForm(Settings localSettings)

txtSetWorkingFolder.Text = pluginSettings.WorkingDirectoryLocation;
txtMsBuildPath.Text = pluginSettings.MsBuildLocation;
txtCustomExecutionPolicy.Text = pluginSettings.CustomExecutionPolicy ?? string.Empty;
txtControlNamespace.Text = pluginSettings.ControlNamespace;
chkboxLoadNamespace.Checked = pluginSettings.AlwaysLoadNamespaceFromSettings;
txtPublisherName.Text = pluginSettings.PublisherName;
Expand All @@ -47,6 +48,7 @@ private void BtnSave_Click(object sender, EventArgs e)
{
pluginSettings.WorkingDirectoryLocation = txtSetWorkingFolder.Text;
pluginSettings.MsBuildLocation = txtMsBuildPath.Text;
pluginSettings.CustomExecutionPolicy = txtCustomExecutionPolicy.Text;

pluginSettings.ControlNamespace = txtControlNamespace.Text;
pluginSettings.AlwaysLoadNamespaceFromSettings = chkboxLoadNamespace.Checked;
Expand All @@ -70,6 +72,8 @@ private void BtnReset_Click(object sender, EventArgs e)
txtSetWorkingFolder.Text = string.Empty;
pluginSettings.WorkingDirectoryLocation = string.Empty;
pluginSettings.MsBuildLocation = string.Empty;
txtCustomExecutionPolicy.Text = string.Empty;
pluginSettings.CustomExecutionPolicy = string.Empty;

pluginSettings.ControlNamespace = string.Empty;
pluginSettings.AlwaysLoadNamespaceFromSettings = true;
Expand Down
1 change: 1 addition & 0 deletions Maverick.PCF.Builder/Maverick.PCF.Builder.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,7 @@
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<None Include="ILMerge.props" />
<None Include="PCF-CustomControlBuilder.nuspec" />
<None Include="Resources\BeanEater.gif" />
<Content Include="Console.ico" />
<Content Include="ILMergeOrder.txt" />
Expand Down
40 changes: 40 additions & 0 deletions Maverick.PCF.Builder/PCF-CustomControlBuilder.nuspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<?xml version="1.0"?>
<package >
<metadata>
<id>Maverick.PCF.Builder</id>
<version>1.0.7</version>
<title>PCF Builder</title>
<authors>Danish Naglekar</authors>
<owners>Power-Maverick</owners>
<projectUrl>https://github.com/Power-Maverick/PCF-CustomControlBuilder</projectUrl>
<iconUrl>https://github.com/Power-Maverick/PCF-CustomControlBuilder/blob/master/icon/PCCB_Icon.png</iconUrl>
<icon>MainIcon.png</icon>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<repository type="git" url="https://github.com/Power-Maverick/PCF-CustomControlBuilder.git" branch="master" />
<license type="expression">MIT</license>
<description>Easily create, build and deployment solution for your custom control using PCF.</description>
<summary>Easily create, build and deployment solution for your custom control using PCF.</summary>
<releaseNotes>
---- NEW FEATURE ----
#65 - Added support for React control and platform libraries (virtual control)

---- BUG FIXES ----
#58 - Additional packages not loaded with existing control

</releaseNotes>
<copyright>Copyright © Danish Naglekar</copyright>
<tags>XrmToolBox, PCF, Power Apps, Power Apps Component Framework, PCF Builder</tags>
<dependencies>
<dependency id="XrmToolBox" version="1.2018.6.24" />
</dependencies>
</metadata>
<files>
<file src="PCFCustomControlBuilder\bin\Release\Maverick.PCF.Builder.dll" target="lib\net462\Plugins" />
<file src="PCFCustomControlBuilder\bin\Release\MainIcon.png" target="" />
<file src="PCFCustomControlBuilder\bin\Release\lcid.json" target="lib\net462\Plugins\Maverick.PCF.Builder\DataFiles" />
<file src="PCFCustomControlBuilder\bin\Release\SupportedDataTypes.json" target="lib\net462\Plugins\Maverick.PCF.Builder\DataFiles" />
<file src="PCFCustomControlBuilder\bin\Release\MsBuild.ps1" target="lib\net462\Plugins\Maverick.PCF.Builder" />
<file src="PCFCustomControlBuilder\bin\Release\CoreTools\*.*" target="lib\net462\Plugins\Maverick.PCF.Builder\CoreTools" />
<file src="PCFCustomControlBuilder\bin\Release\Templates\*.*" target="lib\net462\Plugins\Maverick.PCF.Builder\Templates" />
</files>
</package>
9 changes: 8 additions & 1 deletion Maverick.PCF.Builder/PCFBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,13 @@ public enum AuthProfileAction
private void InitCommandLine()
{
consoleControl.StartProcess("cmd", $"/K powershell");

if (pluginSettings.CustomExecutionPolicy != string.Empty)
{
string[] commands = new string[] { Commands.Cmd.SetCustomExecutionPolicy(pluginSettings.CustomExecutionPolicy) };
CommandLineHelper.RunCommand(commands);
consoleControl.WriteOutput("Custom execution policy was successfully set.\n", Color.AliceBlue);
}
}

private void RunCommandLine(params string[] commands)
Expand Down Expand Up @@ -913,7 +920,7 @@ private string FindMsBuildPath()
}
else
{
string[] commands = new string[] { Commands.Cmd.SetExecutionPolicyToUnrestricted(), Commands.Cmd.FindMsBuild(), Commands.Cmd.ResetExecutionPolicy() };
string[] commands = new string[] { Commands.Cmd.SetCustomExecutionPolicyWrapped(pluginSettings.CustomExecutionPolicy), Commands.Cmd.FindMsBuild(), Commands.Cmd.DefaultExecutionPolicy() };
var output = CommandLineHelper.RunCommand(commands);

if (!string.IsNullOrEmpty(output) && output.ToLower().Contains("msbuild.ps1"))
Expand Down
1 change: 1 addition & 0 deletions Maverick.PCF.Builder/Settings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,6 @@ public Settings()
public string PublisherName { get; set; }
public string PublisherPrefix { get; set; }
public bool AlwaysLoadPublisherDetailsFromSettings { get; set; }
public string CustomExecutionPolicy { get; set; }
}
}