Skip to content

Commit 90b25c0

Browse files
authored
Update the build system and the Aardvaark bindings (#30)
* Update the build system - use new SDK-style projects - use msbuild pack - use newer bots * Make sure the Aardvark bindings are up-to-date * Xamarin.Android does not fall back to JAVA_HOME - dotnet/android-tools#74 * Update badge
1 parent 02191de commit 90b25c0

File tree

93 files changed

+1113
-8300
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

93 files changed

+1113
-8300
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# square-bindings
22

3-
[![Build status](https://ci.appveyor.com/api/projects/status/ipvvat62k4y2y08e/branch/master?svg=true)](https://ci.appveyor.com/project/mattleibow/square-bindings/branch/master) [![Build Status](https://www.bitrise.io/app/b78abada10217042/status.svg?token=h7fruXhIpxYTwUVGBxoqjw)](https://www.bitrise.io/app/b78abada10217042)
3+
[![Build Status](https://dev.azure.com/mattleibow/OpenSource/_apis/build/status/square-bindings?branchName=master)](https://dev.azure.com/mattleibow/OpenSource/_build/latest?definitionId=1&branchName=master)
44

55
Xamarin.Android and Xamarin.iOS bindings for the various https://github.com/square libraries
66

azure-pipelines.yml

Lines changed: 46 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,52 @@
11

2+
trigger:
3+
- master
4+
25
variables:
3-
MONO_VERSION: 5_16_0
4-
XCODE_VERSION: 10.1
6+
VERBOSITY: diagnostic
7+
API_TOOLS_VERSION: 1.0.2-preview.5
8+
DOTNET_CORE_VERSION: 2.2.x
59

6-
trigger:
7-
- master
10+
strategy:
11+
matrix:
12+
macos:
13+
imageName: 'Hosted macOS'
14+
MONO_VERSION: 5_18_1
15+
XCODE_VERSION: 10.3
16+
windows:
17+
imageName: 'Hosted Windows 2019 with VS2019'
18+
19+
pool:
20+
name: $(imageName)
21+
22+
steps:
23+
- bash: sudo $AGENT_HOMEDIRECTORY/scripts/select-xamarin-sdk.sh $(MONO_VERSION)
24+
displayName: 'Switch to the latest Xamarin SDK'
25+
condition: eq(variables['System.JobName'], 'macos')
26+
- bash: echo '##vso[task.setvariable variable=MD_APPLE_SDK_ROOT;]'/Applications/Xcode_$(XCODE_VERSION).app;sudo xcode-select --switch /Applications/Xcode_$(XCODE_VERSION).app/Contents/Developer
27+
displayName: 'Switch to the latest Xcode'
28+
condition: eq(variables['System.JobName'], 'macos')
29+
- bash: echo '##vso[task.setvariable variable=PATH;]'$PATH:$HOME/.dotnet/tools
30+
displayName: 'Add ~/.dotnet/tools to the PATH environment variable'
31+
condition: eq(variables['System.JobName'], 'macos')
832

9-
jobs:
33+
- task: UseDotNet@2
34+
displayName: 'Use the correct version of the .NET Core SDK'
35+
inputs:
36+
version: $(DOTNET_CORE_VERSION)
37+
- powershell: dotnet tool install -g api-tools --version $(API_TOOLS_VERSION)
38+
displayName: 'Install api-tools'
1039

11-
- job: build_windows
12-
displayName: Build on Windows
13-
pool:
14-
vmImage: vs2017-win2016
15-
steps:
16-
- powershell: .\bootstrapper.ps1
17-
displayName: Run build
18-
- task: PublishBuildArtifacts@1
19-
displayName: Publish artifacts
20-
inputs:
21-
artifactName: artifacts_windows
22-
pathToPublish: output
40+
- powershell: .\build.ps1 --verbosity=$(VERBOSITY)
41+
displayName: 'Run build'
2342

24-
- job: build_macos
25-
displayName: Build on macOS
26-
pool:
27-
vmImage: macos-10.13
28-
steps:
29-
- bash: sudo $AGENT_HOMEDIRECTORY/scripts/select-xamarin-sdk.sh $(MONO_VERSION)
30-
displayName: Switch to the latest Xamarin SDK
31-
- bash: echo '##vso[task.setvariable variable=MD_APPLE_SDK_ROOT;]'/Applications/Xcode_$(XCODE_VERSION).app;sudo xcode-select --switch /Applications/Xcode_$(XCODE_VERSION).app/Contents/Developer
32-
displayName: Switch to the latest Xcode
33-
- task: InstallAppleCertificate@2
34-
displayName: Install the iOS certificate
35-
inputs:
36-
certSecureFile: 'Components iOS Certificate.p12'
37-
- task: InstallAppleProvisioningProfile@1
38-
displayName: Install the iOS provisioning profile
39-
inputs:
40-
provProfileSecureFile: 'Components iOS Provisioning.mobileprovision'
41-
- task: InstallAppleCertificate@2
42-
displayName: Install the macOS certificate
43-
inputs:
44-
certSecureFile: 'Components Mac Certificate.p12'
45-
- task: InstallAppleProvisioningProfile@1
46-
displayName: Install the macOS provisioning profile
47-
inputs:
48-
provProfileSecureFile: 'Components Mac Provisioning.provisionprofile'
49-
- task: InstallAppleProvisioningProfile@1
50-
displayName: Install the tvOS provisioning profile
51-
inputs:
52-
provProfileSecureFile: 'Components tvOS Provisioning.mobileprovision'
53-
- bash: ./bootstrapper.sh
54-
displayName: Run build
55-
- task: PublishBuildArtifacts@1
56-
displayName: Publish artifacts
57-
inputs:
58-
artifactName: artifacts_macos
59-
pathToPublish: output
60-
- task: CopyFiles@2
61-
inputs:
62-
contents: 'output/*.nupkg'
63-
targetFolder: $(Build.ArtifactStagingDirectory)
64-
- task: PublishBuildArtifacts@1
65-
inputs:
66-
pathtoPublish: $(Build.ArtifactStagingDirectory)
67-
artifactName: nuget
43+
- powershell: |
44+
if (Get-ChildItem output -Filter *.nupkg) {
45+
api-tools nuget-diff output --latest --group-ids --output output/api-diff --cache externals/package_cache
46+
}
47+
displayName: 'API diff'
48+
- task: PublishBuildArtifacts@1
49+
displayName: 'Publish artifacts'
50+
inputs:
51+
PathToPublish: output
52+
ArtifactName: nuget-$(System.JobName)
Lines changed: 28 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,81 +1,39 @@
1-
<?xml version="1.0" encoding="utf-8"?>
2-
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1+
<Project Sdk="MSBuild.Sdk.Extras/2.0.31">
32
<PropertyGroup>
4-
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
5-
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
6-
<ProductVersion>8.0.30703</ProductVersion>
7-
<SchemaVersion>2.0</SchemaVersion>
8-
<ProjectGuid>{41A69D2C-EE27-4EFC-9B47-13AD90F2D8AE}</ProjectGuid>
9-
<ProjectTypeGuids>{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
10-
<OutputType>Library</OutputType>
11-
<AppDesignerFolder>Properties</AppDesignerFolder>
12-
<RootNamespace>JakeWharton.Picasso2OkHttp3Downloader</RootNamespace>
3+
<TargetFrameworks>monoandroid4.4</TargetFrameworks>
4+
<IsBindingProject>true</IsBindingProject>
135
<AssemblyName>JakeWharton.Picasso2OkHttp3Downloader</AssemblyName>
14-
<FileAlignment>512</FileAlignment>
6+
<RootNamespace>JakeWharton.Picasso2OkHttp3Downloader</RootNamespace>
7+
<MonoAndroidResourcePrefix>Resources</MonoAndroidResourcePrefix>
8+
<MonoAndroidAssetsPrefix>Assets</MonoAndroidAssetsPrefix>
159
<AndroidUseLatestPlatformSdk>False</AndroidUseLatestPlatformSdk>
16-
<TargetFrameworkVersion>v4.0.3</TargetFrameworkVersion>
10+
<AndroidUseIntermediateDesignerFile>True</AndroidUseIntermediateDesignerFile>
11+
<AndroidResgenFile>Resources\Resource.designer.cs</AndroidResgenFile>
1712
<AndroidClassParser>class-parse</AndroidClassParser>
13+
<AndroidCodegenTarget>XAJavaInterop1</AndroidCodegenTarget>
1814
</PropertyGroup>
19-
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
20-
<DebugSymbols>true</DebugSymbols>
21-
<DebugType>full</DebugType>
22-
<Optimize>false</Optimize>
23-
<OutputPath>bin\Debug\</OutputPath>
24-
<DefineConstants>DEBUG;TRACE</DefineConstants>
25-
<ErrorReport>prompt</ErrorReport>
26-
<WarningLevel>4</WarningLevel>
27-
</PropertyGroup>
28-
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
29-
<DebugType>pdbonly</DebugType>
30-
<Optimize>true</Optimize>
31-
<OutputPath>bin\Release\</OutputPath>
32-
<DefineConstants>TRACE</DefineConstants>
33-
<ErrorReport>prompt</ErrorReport>
34-
<WarningLevel>4</WarningLevel>
15+
<PropertyGroup>
16+
<PackageId>JakeWharton.Picasso2OkHttp3Downloader</PackageId>
17+
<Title>Picasso 2 OkHttp v3 Downloader</Title>
18+
<Summary>A OkHttp 3 downloader implementation for Picasso 2.</Summary>
19+
<Description>A OkHttp 3 downloader implementation for Picasso 2.</Description>
20+
<Authors>mattleibow</Authors>
21+
<Owners>mattleibow</Owners>
22+
<Copyright>Jake Wharton and Matthew Leibowitz.</Copyright>
23+
<PackageProjectUrl>https://github.com/mattleibow/square-bindings</PackageProjectUrl>
24+
<PackageIconUrl>https://raw.githubusercontent.com/mattleibow/square-bindings/master/icons/square.picasso_256x256.png</PackageIconUrl>
25+
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
26+
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
27+
<PackageTags>okhttp picasso images xamarin android monodroid</PackageTags>
3528
</PropertyGroup>
3629
<ItemGroup>
37-
<Reference Include="Mono.Android" />
38-
<Reference Include="Square.OkHttp3">
39-
<HintPath>..\packages\Square.OkHttp3.3.4.1.1\lib\MonoAndroid\Square.OkHttp3.dll</HintPath>
40-
<Private>True</Private>
41-
</Reference>
42-
<Reference Include="Square.OkIO">
43-
<HintPath>..\packages\Square.OkIO.1.6.0.0\lib\MonoAndroid\Square.OkIO.dll</HintPath>
44-
<Private>True</Private>
45-
</Reference>
46-
<Reference Include="System" />
47-
<Reference Include="System.Core" />
48-
</ItemGroup>
49-
<ItemGroup>
50-
<Compile Include="Properties\AssemblyInfo.cs" />
51-
</ItemGroup>
52-
<ItemGroup>
53-
<TransformFile Include="Transforms\Metadata.xml">
54-
<SubType>Designer</SubType>
55-
</TransformFile>
56-
<TransformFile Include="Transforms\EnumFields.xml" />
57-
<TransformFile Include="Transforms\EnumMethods.xml" />
58-
</ItemGroup>
59-
<ItemGroup>
60-
<EmbeddedJar Include="..\..\externals\Picasso2OkHttp3Downloader\picasso2-okhttp3-downloader.jar">
61-
<Link>picasso2-okhttp3-downloader.jar</Link>
62-
</EmbeddedJar>
63-
</ItemGroup>
64-
<ItemGroup>
65-
<ProjectReference Include="..\Square.Picasso\Square.Picasso.csproj">
66-
<Project>{bc45efff-5cee-4c2d-bbe8-542dbe8e7940}</Project>
67-
<Name>Square.Picasso</Name>
68-
</ProjectReference>
30+
<PackageReference Include="Square.Picasso" Version="2.5.2" />
31+
<PackageReference Include="Square.OkHttp3" Version="3.4.1.1" />
6932
</ItemGroup>
7033
<ItemGroup>
71-
<None Include="packages.config" />
34+
<None Remove="Transforms\*.xml" />
35+
<TransformFile Include="Transforms\*.xml" />
36+
<EmbeddedJar Include="..\..\externals\$(PackageId)\*.jar" Link="Jars\%(Filename)%(Extension)" />
37+
<LibraryProjectZip Include="..\..\externals\$(PackageId)\*.aar" Link="Jars\%(Filename)%(Extension)" />
7238
</ItemGroup>
73-
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.Bindings.targets" />
74-
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
75-
Other similar extension points exist, see Microsoft.Common.targets.
76-
<Target Name="BeforeBuild">
77-
</Target>
78-
<Target Name="AfterBuild">
79-
</Target>
80-
-->
8139
</Project>

binding/JakeWharton.Picasso2OkHttp3Downloader/Properties/AssemblyInfo.cs

Lines changed: 0 additions & 30 deletions
This file was deleted.

binding/JakeWharton.Picasso2OkHttp3Downloader/packages.config

Lines changed: 0 additions & 5 deletions
This file was deleted.

binding/Square.Aardvark/Aardvark.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
using Square.CoreAardvark;
77

8+
[assembly: LinkerSafe]
9+
810
namespace Square.Aardvark
911
{
1012
partial class Aardvark

0 commit comments

Comments
 (0)