gitextract_shwv98fg/ ├── .gitignore ├── LICENSE ├── README-ch.md ├── README.md ├── docs/ │ ├── arch_design.md │ ├── configs.md │ ├── custom_data_source.md │ ├── gitlab.md │ └── ide_source_start.md ├── extendlibs/ │ └── tac-custom-datasource-demo-0.0.4-SNAPSHOT.jar ├── override.properties ├── pom.xml ├── tac-console/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── alibaba/ │ │ │ └── tac/ │ │ │ └── console/ │ │ │ ├── ConsoleApplication.java │ │ │ ├── ConsoleBeanConfig.java │ │ │ ├── ConsoleConstants.java │ │ │ ├── TacApplicationContext.java │ │ │ ├── error/ │ │ │ │ ├── ConsoleError.java │ │ │ │ └── IErrorCode.java │ │ │ ├── sdk/ │ │ │ │ └── MenuOptionHandler.java │ │ │ └── web/ │ │ │ ├── HomeController.java │ │ │ ├── InstFileRO.java │ │ │ ├── TacInstController.java │ │ │ ├── TacMsController.java │ │ │ └── ro/ │ │ │ └── InstTestRO.java │ │ └── resources/ │ │ ├── application-admin.properties │ │ ├── application-simple.properties │ │ ├── application.properties │ │ ├── static/ │ │ │ ├── css/ │ │ │ │ └── app.797406e2fb84b15ea0b383ad60572f28.css │ │ │ ├── js/ │ │ │ │ ├── app.606b53e74ca0c7067159.js │ │ │ │ ├── manifest.58ce01f7a6fd036b4f8d.js │ │ │ │ └── vendor.8940c3c560d73d0a0b28.js │ │ │ └── main.css │ │ ├── tac-console.properties │ │ └── templates/ │ │ └── index.html │ └── test/ │ └── java/ │ └── com/ │ └── alibaba/ │ └── tac/ │ └── console/ │ ├── MenuOptionHandlerTest.java │ └── test/ │ ├── LancherTest.java │ ├── TacConsoleTest.java │ └── TestApplication.java ├── tac-console-web/ │ ├── .babelrc │ ├── .editorconfig │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .gitignore │ ├── .postcssrc.js │ ├── README.md │ ├── build/ │ │ ├── build.js │ │ ├── check-versions.js │ │ ├── dev-client.js │ │ ├── dev-server.js │ │ ├── utils.js │ │ ├── vue-loader.conf.js │ │ ├── webpack.base.conf.js │ │ ├── webpack.dev.conf.js │ │ └── webpack.prod.conf.js │ ├── config/ │ │ ├── dev.env.js │ │ ├── index.js │ │ └── prod.env.js │ ├── index.html │ ├── package.json │ ├── src/ │ │ ├── App.vue │ │ ├── components/ │ │ │ ├── Hello.vue │ │ │ ├── Home.vue │ │ │ ├── TacConsole.vue │ │ │ ├── TacInst.vue │ │ │ ├── TacInstPublish.vue │ │ │ ├── TacInstPublishCheck.vue │ │ │ ├── TacJSONEditor.vue │ │ │ ├── TacMs.vue │ │ │ ├── TacMsEdit.vue │ │ │ └── TacMsList.vue │ │ ├── main.js │ │ └── router/ │ │ └── index.js │ └── static/ │ ├── .gitkeep │ └── main.css ├── tac-container/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── alibaba/ │ │ └── tac/ │ │ └── container/ │ │ ├── ContainerApplication.java │ │ ├── ContainerBeanConfig.java │ │ └── web/ │ │ └── TacApiController.java │ └── resources/ │ └── application.properties ├── tac-custom-datasource-demo/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── tmall/ │ │ └── itemcenter/ │ │ ├── ItemDO.java │ │ └── TmallItemService.java │ └── test/ │ └── java/ │ └── com/ │ └── alibaba/ │ └── tac/ │ └── AppTest.java ├── tac-dev-source-demo/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── alibaba/ │ └── tac/ │ └── biz/ │ └── processor/ │ └── HelloWorldTac.java ├── tac-engine/ │ ├── extendlibs/ │ │ ├── gson-2.8.2.jar │ │ └── tac-dev-source-0.0.1-SNAPSHOT.jar │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── alibaba/ │ │ │ └── tac/ │ │ │ └── engine/ │ │ │ ├── autoconfigure/ │ │ │ │ └── TacAutoConfiguration.java │ │ │ ├── bootlaucher/ │ │ │ │ └── BootJarLaucherUtils.java │ │ │ ├── code/ │ │ │ │ ├── CodeCompileService.java │ │ │ │ ├── CodeLoadService.java │ │ │ │ ├── CustomerClassLoader.java │ │ │ │ ├── SpringClassLoader.java │ │ │ │ └── TacFileService.java │ │ │ ├── common/ │ │ │ │ ├── DefaultTacIDGenerator.java │ │ │ │ ├── SequenceCounter.java │ │ │ │ ├── TacIDGenerator.java │ │ │ │ └── redis/ │ │ │ │ └── RedisSequenceCounter.java │ │ │ ├── compile/ │ │ │ │ ├── IJdkCompiler.java │ │ │ │ ├── InstCodeInfo.java │ │ │ │ ├── JavaSourceCode.java │ │ │ │ ├── JdkCompilerImpl.java │ │ │ │ └── TacJavaFileObject.java │ │ │ ├── event/ │ │ │ │ └── domain/ │ │ │ │ ├── AbstractMsEvent.java │ │ │ │ ├── GetAllMsEvent.java │ │ │ │ ├── MsOfflineEvent.java │ │ │ │ ├── MsPublishEvent.java │ │ │ │ └── MsReceivePublishEvent.java │ │ │ ├── git/ │ │ │ │ └── GitRepoService.java │ │ │ ├── inst/ │ │ │ │ ├── domain/ │ │ │ │ │ ├── TacInst.java │ │ │ │ │ ├── TacInstStatus.java │ │ │ │ │ └── TacInstanceInfo.java │ │ │ │ └── service/ │ │ │ │ ├── DevMsInstFileService.java │ │ │ │ ├── IMsInstFileService.java │ │ │ │ ├── IMsInstService.java │ │ │ │ ├── LocalMsInstFileService.java │ │ │ │ └── redis/ │ │ │ │ ├── RedisMsInstFileService.java │ │ │ │ └── RedisMsInstService.java │ │ │ ├── ms/ │ │ │ │ ├── domain/ │ │ │ │ │ ├── TacMs.java │ │ │ │ │ ├── TacMsDO.java │ │ │ │ │ ├── TacMsPublishMeta.java │ │ │ │ │ └── TacMsStatus.java │ │ │ │ └── service/ │ │ │ │ ├── AbstractDefaultMsPublisher.java │ │ │ │ ├── DefaultMsEventHandlers.java │ │ │ │ ├── IMsPublisher.java │ │ │ │ ├── IMsService.java │ │ │ │ ├── IMsSubscriber.java │ │ │ │ └── redis/ │ │ │ │ ├── RedisMsPublisher.java │ │ │ │ ├── RedisMsService.java │ │ │ │ └── RedisMsSubscriber.java │ │ │ ├── properties/ │ │ │ │ ├── TacDataPathProperties.java │ │ │ │ ├── TacGitlabProperties.java │ │ │ │ ├── TacMsConstants.java │ │ │ │ └── TacRedisConfigProperties.java │ │ │ ├── service/ │ │ │ │ ├── DefaultTacEngineService.java │ │ │ │ ├── EngineBeansConfig.java │ │ │ │ ├── RedisBeansConfig.java │ │ │ │ ├── TacEngineService.java │ │ │ │ ├── TacInstRunService.java │ │ │ │ ├── TacInstanceContainerService.java │ │ │ │ ├── TacInstanceLoadService.java │ │ │ │ └── TacPublishTestService.java │ │ │ └── util/ │ │ │ ├── Bytes.java │ │ │ ├── CollectionUtils.java │ │ │ ├── HConstants.java │ │ │ ├── IterableUtils.java │ │ │ ├── TacCompressUtils.java │ │ │ ├── TacLogUtils.java │ │ │ ├── ThreadPoolUtils.java │ │ │ └── ThreadUtils.java │ │ └── resources/ │ │ ├── META-INF/ │ │ │ └── spring.factories │ │ └── tac/ │ │ └── default-logback-spring.xml │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── alibaba/ │ │ └── tac/ │ │ ├── engine/ │ │ │ ├── common/ │ │ │ │ └── redis/ │ │ │ │ └── RedisSequenceCounterTest.java │ │ │ ├── inst/ │ │ │ │ └── service/ │ │ │ │ └── redis/ │ │ │ │ ├── RedisMsInstFileServiceTest.java │ │ │ │ └── RedisMsInstServiceTest.java │ │ │ ├── ms/ │ │ │ │ └── service/ │ │ │ │ └── redis/ │ │ │ │ ├── RedisMsPublisherTest.java │ │ │ │ └── RedisMsServiceTest.java │ │ │ ├── service/ │ │ │ │ ├── GitLabFeatureTest.java │ │ │ │ ├── JdkCompilerTest.java │ │ │ │ └── TacInstanceLoadServiceTest.java │ │ │ ├── test/ │ │ │ │ ├── TacEnginTest.java │ │ │ │ └── TestApplication.java │ │ │ └── utils/ │ │ │ └── TacFileUtilTest.java │ │ └── test/ │ │ ├── http/ │ │ │ └── HttpClientTest.java │ │ └── redis/ │ │ ├── RedisConfig.java │ │ ├── StringDataRedisTest.java │ │ └── TacRedisMessageListener.java │ ├── resources/ │ │ └── test.properties │ └── source/ │ └── test1/ │ └── com/ │ └── alibaba/ │ └── tac/ │ └── biz/ │ └── processor/ │ └── HelloTac.java ├── tac-infrastructure/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── alibaba/ │ │ └── tac/ │ │ └── infrastracture/ │ │ └── logger/ │ │ ├── TacLogConsts.java │ │ └── TacLoggerImpl.java │ └── test/ │ └── java/ │ └── com/ │ └── alibaba/ │ └── tac/ │ └── AppTest.java └── tac-sdk/ ├── pom.xml └── src/ └── main/ └── java/ └── com/ └── alibaba/ └── tac/ └── sdk/ ├── common/ │ ├── TacContants.java │ ├── TacParams.java │ ├── TacResult.java │ └── TacThreadLocals.java ├── domain/ │ ├── Context.java │ └── TacRequestContext.java ├── error/ │ ├── ErrorCode.java │ ├── IError.java │ └── ServiceException.java ├── factory/ │ ├── AbstractServiceFactory.java │ └── TacInfrasFactory.java ├── handler/ │ ├── DisposableHandler.java │ ├── InitializingHandler.java │ └── TacHandler.java ├── infrastracture/ │ └── TacLogger.java ├── tangram4tac/ │ ├── Cell.java │ ├── Container.java │ ├── FieldExcluder.java │ ├── FieldNameMapper.java │ ├── Style.java │ ├── lib/ │ │ ├── BannerContainer.java │ │ ├── BannerStyle.java │ │ ├── CellType.java │ │ ├── FiveColumnContainer.java │ │ ├── FixContainer.java │ │ ├── FixStyle.java │ │ ├── FloatContainer.java │ │ ├── FlowContainer.java │ │ ├── FlowStyle.java │ │ ├── FourColumnContainer.java │ │ ├── OneChildContainer.java │ │ ├── OneColumnContainer.java │ │ ├── OnePlusNContainer.java │ │ ├── OnePlusNStyle.java │ │ ├── ScrollContainer.java │ │ ├── ScrollFixBannerContainer.java │ │ ├── ScrollFixContainer.java │ │ ├── ScrollStyle.java │ │ ├── StickyContainer.java │ │ ├── StickyStyle.java │ │ ├── ThreeColumnContainer.java │ │ ├── TwoColumnContainer.java │ │ ├── WaterFallContainer.java │ │ └── WaterFallStyle.java │ ├── render/ │ │ ├── DefaultRender.java │ │ └── IRender.java │ └── utils/ │ ├── Pair.java │ └── Utils.java └── utils/ └── TacIPUtils.java