Skip to content

Commit

Permalink
Initial upload.
Browse files Browse the repository at this point in the history
  • Loading branch information
ilap committed Aug 20, 2017
0 parents commit ccdc5bd
Show file tree
Hide file tree
Showing 338 changed files with 17,967 additions and 0 deletions.
87 changes: 87 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.

# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates

# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs

# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
[Xx]64/
[Xx]86/
bld/
[Bb]in/
[Oo]bj/

# Visual Studio 2015 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/

# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

# NUNIT
*.VisualState.xml
TestResult.xml

# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c

# TODO: Un-comment the next line if you do not want to checkin
# your web deploy settings because they may include unencrypted
# passwords
#*.pubxml
*.publishproj

# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config
# NuGet v3's project.json files produces more ignoreable files
*.nuget.props
*.nuget.targets

# Microsoft Azure Build Output
csx/
*.build.csdef

# Microsoft Azure Emulator
ecf/
rcf/

# Microsoft Azure ApplicationInsights config file
ApplicationInsights.config

# Windows Store app package directory
AppPackages/
BundleArtifacts/

# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!*.[Cc]ache/

# Microsoft Fakes
FakesAssemblies/

# GhostDoc plugin setting file
*.GhostDoc.xml

.D*
6 changes: 6 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# This is the list of Material Components for iOS Xamarin Binding authors for copyright purposes.
#
# This does not necessarily list everyone who has contributed code, since in
# some cases, their employer may be the copyright holder. To see the full list
# of contributors, see the revision history in source control.
Pal Dorogi "ilap" <pal.dorogi@gmail.com>
9 changes: 9 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
The MIT License (MIT)

Copyright (c) 2017 The Material Components for iOS Xamarin Binding Authors. All Rights Reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
59 changes: 59 additions & 0 deletions MaterialComponentsBinding.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@

Microsoft Visual Studio Solution File, Format Version 15.00
# Visual Studio 2012
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MDC-Sample", "samples\MDC-Sample\MDC-Sample.csproj", "{94E6D472-F075-4255-87F8-803A5225C23B}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{C985C97F-C537-4AA6-A825-A4D51C3242B5}"
ProjectSection(SolutionItems) = preProject
README.md = README.md
AUTHORS = AUTHORS
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MaterialComponents", "src\MaterialComponents\MaterialComponents.csproj", "{F888B10B-1D2E-44F5-AAE9-3335566E67A7}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
Debug|iPhoneSimulator = Debug|iPhoneSimulator
Release|iPhone = Release|iPhone
Release|iPhoneSimulator = Release|iPhoneSimulator
Debug|iPhone = Debug|iPhone
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{94E6D472-F075-4255-87F8-803A5225C23B}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
{94E6D472-F075-4255-87F8-803A5225C23B}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
{94E6D472-F075-4255-87F8-803A5225C23B}.Release|Any CPU.ActiveCfg = Release|iPhone
{94E6D472-F075-4255-87F8-803A5225C23B}.Release|Any CPU.Build.0 = Release|iPhone
{94E6D472-F075-4255-87F8-803A5225C23B}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
{94E6D472-F075-4255-87F8-803A5225C23B}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
{94E6D472-F075-4255-87F8-803A5225C23B}.Release|iPhone.ActiveCfg = Release|iPhone
{94E6D472-F075-4255-87F8-803A5225C23B}.Release|iPhone.Build.0 = Release|iPhone
{94E6D472-F075-4255-87F8-803A5225C23B}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
{94E6D472-F075-4255-87F8-803A5225C23B}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
{94E6D472-F075-4255-87F8-803A5225C23B}.Debug|iPhone.ActiveCfg = Debug|iPhone
{94E6D472-F075-4255-87F8-803A5225C23B}.Debug|iPhone.Build.0 = Debug|iPhone
{F888B10B-1D2E-44F5-AAE9-3335566E67A7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F888B10B-1D2E-44F5-AAE9-3335566E67A7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F888B10B-1D2E-44F5-AAE9-3335566E67A7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F888B10B-1D2E-44F5-AAE9-3335566E67A7}.Release|Any CPU.Build.0 = Release|Any CPU
{F888B10B-1D2E-44F5-AAE9-3335566E67A7}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{F888B10B-1D2E-44F5-AAE9-3335566E67A7}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{F888B10B-1D2E-44F5-AAE9-3335566E67A7}.Release|iPhone.ActiveCfg = Release|Any CPU
{F888B10B-1D2E-44F5-AAE9-3335566E67A7}.Release|iPhone.Build.0 = Release|Any CPU
{F888B10B-1D2E-44F5-AAE9-3335566E67A7}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{F888B10B-1D2E-44F5-AAE9-3335566E67A7}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{F888B10B-1D2E-44F5-AAE9-3335566E67A7}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{F888B10B-1D2E-44F5-AAE9-3335566E67A7}.Debug|iPhone.Build.0 = Debug|Any CPU
EndGlobalSection
GlobalSection(MonoDevelopProperties) = preSolution
Policies = $0
$0.DotNetNamingPolicy = $1
$1.DirectoryNamespaceAssociation = PrefixedHierarchical
$0.StandardHeader = $2
$2.Text = @\nCopyright (c) ${Year} The ${CopyrightHolder} Authors.\nAll Rights Reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the "Software"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n
$0.VersionControlPolicy = $3
description = @This Xamarin Binding Solution follows the Material Components for iOS and other projects versioning convention.\ne.g.:\n* Material Components for iOS 31.0.0 --> Xamarin Bindig 31.0.0\n* MDFTextAccessibility --> uses the latest.
version = 31.0.0
EndGlobalSection
EndGlobal
89 changes: 89 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# Xamarin Binding for Material Components for iOS
Xamarin.iOS bindigs for Material Components for iOS (MDC-iOS).

[![Build Status](https://www.bitrise.io/app/90b72d60b57288b7/status.svg?token=EMYZt7i6cIt8J8-uNQRmkA&branch=master)](https://www.bitrise.io/app/90b72d60b57288b7)
[![NuGet Badge](https://buildstats.info/nuget/Xamarin.iOS.MaterialComponents)](https://www.nuget.org/packages/Xamarin.iOS.MaterialComponents/)

<p align="center">
<img src="arts/MDC.png" width=86 >
</p>

## Usage
- Scenario 1: Try the Sample app - Clone and open the MaterialComponents solution.

``` bash
git clone https://github.com/ilap/MaterialComponentsXamarin
open -a "Visual Studio" MaterialComponentsXamarin/MaterialComponentsBinding.sln
```

- Scenario 2: Use it in your project/solution - Install the [NuGet package](https://www.nuget.org/packages/Xamarin.iOS.MaterialComponents).

For further usage details, have a look at the [Samples](samples/) directory and the [API Documentation](https://material.io/components/ios/catalog/).

# Requirements

## Sample/Demo App Build
- MvvMCross nuget package
- FluentLayout nuget package

## Xamarin Binding Build
- The built MaterialComponents native framework and its dependent frameworks, see [Dependencies](src/README.md#framework-dependencies).
- VisualStudio for Mac.
- Xamarin.iOS

## MaterialComponents Framework Build on macOS/OS X.
- Xcode 8.3
- Pod


# Contribute

Thank yoo for your interest in this Xamarin Bindings and the sample code.
Here are some ways you can contribute to this project:

- Fix issues opened in GitHub against the binding source code and/or the sample.
- Fix API definitions in the [Binding Project](src/MaterialComponents/).
- Add a new features to the sample app.
- Add or improve comments to or in the sample code.



# Attributions #
This project uses some third-party assets with a license that requires attribution:

- **[Material Design icons at Github](https://github.com/google/material-design-icons)**,
copyright Google Inc. and licensed under
[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).


- **[Roboto Font at Google](https://www.google.com/fonts/specimen/Roboto)**, copyright [Christian Robertson](https://plus.google.com/110879635926653430880/about), and licensed under [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0)


- **[Raleway at Google Fonts](https://www.google.com/fonts/specimen/Raleway)**: copyright Matt McInerney, Pablo Impallari, Rodrigo Fuenzalida and by Igino Marini, and licensed [Open Font License](http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL_web)

For extra information about licenses, you can see it at the dependency repositories.

# License #

The MIT License (MIT)

Copyright (c) 2017 The Material Components for iOS Xamarin Binding Authors.
All Rights Reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Binary file added arts/MDC.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions arts/icons/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Ignore everything in this directory
*
# Except this file
!.gitignore
4 changes: 4 additions & 0 deletions arts/screenshots/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Ignore everything in this directory
*
# Except this file
!.gitignore
21 changes: 21 additions & 0 deletions bitrise.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
format_version: 1.4.0
default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git

project_type: xamarin

workflows:
ci:
steps:
- script@1.1.4:
inputs:
- content: |-
#!/bin/bash
# fail if any commands fails and debug log
set -ex
# build script
./build.sh -v diagnostic
- deploy-to-bitrise-io@1.3.6: {}
app:
envs:
- BITRISE_DEPLOY_DIR: artifacts
91 changes: 91 additions & 0 deletions build.cake
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
///////////////////////////////////////////////////////////////////////////////
// ARGUMENTS
///////////////////////////////////////////////////////////////////////////////

var target = Argument<string>("target", "Default");
var configuration = Argument<string>("configuration", "Debug");

///////////////////////////////////////////////////////////////////////////////
// GLOBAL VARIABLES
///////////////////////////////////////////////////////////////////////////////

var solutions = GetFiles("./**/*.sln");
var solutionPaths = solutions.Select(solution => solution.GetDirectory());

///////////////////////////////////////////////////////////////////////////////
// SETUP / TEARDOWN
///////////////////////////////////////////////////////////////////////////////

Setup(() =>
{
// Executed BEFORE the first task.
Information("Running tasks...");
});

Teardown(() =>
{
// Executed AFTER the last task.
Information("Finished running tasks.");
});

///////////////////////////////////////////////////////////////////////////////
// TASK DEFINITIONS
///////////////////////////////////////////////////////////////////////////////

Task("Clean")
.Description("Cleans all directories that are used during the build process.")
.Does(() =>
{
// Clean solution directories.
foreach(var path in solutionPaths)
{
Information("Cleaning {0}", path);
CleanDirectories(path + "/**/bin/" + configuration);
CleanDirectories(path + "/**/obj/" + configuration);
}
});

Task("Restore")
.Description("Restores all the NuGet packages that are used by the specified solution.")
.Does(() =>
{
// Restore all NuGet packages.
foreach(var solution in solutions)
{
Information("Restoring {0}...", solution);
NuGetRestore(solution);
}
});

Task("Build")
.Description("Builds all the different parts of the project.")
.IsDependentOn("Clean")
.IsDependentOn("Restore")
.Does(() =>
{
// Build all solutions.
foreach(var solution in solutions)
{
Information("Building {0}", solution);
MSBuild(solution, settings =>
settings.SetPlatformTarget(PlatformTarget.MSIL)
// Disabled Treat Warnings as errors
.WithProperty("TreatWarningsAsErrors","false")
.WithTarget("Build")
.SetConfiguration(configuration));
}
});

///////////////////////////////////////////////////////////////////////////////
// TARGETS
///////////////////////////////////////////////////////////////////////////////

Task("Default")
.Description("This is the default task which will be ran if no specific target is passed in.")
.IsDependentOn("Build");

///////////////////////////////////////////////////////////////////////////////
// EXECUTION
///////////////////////////////////////////////////////////////////////////////

RunTarget(target);
Loading

0 comments on commit ccdc5bd

Please sign in to comment.