v1.4.0 — flat-key build.properties (IDE-friendly)
Changed (non-breaking — both formats still parse)
-
build.propertiesswitched from INI sections to flat keys. Every
field is now a globally unique key (e.g.builder.j5.role,
paths.cwm/sibling) so Java-properties-aware IDEs (PhpStorm,
IntelliJ) don't flag "duplicate property key" warnings onrole,
path,db_host, etc. across sections. Same content, same semantics,
zero IDE noise.New canonical shape:
joomla.version = 5.4.2 builder.installs = j5, j6, j5-test builder.j5.role = dev builder.j5.path = /path/to/joomla5 builder.j5.url = https://j5-dev.local builder.j5.version = 5.4.2 builder.j5.db_host = localhost builder.j5.admin_email = admin@example.com # ... etc builder.j5-test.role = test builder.j5-test.path = /path/to/joomla5-test paths.joomla-bible-study/lib-cwmscripture = /Users/you/GitHub/lib_cwmscripture
-
Comment marker switched from
;to#to satisfy Java-properties
parsers too. PHP'sparse_ini_stringaccepts both via
PropertiesReader's pre-strip step.
Internal
PropertiesReader::fromLegacyFlat()renamed tofromFlat()(with the
old name retained as a private alias for any external caller still
using it). The "flat" format is the canonical v1.4 shape, not legacy.- Extended to honor explicit
builder.installs = ...lists. - Auto-discovers ids from
builder.<id>.pathkeys (preferred) before
falling back tobuilder.<id>.url(Proclaim legacy). - Parses
builder.<id>.role,builder.<id>.version, and modern
admin_user/pass/emailkey names alongside Proclaim's legacy
username/password/email.
- Extended to honor explicit
PropertiesReader::paths()now reads flatpaths.<package>keys
(preferred). Still falls back to the[paths]INI section for any
existing v1.2/v1.3 files.PropertiesReader::write()andwritePaths()now emit flat keys.PropertiesReader::fromSections()retained as a reader-only path for
backward compatibility with any developer's existing INI-style
build.propertiesfrom v1.0–v1.3. Nextcomposer setuprewrites
the file in the new flat shape.
Migration
Per consumer:
composer require --dev cwm/build-tools:^1.4composer cwm-sync-configsrefreshesbuild.dist.propertiesto
the new flat-key template.- Developers with an existing INI
build.propertieskeep working
thanks tofromSections()backward-compat. Runningcomposer setupwill migrate the file to the flat shape on next save.