Skip to content
This repository has been archived by the owner on Feb 4, 2022. It is now read-only.

Commit

Permalink
Common AssemblyInfo, readme updates, build scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
tbaggett committed Aug 22, 2016
1 parent 3a24c6d commit 6f01e0c
Show file tree
Hide file tree
Showing 21 changed files with 413 additions and 206 deletions.
16 changes: 7 additions & 9 deletions README.md
@@ -1,5 +1,7 @@
# XFGloss: Xamarin.Forms UI Enhancements

[![Build status](https://ci.appveyor.com/api/projects/status/i9n3j2m6vxsk4x5s/branch/master?svg=true)](https://ci.appveyor.com/project/tbaggett/xfgloss/branch/master)

![XFGloss icon](images/phoneshot.jpg)

**XFGloss** adds new properties to the Xamarin.Forms standard UI components on the Android and iOS platforms. It uses attached bindable properties and enhanced platform-specific renderers to work its magic. More details are available ***here***.
Expand Down Expand Up @@ -550,25 +552,21 @@ The XFGloss renderer classes require their overridden versions of OnElementChang

- The default XF EntryCell renderer on iOS doesn't take the accessory view into account when positioning/sizing the text entry field. I plan to submit a PR that corrects this issue.

- OnPlatform won't assign a value to an attached property when the binding is declared in Xaml **if Xaml compilation is enabled** ([verified issue by Xamarin](https://bugzilla.xamarin.com/show_bug.cgi?id=37371)). The workaround for this issue is to disable Xaml compilation for the Xaml files where you want to specify platform-specific binding. Here's a code example taken from the verified issue. The binding won't update when the app is executed if Xaml compilation is enabled.

<Button>
<Grid.Row>
<OnPlatform x:TypeArguments="x:Int32" iOS="3" Android="0"/>
</Grid.Row>
</Button>

---

# Future Enhancements
I plan to add support for other properties that aren't offered by the Xamarin.Forms components as my schedule allows. PRs, especially those that add support for other XF-supported platforms, are always welcomed!

I will provide a NETStandard version of the library as soon as Xamarin Studio's stable channel release on the Mac supports building the project. If you need a NETStandard version now, please see the NETStandard branch for code that will build in VS 2015 Update 3 with the DotNetCore VS 2015 Tools Preview 2.0 or newer installed.

---

# Credits
XFGloss was inspired by "[Lighting Up Native Platform Features In Xamarin Forms](http://www.wintellect.com/devcenter/krome/lighting-up-native-platform-features-in-xamarin-forms-part-1)." Thanks goes out to the series' author, [Keith Rome](https://twitter.com/keith_rome), for the inspiration and starting point for XFGloss.

Also, my skills with Xamarin were once again greatly improved this year by getting recertified as a [Xamarin Certified Mobile Developer](https://university.xamarin.com/certification) after having been originally certified in 2013. Here's a special shout out to some of my favorite XamU instructors, including [Glenn Stephens](https://twitter.com/glenntstephens), [Kym Phillpotts](https://twitter.com/kphillpotts) and [Judy McNeil](https://twitter.com/flyinggeekette)! They're all seasoned Xamarin developers and great instructors. Thanks to all of you and the other XamU instructors for the great training!
I was encouraged to take XFGloss to the next level by the excellent [Merge Conflict podcast](http://www.mergeconflict.fm/), in particular episode 3, *[Your First Open Source Project](http://www.mergeconflict.fm/episodes/42594-merge-conflict-3-your-first-open-source-project)*. Thanks to both [Frank A. Krueger](https://twitter.com/praeclarum) and [James Montemagno](https://twitter.com/JamesMontemagno) for your timely guidance.

My skills with Xamarin were once again greatly improved this year by getting recertified as a [Xamarin Certified Mobile Developer](https://university.xamarin.com/certification) after having been originally certified in 2013. Here's a special shout out to some of my favorite Xamarin University instructors, including [Glenn Stephens](https://twitter.com/glenntstephens), [Kym Phillpotts](https://twitter.com/kphillpotts) and [Judy McNeil](https://twitter.com/flyinggeekette)! They're all seasoned Xamarin developers and great instructors. Thank you all and the other XamU instructors for the great training!

---

Expand Down
22 changes: 1 addition & 21 deletions XFGloss.Droid/Properties/AssemblyInfo.cs
Expand Up @@ -15,29 +15,9 @@
*/

using System.Reflection;
using System.Runtime.CompilerServices;

// Information about this assembly is defined by the following attributes.
// Change them to the values specific to your project.

[assembly: AssemblyTitle("XFGloss.Droid")]
[assembly: AssemblyDescription("Visual Gloss for Xamarin.Forms")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("(c) 2016 Ansuria Solutions LLC and Tommy Baggett")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
// and "{Major}.{Minor}.{Build}.*" will update just the revision.

[assembly: AssemblyVersion("1.0.0")]

// The following attributes are used to specify the signing key for the assembly,
// if desired. See the Mono documentation for more information about signing.

//[assembly: AssemblyDelaySign(false)]
//[assembly: AssemblyKeyFile("")]

[assembly: AssemblyProduct("XFGloss.Droid")]
10 changes: 3 additions & 7 deletions XFGloss.Droid/XFGloss.Droid.csproj
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
Expand Down Expand Up @@ -108,12 +108,8 @@
<Name>XFGloss</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Folder Include="Utils\" />
<Folder Include="Renderers\" />
<Folder Include="Extensions\" />
<Folder Include="Drawables\" />
</ItemGroup>
<ItemGroup />
<Import Project="..\XFGloss.Shared\XFGloss.Shared.projitems" Label="Shared" />
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
<Import Project="..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets" Condition="Exists('..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets')" />
<Import Project="..\packages\Xamarin.Forms.2.3.1.114\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('..\packages\Xamarin.Forms.2.3.1.114\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" />
Expand Down
37 changes: 37 additions & 0 deletions XFGloss.Shared/AssemblyInfoGlobal.cs
@@ -0,0 +1,37 @@
/*
* Copyright (C) 2016 Ansuria Solutions LLC & Tommy Baggett:
* http://github.com/tbaggett
* http://twitter.com/tbaggett
* http://tommyb.com
* http://ansuria.com
*
* The MIT License (MIT) see GitHub For more information
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

using System.Resources;
using System.Reflection;

// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyDescription("Visual Gloss for Xamarin.Forms")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Ansuria Solutions LLC")]
[assembly: AssemblyCopyright("(c) 2016 Ansuria Solutions LLC and Tommy Baggett")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: NeutralResourcesLanguage("en")]

// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
// and "{Major}.{Minor}.{Build}.*" will update just the revision.

//[assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0")]
[assembly: AssemblyFileVersion("1.0.0")]
14 changes: 14 additions & 0 deletions XFGloss.Shared/XFGloss.Shared.projitems
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
<HasSharedItems>true</HasSharedItems>
<SharedGUID>1ed70b76-f520-4aaf-8c7c-2a8fd9c1d21f</SharedGUID>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<Import_RootNamespace>XFGloss.Shared</Import_RootNamespace>
</PropertyGroup>
<ItemGroup>
<Compile Include="$(MSBuildThisFileDirectory)AssemblyInfoGlobal.cs" />
</ItemGroup>
</Project>
13 changes: 13 additions & 0 deletions XFGloss.Shared/XFGloss.Shared.shproj
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>1ed70b76-f520-4aaf-8c7c-2a8fd9c1d21f</ProjectGuid>
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
</PropertyGroup>
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.Common.Default.props" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.Common.props" />
<PropertyGroup />
<Import Project="XFGloss.Shared.projitems" Label="Shared" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.CSharp.targets" />
</Project>
40 changes: 18 additions & 22 deletions XFGloss.iOS/Properties/AssemblyInfo.cs
@@ -1,27 +1,23 @@
using System.Reflection;
using System.Runtime.CompilerServices;
/*
* Copyright (C) 2016 Ansuria Solutions LLC & Tommy Baggett:
* http://github.com/tbaggett
* http://twitter.com/tbaggett
* http://tommyb.com
* http://ansuria.com
*
* The MIT License (MIT) see GitHub For more information
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

using System.Reflection;

// Information about this assembly is defined by the following attributes.
// Change them to the values specific to your project.

[assembly: AssemblyTitle("XFGloss.iOS")]
[assembly: AssemblyDescription("Visual Gloss for Xamarin.Forms")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("(c) 2016 Ansuria Solutions LLC and Tommy Baggett")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
// and "{Major}.{Minor}.{Build}.*" will update just the revision.

[assembly: AssemblyVersion("1.0.*")]

// The following attributes are used to specify the signing key for the assembly,
// if desired. See the Mono documentation for more information about signing.

//[assembly: AssemblyDelaySign(false)]
//[assembly: AssemblyKeyFile("")]

[assembly: AssemblyProduct("XFGloss.iOS")]
31 changes: 17 additions & 14 deletions XFGloss.iOS/XFGloss.iOS.csproj
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
Expand All @@ -21,23 +21,30 @@
<ConsolePause>false</ConsolePause>
<MtouchUseSGen>true</MtouchUseSGen>
<MtouchUseRefCounting>true</MtouchUseRefCounting>
<MtouchLink></MtouchLink>
<MtouchHttpClientHandler></MtouchHttpClientHandler>
<MtouchTlsProvider></MtouchTlsProvider>
<MtouchLink>
</MtouchLink>
<MtouchHttpClientHandler>
</MtouchHttpClientHandler>
<MtouchTlsProvider>
</MtouchTlsProvider>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Optimize>true</Optimize>
<OutputPath>bin\Release</OutputPath>
<DefineConstants></DefineConstants>
<DefineConstants>
</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DocumentationFile>bin\Release\XFGloss.iOS.xml</DocumentationFile>
<ConsolePause>false</ConsolePause>
<MtouchUseSGen>true</MtouchUseSGen>
<MtouchUseRefCounting>true</MtouchUseRefCounting>
<MtouchLink></MtouchLink>
<MtouchHttpClientHandler></MtouchHttpClientHandler>
<MtouchTlsProvider></MtouchTlsProvider>
<MtouchLink>
</MtouchLink>
<MtouchHttpClientHandler>
</MtouchHttpClientHandler>
<MtouchTlsProvider>
</MtouchTlsProvider>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
Expand All @@ -57,12 +64,7 @@
<HintPath>..\packages\Xamarin.Forms.2.3.1.114\lib\Xamarin.iOS10\Xamarin.Forms.Platform.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Folder Include="Resources\" />
<Folder Include="Renderers\" />
<Folder Include="Extensions\" />
<Folder Include="Views\" />
</ItemGroup>
<ItemGroup />
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Renderers\XFGlossCellRenderers.cs" />
Expand All @@ -87,6 +89,7 @@
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<Import Project="..\XFGloss.Shared\XFGloss.Shared.projitems" Label="Shared" />
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
<Import Project="..\packages\Xamarin.Forms.2.3.1.114\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('..\packages\Xamarin.Forms.2.3.1.114\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" />
</Project>

0 comments on commit 6f01e0c

Please sign in to comment.