Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
f4ab3ad
initial commit of files
moljac Aug 25, 2020
7f9a629
settings for nuget restore on CI windows bots
moljac Aug 31, 2020
21b70af
removed doc files (workflow from xamarin-android)
moljac Aug 31, 2020
78c77ab
Resources.Designer.cs generated for Resources.resx localization
moljac Sep 1, 2020
c23fb61
AndroidAppManifest localization
moljac Sep 10, 2020
62d001a
AndroidSdkInfo localization
moljac Sep 10, 2020
2288326
resources generated
moljac Sep 10, 2020
4af5a5c
PrivateAssets all for XliffTasks
moljac Sep 10, 2020
44948ae
AndroidSdkInfo localization fixes
moljac Sep 11, 2020
73b3bd7
AndroidVersion localization fixes
moljac Sep 11, 2020
d9d37bf
JdkInfo localization fixes
moljac Sep 11, 2020
24cbd96
OS localizations
moljac Sep 11, 2020
a3f6870
ProcessUtilities localization
moljac Sep 11, 2020
339967e
Generated code for localization
moljac Sep 11, 2020
970cc20
fix Resources.ResourceManager.GetString
moljac Sep 16, 2020
82bfc15
localized missed message (Could not determine Java version)
moljac Sep 16, 2020
9878448
/t:UpdateXlf added
moljac Sep 20, 2020
5fc833c
order of steps changed for Xlf update
moljac Sep 20, 2020
4dbc5c2
project instead of solution
moljac Sep 20, 2020
f26a40f
Update Xlf for MacOSX
moljac Sep 20, 2020
adaec08
bacslash to forwardslash on Mac
moljac Sep 20, 2020
08433c2
restore added
moljac Sep 20, 2020
f5e0a2a
Merge remote-tracking branch 'upstream/master' into moljac_master_bas…
jonpryor Sep 25, 2020
655f64a
Numerious cleanups.
jonpryor Sep 26, 2020
7aa2c6f
Remove `msbuild /t:UpdateXlf` invocations
jonpryor Sep 26, 2020
c1d07ee
Make the `Resources` type `internal`, not public.
jonpryor Sep 26, 2020
f1719a3
Exceptions excluded from localization (for now)
moljac Sep 26, 2020
d1d69e0
Cleanup!
jonpryor Sep 28, 2020
a3c0d81
Reword InvalidJdkDirectory error message
jonpryor Oct 1, 2020
5578a9b
More cleanup
jonpryor Oct 1, 2020
0cb78c0
Localize other TraceLevel.{Warning,Error} messages
jonpryor Oct 1, 2020
cf8bf25
Tidy generated resource files
brendanzagaeski Oct 2, 2020
4aa4f09
Update to address comments:
jonpryor Oct 2, 2020
2ecf9e6
Tidy generated resource files
brendanzagaeski Oct 2, 2020
08c0381
Use {1}, not {2}.
jonpryor Oct 3, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
*.Designer.cs eol=crlf
*.resx text
*.xlf text
2 changes: 2 additions & 0 deletions azure-pipelines.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ jobs:
displayName: 'NuGet Restore'
inputs:
restoreSolution: Xamarin.Android.Tools.sln
feedsToUse: config
nugetConfigPath: NuGet.config
- task: MSBuild@1
displayName: 'Build solution Xamarin.Android.Tools.sln'
inputs:
Expand Down
4 changes: 3 additions & 1 deletion src/Xamarin.Android.Tools.AndroidSdk/JdkInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
using System.Xml;
using System.Xml.Linq;

using Xamarin.Android.Tools.AndroidSdk.Properties;

namespace Xamarin.Android.Tools
{
public class JdkInfo {
Expand Down Expand Up @@ -341,7 +343,7 @@ static IEnumerable<string> GetMacOSMicrosoftJdkPaths ()
jdk = new JdkInfo (path, locator);
}
catch (Exception e) {
logger (TraceLevel.Warning, $"The directory `{path}`, via locator `{locator}`, is not a valid JDK directory: {e.Message}");
logger (TraceLevel.Warning, string.Format (Resources.InvalidJdkDirectory_path_locator_message, path, locator, e.Message));
logger (TraceLevel.Verbose, e.ToString ());
}
return jdk;
Expand Down
5 changes: 4 additions & 1 deletion src/Xamarin.Android.Tools.AndroidSdk/ProcessUtils.cs
Original file line number Diff line number Diff line change
Expand Up @@ -123,8 +123,11 @@ public static Task<TResult> ExecuteToolAsync<TResult> (string exe, Func<string,
tcs.TrySetResult (result != null ? result (output) : default (TResult)!);
} else {
var errorMessage = !string.IsNullOrEmpty (errorOutput) ? errorOutput : output;
errorMessage = string.IsNullOrEmpty (errorMessage)
? $"`{exeName}` returned non-zero exit code"
: $"{t.Result} : {errorMessage}";

tcs.TrySetException (new InvalidOperationException (string.IsNullOrEmpty (errorMessage) ? exeName + " returned non-zero exit code" : string.Format ("{0} : {1}", t.Result, errorMessage)));
tcs.TrySetException (new InvalidOperationException (errorMessage));
}
}, TaskContinuationOptions.ExecuteSynchronously);

Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

133 changes: 133 additions & 0 deletions src/Xamarin.Android.Tools.AndroidSdk/Properties/Resources.resx
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema

Version 2.0

The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.

Example:

... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>

There are any number of "resheader" rows that contain simple
name/value pairs.

Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.

The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:

Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.

mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.

mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.

mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="InvalidJdkDirectory_path_locator_message" xml:space="preserve">
<value>An exception occurred while validating the Java SDK installation in '{0}' that was found while searching the paths from '{1}'. Ensure that the Android section of the Visual Studio options has a valid Java SDK directory configured. To use a custom SDK path for a command line build, set the 'JavaSdkDirectory' MSBuild property to the custom path. Exception: {2}</value>
<comment>
{0} - The path of the invalid installation
{1} - a "contextual" name for where {0} came from: `Preferred Registry` (Windows Registry), `OpenJDK`, `$JAVA_HOME` (environment variable), etc.
{2} - The exception message of the associated exception.</comment>
</data>
<data name="InvalidMonodroidConfigFile_path_message" xml:space="preserve">
<value>An exception occurred while reading configuration file '{0}'. Exception: {1}</value>
<comment>
{0} - The path of the file being read.
{1} - The exception message of the associated exception.</comment>
</data>
</root>
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
<file datatype="xml" source-language="en" target-language="cs" original="../Resources.resx">
<body>
<trans-unit id="InvalidJdkDirectory_path_locator_message">
<source>An exception occurred while validating the Java SDK installation in '{0}' that was found while searching the paths from '{1}'. Ensure that the Android section of the Visual Studio options has a valid Java SDK directory configured. To use a custom SDK path for a command line build, set the 'JavaSdkDirectory' MSBuild property to the custom path. Exception: {2}</source>
<target state="new">An exception occurred while validating the Java SDK installation in '{0}' that was found while searching the paths from '{1}'. Ensure that the Android section of the Visual Studio options has a valid Java SDK directory configured. To use a custom SDK path for a command line build, set the 'JavaSdkDirectory' MSBuild property to the custom path. Exception: {2}</target>
<note>
{0} - The path of the invalid installation
{1} - a "contextual" name for where {0} came from: `Preferred Registry` (Windows Registry), `OpenJDK`, `$JAVA_HOME` (environment variable), etc.
{2} - The exception message of the associated exception.</note>
</trans-unit>
<trans-unit id="InvalidMonodroidConfigFile_path_message">
<source>An exception occurred while reading configuration file '{0}'. Exception: {1}</source>
<target state="new">An exception occurred while reading configuration file '{0}'. Exception: {1}</target>
<note>
{0} - The path of the file being read.
{1} - The exception message of the associated exception.</note>
</trans-unit>
</body>
</file>
</xliff>
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
<file datatype="xml" source-language="en" target-language="de" original="../Resources.resx">
<body>
<trans-unit id="InvalidJdkDirectory_path_locator_message">
<source>An exception occurred while validating the Java SDK installation in '{0}' that was found while searching the paths from '{1}'. Ensure that the Android section of the Visual Studio options has a valid Java SDK directory configured. To use a custom SDK path for a command line build, set the 'JavaSdkDirectory' MSBuild property to the custom path. Exception: {2}</source>
<target state="new">An exception occurred while validating the Java SDK installation in '{0}' that was found while searching the paths from '{1}'. Ensure that the Android section of the Visual Studio options has a valid Java SDK directory configured. To use a custom SDK path for a command line build, set the 'JavaSdkDirectory' MSBuild property to the custom path. Exception: {2}</target>
<note>
{0} - The path of the invalid installation
{1} - a "contextual" name for where {0} came from: `Preferred Registry` (Windows Registry), `OpenJDK`, `$JAVA_HOME` (environment variable), etc.
{2} - The exception message of the associated exception.</note>
</trans-unit>
<trans-unit id="InvalidMonodroidConfigFile_path_message">
<source>An exception occurred while reading configuration file '{0}'. Exception: {1}</source>
<target state="new">An exception occurred while reading configuration file '{0}'. Exception: {1}</target>
<note>
{0} - The path of the file being read.
{1} - The exception message of the associated exception.</note>
</trans-unit>
</body>
</file>
</xliff>
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
<file datatype="xml" source-language="en" target-language="es" original="../Resources.resx">
<body>
<trans-unit id="InvalidJdkDirectory_path_locator_message">
<source>An exception occurred while validating the Java SDK installation in '{0}' that was found while searching the paths from '{1}'. Ensure that the Android section of the Visual Studio options has a valid Java SDK directory configured. To use a custom SDK path for a command line build, set the 'JavaSdkDirectory' MSBuild property to the custom path. Exception: {2}</source>
<target state="new">An exception occurred while validating the Java SDK installation in '{0}' that was found while searching the paths from '{1}'. Ensure that the Android section of the Visual Studio options has a valid Java SDK directory configured. To use a custom SDK path for a command line build, set the 'JavaSdkDirectory' MSBuild property to the custom path. Exception: {2}</target>
<note>
{0} - The path of the invalid installation
{1} - a "contextual" name for where {0} came from: `Preferred Registry` (Windows Registry), `OpenJDK`, `$JAVA_HOME` (environment variable), etc.
{2} - The exception message of the associated exception.</note>
</trans-unit>
<trans-unit id="InvalidMonodroidConfigFile_path_message">
<source>An exception occurred while reading configuration file '{0}'. Exception: {1}</source>
<target state="new">An exception occurred while reading configuration file '{0}'. Exception: {1}</target>
<note>
{0} - The path of the file being read.
{1} - The exception message of the associated exception.</note>
</trans-unit>
</body>
</file>
</xliff>
Loading