+ defaultInnoConfigurationFile + " to " + innoConfigurationFile );
+ projectInnoFile + " to " + innoConfigurationFile );
    public void execute() throws MojoExecutionException, MojoFailureException    {        initializeFiltering();        // -------------------------------------------------------------------        // Step 1 & 4: do some error checking first for compiler and OS        // -------------------------------------------------------------------                if ( ! target.getOsFamily().equals( "windows" ) )        {            throw new MojoFailureException( "Inno installers can only be targeted for windows platforms!" );        }                if ( ! Os.isFamily( "windows" ) )         {            log.warn( "Inno target " + target.getId() + " cannot be built on a non-windows machine!" );            log.warn( "The build will not fail because of this acceptable situation." );            return;        }                if ( ! target.getInnoCompiler().exists() )        {            throw new MojoFailureException( "Cannot find Inno compiler: " + target.getInnoCompiler() );        }                // -------------------------------------------------------------------        // Step 2 & 3: copy inno file and filter         // -------------------------------------------------------------------                // check first to see if the default install.iss file is present in src/main/installers        File defaultInnoConfigurationFile = new File( mymojo.getSourceDirectory(), "install.iss" );        if ( target.getInnoConfigurationFile() != null && target.getInnoConfigurationFile().exists() )        {            try            {                MojoHelperUtils.copyAsciiFile( mymojo, filterProperties, target.getInnoConfigurationFile(),                     innoConfigurationFile, true );            }            catch ( IOException e )            {                throw new MojoFailureException( "Failed to filter and copy project provided "                     + target.getInnoConfigurationFile() + " to " + innoConfigurationFile );            }        }        else if ( defaultInnoConfigurationFile.exists() )        {            try            {                MojoHelperUtils.copyAsciiFile( mymojo, filterProperties, defaultInnoConfigurationFile,                     innoConfigurationFile, true );            }            catch ( IOException e )            {                throw new MojoFailureException( "Failed to filter and copy project provided "                     + defaultInnoConfigurationFile + " to " + innoConfigurationFile );            }        }        else        {            InputStream in = getClass().getResourceAsStream( "install.iss" );            URL resource = getClass().getResource( "install.iss" );            try            {                MojoHelperUtils.copyAsciiFile( mymojo, filterProperties, in, innoConfigurationFile, true );            }            catch ( IOException e )            {                throw new MojoFailureException( "Failed to filter and copy bundled " + resource                    + " to " + innoConfigurationFile );            }        }        Execute task = new Execute();        String[] cmd = new String[] {            innoCompiler.getAbsolutePath(), innoConfigurationFile.getAbsolutePath()        };        task.setCommandline( cmd );        task.setSpawn( true );        task.setWorkingDirectory( target.getLayout().getBaseDirectory() );        try        {            task.execute();        }        catch ( IOException e )        {            throw new MojoFailureException( "Failed while trying to execute " + innoCompiler.getAbsolutePath()                 + ": " + e.getMessage() );        }                if ( task.getExitValue() != 0 )        {            throw new MojoFailureException( innoCompiler.getAbsolutePath()                 + " execution resulted in a non-zero exit value: " + task.getExitValue() );        }    }