diff --git a/appveyor.yml b/appveyor.yml
index 8928d47ce5..8f1380fe5d 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -20,7 +20,7 @@ artifacts:
- path: artifacts/test
name: test
type: zip
-- path: artifacts/addin/Release/VisualStudio/Eto.Addin.VisualStudio.vsix
+- path: artifacts/addin/Release/VisualStudio/Eto.Addin.VisualStudio*.vsix
name: vsix
branches:
only:
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 412fe90c57..64d2d6d2a4 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -42,15 +42,16 @@ jobs:
- task: CopyFiles@2
displayName: Copy nupkg
inputs:
+ sourceFolder: artifacts/nuget/$(build.configuration)/
contents: |
- artifacts/nuget/$(build.configuration)/Eto.Platform.XamMac*.nupkg
- artifacts/nuget/$(build.configuration)/Eto.Platform.Gtk2*.nupkg
- targetFolder: $(Build.ArtifactStagingDirectory)
+ Eto.Platform.XamMac*.nupkg
+ Eto.Platform.Gtk2*.nupkg
+ targetFolder: $(Build.ArtifactStagingDirectory)/nuget/
- task: PublishBuildArtifacts@1
displayName: Publish nupkg
inputs:
- pathtoPublish: $(Build.ArtifactStagingDirectory)/artifacts/nuget/$(build.configuration)
+ pathtoPublish: $(Build.ArtifactStagingDirectory)/nuget/
artifactName: nuget
publishLocation: container
@@ -58,18 +59,19 @@ jobs:
displayName: Build MonoDevelop Addin
inputs:
solution: build/Build.proj
- msbuildArguments: /t:BuildAddins
+ msbuildArguments: /t:BuildAddins /v:minimal /bl:$(Build.ArtifactStagingDirectory)/msbuild-binlog/MSBuild.BuildAddins.MacOS.binlog
- task: CopyFiles@2
displayName: Copy MonoDevelop Addin
inputs:
- contents: artifacts/addin/$(build.configuration)/net472/Eto.Addin.MonoDevelop*.mpack
- targetFolder: $(Build.ArtifactStagingDirectory)
+ sourceFolder: artifacts/addin/$(build.configuration)/net472/
+ contents: Eto.Addin.MonoDevelop*.mpack
+ targetFolder: $(Build.ArtifactStagingDirectory)/addin/
- task: PublishBuildArtifacts@1
displayName: Publish MonoDevelop Addin
inputs:
- pathtoPublish: $(Build.ArtifactStagingDirectory)/artifacts/addin/$(build.configuration)/net472
+ pathtoPublish: $(Build.ArtifactStagingDirectory)/addin/
artifactName: addins
publishLocation: container
@@ -77,7 +79,7 @@ jobs:
condition: failed()
displayName: Publish MSBuild logs
inputs:
- pathtoPublish: $(Build.ArtifactStagingDirectory)/msbuild-binlog
+ pathtoPublish: $(Build.ArtifactStagingDirectory)/msbuild-binlog/
artifactName: msbuild-binlog
publishLocation: container
@@ -101,33 +103,47 @@ jobs:
solution: build/Build.proj
msbuildArguments: $(build.arguments) /p:HaveWindowsDesktopSdk=true /v:minimal /bl:$(Build.ArtifactStagingDirectory)/msbuild-binlog/MSBuild.BuildPackage.Windows.binlog
- - task: msbuild@1
- displayName: Build Visual Studio Addin
- inputs:
- solution: build/Build.proj
- msbuildArguments: /t:BuildAddins /p:HaveWindowsDesktopSdk=true /v:minimal /bl:$(Build.ArtifactStagingDirectory)/msbuild-binlog/MSBuild.BuildAddins.Windows.binlog
-
- task: PublishBuildArtifacts@1
displayName: Publish nupkg
inputs:
- pathtoPublish: artifacts/nuget/$(build.configuration)
+ pathtoPublish: artifacts/nuget/$(build.configuration)/
artifactName: nuget
publishLocation: container
- task: PublishBuildArtifacts@1
displayName: Publish tests
inputs:
- pathtoPublish: artifacts/test/$(build.configuration)
+ pathtoPublish: artifacts/test/$(build.configuration)/
artifactName: test
publishLocation: container
- task: PublishBuildArtifacts@1
displayName: Publish samples
inputs:
- pathtoPublish: artifacts/samples/$(build.configuration)
+ pathtoPublish: artifacts/samples/$(build.configuration)/
artifactName: samples
publishLocation: container
+
+ - task: msbuild@1
+ displayName: Build Visual Studio Addin
+ inputs:
+ solution: build/Build.proj
+ msbuildArguments: /t:BuildAddins /p:HaveWindowsDesktopSdk=true /v:minimal /bl:$(Build.ArtifactStagingDirectory)/msbuild-binlog/MSBuild.BuildAddins.Windows.binlog
+ - task: CopyFiles@2
+ displayName: Copy Visual Studio Addin
+ inputs:
+ sourceFolder: artifacts/addin/$(build.configuration)/VisualStudio/
+ contents: Eto.Addin.VisualStudio*.vsix
+ targetFolder: $(Build.ArtifactStagingDirectory)/addin/
- task: PublishBuildArtifacts@1
displayName: Publish Visual Studio Addin
inputs:
- pathtoPublish: artifacts/addin/$(build.configuration)/VisualStudio/Eto.Addin.VisualStudio.vsix
+ pathtoPublish: $(Build.ArtifactStagingDirectory)/addin/
artifactName: addins
publishLocation: container
+
+ - task: PublishBuildArtifacts@1
+ condition: failed()
+ displayName: Publish MSBuild logs
+ inputs:
+ pathtoPublish: $(Build.ArtifactStagingDirectory)/msbuild-binlog/
+ artifactName: msbuild-binlog
+ publishLocation: container
diff --git a/build/Build.proj b/build/Build.proj
index 4c1b89646f..85f033074f 100644
--- a/build/Build.proj
+++ b/build/Build.proj
@@ -221,8 +221,8 @@
-
-
+
+
@@ -230,12 +230,12 @@
-
-
-
+
+
+
-
+
diff --git a/src/Addins/Eto.Addin.MonoDevelop.sln b/src/Addins/Eto.Addin.MonoDevelop.sln
index 3d7e183b04..5621a53b47 100644
--- a/src/Addins/Eto.Addin.MonoDevelop.sln
+++ b/src/Addins/Eto.Addin.MonoDevelop.sln
@@ -13,12 +13,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Eto.Serialization.Xaml", ".
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Eto.Serialization.Json", "..\Eto.Serialization.Json\Eto.Serialization.Json.csproj", "{FCEFD5C0-8705-11E4-B4A9-0800200C9A66}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{B4E4F6B1-48B2-4D57-8CEB-39796557ECB5}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{B4E4F6B1-48B2-4D57-8CEB-39796557ECB5}"
ProjectSection(SolutionItems) = preProject
- ..\..\addin-project.xml = ..\..\addin-project.xml
- ..\..\NuGet.Config = ..\..\NuGet.Config
- ..\..\Directory.Build.props = ..\..\Directory.Build.props
- ..\..\Directory.Build.targets = ..\..\Directory.Build.targets
+ ..\..\build\Build.proj = ..\..\build\Build.proj
+ ..\..\build\Common.Build.props = ..\..\build\Common.Build.props
+ ..\..\build\Common.Build.targets = ..\..\build\Common.Build.targets
+ ..\..\build\Common.props = ..\..\build\Common.props
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Eto", "..\Eto\Eto.csproj", "{04348E2F-003F-4CFF-B0CB-5E8B073FCA91}"
diff --git a/src/Addins/Eto.Addin.MonoDevelop/Eto.Addin.MonoDevelop.csproj b/src/Addins/Eto.Addin.MonoDevelop/Eto.Addin.MonoDevelop.csproj
index 883e853085..b072da4d4f 100644
--- a/src/Addins/Eto.Addin.MonoDevelop/Eto.Addin.MonoDevelop.csproj
+++ b/src/Addins/Eto.Addin.MonoDevelop/Eto.Addin.MonoDevelop.csproj
@@ -37,8 +37,8 @@
-
- Packages\Eto.Forms.Templates.2.5.0-dev.nupkg
+
+ Packages\Eto.Forms.Templates.$(InformationalVersion).nupkg
@@ -51,4 +51,12 @@
+
+
+
+ $(OutputPath)Eto.Addin.MonoDevelop-$(InformationalVersion).mpack
+
+
+
+
\ No newline at end of file
diff --git a/src/Addins/Eto.Addin.MonoDevelop/Properties/Manifest.addin.xml b/src/Addins/Eto.Addin.MonoDevelop/Properties/Manifest.addin.xml
index 735b4e22a3..8d7e37d5a2 100644
--- a/src/Addins/Eto.Addin.MonoDevelop/Properties/Manifest.addin.xml
+++ b/src/Addins/Eto.Addin.MonoDevelop/Properties/Manifest.addin.xml
@@ -36,7 +36,7 @@
imageId="eto-project"
wizard="Eto.Addin.MonoDevelop.ProjectWizard"
category="multiplat/app/eto"
- supportedParameters="AppName,Separated,Xeto,Preview,Jeto,XamMac,NoDash,Framework"
+ supportedParameters="AppName,Combined,Xeto,Preview,Jeto,XamMac,NoDash,Framework"
/>
diff --git a/src/Addins/Eto.Addin.Shared/ProjectWizardPageModel.cs b/src/Addins/Eto.Addin.Shared/ProjectWizardPageModel.cs
index cc63cca4db..ea1e6ccf54 100644
--- a/src/Addins/Eto.Addin.Shared/ProjectWizardPageModel.cs
+++ b/src/Addins/Eto.Addin.Shared/ProjectWizardPageModel.cs
@@ -21,7 +21,7 @@ public ProjectWizardPageModel(IParameterSource source, XElement optionsElement)
UsePCL = SupportsPCL;
UseNET = !SupportsPCL;
UseSAL = false;
- Separate = false;
+ Combined = false;
Mode = "code";
IncludeSolution = false;
if (SupportsBase)
@@ -40,6 +40,8 @@ public bool IsValid
if (string.IsNullOrWhiteSpace(AppName) || AppNameInvalid)
return false;
}
+ if (SupportsFramework && !SelectedFrameworks.Any())
+ return false;
return true;
}
}
@@ -94,7 +96,7 @@ public string AppName
public bool SupportsProjectType => SupportsPCL || SupportsSAL || SupportsNetStandard;
- public bool SupportsSeparated => Source.IsSupportedParameter("Separated");
+ public bool SupportsCombined => Source.IsSupportedParameter("Combined");
public bool SupportsXamMac => Source.IsSupportedParameter("XamMac");
@@ -110,12 +112,12 @@ public string AppName
public bool NoDash => Source.IsSupportedParameter("NoDash");
- public bool Separate
+ public bool Combined
{
- get { return Source.GetParameter("Separate").ToBool(); }
+ get { return Source.GetParameter("Combined").ToBool(); }
set
{
- Source.SetParameter("Separate", value.ToString());
+ Source.SetParameter("Combined", value.ToString());
OnPropertyChanged();
OnPropertyChanged(nameof(Information));
}
@@ -215,21 +217,22 @@ public override string Title
set { base.Title = value; }
}
- public bool RequiresInput => SupportsSeparated || SupportsProjectType || SupportsPanelType;
+ public bool RequiresInput => SupportsCombined || SupportsProjectType || SupportsPanelType;
public class FrameworkInfo
{
public string Text { get; set; }
public string Value { get; set; }
public string Description { get; set; }
+ public bool CanUseCombined { get; set; }
}
public FrameworkInfo[] SupportedFrameworks => frameworkInformation;
static readonly FrameworkInfo[] frameworkInformation =
{
- new FrameworkInfo { Text = "Full .NET Framework", Value = "full"},
- new FrameworkInfo { Text = ".NET Core", Value = "core" }
+ new FrameworkInfo { Text = "Full .NET Framework", Value = "full", CanUseCombined = true },
+ new FrameworkInfo { Text = ".NET Core", Value = "core", CanUseCombined = false }
};
List _selectedFrameworks;
@@ -243,11 +246,17 @@ public IEnumerable