From ae5611d4ff68d3441e18ba95c3592cecd970381b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Alexander=20K=C3=B6plinger?= Date: Fri, 18 Mar 2016 21:49:27 +0100 Subject: [PATCH] [xbuild] Add Microsoft.NuGet.Build.Tasks.dll MSBuild task This is required for interoperating with project.json-based NuGet package configuration files (not to be confused with DNX or AspNet Core which use it as a project file too) from MSBuild/xbuild. The task hooks into the build process, resolves assembly references from the nuget package cache and injects them into the compilation project so the csproj doesn't need to be modified when adding new references/packages. It is the first step on our road to PCL5/NuGet3. --- .gitmodules | 3 + external/nuget-buildtasks | 1 + mcs/class/Makefile | 2 +- .../Microsoft.NuGet.Build.Tasks/Makefile | 36 ++++ ...14_Microsoft.NuGet.Build.Tasks.dll.sources | 164 ++++++++++++++++++ mcs/tools/xbuild/Makefile | 26 ++- .../xbuild/data/14.0/Microsoft.Common.props | 16 ++ .../xbuild/data/14.0/Microsoft.Common.targets | 2 + 8 files changed, 248 insertions(+), 2 deletions(-) create mode 160000 external/nuget-buildtasks create mode 100644 mcs/class/Microsoft.NuGet.Build.Tasks/Makefile create mode 100644 mcs/class/Microsoft.NuGet.Build.Tasks/xbuild_14_Microsoft.NuGet.Build.Tasks.dll.sources create mode 100644 mcs/tools/xbuild/data/14.0/Microsoft.Common.props diff --git a/.gitmodules b/.gitmodules index 2025d14474d..84b443501a1 100644 --- a/.gitmodules +++ b/.gitmodules @@ -29,3 +29,6 @@ [submodule "external/nunit-lite"] path = external/nunit-lite url = git://github.com/mono/NUnitLite.git +[submodule "external/nuget-buildtasks"] + path = external/nuget-buildtasks + url = git://github.com/mono/NuGet.BuildTasks diff --git a/external/nuget-buildtasks b/external/nuget-buildtasks new file mode 160000 index 00000000000..1f02d779052 --- /dev/null +++ b/external/nuget-buildtasks @@ -0,0 +1 @@ +Subproject commit 1f02d779052982aea7cecf4d56caf6ffff246830 diff --git a/mcs/class/Makefile b/mcs/class/Makefile index 42f36014e31..4f4528e4ee3 100644 --- a/mcs/class/Makefile +++ b/mcs/class/Makefile @@ -316,7 +316,7 @@ binary_reference_assemblies_SUBDIRS := reference-assemblies net_4_x_SUBDIRS := $(net_4_x_dirs) $(xbuild_4_0_dirs) net_4_x_PARALLEL_SUBDIRS := $(net_4_x_parallel_dirs) aot-compiler xbuild_12_SUBDIRS := $(xbuild_4_0_dirs) -xbuild_14_SUBDIRS := $(xbuild_4_0_dirs) +xbuild_14_SUBDIRS := $(xbuild_4_0_dirs) Microsoft.NuGet.Build.Tasks include ../build/rules.make diff --git a/mcs/class/Microsoft.NuGet.Build.Tasks/Makefile b/mcs/class/Microsoft.NuGet.Build.Tasks/Makefile new file mode 100644 index 00000000000..6138819ac42 --- /dev/null +++ b/mcs/class/Microsoft.NuGet.Build.Tasks/Makefile @@ -0,0 +1,36 @@ +thisdir = class/Microsoft.NuGet.Build.Tasks +SUBDIRS = +include ../../build/rules.make + +XBUILD_DIR=$(topdir)/tools/xbuild +include $(XBUILD_DIR)/xbuild.make + +NUGET_BUILDTASKS_REPO_DIR=$(topdir)/../external/nuget-buildtasks +NUGET_BUILDTASKS_TARGETS_DIR = $(mono_libdir)/mono/xbuild/Microsoft/NuGet + +LIBRARY = Microsoft.NuGet.Build.Tasks.dll +LIBRARY_INSTALL_DIR = $(NUGET_BUILDTASKS_TARGETS_DIR) + +KEY_FILE = $(NUGET_BUILDTASKS_REPO_DIR)/build/PublicKey.snk +SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) + +LIB_REFS = System System.Core System.Data System.Xml System.Xml.Linq System.Runtime.Serialization +LIB_MCS_FLAGS = \ + -nowarn:3021 \ + $(SIGN_FLAGS) \ + -resource:Microsoft.NuGet.Build.Tasks.Strings.resources \ + /r:$(XBUILD_UTILITIES) \ + /r:$(XBUILD_FRAMEWORK) + +CLEAN_FILES = Microsoft.NuGet.Build.Tasks.Strings.resources + +EXTRA_DISTFILES = \ + $(NUGET_BUILDTASKS_REPO_DIR)/src/Microsoft.NuGet.Build.Tasks/Strings.resx \ + $(NUGET_BUILDTASKS_REPO_DIR)/build/PublicKey.snk + +include ../../build/library.make + +$(build_lib): Microsoft.NuGet.Build.Tasks.Strings.resources + +Microsoft.NuGet.Build.Tasks.Strings.resources: $(NUGET_BUILDTASKS_REPO_DIR)/src/Microsoft.NuGet.Build.Tasks/Strings.resx + MONO_PATH="$(topdir)/class/lib/$(BOOTSTRAP_PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(RUNTIME) $(RUNTIME_FLAGS) $(topdir)/class/lib/net_4_x/resgen.exe "$<" "$@" diff --git a/mcs/class/Microsoft.NuGet.Build.Tasks/xbuild_14_Microsoft.NuGet.Build.Tasks.dll.sources b/mcs/class/Microsoft.NuGet.Build.Tasks/xbuild_14_Microsoft.NuGet.Build.Tasks.dll.sources new file mode 100644 index 00000000000..3fa9acd4f78 --- /dev/null +++ b/mcs/class/Microsoft.NuGet.Build.Tasks/xbuild_14_Microsoft.NuGet.Build.Tasks.dll.sources @@ -0,0 +1,164 @@ +../../../external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/Delegates.cs +../../../external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/ExceptionFromResource.cs +../../../external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/InternalsVisibleTo.cs +../../../external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/NativeMethods.cs +../../../external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/NuGetPackageObject.cs +../../../external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/Preprocessor.cs +../../../external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/ResolveNuGetPackageAssets.cs +../../../external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/Strings.Designer.cs + +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Bson/BsonBinaryType.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Bson/BsonBinaryWriter.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Bson/BsonReader.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Bson/BsonToken.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Bson/BsonType.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Bson/BsonWriter.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Bson/BsonObjectId.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Converters/BinaryConverter.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Converters/DataSetConverter.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Converters/DataTableConverter.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Converters/CustomCreationConverter.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Converters/DateTimeConverterBase.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Converters/EntityKeyMemberConverter.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Converters/ExpandoObjectConverter.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Converters/KeyValuePairConverter.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Converters/BsonObjectIdConverter.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Converters/RegexConverter.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Converters/StringEnumConverter.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/ConstructorHandling.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Converters/VersionConverter.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/DateFormatHandling.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/DateTimeZoneHandling.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Formatting.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/JsonConstructorAttribute.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/JsonPosition.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Linq/JPropertyKeyedCollection.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/DynamicProxy.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Linq/JPath.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Linq/JRaw.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Required.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/JsonDynamicContract.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/JsonFormatterConverter.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/JsonISerializableContract.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/JsonLinqContract.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/JsonPrimitiveContract.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/DynamicValueProvider.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/ErrorEventArgs.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Linq/JPropertyDescriptor.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/DefaultReferenceResolver.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/PreserveReferencesHandling.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/IJsonLineInfo.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/JsonArrayAttribute.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/JsonContainerAttribute.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/DefaultValueHandling.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/JsonConverterAttribute.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/JsonObjectAttribute.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/JsonSerializerSettings.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/JsonValidatingReader.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Linq/IJEnumerable.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Linq/JTokenEqualityComparer.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/MemberSerialization.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/ObjectCreationHandling.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Converters/IsoDateTimeConverter.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Converters/JavaScriptDateTimeConverter.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Converters/XmlNodeConverter.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/JsonTextReader.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/JsonPropertyAttribute.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/JsonIgnoreAttribute.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/JsonTextWriter.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/JsonWriterException.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/JsonReaderException.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/JsonConverter.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/JsonConverterCollection.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/JsonReader.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/JsonConvert.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/JsonSerializationException.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/JsonSerializer.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Linq/Extensions.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Linq/JConstructor.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Linq/JContainer.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Linq/JEnumerable.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Linq/JObject.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Linq/JArray.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Linq/JTokenReader.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Linq/JTokenWriter.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Linq/JToken.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Linq/JProperty.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Linq/JTokenType.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Linq/JValue.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Schema/Extensions.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Schema/JsonSchemaException.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Schema/JsonSchemaModel.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Schema/JsonSchemaModelBuilder.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Schema/JsonSchemaNodeCollection.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Schema/JsonSchemaNode.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Schema/JsonSchemaResolver.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Schema/JsonSchemaWriter.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Schema/UndefinedSchemaIdHandling.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Schema/ValidationEventArgs.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Schema/ValidationEventHandler.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/CamelCasePropertyNamesContractResolver.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/DefaultContractResolver.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/DefaultSerializationBinder.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/ErrorContext.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/IContractResolver.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/IValueProvider.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/JsonArrayContract.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/JsonContract.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/JsonDictionaryContract.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/JsonProperty.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/JsonPropertyCollection.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/MissingMemberHandling.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/NullValueHandling.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/ReferenceLoopHandling.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Schema/JsonSchema.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Schema/JsonSchemaBuilder.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Schema/JsonSchemaConstants.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Schema/JsonSchemaGenerator.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/IReferenceResolver.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Schema/JsonSchemaType.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/JsonObjectContract.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/JsonSerializerInternalBase.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/JsonSerializerInternalReader.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/JsonSerializerInternalWriter.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/JsonSerializerProxy.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/JsonStringContract.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/JsonTypeReflector.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/CachedAttributeGetter.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/LateBoundMetadataTypeAttribute.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/ReflectionValueProvider.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/OnErrorAttribute.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/Base64Encoder.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/DynamicProxyMetaObject.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/DynamicUtils.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/DynamicWrapper.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/DynamicReflectionDelegateFactory.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Serialization/ObjectConstructor.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/ILGeneratorExtensions.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/ReflectionDelegateFactory.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/LateBoundReflectionDelegateFactory.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/MethodCall.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/StringReference.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/ThreadSafeStore.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/TypeNameHandling.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/BidirectionalDictionary.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/ConvertUtils.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/CollectionWrapper.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/DateTimeUtils.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/DictionaryWrapper.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/EnumUtils.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/EnumValue.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/EnumValues.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/JavaScriptUtils.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/JsonToken.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/JsonWriter.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/StringBuffer.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/CollectionUtils.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/ListWrapper.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/MathUtils.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/MiscellaneousUtils.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/ReflectionUtils.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/StringUtils.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/TypeExtensions.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/ValidationUtils.cs +../../../external/Newtonsoft.Json/Src/Newtonsoft.Json/WriteState.cs diff --git a/mcs/tools/xbuild/Makefile b/mcs/tools/xbuild/Makefile index 70457756436..13c2a2de0e8 100644 --- a/mcs/tools/xbuild/Makefile +++ b/mcs/tools/xbuild/Makefile @@ -23,15 +23,22 @@ endif NETFRAMEWORK_DIR=$(mono_libdir)/mono/xbuild-frameworks/.NETFramework VS_TARGETS_DIR = $(mono_libdir)/mono/xbuild/Microsoft/VisualStudio PORTABLE_TARGETS_DIR = $(mono_libdir)/mono/xbuild/Microsoft/Portable +NUGET_BUILDTASKS_TARGETS_DIR = $(mono_libdir)/mono/xbuild/Microsoft/NuGet - +ifeq (14.0, $(XBUILD_VERSION)) +install-extras: install-bin-data install-frameworks install-pcl-targets install-web-targets install-nuget-buildtasks-targets +else install-extras: install-bin-data install-frameworks install-pcl-targets install-web-targets +endif install-bin-data: $(MKINSTALLDIRS) $(DESTDIR)$(XBUILD_BIN_DIR)/MSBuild $(INSTALL_DATA) data/xbuild.rsp $(DESTDIR)$(XBUILD_BIN_DIR) $(INSTALL_DATA) data/$(XBUILD_VERSION)/Microsoft.Common.tasks $(DESTDIR)$(XBUILD_BIN_DIR) $(INSTALL_DATA) data/$(XBUILD_VERSION)/Microsoft.Common.targets $(DESTDIR)$(XBUILD_BIN_DIR) +ifeq (14.0, $(XBUILD_VERSION)) + $(INSTALL_DATA) data/$(XBUILD_VERSION)/Microsoft.Common.props $(DESTDIR)$(XBUILD_BIN_DIR)/../ +endif $(INSTALL_DATA) data/$(XBUILD_VERSION)/Microsoft.CSharp.targets $(DESTDIR)$(XBUILD_BIN_DIR) $(INSTALL_DATA) data/Microsoft.Build.xsd $(DESTDIR)$(XBUILD_BIN_DIR) $(INSTALL_DATA) data/Microsoft.VisualBasic.targets $(DESTDIR)$(XBUILD_BIN_DIR) @@ -89,6 +96,18 @@ install-web-targets: $(MKINSTALLDIRS) $(DESTDIR)$(VS_TARGETS_DIR)/v14.0/WebApplications $(INSTALL_DATA) targets/Microsoft.WebApplication.targets $(DESTDIR)$(VS_TARGETS_DIR)/v14.0/WebApplications +NUGET_BUILDTASKS_REPO_DIR=$(topdir)/../external/nuget-buildtasks + +ifeq (14.0, $(XBUILD_VERSION)) +install-nuget-buildtasks-targets: + $(MKINSTALLDIRS) $(DESTDIR)$(NUGET_BUILDTASKS_TARGETS_DIR) + $(MKINSTALLDIRS) $(DESTDIR)$(XBUILD_BIN_DIR)/../Imports/Microsoft.Common.props/ImportBefore + $(MKINSTALLDIRS) $(DESTDIR)$(XBUILD_BIN_DIR)/../Microsoft.Common.targets/ImportAfter + $(INSTALL_DATA) $(NUGET_BUILDTASKS_REPO_DIR)/src/Microsoft.NuGet.Build.Tasks/Microsoft.NuGet.targets $(DESTDIR)$(NUGET_BUILDTASKS_TARGETS_DIR) + $(INSTALL_DATA) $(NUGET_BUILDTASKS_REPO_DIR)/src/Microsoft.NuGet.Build.Tasks/Microsoft.NuGet.props $(DESTDIR)$(NUGET_BUILDTASKS_TARGETS_DIR) + $(INSTALL_DATA) $(NUGET_BUILDTASKS_REPO_DIR)/src/Microsoft.NuGet.Build.Tasks/ImportBeforeAfter/Microsoft.NuGet.ImportBefore.props $(DESTDIR)$(XBUILD_BIN_DIR)/../Imports/Microsoft.Common.props/ImportBefore + $(INSTALL_DATA) $(NUGET_BUILDTASKS_REPO_DIR)/src/Microsoft.NuGet.Build.Tasks/ImportBeforeAfter/Microsoft.NuGet.ImportAfter.targets $(DESTDIR)$(XBUILD_BIN_DIR)/../Microsoft.Common.targets/ImportAfter +endif EXTRA_DISTFILES = \ data/xbuild.rsp \ @@ -104,6 +123,7 @@ EXTRA_DISTFILES = \ data/4.0/Microsoft.Common.targets \ data/12.0/Microsoft.Common.targets \ data/14.0/Microsoft.Common.targets \ + data/14.0/Microsoft.Common.props \ data/2.0/Microsoft.CSharp.targets \ data/3.5/Microsoft.CSharp.targets \ data/4.0/Microsoft.CSharp.targets \ @@ -130,5 +150,9 @@ EXTRA_DISTFILES = \ targets/Microsoft.Portable.Core.targets \ targets/Microsoft.Portable.Core.props \ targets/Microsoft.WebApplication.targets \ + $(NUGET_BUILDTASKS_REPO_DIR)/src/Microsoft.NuGet.Build.Tasks/ImportBeforeAfter/Microsoft.NuGet.ImportBefore.props \ + $(NUGET_BUILDTASKS_REPO_DIR)/src/Microsoft.NuGet.Build.Tasks/ImportBeforeAfter/Microsoft.NuGet.ImportAfter.targets \ + $(NUGET_BUILDTASKS_REPO_DIR)/src/Microsoft.NuGet.Build.Tasks/Microsoft.NuGet.targets \ + $(NUGET_BUILDTASKS_REPO_DIR)/src/Microsoft.NuGet.Build.Tasks/Microsoft.NuGet.props \ xbuild.make \ xbuild_test.make diff --git a/mcs/tools/xbuild/data/14.0/Microsoft.Common.props b/mcs/tools/xbuild/data/14.0/Microsoft.Common.props new file mode 100644 index 00000000000..6c4d33cdaa6 --- /dev/null +++ b/mcs/tools/xbuild/data/14.0/Microsoft.Common.props @@ -0,0 +1,16 @@ + + + true + true + + + + + + true + + + + diff --git a/mcs/tools/xbuild/data/14.0/Microsoft.Common.targets b/mcs/tools/xbuild/data/14.0/Microsoft.Common.targets index bea93366ec9..12ec8ec2393 100644 --- a/mcs/tools/xbuild/data/14.0/Microsoft.Common.targets +++ b/mcs/tools/xbuild/data/14.0/Microsoft.Common.targets @@ -1,4 +1,6 @@ + + true true -- 2.25.1