Граф коммитов

141 Коммитов

Автор SHA1 Сообщение Дата
Matt Sylvia 49c7437174
Update xamarin-impl service connection (#38) 2024-06-04 11:44:38 -04:00
Daniel Cazzulino 6897ebad40 Add more missing metadata 2020-06-17 03:44:25 -03:00
Daniel Cazzulino 2b9825b139 Bump to latest stable .NETCore for code
Allow roll-forward within feature band.
Keep 2.1.x since that's required by the version of sleet we're using
2020-06-17 03:28:42 -03:00
Daniel Cazzulino 9b4fb4aeae Fix Authors field in metadata 2020-06-17 03:14:21 -03:00
Daniel Cazzulino 82ac421c32 Fix broken tests from binding redirect feature 2020-03-17 19:23:23 -03:00
Daniel Cazzulino e13405b487 Add support for excluding specific assemblies from binding redirects
This allows including a bunch of assemblies but excluding specific ones.
2020-03-16 16:43:27 -03:00
Daniel Cazzulino 66431f34f3 Automatically support running the build-tools project
This is something all projects will need OOB, so it's best
if we add it here.

Individual projects could re-set the properties to blank
values if desired, via their .csproj, with:

    <PropertyGroup>
		<StartAction />
		<StartProgram />
		<StartArguments />
    </PropertyGroup>
2020-03-12 14:45:48 -03:00
Daniel Cazzulino 46e8f15ddd Update to latest stable version of the 15.x VSSDK meta package 2020-03-12 12:10:58 -03:00
Daniel Cazzulino fb7db08c88 Ensure XVSSDK props/targets are imported before BuildTools
In some scenarios, nuget generates the import lines in the wrong order,
causing the buildtools to malfunction because the right default variables
like $(Dev) do not have the expected values
2020-03-04 18:28:08 -03:00
Daniel Cazzulino 64cfa580ee Bump to latest stable versions of the VSSDK 2020-03-04 17:49:54 -03:00
Daniel Cazzulino acce4b5898
Add missing 2019 mapping 2020-03-02 17:00:51 -03:00
Daniel Cazzulino 64435dbca9 Remove no longer necessary overwrite of GeneratePkgDef
The original error that prompted this fix is no longer happening (limit of cmdline hit).
2020-03-02 16:39:32 -03:00
Daniel Cazzulino 52e63da8da Ensure the intermediate manifest is written before we merge
The `DetokenizeVsixManifestFile` wasn't always running in the latest VSSDK and 
so the merge would not happen sometimes.
2020-03-02 16:39:18 -03:00
Daniel Cazzulino 44feed728d Push to xamarin-impl feed
External consumers can use the existing `xamarin-impl` feed, configured with:

```
<add key="xamarin-impl" value="https://pkgs.dev.azure.com/azure-public/vside/_packaging/xamarin-impl/nuget/v3/index.json" />
```

This feed will only contain master and release branch packages, making it the "official" feed.

For feature testing, dev and PR package validation, use the following feed instead, which contains everything:

```
<add key="xvs" value="https://nugetized.blob.core.windows.net/xvs/index.json" />
```
2020-03-02 16:28:34 -03:00
Daniel Cazzulino 58050bbea7
Devenv setup is no longer run as of 16.0+ 2020-01-28 13:48:14 -03:00
Daniel Cazzulino a1eece2409
Switch to nugetized/xvs container (#28)
* Switch to nugetized/xvs container

This unifies it with the rest of the CI packages for XVS
2020-01-27 14:33:30 -03:00
Daniel Cazzulino 479409d760 Revert updating the BuildTools since 16.0 changed tasks for deployment 2019-02-27 17:18:24 -03:00
Daniel Cazzulino c21eed9f62 Fix failing tests, make sure they run on dev16 too
Made the test running more resilient to restore/build when
running in parallel, by setting global variables for the
base/intermediate paths too.
2019-02-27 15:25:06 -03:00
Daniel Cazzulino e0fbbbf47e Install .NET Core 2.1.500 as part of the build 2019-02-27 15:25:06 -03:00
Daniel Cazzulino 42346b2e2c Update MSBuild dependencies and fix broken tests from 15.0 > Current
Tests broke because under 16.0, the `15.0` value is no longer valid,
and it's instead expected to be `Current`.
2019-02-27 15:25:06 -03:00
Daniel Cazzulino d706b91cb6 Update dependencies and target framework for dev16 to net472 2019-02-27 15:25:06 -03:00
Daniel Cazzulino 385b0a3f2c Revert "Copy produced VSIX to referencing project's output directory"
This reverts commit 2dd816020d.

This approach doesn't work in the general case, since depending on whether
the project producing the VSIX has already built or not, the file does not
end up being copied to the referencing project.

The better way is to just add a `CopyVsix=true` metadata to the VSIX project
references we wish to copy to the output, and add a target like the following
to the referencing project:

  <Target Name="PrepareVsixProjectReferences"
          BeforeTargets="ResolveProjectReferences"
          DependsOnTargets="PrepareProjectReferences">
    <MSBuild
        Projects="@(_MSBuildProjectReferenceExistent)"
        Targets="CreateVsixContainer;VSIXContainerProjectOutputGroup"
        BuildInParallel="$(BuildInParallel)"
        Properties="%(_MSBuildProjectReferenceExistent.SetConfiguration); %(_MSBuildProjectReferenceExistent.SetPlatform); %(_MSBuildProjectReferenceExistent.SetTargetFramework); CreateVsixContainer=true"
        Condition="'%(_MSBuildProjectReferenceExistent.CopyVsix)' == 'true'"
        ContinueOnError="!$(BuildingProject)"
        RemoveProperties="%(_MSBuildProjectReferenceExistent.GlobalPropertiesToRemove)">

      <Output TaskParameter="TargetOutputs" ItemName="_ProjectReferenceVsixOutputs" />
    </MSBuild>

    <ItemGroup>
      <None Include="@(_ProjectReferenceVsixOutputs)" Condition="Exists('%(Identity)')" CopyToOutputDirectory="PreserveNewest" />
    </ItemGroup>
  </Target>
2018-08-27 12:06:19 -03:00
Daniel Cazzulino 7372b980e4 Update versions and mapping of VS/TFV 2018-08-27 11:59:42 -03:00
Daniel Cazzulino ac2967b8f3 Align GeneratePkgDef implementation with latest VSSDK 2018-08-24 13:14:25 -03:00
Daniel Cazzulino 2dd816020d Copy produced VSIX to referencing project's output directory
If a VSIX is produced at all, this allows referencing projects to get it
in their own output directory, which is useful for tests that might want
to make assertions about its contents or install it for integration
testing purposes.
2018-08-24 11:31:02 -03:00
Daniel Cazzulino 1daa2732cf Bump version since we changed the Dev/TF mapping 2018-08-23 10:30:13 -03:00
Daniel Cazzulino 3d82d903f8 Fix minor typos 2018-08-22 16:38:25 -03:00
Daniel Cazzulino 1b86784def Update build script, re-map VS versions
Extensions should never reference a newer target framework than net46
in VS2017, as documented in https://github.com/github/VisualStudio/issues/1849#issuecomment-411570902.

Therefore, we redesigned the mapping so it's now:

| TargetFramework | Visual Studio |
|-------|------|
| net45 | 2013 |
| net452| 2015 |
| net46 | 2017 |
| net47 | 2019 |

Switch to using Microsoft.Build.Locator instead of hacking MSBuild to
force it to resolve properly. We now run the tests against the same
MSBuild that built the tests.
2018-08-22 16:24:53 -03:00
Daniel Cazzulino 0c649bc966 Don't run after ResolveReferences, depend on it, rather
We don't necessarily need to generate the pkgdef unless
it will be used, which only happens if the `GetVsixSourceItems`
target runs. Running too eagerly might cause it to also run
before CoreBuild for example, as well as during XAML two-pass
compilation, when it's not necessary.
2018-01-23 12:01:56 -03:00
Daniel Cazzulino de08c3549e Fix wrong condition on VSIX validation 2018-01-11 00:24:52 -03:00
Daniel Cazzulino 67ddbb147f Add support for skipping VSIX manifest validation, compatible with VSSDK
Honor the `$(BypassVsixValidation)` to skip validation, even for merged manifests.
2018-01-10 23:34:34 -03:00
Daniel Cazzulino 5ecf984326 Leverage the built-in VsSDKVersion and create a new VsSDKTasksVersion instead
Turns out that the VsSDKVersion already provides what we were previously using
the tasks version for. Just in case we really need to know the tasks version,
keep that property in the new VsSDKTasksVersion property.
2018-01-10 19:19:07 -03:00
Daniel Cazzulino f34d03aac4 Rename BindingRedirected -> BindingRedirect, fixup wrong condition
We were conditioning the generation of the pkgdef to a property that doesn't
exist anymore (the fusion expression). Also, if the `@(BindingRedirect)` is
populated more dynamically, statically calculating the property to detemrine
if generation should happen won't work.

So instead, just condition the main target `BindingRedirects` to the existence
of `@(BindingRedirect)` items at the time the target is about to be run.
2017-12-18 10:53:48 -03:00
Daniel Cazzulino dcf1c58fc0 Rename/split BindingRedirectAllVersions into BindingDefaultFrom and BindingDefaultTo
This makes it more explicit and intuitive on what those values mean. The previous
property affected only the upper (to) limit of the redirected 'oldVersion', so the
new properties reflect that more effectively.

Also allowing to change the default lower bound is simpler for cases where you want
to default to something other than 0.0.0.0.
2017-12-12 13:33:11 -03:00
Daniel Cazzulino b0ea8b8fa8 Project references should also be included in binding redirect generation 2017-12-12 13:25:40 -03:00
Daniel Cazzulino 5c65bb4ff3 Build release mode on CI 2017-12-12 13:07:27 -03:00
Daniel Cazzulino b158c3362d Add support for generating binding redirects
Usage examples:

```
    <BindingRedirected Include="Newtonsoft.Json">
      <!-- Showcases specifying only From metadata -->
      <From>6.0.0.0</From>
    </BindingRedirected>
    <!-- Showcases specifying no From/To metadata at all -->
    <BindingRedirected Include="AutoMapper" />
    <!-- Showcases matching a specific assembly -->
    <BindingRedirected Include="^System, Version=4.0.0.0" From="2.0.0.0" />
    <!-- Showcases matching with a regex that matches two assemblies -->
    <BindingRedirected Include="System.Xml.+" From="3.0.0.0" />
```

The only configurable property is:

```
  <PropertyGroup>
    <!-- Causes default old version from to be 99.9.9.9 -->
    <BindingRedirectAllVersions>true</BindingRedirectAllVersions>
  </PropertyGroup>
```

Pending some tests, but manual testing verified.
2017-12-12 09:32:55 -03:00
Daniel Cazzulino f8f18e4071
Merge pull request #21 from xamarin/build-improvements
Build improvements
2017-12-04 16:04:21 -03:00
Daniel Cazzulino 73746296c1 Use VSTS-specific branch name for PRs if available 2017-12-04 15:56:30 -03:00
Daniel Cazzulino 0b327af241 Don't warn on architecture mismatch for tests
The test assembly can be AnyCPU even if the extension is x86.
2017-12-04 15:46:16 -03:00
Daniel Cazzulino 12e9f5adc2 Switch to nuget.azureedge.net/xvssdk container/CDN for better isolation 2017-12-04 15:29:15 -03:00
Daniel Cazzulino e5a4172812 Collect packages to delete from local cache before deleting
Avoids unnecessary warning when no files are found (or no dir exists)
2017-12-04 15:28:25 -03:00
Daniel Cazzulino 17307379d0 Adjust GitBranch from CI if available 2017-12-04 15:27:51 -03:00
Daniel Cazzulino 0b344e7344 Ignore response files 2017-12-04 15:26:20 -03:00
Daniel Cazzulino 6298c04c16 Rename yaml > yml 2017-11-30 13:49:27 -03:00
Daniel Cazzulino 2051ac0336 Avoid Sleet initialization on every build (since the feed is already initialized) 2017-11-30 13:47:28 -03:00
Daniel Cazzulino fc00bb1f34 Bump version to account for versioning change 2017-11-30 13:42:54 -03:00
Daniel Cazzulino b6817e8a15 Don't append branch name to master builds or stable releases 2017-11-30 13:10:23 -03:00
Daniel Cazzulino ff1ffffab3
Merge pull request #20 from xamarin/kzu/updates
Improve versioning and local testing
2017-11-29 18:26:56 -03:00
Daniel Cazzulino ae51bc4339 Allow deleting the uploaded packages (from the kzu feed) 2017-11-29 17:42:26 -03:00