Zuerst Grunt, dann grunt-version installieren und konfigurieren, hier für verschiedene Deployments “testing”, “preview”, “release”:
*nicht vergessen, auch die Nummer in der package.json zu inkrementieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
version: { options: { }, testing: { options: { release: 'minor' }, src: ['package.json', '../my/path/version.php'] }, preview: { options: { release: 'minor' }, src: ['package.json', '../my/path/version.php'] }, release: { options: { release: 'major' }, src: ['package.json', '../my/path/version.php'] } } |
version.php enhält dabei eine Zeile in etwa in der folgenden Form (Zeile 2):
1 2 3 |
// separate line for grunt task: $version = '0'; $config['version'] = $version; |
wobei die ‘0’ durch die Versionsnummer aus der package.json ersetzt wird.
Zeile 3 würde vom Task nicht erkannt werden, das entsprechende Pattern gibt er aber im Terminal auch aus:
1 2 3 |
Pattern not found in file Path: ../my/path/version.php Pattern: /([^\-]version['"]?\s*[:=]\s*['"])([0-9a-zA-Z\-_\+\.]+)/g |