diff --git a/lib/prepare.js b/lib/prepare.js index 68ff7120..bb97c400 100644 --- a/lib/prepare.js +++ b/lib/prepare.js @@ -63,6 +63,7 @@ module.exports.prepare = function (cordovaProject, options) { // Update own www dir with project's www assets and plugins' assets and js-files return Promise.resolve(updateWww(cordovaProject, this.locations)) + .then(() => warnForDeprecatedSplashScreen(cordovaProject)) .then(() => updateProjectAccordingTo(self._config, self.locations)) .then(function () { updateIcons(cordovaProject, path.relative(cordovaProject.root, self.locations.res)); @@ -353,6 +354,16 @@ function updateProjectStrings (platformConfig, locations) { events.emit('verbose', 'Wrote out android application name "' + name + '" to ' + locations.strings); } +function warnForDeprecatedSplashScreen (cordovaProject) { + const hasOldSplashTags = ( + cordovaProject.projectConfig.doc.findall('./platform[@name="android"]/splash') || [] + ).length > 0; + + if (hasOldSplashTags) { + events.emit('warn', 'The "" tags were detected and are no longer supported. Please migrate to the "preference" tag "AndroidWindowSplashScreenAnimatedIcon".'); + } +} + /** * @param {ConfigParser} platformConfig A project's configuration that will * be used to update project diff --git a/spec/unit/prepare.spec.js b/spec/unit/prepare.spec.js index 8dec31eb..be541b83 100644 --- a/spec/unit/prepare.spec.js +++ b/spec/unit/prepare.spec.js @@ -766,6 +766,8 @@ describe('prepare', () => { prepare.__set__('updateWww', jasmine.createSpy()); prepare.__set__('updateProjectAccordingTo', jasmine.createSpy('updateProjectAccordingTo') .and.returnValue(Promise.resolve())); + prepare.__set__('warnForDeprecatedSplashScreen', jasmine.createSpy('warnForDeprecatedSplashScreen') + .and.returnValue(Promise.resolve())); prepare.__set__('updateIcons', jasmine.createSpy('updateIcons').and.returnValue(Promise.resolve())); prepare.__set__('updateFileResources', jasmine.createSpy('updateFileResources').and.returnValue(Promise.resolve())); prepare.__set__('updateConfigFilesFrom', @@ -859,6 +861,8 @@ describe('prepare', () => { prepare.__set__('updateWww', jasmine.createSpy('updateWww')); prepare.__set__('updateIcons', jasmine.createSpy('updateIcons').and.returnValue(Promise.resolve())); prepare.__set__('updateProjectSplashScreen', jasmine.createSpy('updateProjectSplashScreen')); + prepare.__set__('warnForDeprecatedSplashScreen', jasmine.createSpy('warnForDeprecatedSplashScreen') + .and.returnValue(Promise.resolve())); prepare.__set__('updateFileResources', jasmine.createSpy('updateFileResources').and.returnValue(Promise.resolve())); prepare.__set__('updateConfigFilesFrom', jasmine.createSpy('updateConfigFilesFrom')