CLI v1.6.4 - Support for highly dynamic configurations

Use variable anywhere in localazy.json

Before 1.6.4., it was possible to pass additional parameters on the command line using -p for both download and upload. However, such parameters were only available in output path patterns, conditions, and transformations. They were still useful for dynamic configurations but very limited.

In 1.6.4., you can make your configuration highly dynamic by using additional parameters anywhere, as they are actually resolved before the JSON file is parsed.

Let’s see a small example:

{
  "upload": {
	"files": "${reqModule}/src/locales/**/translations.json",
	// ...
  }
}

You can now upload specific folders by invoking Localazy CLI in these ways:

localazy upload -p reqModule:app
localazy upload -p reqModule:library1
localazy upload -p reqModule:library2

Previously, this could be only achieved by using groups (but with a lot of repetitive code) or conditions which is more or less suboptimal.

Convert complex files

Complex files are specific kinds of files on Localazy that represent a more complex structure than just a single file as we know it from the file system. A complex file can be actually consisted of several overlayed files at once. It’s mostly useful for very specific situations, e.g., our Android SDK.

Until today, it wasn’t possible to apply format conversions to complex files limiting development on multiple platforms.

We have finished support for this feature, but it’s still a bit experimental, so use it with care ;-).

Sorted metadata

CLI now produces metadata files with sorted languages to avoid unnecessary diffs on commits.

Report on missing groups

If you use non-existent groups on the command line, the CLI now fails with an error. This tiny change helps to debug complex configuration files.


PS: You may miss release info for versions 1.6.1 - 1.6.3, but those were just about security patches for the dependencies.