def compile
      begin
        FileUtils.mkdir_p(app_home_dir)
      rescue Errno::EACCES => e
        Pkgr.logger.warn "Can't create #{app_home_dir.inspect}, which may be needed by some buildpacks."
      end
      FileUtils.mkdir_p(compile_cache_dir)
      FileUtils.mkdir_p(compile_env_dir)

      if buildpacks_for_app.size > 0
        run_hook config.before_hook

        buildpacks_for_app.each do |buildpack|
          puts "-----> #{buildpack.banner} app"
          buildpack.compile(source_dir, compile_cache_dir, compile_env_dir)
          buildpack.release(source_dir)
        end

        run_hook config.after_hook
      else
        raise Errors::UnknownAppType, "Can't find a buildpack for your app"
      end
    end
def compile
      begin
        FileUtils.mkdir_p(app_home_dir)
      rescue Errno::EACCES => e
        Pkgr.logger.warn "Can't create #{app_home_dir.inspect}, which may be needed by some buildpacks."
      end
      FileUtils.mkdir_p(compile_cache_dir)
      FileUtils.mkdir_p(compile_env_dir)

      if buildpacks_for_app.size > 0
        run_hook config.before_hook

        buildpacks_for_app.each do |buildpack|
          puts "-----> #{buildpack.banner} app"
          buildpack.compile(source_dir, compile_cache_dir, compile_env_dir)
          buildpack.release(source_dir)
        end

        run_hook config.after_hook
      else
        raise Errors::UnknownAppType, "Can't find a buildpack for your app"
      end
    end
Pass the app through the buildpack