//package com.gh.gamecenter.plugin
//
//import com.gh.gamecenter.plugin.transform.Transformer
//import javassist.CtClass
//import org.apache.commons.io.IOUtils
//
//import java.util.jar.JarOutputStream
//
//class GhTransformHelper {
//
//    def transformers = new ArrayList<Transformer>()
//
//    def addTransformer(Transformer transformer) {
//        transformers.add(transformer)
//    }
//
//    def proceedModifyDir(String filePath, InputStream inputStream) {
//        transformers.forEach {
//            CtClass ctClass = it.modifyClass(filePath, inputStream)
//            if (ctClass != null) {
//                ctClass.writeFile()
//                //调用detach方法释放内存
//                ctClass.detach()
//            }
//        }
//        inputStream.close()
//    }
//
//    def proceedModifyJar(String filePath, JarOutputStream jarOutputStream, InputStream inputStream) {
//        byte[] byteCode
//        transformers.forEach {
//            if (byteCode != null) {
//                inputStream = new ByteArrayInputStream(byteCode)
//            }
//
//            CtClass ctClass = it.modifyClass(filePath, inputStream)
//            if (ctClass != null) {
//                byteCode = ctClass.toBytecode()
//                //调用detach方法释放内存
//                ctClass.detach()
//            }
//        }
//        if (byteCode == null) {
//            byteCode = IOUtils.toByteArray(inputStream)
//        }
//        jarOutputStream.write(byteCode)
//        jarOutputStream.flush()
//        inputStream.close()
//    }
//}