Skip to content

Commit 273d1bd

Browse files
authored
chore: display warning on deprecated <splash> tag usage (#1451)
* chore: display warning on deprecated <splash> tag usage * test: create spy on warnForDeprecatedSplashScreen
1 parent 606e9c4 commit 273d1bd

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

lib/prepare.js

+11
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ module.exports.prepare = function (cordovaProject, options) {
6363

6464
// Update own www dir with project's www assets and plugins' assets and js-files
6565
return Promise.resolve(updateWww(cordovaProject, this.locations))
66+
.then(() => warnForDeprecatedSplashScreen(cordovaProject))
6667
.then(() => updateProjectAccordingTo(self._config, self.locations))
6768
.then(function () {
6869
updateIcons(cordovaProject, path.relative(cordovaProject.root, self.locations.res));
@@ -353,6 +354,16 @@ function updateProjectStrings (platformConfig, locations) {
353354
events.emit('verbose', 'Wrote out android application name "' + name + '" to ' + locations.strings);
354355
}
355356

357+
function warnForDeprecatedSplashScreen (cordovaProject) {
358+
const hasOldSplashTags = (
359+
cordovaProject.projectConfig.doc.findall('./platform[@name="android"]/splash') || []
360+
).length > 0;
361+
362+
if (hasOldSplashTags) {
363+
events.emit('warn', 'The "<splash>" tags were detected and are no longer supported. Please migrate to the "preference" tag "AndroidWindowSplashScreenAnimatedIcon".');
364+
}
365+
}
366+
356367
/**
357368
* @param {ConfigParser} platformConfig A project's configuration that will
358369
* be used to update project

spec/unit/prepare.spec.js

+4
Original file line numberDiff line numberDiff line change
@@ -766,6 +766,8 @@ describe('prepare', () => {
766766
prepare.__set__('updateWww', jasmine.createSpy());
767767
prepare.__set__('updateProjectAccordingTo', jasmine.createSpy('updateProjectAccordingTo')
768768
.and.returnValue(Promise.resolve()));
769+
prepare.__set__('warnForDeprecatedSplashScreen', jasmine.createSpy('warnForDeprecatedSplashScreen')
770+
.and.returnValue(Promise.resolve()));
769771
prepare.__set__('updateIcons', jasmine.createSpy('updateIcons').and.returnValue(Promise.resolve()));
770772
prepare.__set__('updateFileResources', jasmine.createSpy('updateFileResources').and.returnValue(Promise.resolve()));
771773
prepare.__set__('updateConfigFilesFrom',
@@ -859,6 +861,8 @@ describe('prepare', () => {
859861
prepare.__set__('updateWww', jasmine.createSpy('updateWww'));
860862
prepare.__set__('updateIcons', jasmine.createSpy('updateIcons').and.returnValue(Promise.resolve()));
861863
prepare.__set__('updateProjectSplashScreen', jasmine.createSpy('updateProjectSplashScreen'));
864+
prepare.__set__('warnForDeprecatedSplashScreen', jasmine.createSpy('warnForDeprecatedSplashScreen')
865+
.and.returnValue(Promise.resolve()));
862866
prepare.__set__('updateFileResources', jasmine.createSpy('updateFileResources').and.returnValue(Promise.resolve()));
863867
prepare.__set__('updateConfigFilesFrom',
864868
jasmine.createSpy('updateConfigFilesFrom')

0 commit comments

Comments
 (0)