component { function run() { var engines = directoryList( resolvePath( '' ), true, 'path', '*.zip' ) //print.line( engines ) engines.each( ( engine ) => { print.redLine( engine ).toConsole() var file = getFileFromPath( engine ) var dir = getDirectoryFromPath( engine ) zip action='unzip' file=engine destination='#dir#temp'; if( directoryExists( '#dir#temp/__MACOSX' ) ) { directoryDelete( '#dir#temp/__MACOSX', true ) } zip action='unzip' file='#dir#temp/Engine.war' destination='#dir#temp/temp'; if( fileExists( '#dir#temp/temp/WEB-INF/cfusion/lib/seed.properties' ) ) { fileDelete( '#dir#temp/temp/WEB-INF/cfusion/lib/seed.properties' ) } propertyFile( '#dir#temp/temp/WEB-INF/cfusion/lib/password.properties' ) .set( 'rdspassword', '' ) .set( 'password', 'commandbox' ) .set( 'encrypted', 'false' ) .store() var neoSecurity = XMLParse( '#dir#temp/temp/WEB-INF/cfusion/lib/neo-security.xml' ) var settings = neoSecurity.wddxPacket.data.struct.XMLChildren var i = 0 for( var setting in settings ) { i++ if( setting.XMLAttributes.name == 'admin.userid.root.salt' ) { arrayDeleteAt( settings, i ) fileWrite( '#dir#temp/temp/WEB-INF/cfusion/lib/neo-security.xml', neoSecurity ) print.line( 'Deleted admin.userid.root.salt' ).toConsole() break } } zip action='zip' source='#dir#temp/temp' file='#dir#temp/Engine.war' overwrite=true; directoryDelete( '#dir#temp/temp', true ) zip action='zip' source='#dir#temp' file=engine overwrite=true; directoryDelete( '#dir#temp', true ) print.line().line().toConsole() } ) } }