From d9dbbf62b83912b8e49392798e6da15fa1144689 Mon Sep 17 00:00:00 2001 From: Bala Yadav Date: Tue, 8 Sep 2020 12:59:30 -0500 Subject: [PATCH] Segregate situp-plugins --- .gitattributes | 5 ++ .gitignore | 7 ++ .../6.5/executionHistory/executionHistory.bin | Bin 1496658 -> 2659042 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .gradle/6.5/fileHashes/fileHashes.bin | Bin 92415 -> 128783 bytes .gradle/6.5/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../6.5/fileHashes/resourceHashesCache.bin | Bin 24787 -> 25093 bytes .gradle/6.5/javaCompile/classAnalysis.bin | Bin 37727 -> 41909 bytes .gradle/6.5/javaCompile/jarAnalysis.bin | Bin 43770 -> 53938 bytes .gradle/6.5/javaCompile/javaCompile.lock | Bin 17 -> 17 bytes .gradle/6.5/javaCompile/taskHistory.bin | Bin 54584 -> 88507 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .gradle/buildOutputCleanup/outputFiles.bin | Bin 20513 -> 22205 bytes settings.gradle | 5 +- situp-core/build.gradle | 2 +- situp-plugins/apmtracesource/build.gradle | 12 +++ .../apmtracesource/ApmSpanProcessor.java | 0 .../ApmTraceRequestProcessor.java | 0 .../source/apmtracesource/ApmTraceSource.java | 2 +- .../http/common/DaemonThreadFactory.java | 0 .../http/server/NettyHttpConfig.java | 0 .../http/server/NettyHttpServer.java | 0 .../http/server/ServerHandler.java | 0 .../http/server/ServerRequestProcessor.java | 0 .../http/server/ServerResponseUtil.java | 0 .../server/ServerTrafficShapingHandler.java | 0 situp-plugins/build.gradle | 79 ------------------ situp-plugins/common/build.gradle | 11 +++ .../amazon/situp/plugins/PluginException.java | 0 .../amazon/situp/plugins/PluginFactory.java | 0 .../situp/plugins/PluginRepository.java | 2 +- .../situp/plugins/buffer/BufferFactory.java | 0 .../buffer/UnboundedInMemoryBuffer.java | 4 +- .../plugins/processor/NoOpProcessor.java | 4 +- .../plugins/processor/ProcessorFactory.java | 2 +- .../StatelessServiceMapTraceProcessor.java | 7 +- .../plugins/processor/StringProcessor.java | 4 +- .../amazon/situp/plugins/sink/FileSink.java | 4 +- .../situp/plugins/sink/SinkFactory.java | 2 +- .../amazon/situp/plugins/sink/StdOutSink.java | 4 +- .../situp/plugins/source/FileSource.java | 2 +- .../situp/plugins/source/SourceFactory.java | 2 +- .../situp/plugins/source/StdInSource.java | 2 +- .../plugins/ConstructorLessComponent.java | 2 +- .../situp/plugins/PluginFactoryTests.java | 0 .../plugins/buffer/BufferFactoryTests.java | 0 .../processor/ProcessorFactoryTests.java | 2 +- .../situp/plugins/sink/SinkFactoryTests.java | 2 +- .../amazon/situp/plugins/sink/TestSink.java | 4 +- .../plugins/source/SourceFactoryTests.java | 2 +- .../situp/plugins/source/TestSource.java | 4 +- situp-plugins/elasticsearch/build.gradle | 77 +++++++++++++++++ .../ConnectionConfiguration.java | 0 .../sink/elasticsearch/ElasticsearchSink.java | 6 +- .../ElasticsearchSinkConfiguration.java | 0 .../elasticsearch/IndexConfiguration.java | 0 .../sink/elasticsearch/IndexConstants.java | 0 .../elasticsearch/RetryConfiguration.java | 0 ...tel-v1-apm-service-map-index-template.json | 0 .../otel-v1-apm-span-index-template.json | 0 .../ConnectionPipelineComponentIT.java | 0 .../elasticsearch/ElasticsearchSinkIT.java | 1 - .../IndexConfigurationTests.java | 0 .../test/resources/test-index-template.json | 0 situp-plugins/src/.DS_Store | Bin 6148 -> 0 bytes situp-plugins/src/main/.DS_Store | Bin 6148 -> 0 bytes situp-plugins/src/main/java/.DS_Store | Bin 6148 -> 0 bytes situp-plugins/src/main/java/com/.DS_Store | Bin 6148 -> 0 bytes .../src/main/java/com/amazon/.DS_Store | Bin 6148 -> 0 bytes .../src/main/java/com/amazon/situp/.DS_Store | Bin 6148 -> 0 bytes .../java/com/amazon/situp/plugins/.DS_Store | Bin 6148 -> 0 bytes .../com/amazon/situp/plugins/sink/.DS_Store | Bin 6148 -> 0 bytes .../com/amazon/situp/plugins/source/.DS_Store | Bin 6148 -> 0 bytes .../plugins/source/apmtracesource/.DS_Store | Bin 6148 -> 0 bytes .../source/apmtracesource/http/.DS_Store | Bin 6148 -> 0 bytes situp-plugins/src/main/resources/.DS_Store | Bin 6148 -> 0 bytes .../src/resources/file-test-sample-output.txt | 4 - .../src/resources/file-test-sample.txt | 4 - ...tel-v1-apm-service-map-index-template.json | 33 -------- .../otel-v1-apm-span-index-template.json | 51 ----------- situp-plugins/src/test/.DS_Store | Bin 6148 -> 0 bytes situp-plugins/src/test/java/.DS_Store | Bin 6148 -> 0 bytes situp-plugins/src/test/java/com/.DS_Store | Bin 6148 -> 0 bytes .../src/test/java/com/amazon/.DS_Store | Bin 6148 -> 0 bytes .../src/test/java/com/amazon/situp/.DS_Store | Bin 6148 -> 0 bytes .../java/com/amazon/situp/plugins/.DS_Store | Bin 6148 -> 0 bytes .../com/amazon/situp/plugins/sink/.DS_Store | Bin 6148 -> 0 bytes 87 files changed, 149 insertions(+), 205 deletions(-) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 situp-plugins/apmtracesource/build.gradle rename situp-plugins/{ => apmtracesource}/src/main/java/com/amazon/situp/plugins/source/apmtracesource/ApmSpanProcessor.java (100%) rename situp-plugins/{ => apmtracesource}/src/main/java/com/amazon/situp/plugins/source/apmtracesource/ApmTraceRequestProcessor.java (100%) rename situp-plugins/{ => apmtracesource}/src/main/java/com/amazon/situp/plugins/source/apmtracesource/ApmTraceSource.java (100%) rename situp-plugins/{ => apmtracesource}/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/common/DaemonThreadFactory.java (100%) rename situp-plugins/{ => apmtracesource}/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/NettyHttpConfig.java (100%) rename situp-plugins/{ => apmtracesource}/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/NettyHttpServer.java (100%) rename situp-plugins/{ => apmtracesource}/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/ServerHandler.java (100%) rename situp-plugins/{ => apmtracesource}/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/ServerRequestProcessor.java (100%) rename situp-plugins/{ => apmtracesource}/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/ServerResponseUtil.java (100%) rename situp-plugins/{ => apmtracesource}/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/ServerTrafficShapingHandler.java (100%) create mode 100644 situp-plugins/common/build.gradle rename situp-plugins/{ => common}/src/main/java/com/amazon/situp/plugins/PluginException.java (100%) rename situp-plugins/{ => common}/src/main/java/com/amazon/situp/plugins/PluginFactory.java (100%) rename situp-plugins/{ => common}/src/main/java/com/amazon/situp/plugins/PluginRepository.java (98%) rename situp-plugins/{ => common}/src/main/java/com/amazon/situp/plugins/buffer/BufferFactory.java (100%) rename situp-plugins/{ => common}/src/main/java/com/amazon/situp/plugins/buffer/UnboundedInMemoryBuffer.java (100%) rename situp-plugins/{ => common}/src/main/java/com/amazon/situp/plugins/processor/NoOpProcessor.java (100%) rename situp-plugins/{ => common}/src/main/java/com/amazon/situp/plugins/processor/ProcessorFactory.java (100%) rename situp-plugins/{ => common}/src/main/java/com/amazon/situp/plugins/processor/StatelessServiceMapTraceProcessor.java (99%) rename situp-plugins/{ => common}/src/main/java/com/amazon/situp/plugins/processor/StringProcessor.java (100%) rename situp-plugins/{ => common}/src/main/java/com/amazon/situp/plugins/sink/FileSink.java (100%) rename situp-plugins/{ => common}/src/main/java/com/amazon/situp/plugins/sink/SinkFactory.java (100%) rename situp-plugins/{ => common}/src/main/java/com/amazon/situp/plugins/sink/StdOutSink.java (100%) rename situp-plugins/{ => common}/src/main/java/com/amazon/situp/plugins/source/FileSource.java (99%) rename situp-plugins/{ => common}/src/main/java/com/amazon/situp/plugins/source/SourceFactory.java (99%) rename situp-plugins/{ => common}/src/main/java/com/amazon/situp/plugins/source/StdInSource.java (99%) rename situp-plugins/{ => common}/src/test/java/com/amazon/situp/plugins/ConstructorLessComponent.java (100%) rename situp-plugins/{ => common}/src/test/java/com/amazon/situp/plugins/PluginFactoryTests.java (100%) rename situp-plugins/{ => common}/src/test/java/com/amazon/situp/plugins/buffer/BufferFactoryTests.java (100%) rename situp-plugins/{ => common}/src/test/java/com/amazon/situp/plugins/processor/ProcessorFactoryTests.java (100%) rename situp-plugins/{ => common}/src/test/java/com/amazon/situp/plugins/sink/SinkFactoryTests.java (100%) rename situp-plugins/{ => common}/src/test/java/com/amazon/situp/plugins/sink/TestSink.java (100%) rename situp-plugins/{ => common}/src/test/java/com/amazon/situp/plugins/source/SourceFactoryTests.java (100%) rename situp-plugins/{ => common}/src/test/java/com/amazon/situp/plugins/source/TestSource.java (100%) create mode 100644 situp-plugins/elasticsearch/build.gradle rename situp-plugins/{ => elasticsearch}/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/ConnectionConfiguration.java (100%) rename situp-plugins/{ => elasticsearch}/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/ElasticsearchSink.java (100%) rename situp-plugins/{ => elasticsearch}/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/ElasticsearchSinkConfiguration.java (100%) rename situp-plugins/{ => elasticsearch}/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/IndexConfiguration.java (100%) rename situp-plugins/{ => elasticsearch}/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/IndexConstants.java (100%) rename situp-plugins/{ => elasticsearch}/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/RetryConfiguration.java (100%) rename situp-plugins/{ => elasticsearch}/src/main/resources/otel-v1-apm-service-map-index-template.json (100%) rename situp-plugins/{ => elasticsearch}/src/main/resources/otel-v1-apm-span-index-template.json (100%) rename situp-plugins/{ => elasticsearch}/src/test/java/com/amazon/situp/plugins/sink/elasticsearch/ConnectionPipelineComponentIT.java (100%) rename situp-plugins/{ => elasticsearch}/src/test/java/com/amazon/situp/plugins/sink/elasticsearch/ElasticsearchSinkIT.java (99%) rename situp-plugins/{ => elasticsearch}/src/test/java/com/amazon/situp/plugins/sink/elasticsearch/IndexConfigurationTests.java (100%) rename situp-plugins/{ => elasticsearch}/src/test/resources/test-index-template.json (100%) delete mode 100644 situp-plugins/src/.DS_Store delete mode 100644 situp-plugins/src/main/.DS_Store delete mode 100644 situp-plugins/src/main/java/.DS_Store delete mode 100644 situp-plugins/src/main/java/com/.DS_Store delete mode 100644 situp-plugins/src/main/java/com/amazon/.DS_Store delete mode 100644 situp-plugins/src/main/java/com/amazon/situp/.DS_Store delete mode 100644 situp-plugins/src/main/java/com/amazon/situp/plugins/.DS_Store delete mode 100644 situp-plugins/src/main/java/com/amazon/situp/plugins/sink/.DS_Store delete mode 100644 situp-plugins/src/main/java/com/amazon/situp/plugins/source/.DS_Store delete mode 100644 situp-plugins/src/main/java/com/amazon/situp/plugins/source/apmtracesource/.DS_Store delete mode 100644 situp-plugins/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/.DS_Store delete mode 100644 situp-plugins/src/main/resources/.DS_Store delete mode 100644 situp-plugins/src/resources/file-test-sample-output.txt delete mode 100644 situp-plugins/src/resources/file-test-sample.txt delete mode 100644 situp-plugins/src/resources/otel-v1-apm-service-map-index-template.json delete mode 100644 situp-plugins/src/resources/otel-v1-apm-span-index-template.json delete mode 100644 situp-plugins/src/test/.DS_Store delete mode 100644 situp-plugins/src/test/java/.DS_Store delete mode 100644 situp-plugins/src/test/java/com/.DS_Store delete mode 100644 situp-plugins/src/test/java/com/amazon/.DS_Store delete mode 100644 situp-plugins/src/test/java/com/amazon/situp/.DS_Store delete mode 100644 situp-plugins/src/test/java/com/amazon/situp/plugins/.DS_Store delete mode 100644 situp-plugins/src/test/java/com/amazon/situp/plugins/sink/.DS_Store diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000..022b84144a --- /dev/null +++ b/.gitattributes @@ -0,0 +1,5 @@ +# +# https://help.github.com/articles/dealing-with-line-endings/ +# +# These are explicitly windows files and should use crlf +*.bat text eol=crlf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000..b25cfedaaa --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +# Ignore Gradle project-specific cache directory +.DS_Store +.idea +.gradle + +# Ignore Gradle build output directory +build diff --git a/.gradle/6.5/executionHistory/executionHistory.bin b/.gradle/6.5/executionHistory/executionHistory.bin index 5f21b061437c9a1f696762f408dff0924d3fb0a1..b8c990d5bcc50b6f7fa3e3881f49f570dd6f514d 100644 GIT binary patch delta 59408 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 diff --git a/.gradle/6.5/fileHashes/fileHashes.lock b/.gradle/6.5/fileHashes/fileHashes.lock index b5a4b70d9332f64f721870e254bf96ee8b0444f2..dcd05b66a64c9b39aaa58121a9d7cd943411eea5 100644 GIT binary patch literal 17 UcmZQp4V%~*9q>tq0Sves04d7@?EnA( literal 17 UcmZQp4V%~*9q>tq0SwsL04YfWZvX%Q diff --git a/.gradle/6.5/fileHashes/resourceHashesCache.bin b/.gradle/6.5/fileHashes/resourceHashesCache.bin index 10d0c22b979f1c2c0c46135821d5921b17689b02..96f9d1d85b967e2772dd2a1dc1470cd84356c107 100644 GIT binary patch delta 372 zcmcb7kg@d$;|3E6#zUJ;B~CC3%qgn#Jyg+TzyJn`wVS_6o?sR@e~+7w^(R{ZRMc|v zR#`=U>%z(espvGQnE2+ivI@)sKY1?;pO4@F9x6J2@>2y1f&a5bp1k{YxD6`!c(bVD zPDcLX(#*+@&Rd~^(VLGd9bgi$S=kp_v!k>hDtd5ot*V89OO2D_+l10}5W$46o7bu? zWaJMx`uKj6cOX>o@@7}{ASNau$Bl|V#5Wq;VBPHKF-cnO|LP2h`M~|e-TipoH3A)1Y$uD7TEIt*#RGynnnBj#3FaG_X=aGc*yo}u8ZBv sjA#1A5?znC)L^Q}uZp{p`Lxpes>3YjGM;RZ1rS>%ukg{HEEp^T05EZO_y7O^ delta 74 zcmV-Q0JZ;x!~xU60kAX}0lBj^7{~#$6&k<;lkFWDvmPE71Cvc5Fte2*u>rGQBew#R gEhaFtbtahsvnD7>0s;|fu_5>uu`sX(vq4Cb81qsZAOHXW diff --git a/.gradle/6.5/javaCompile/classAnalysis.bin b/.gradle/6.5/javaCompile/classAnalysis.bin index 9e2b7c6fa081237e212c4da08239cec19e6029f1..b35a31ed32985a4ab19e3dd7849ed9a784caf916 100644 GIT binary patch delta 1648 zcmbVMeM}Q)7{3=vt5D?5kI{A(VL`=2ZyK2n!_f;=WFf@k5@0P}|Y&uP3OH34X*_LG?OWbsc|0sz|%naGyr`Kzl*hIbL*Sq}Q z=Y5{v^LwASzxQUG`ynGzYMJ2*UH)fM=`EMW_VmEt)=0^{nuEuG z?LTl`BM%CCia#Is9?SpnRJX?OKMGy8I`+|*n|tK*)}Tfnm<{)BMS0avp51--8mn>L z91PnE*{8yT@BdnS>7hn;cE%>Xd6BU5JndzBTKD#A?4i@K{>h68yK(=VpS!lWw`(jk zz_2}3y!qVj%E6)jwHo==E?t)XW*AdjwCHJmbaoFLb5s?)AKT`xBsrv=VaQg*B_JEE z&>6PntP~Vg!91o@agMDunk&6NRSvYpmtaS@lpNQWvYlIef?pM7DVoTTZK#!9epv1) zA0L(jAM=}nlBn_yMG*q(2^v!XgR90(BVVM}Fs&w>d^VSgsi9bch{2Fl1a`@s5@kH2 zb0jG*cci?evav~JaC`4G2zhe3QF`F9^maNaE|kJij76NJWec-Wsap;Pd;$>9EMlOU z=fb!9rb0u@RB{$}xbh+7v*(dF=w1fL>;eMrc&2dit)lda)+obd#`m`FEK2QTnd?|{ z5ygDO*@Rm;BieuErqdrnPW%)L;Ku6QbRI0lKJHTtBKq)zEfun)sDU63#0P?+RLCuU zSrR0bI>JM=x@KfQ53!$d6h=f+J2&#c&=3O*t(g9zp~8W&0$a-#k2*WLE#tW%(hnL2 zs*Eg|fW=o))FNW>OatMGFK=dQw$JFB^$Me1y_g6w!Oc2bIzQK-BnL$q;s%h9W`SIv zZK)IeLbE6dNi(ZgqAi)Qe0?!+A1(t&y>lrg$Vt34LbF#p%6<#IrXGSWqWI07Cf+pf2B92d)VEBd#pGmnfP`AklcN!N#)`qGDFS0w$opsO( znPv(D;wo)wp-I!vqJHwf0;CT(?_1EZK99}`e$_Xa$rUQ$J<x`{@&>Q#e^?sFpi zK|>xnLc=G(K>e7k)*x*W<}}W?d;MNtlfXBrs-F+4Vl(fQR8ej7&`$;9t+2JxM56IR O;SC;ot6syxOzuA?MoE$5)VzQ~U$KUBc>@4l@FeE| diff --git a/.gradle/6.5/javaCompile/jarAnalysis.bin b/.gradle/6.5/javaCompile/jarAnalysis.bin index 399700e6804c9f4e66e7a9eabced3d6441527ff9..4851b241a388597ad8f0e9b9191616926d847bbe 100644 GIT binary patch delta 2204 zcmc(fX-rgC6vywqZ<)8wykT($21Z~2WpTht($v~oj96T7qeck|jEXFZ3=Ak~qLsF3 zYeYm&ZPPCWky?t9fW$=W7K5g3>IY1VU7~H%#Q33`Hl|Ty(w_Hb#@b5TFD8A-o18iK zy#M*%cYp8Pn_$P@~Bb*<0Me~=&zirs-Nm~@omsCXa6L*WQe0cMm9?qW}kLF3mwEG9Yhf?>Oj3$hv z-f5Wtn5YXW&rIRqoYvR>4U-7Q|O2lU8~aJn-`q)B3v#@gp>n0 zPNODkd%@aQx5X@8*PeN&Zrd2FXp4oa195PARS7)`GdE;GaBZxW9bT!y*Ifw^Sf2&n zJx&l_ zhyN0>(gs7-cE*RjDpk%0UhPbb8qKA)h_QGk9Wi^s*?`Jq%OICNlfd$}I6#BSg1Rl$ zrFC036BQe0Q!VO}BYMQ6$`O0irI!&0R^(74V$-3<*cjm{;~c~Zw|aawPH`9{<_O$c zSme5>2?y2nG6YcD^Z-&yF5#noKnr*9b}2-`HH^4{h00 zQ14&TSW{Eo%&3j1jM;E85!!=3T_YM3WNQP&14Hcz0#=YD_@XsaWD=5?3|WV~CSTqm ztHIoUSGGvVE=1`#()SQoH8-Yb{;=wkizjwW9oy8AzWOn7WzrJiiiXef=T)8uRGIum zN&CMDv-}B&mHdD;s#rX!(J$do&>jO~>VG39tCJxn{{=C5a>QiyZ-}ARBZx_e-oGHG zJc5|?4~WT=BbM_JVvZC-9B%VA`jUp1J>fc^@yhj6V`m|_6%o@)Im zAP|`uTJy(EMa2?SF(+$`2_naA5{ZG+y-x}{i9JuTX*TR^aBDo(bw(A+lelBx45mTX zVW%n*JSa_+2#%uhh8Y5n=Q9OvHP00BL|hlbPy72k0#AthNcgcng~!E&@bth4Crf|4 zUfL39X$_$nLOc=uKFL0>wQkEsa}HrT=_s7(&9O1$kR+eBv=)Xurj{2LA4*QeVCviT zfo*{{|Mrl-Ipi;HX$h88x70Rnw4P6arhz!fYZYPWeHmvgNj(l-P4VzSV=9mK(!dDL z_F&pK$r!|RI@(M&yJet`&kQo*mw{R4&Zdn-b|z`d1I?j`-|4Wg=_!RLI9ydivU=d= zKs@xcs%EonxZIR(YUD%*y=ZyNH76+^tb%WJ255(8n8kj0=5X#DEY5q!9MFMaU_))S yzZQ3AZLzp9)WYysI4mW?oyv7rH_!ff_Kr`h=Zt?dA8Gir*KZ#-h delta 35 tcmV+;0Nnqwr33oa0OR3xT+a_v!qC}w&yITol`v;OAE@ar!sAd0VAz!Y0BE*33YyvPb7 z{9%YNupj>Vv#`la}BlEp(l^-sFgpQ)}s>s38dL)azY^2^Ej$5V`=wCxCcA&>d-; zyC!op(#0|Syo_fyKVKTC&kuA2pE(fggYai?IIux{J=ri?n^}ZN-*quEUZ2cZXEu3X z4DaR-U8)>{d^SL%`8|Nx0ffS zfQ2iJnI|7?NZ0A@1T$ z%}FdS$xJRzO)N^z0K3?n#xCw*V*EZ?vBYdr9`EG+YZN!jCuqxW{!pL9#H6M%*)U0A zazP`@W`QeejDqSVKo{%#0kIncgYGXJE{4RnGY(l`v@ep`;BO>;P__B#?!)^g7vy~h xM;4mT1DC7OHh(N!v7c#jLZaYii8WkGjQ=MKo^;yGeO{Z5Nsk@L*XoRn!2tfE^@acd delta 275 zcmdnJnRUl1<_#tif^16{S!n-ujyT5v22tlH$4V$nUMnFn`Kv?_6T`xdia*3R8dQjH zcJz?9V%#)2v8j&fFw^9RO(FJ4rI|S?`YD;kB}JJ@r6rm9dByt0nI)wKx&=9<>6v-O zx(0fNx=E=eiF#RyMFQLm{l9W`jqKeHyYIQPch~dDic?EAzh3UdyxHSL7vtvD9Z6h# m`;8eGgf0N_2@nQambSTTGB+cwZ2ZBvIdV=f=jQiIJ@o;xa&7kj diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 99d26152d3a01a48fe1e362c8804ce9bd48c4d73..a78b7401f917247aa33f6a54871e1bfb0d9c7779 100644 GIT binary patch literal 17 VcmZQxd)so>y&3OzFn|H0F#tot1+M@A literal 17 UcmZQxd)so>y&3OzFhD>#07L`@@&Et; diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin index 865b63fe24e507495e81ac61c351dfca2e3b5ca3..a7639e2149748f1c2e568d4afaa1da0adac710fe 100644 GIT binary patch delta 2228 zcmX}sdpuNG00;0WO(o4>J%^clS(%ha>yi1CZDeIEqj`E1%8IC!-K13r)hJoA&azob z(=O#X9@~dlDS3SQZ0rhIwJ487QTr+7@yYD8=bX9!oO{3LcYpWX$LGqfs5MonRXG@L z=t@rc^v�f#b6OH{PELw54d4XC2O(w}mdy1n!2;v{SbhE4{V4{UC}jfLKFI~RoaId9C1U& zG4+`>t?6Rqi`X;MUB9`>eRLL;90${e5wxG<^+LzaS2jTuc>$gg!76AhO^vL(Ab}`I z!wm&PF}jmd!!sxx1j3B?oTA}?{FS!l2T`pAhl|@kNC&1bSE3SI?AL5AuXx*d7MB!( z3L`evd)9Wz|J@+Uiol=|Nmak&{ZGfa1!SgR)`&Qw$JWHj59MAI{z;A$`dsIQ}4O+3aE zRoQo486wZ!s3;a_856YXmO8nB*!mLTc3@#lQrT%8(UH+qXp%d?#W;>(qjB|fGgLqaH_vem?+7rZCY{R#5HxUn;>t-Cmi z_2qIqboOeXM;A~n64NZp#6ol>Z4g8!X!rMiJ11MQDh8s+62#JzY2D+$SSHJYa!|4j zOe>Rp_CkS^yyPUR%mW%GZ0h>rfvQEBCN!Z7a5N!k10|bs*ur@(L#bXke8Km6g67oTOVZ4>;Ev)wgZq#N?4SM&h0}5P zg*D58-qHRmaxEY=B{(xjuO2+|<5&l3XvE=}m*@I(wn;uf7cIyB%46A`x#j&S$Wy>2 zQ$FqOeEo=D?LqXViVuNtQzB{UKyVl%;iVBwiW70e(z#%TPwsUW=zM$Z>UqX3HsR|M zkoRF<=@YAneR{qf`Mk>S*NEhUoL$f*a+N=~KlF6-aj=%5O{3f@**BFJjvla33iKEP zs!r45#oEm4@I2uz5X6XJ>1)>i;Z510Ko=>*W%~J63zy|uF&a(}&}Yj( zK@C6QFf*Pq+WeaadK;2)(8q9QnNte0zpCfmMhyWtY(AS+z0}nb1)Wa<4JN^{94h$! zVGJEW6xHFd75%VxqPi44VE%;4b2U3;23t14yf6fqG6~wo(J~L|k>F;Cl1spm8A-j6 znA|nT-2qK73v!qQ%f5LgVOhocbqKq0t9_5(WTZ$t6uNI2s9-wNoO_q{1U{H|fGF$) zgUpDeZAtw{^otp7sG%7*aMDMw$PS%}fG#k@C-CVVGYH zZV&`bxU04FeBcI8h$1%VB>4UTfhnDZI@Uj$!F4Ti>#2aaYW z^?-qYX4@bI<^Bacr4=boYYoZKCn%Z*VP?*pIE5e~>*RA1og9f*c_P2=?`W&kzo3im zVUKrT^B{SOV*_2>4|2?`)OACu$vJ~+yZRNiuG}XSFzm?$`?y^2#9K!-^1XK}kK4g( m?p1Kx>*KzTavzSjy{0}MXZtvP9BO>NQ2T${&g*OCxZyv;lc$>i delta 255 zcmW-au}cDR9K|!pAaH1i`~LLK>-5glI6NVt<%S099CB-vu0KF%kz6inD4c@$KvP65 z(jp|`*jQ_SLD6DcQy7i?=)s5g;K6%OqtxAP>S05c4^K|r@7eoxWA0zOuXJRSkq9%1 z*i*tp#rRpFmyKA+)oJI1RuEQ-LbKRnSlp-K3W*!=rakoZk9WYQXW*9tdZn0TO>dWV sSB{u!_bWoDqPVEUq^o_ds=|xrr&^=CUYK9H96P_pI2dFex1x{5Kdz2ftpET3 diff --git a/settings.gradle b/settings.gradle index 9bb227e8ec..e1d1801347 100644 --- a/settings.gradle +++ b/settings.gradle @@ -2,4 +2,7 @@ rootProject.name = 'transformation-instance' include 'situp-api' include 'situp-plugins' -include 'situp-core' \ No newline at end of file +include 'situp-core' +include 'situp-plugins:common' +include 'situp-plugins:apmtracesource' +include 'situp-plugins:elasticsearch' \ No newline at end of file diff --git a/situp-core/build.gradle b/situp-core/build.gradle index 1a7535d294..eda32ca019 100644 --- a/situp-core/build.gradle +++ b/situp-core/build.gradle @@ -4,7 +4,7 @@ plugins { dependencies { compile project(':situp-api') - compile project(':situp-plugins') + compile project(':situp-plugins:common') implementation "com.fasterxml.jackson.core:jackson-databind:${versionMap.jackson_databind}" implementation "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:${versionMap.jackson_dataformat_yaml}" implementation "javax.validation:validation-api:${versionMap.validation_api}" diff --git a/situp-plugins/apmtracesource/build.gradle b/situp-plugins/apmtracesource/build.gradle new file mode 100644 index 0000000000..d67b35cce0 --- /dev/null +++ b/situp-plugins/apmtracesource/build.gradle @@ -0,0 +1,12 @@ +plugins { + id 'java' + id 'jacoco' +} + +dependencies { + compile project(':situp-api') + compile project(':situp-plugins:common') + implementation 'io.netty:netty-all:4.1.51.Final' + implementation "com.fasterxml.jackson.core:jackson-databind:${versionMap.jackson_databind}" + implementation "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:${versionMap.jackson_dataformat_yaml}" +} \ No newline at end of file diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/source/apmtracesource/ApmSpanProcessor.java b/situp-plugins/apmtracesource/src/main/java/com/amazon/situp/plugins/source/apmtracesource/ApmSpanProcessor.java similarity index 100% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/source/apmtracesource/ApmSpanProcessor.java rename to situp-plugins/apmtracesource/src/main/java/com/amazon/situp/plugins/source/apmtracesource/ApmSpanProcessor.java diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/source/apmtracesource/ApmTraceRequestProcessor.java b/situp-plugins/apmtracesource/src/main/java/com/amazon/situp/plugins/source/apmtracesource/ApmTraceRequestProcessor.java similarity index 100% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/source/apmtracesource/ApmTraceRequestProcessor.java rename to situp-plugins/apmtracesource/src/main/java/com/amazon/situp/plugins/source/apmtracesource/ApmTraceRequestProcessor.java diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/source/apmtracesource/ApmTraceSource.java b/situp-plugins/apmtracesource/src/main/java/com/amazon/situp/plugins/source/apmtracesource/ApmTraceSource.java similarity index 100% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/source/apmtracesource/ApmTraceSource.java rename to situp-plugins/apmtracesource/src/main/java/com/amazon/situp/plugins/source/apmtracesource/ApmTraceSource.java index 659006c7ad..0c7f852e77 100644 --- a/situp-plugins/src/main/java/com/amazon/situp/plugins/source/apmtracesource/ApmTraceSource.java +++ b/situp-plugins/apmtracesource/src/main/java/com/amazon/situp/plugins/source/apmtracesource/ApmTraceSource.java @@ -1,11 +1,11 @@ package com.amazon.situp.plugins.source.apmtracesource; +import com.amazon.situp.model.PluginType; import com.amazon.situp.model.annotations.SitupPlugin; import com.amazon.situp.model.buffer.Buffer; import com.amazon.situp.model.configuration.PluginSetting; import com.amazon.situp.model.record.Record; import com.amazon.situp.model.source.Source; -import com.amazon.situp.model.PluginType; import com.amazon.situp.plugins.source.apmtracesource.http.server.NettyHttpConfig; import com.amazon.situp.plugins.source.apmtracesource.http.server.NettyHttpServer; diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/common/DaemonThreadFactory.java b/situp-plugins/apmtracesource/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/common/DaemonThreadFactory.java similarity index 100% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/common/DaemonThreadFactory.java rename to situp-plugins/apmtracesource/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/common/DaemonThreadFactory.java diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/NettyHttpConfig.java b/situp-plugins/apmtracesource/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/NettyHttpConfig.java similarity index 100% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/NettyHttpConfig.java rename to situp-plugins/apmtracesource/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/NettyHttpConfig.java diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/NettyHttpServer.java b/situp-plugins/apmtracesource/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/NettyHttpServer.java similarity index 100% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/NettyHttpServer.java rename to situp-plugins/apmtracesource/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/NettyHttpServer.java diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/ServerHandler.java b/situp-plugins/apmtracesource/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/ServerHandler.java similarity index 100% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/ServerHandler.java rename to situp-plugins/apmtracesource/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/ServerHandler.java diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/ServerRequestProcessor.java b/situp-plugins/apmtracesource/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/ServerRequestProcessor.java similarity index 100% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/ServerRequestProcessor.java rename to situp-plugins/apmtracesource/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/ServerRequestProcessor.java diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/ServerResponseUtil.java b/situp-plugins/apmtracesource/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/ServerResponseUtil.java similarity index 100% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/ServerResponseUtil.java rename to situp-plugins/apmtracesource/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/ServerResponseUtil.java diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/ServerTrafficShapingHandler.java b/situp-plugins/apmtracesource/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/ServerTrafficShapingHandler.java similarity index 100% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/ServerTrafficShapingHandler.java rename to situp-plugins/apmtracesource/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/server/ServerTrafficShapingHandler.java diff --git a/situp-plugins/build.gradle b/situp-plugins/build.gradle index 74b055bd52..e69de29bb2 100644 --- a/situp-plugins/build.gradle +++ b/situp-plugins/build.gradle @@ -1,79 +0,0 @@ -buildscript { - ext { - es_version = System.getProperty("es.version", "7.8.0") - es_group = "org.elasticsearch" - distribution = 'oss-zip' - } - - repositories { - maven { url "https://plugins.gradle.org/m2/" } - } - - dependencies { - classpath "${es_group}.gradle:build-tools:${es_version}" - //Uncomment below dependency for publishing - //classpath 'com.amazonaws:aws-java-sdk-core:1.11.5' - } -} - -plugins { - id 'java' - id 'jacoco' -} -apply plugin: 'elasticsearch.testclusters' -apply plugin: 'elasticsearch.build' -apply plugin: 'elasticsearch.rest-test' - -// To pass elasticsearch plugin check -ext { - licenseFile = rootProject.file('LICENSE.TXT') - noticeFile = rootProject.file('NOTICE.TXT') -} - -dependencies { - compile project(':situp-api') - implementation 'io.netty:netty-all:4.1.51.Final' - implementation "org.elasticsearch.client:elasticsearch-rest-client:${es_version}" - implementation "org.elasticsearch:elasticsearch:${es_version}" - implementation "com.fasterxml.jackson.core:jackson-databind:${versionMap.jackson_databind}" - implementation "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:${versionMap.jackson_dataformat_yaml}" - implementation "org.reflections:reflections:${versionMap.reflections}" - implementation 'javax.ws.rs:javax.ws.rs-api:2.1.1' - testImplementation("junit:junit:${versionMap.junit}") { - exclude group:'org.hamcrest' // workaround for jarHell - } - testImplementation "org.elasticsearch.test:framework:${es_version}" -} -// Workaround for Werror -compileJava.options.warnings = false - -// Resolve dependency conflict between ES sink and main project -configurations.all { - resolutionStrategy { - force 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.11.1' - force 'com.fasterxml.jackson.core:jackson-databind:2.11.1' - force 'com.fasterxml.jackson.core:jackson-core:2.11.1' - force 'com.google.guava:guava:29.0-jre' - force 'org.apache.bval:bval-jsr:2.0.4' - force 'junit:junit:4.13' - } -} - -integTest {} - -testClusters.integTest { - testDistribution = "OSS" -} - -integTest.runner { - systemProperty 'tests.security.manager', 'false' -} - -checkstyleMain.ignoreFailures = true -checkstyleTest.ignoreFailures = true -forbiddenApis.ignoreFailures = true -testingConventions.enabled = false -licenseHeaders.enabled = false -dependencyLicenses.enabled = false -thirdPartyAudit.enabled = false -validateNebulaPom.enabled = false \ No newline at end of file diff --git a/situp-plugins/common/build.gradle b/situp-plugins/common/build.gradle new file mode 100644 index 0000000000..31f084abdf --- /dev/null +++ b/situp-plugins/common/build.gradle @@ -0,0 +1,11 @@ +plugins { + id 'java' + id 'jacoco' +} +dependencies { + compile project(':situp-api') + implementation "com.fasterxml.jackson.core:jackson-databind:${versionMap.jackson_databind}" + implementation "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:${versionMap.jackson_dataformat_yaml}" + implementation "org.reflections:reflections:${versionMap.reflections}" + testImplementation "junit:junit:${versionMap.junit}" +} \ No newline at end of file diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/PluginException.java b/situp-plugins/common/src/main/java/com/amazon/situp/plugins/PluginException.java similarity index 100% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/PluginException.java rename to situp-plugins/common/src/main/java/com/amazon/situp/plugins/PluginException.java diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/PluginFactory.java b/situp-plugins/common/src/main/java/com/amazon/situp/plugins/PluginFactory.java similarity index 100% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/PluginFactory.java rename to situp-plugins/common/src/main/java/com/amazon/situp/plugins/PluginFactory.java diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/PluginRepository.java b/situp-plugins/common/src/main/java/com/amazon/situp/plugins/PluginRepository.java similarity index 98% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/PluginRepository.java rename to situp-plugins/common/src/main/java/com/amazon/situp/plugins/PluginRepository.java index 2cafd809b0..4b4585906c 100644 --- a/situp-plugins/src/main/java/com/amazon/situp/plugins/PluginRepository.java +++ b/situp-plugins/common/src/main/java/com/amazon/situp/plugins/PluginRepository.java @@ -19,7 +19,7 @@ * TODO Add capability to discover custom new plugins */ @SuppressWarnings({"rawtypes", "unchecked"}) -public final class PluginRepository { +public final class PluginRepository { private static final String DEFAULT_PLUGINS_CLASSPATH = "com.amazon.situp.plugins"; private static final Map> SOURCES = new HashMap<>(); private static final Map> BUFFERS = new HashMap<>(); diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/buffer/BufferFactory.java b/situp-plugins/common/src/main/java/com/amazon/situp/plugins/buffer/BufferFactory.java similarity index 100% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/buffer/BufferFactory.java rename to situp-plugins/common/src/main/java/com/amazon/situp/plugins/buffer/BufferFactory.java diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/buffer/UnboundedInMemoryBuffer.java b/situp-plugins/common/src/main/java/com/amazon/situp/plugins/buffer/UnboundedInMemoryBuffer.java similarity index 100% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/buffer/UnboundedInMemoryBuffer.java rename to situp-plugins/common/src/main/java/com/amazon/situp/plugins/buffer/UnboundedInMemoryBuffer.java index cb9e4ed770..359fc6e4df 100644 --- a/situp-plugins/src/main/java/com/amazon/situp/plugins/buffer/UnboundedInMemoryBuffer.java +++ b/situp-plugins/common/src/main/java/com/amazon/situp/plugins/buffer/UnboundedInMemoryBuffer.java @@ -1,10 +1,10 @@ package com.amazon.situp.plugins.buffer; -import com.amazon.situp.model.record.Record; +import com.amazon.situp.model.PluginType; import com.amazon.situp.model.annotations.SitupPlugin; import com.amazon.situp.model.buffer.Buffer; import com.amazon.situp.model.configuration.PluginSetting; -import com.amazon.situp.model.PluginType; +import com.amazon.situp.model.record.Record; import java.util.ArrayList; import java.util.Collection; diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/processor/NoOpProcessor.java b/situp-plugins/common/src/main/java/com/amazon/situp/plugins/processor/NoOpProcessor.java similarity index 100% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/processor/NoOpProcessor.java rename to situp-plugins/common/src/main/java/com/amazon/situp/plugins/processor/NoOpProcessor.java index 156fd77bf0..a9db5c9382 100644 --- a/situp-plugins/src/main/java/com/amazon/situp/plugins/processor/NoOpProcessor.java +++ b/situp-plugins/common/src/main/java/com/amazon/situp/plugins/processor/NoOpProcessor.java @@ -1,10 +1,10 @@ package com.amazon.situp.plugins.processor; +import com.amazon.situp.model.PluginType; import com.amazon.situp.model.annotations.SitupPlugin; -import com.amazon.situp.model.record.Record; import com.amazon.situp.model.configuration.PluginSetting; -import com.amazon.situp.model.PluginType; import com.amazon.situp.model.processor.Processor; +import com.amazon.situp.model.record.Record; import java.util.Collection; diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/processor/ProcessorFactory.java b/situp-plugins/common/src/main/java/com/amazon/situp/plugins/processor/ProcessorFactory.java similarity index 100% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/processor/ProcessorFactory.java rename to situp-plugins/common/src/main/java/com/amazon/situp/plugins/processor/ProcessorFactory.java index fa28be09b9..d4a9ec5f8a 100644 --- a/situp-plugins/src/main/java/com/amazon/situp/plugins/processor/ProcessorFactory.java +++ b/situp-plugins/common/src/main/java/com/amazon/situp/plugins/processor/ProcessorFactory.java @@ -1,9 +1,9 @@ package com.amazon.situp.plugins.processor; import com.amazon.situp.model.configuration.PluginSetting; +import com.amazon.situp.model.processor.Processor; import com.amazon.situp.plugins.PluginFactory; import com.amazon.situp.plugins.PluginRepository; -import com.amazon.situp.model.processor.Processor; @SuppressWarnings({"rawtypes"}) public class ProcessorFactory extends PluginFactory { diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/processor/StatelessServiceMapTraceProcessor.java b/situp-plugins/common/src/main/java/com/amazon/situp/plugins/processor/StatelessServiceMapTraceProcessor.java similarity index 99% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/processor/StatelessServiceMapTraceProcessor.java rename to situp-plugins/common/src/main/java/com/amazon/situp/plugins/processor/StatelessServiceMapTraceProcessor.java index d1d48dc301..502cd08e19 100644 --- a/situp-plugins/src/main/java/com/amazon/situp/plugins/processor/StatelessServiceMapTraceProcessor.java +++ b/situp-plugins/common/src/main/java/com/amazon/situp/plugins/processor/StatelessServiceMapTraceProcessor.java @@ -1,11 +1,12 @@ package com.amazon.situp.plugins.processor; +import com.amazon.situp.model.PluginType; +import com.amazon.situp.model.annotations.SitupPlugin; import com.amazon.situp.model.configuration.PluginSetting; +import com.amazon.situp.model.processor.Processor; import com.amazon.situp.model.record.Record; import com.amazon.situp.model.record.RecordMetadata; -import com.amazon.situp.model.annotations.SitupPlugin; -import com.amazon.situp.model.PluginType; -import com.amazon.situp.model.processor.Processor; + import java.util.Collection; import java.util.stream.Collectors; diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/processor/StringProcessor.java b/situp-plugins/common/src/main/java/com/amazon/situp/plugins/processor/StringProcessor.java similarity index 100% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/processor/StringProcessor.java rename to situp-plugins/common/src/main/java/com/amazon/situp/plugins/processor/StringProcessor.java index fc44cb11e2..0b9580103e 100644 --- a/situp-plugins/src/main/java/com/amazon/situp/plugins/processor/StringProcessor.java +++ b/situp-plugins/common/src/main/java/com/amazon/situp/plugins/processor/StringProcessor.java @@ -1,10 +1,10 @@ package com.amazon.situp.plugins.processor; -import com.amazon.situp.model.record.Record; +import com.amazon.situp.model.PluginType; import com.amazon.situp.model.annotations.SitupPlugin; import com.amazon.situp.model.configuration.PluginSetting; -import com.amazon.situp.model.PluginType; import com.amazon.situp.model.processor.Processor; +import com.amazon.situp.model.record.Record; import java.util.ArrayList; import java.util.Collection; diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/sink/FileSink.java b/situp-plugins/common/src/main/java/com/amazon/situp/plugins/sink/FileSink.java similarity index 100% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/sink/FileSink.java rename to situp-plugins/common/src/main/java/com/amazon/situp/plugins/sink/FileSink.java index c31717093c..59c6f1ca92 100644 --- a/situp-plugins/src/main/java/com/amazon/situp/plugins/sink/FileSink.java +++ b/situp-plugins/common/src/main/java/com/amazon/situp/plugins/sink/FileSink.java @@ -1,9 +1,9 @@ package com.amazon.situp.plugins.sink; -import com.amazon.situp.model.record.Record; +import com.amazon.situp.model.PluginType; import com.amazon.situp.model.annotations.SitupPlugin; import com.amazon.situp.model.configuration.PluginSetting; -import com.amazon.situp.model.PluginType; +import com.amazon.situp.model.record.Record; import com.amazon.situp.model.sink.Sink; import java.io.BufferedWriter; diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/sink/SinkFactory.java b/situp-plugins/common/src/main/java/com/amazon/situp/plugins/sink/SinkFactory.java similarity index 100% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/sink/SinkFactory.java rename to situp-plugins/common/src/main/java/com/amazon/situp/plugins/sink/SinkFactory.java index 8e40f3d450..dd37f9f8ca 100644 --- a/situp-plugins/src/main/java/com/amazon/situp/plugins/sink/SinkFactory.java +++ b/situp-plugins/common/src/main/java/com/amazon/situp/plugins/sink/SinkFactory.java @@ -1,9 +1,9 @@ package com.amazon.situp.plugins.sink; import com.amazon.situp.model.configuration.PluginSetting; +import com.amazon.situp.model.sink.Sink; import com.amazon.situp.plugins.PluginFactory; import com.amazon.situp.plugins.PluginRepository; -import com.amazon.situp.model.sink.Sink; @SuppressWarnings({"rawtypes"}) public class SinkFactory extends PluginFactory { diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/sink/StdOutSink.java b/situp-plugins/common/src/main/java/com/amazon/situp/plugins/sink/StdOutSink.java similarity index 100% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/sink/StdOutSink.java rename to situp-plugins/common/src/main/java/com/amazon/situp/plugins/sink/StdOutSink.java index cdecf51e2d..fccb8f4eeb 100644 --- a/situp-plugins/src/main/java/com/amazon/situp/plugins/sink/StdOutSink.java +++ b/situp-plugins/common/src/main/java/com/amazon/situp/plugins/sink/StdOutSink.java @@ -1,9 +1,9 @@ package com.amazon.situp.plugins.sink; +import com.amazon.situp.model.PluginType; import com.amazon.situp.model.annotations.SitupPlugin; -import com.amazon.situp.model.record.Record; import com.amazon.situp.model.configuration.PluginSetting; -import com.amazon.situp.model.PluginType; +import com.amazon.situp.model.record.Record; import com.amazon.situp.model.sink.Sink; import java.util.Collection; diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/source/FileSource.java b/situp-plugins/common/src/main/java/com/amazon/situp/plugins/source/FileSource.java similarity index 99% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/source/FileSource.java rename to situp-plugins/common/src/main/java/com/amazon/situp/plugins/source/FileSource.java index 9342819dce..e4a7a9af0e 100644 --- a/situp-plugins/src/main/java/com/amazon/situp/plugins/source/FileSource.java +++ b/situp-plugins/common/src/main/java/com/amazon/situp/plugins/source/FileSource.java @@ -62,4 +62,4 @@ public void start(final Buffer> buffer) { public void stop() { isStopRequested = true; } -} +} \ No newline at end of file diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/source/SourceFactory.java b/situp-plugins/common/src/main/java/com/amazon/situp/plugins/source/SourceFactory.java similarity index 99% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/source/SourceFactory.java rename to situp-plugins/common/src/main/java/com/amazon/situp/plugins/source/SourceFactory.java index 5340c653cd..7d84df21be 100644 --- a/situp-plugins/src/main/java/com/amazon/situp/plugins/source/SourceFactory.java +++ b/situp-plugins/common/src/main/java/com/amazon/situp/plugins/source/SourceFactory.java @@ -11,4 +11,4 @@ public class SourceFactory extends PluginFactory { public static Source newSource(final PluginSetting pluginSetting) { return (Source) newPlugin(pluginSetting, PluginRepository.getSourceClass(pluginSetting.getName())); } -} +} \ No newline at end of file diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/source/StdInSource.java b/situp-plugins/common/src/main/java/com/amazon/situp/plugins/source/StdInSource.java similarity index 99% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/source/StdInSource.java rename to situp-plugins/common/src/main/java/com/amazon/situp/plugins/source/StdInSource.java index e7ce0039c3..580947379e 100644 --- a/situp-plugins/src/main/java/com/amazon/situp/plugins/source/StdInSource.java +++ b/situp-plugins/common/src/main/java/com/amazon/situp/plugins/source/StdInSource.java @@ -52,4 +52,4 @@ public void start(final Buffer> buffer) { public void stop() { isStopRequested = true; } -} +} \ No newline at end of file diff --git a/situp-plugins/src/test/java/com/amazon/situp/plugins/ConstructorLessComponent.java b/situp-plugins/common/src/test/java/com/amazon/situp/plugins/ConstructorLessComponent.java similarity index 100% rename from situp-plugins/src/test/java/com/amazon/situp/plugins/ConstructorLessComponent.java rename to situp-plugins/common/src/test/java/com/amazon/situp/plugins/ConstructorLessComponent.java index ac937448f9..e590eb1c0f 100644 --- a/situp-plugins/src/test/java/com/amazon/situp/plugins/ConstructorLessComponent.java +++ b/situp-plugins/common/src/test/java/com/amazon/situp/plugins/ConstructorLessComponent.java @@ -1,9 +1,9 @@ package com.amazon.situp.plugins; import com.amazon.situp.model.PluginType; -import com.amazon.situp.model.record.Record; import com.amazon.situp.model.annotations.SitupPlugin; import com.amazon.situp.model.buffer.Buffer; +import com.amazon.situp.model.record.Record; import com.amazon.situp.model.source.Source; @SitupPlugin(name = "junit-test", type = PluginType.SOURCE) diff --git a/situp-plugins/src/test/java/com/amazon/situp/plugins/PluginFactoryTests.java b/situp-plugins/common/src/test/java/com/amazon/situp/plugins/PluginFactoryTests.java similarity index 100% rename from situp-plugins/src/test/java/com/amazon/situp/plugins/PluginFactoryTests.java rename to situp-plugins/common/src/test/java/com/amazon/situp/plugins/PluginFactoryTests.java diff --git a/situp-plugins/src/test/java/com/amazon/situp/plugins/buffer/BufferFactoryTests.java b/situp-plugins/common/src/test/java/com/amazon/situp/plugins/buffer/BufferFactoryTests.java similarity index 100% rename from situp-plugins/src/test/java/com/amazon/situp/plugins/buffer/BufferFactoryTests.java rename to situp-plugins/common/src/test/java/com/amazon/situp/plugins/buffer/BufferFactoryTests.java diff --git a/situp-plugins/src/test/java/com/amazon/situp/plugins/processor/ProcessorFactoryTests.java b/situp-plugins/common/src/test/java/com/amazon/situp/plugins/processor/ProcessorFactoryTests.java similarity index 100% rename from situp-plugins/src/test/java/com/amazon/situp/plugins/processor/ProcessorFactoryTests.java rename to situp-plugins/common/src/test/java/com/amazon/situp/plugins/processor/ProcessorFactoryTests.java index 3a7f577c86..0c3e0346e4 100644 --- a/situp-plugins/src/test/java/com/amazon/situp/plugins/processor/ProcessorFactoryTests.java +++ b/situp-plugins/common/src/test/java/com/amazon/situp/plugins/processor/ProcessorFactoryTests.java @@ -1,9 +1,9 @@ package com.amazon.situp.plugins.processor; import com.amazon.situp.model.configuration.PluginSetting; +import com.amazon.situp.model.processor.Processor; import com.amazon.situp.plugins.PluginException; import com.amazon.situp.plugins.sink.SinkFactory; -import com.amazon.situp.model.processor.Processor; import org.junit.Test; import java.util.HashMap; diff --git a/situp-plugins/src/test/java/com/amazon/situp/plugins/sink/SinkFactoryTests.java b/situp-plugins/common/src/test/java/com/amazon/situp/plugins/sink/SinkFactoryTests.java similarity index 100% rename from situp-plugins/src/test/java/com/amazon/situp/plugins/sink/SinkFactoryTests.java rename to situp-plugins/common/src/test/java/com/amazon/situp/plugins/sink/SinkFactoryTests.java index 3f37dfa53c..8f76c26fca 100644 --- a/situp-plugins/src/test/java/com/amazon/situp/plugins/sink/SinkFactoryTests.java +++ b/situp-plugins/common/src/test/java/com/amazon/situp/plugins/sink/SinkFactoryTests.java @@ -1,8 +1,8 @@ package com.amazon.situp.plugins.sink; import com.amazon.situp.model.configuration.PluginSetting; -import com.amazon.situp.plugins.PluginException; import com.amazon.situp.model.sink.Sink; +import com.amazon.situp.plugins.PluginException; import org.junit.Test; import java.util.HashMap; diff --git a/situp-plugins/src/test/java/com/amazon/situp/plugins/sink/TestSink.java b/situp-plugins/common/src/test/java/com/amazon/situp/plugins/sink/TestSink.java similarity index 100% rename from situp-plugins/src/test/java/com/amazon/situp/plugins/sink/TestSink.java rename to situp-plugins/common/src/test/java/com/amazon/situp/plugins/sink/TestSink.java index ba89dbcd3e..e123869c1b 100644 --- a/situp-plugins/src/test/java/com/amazon/situp/plugins/sink/TestSink.java +++ b/situp-plugins/common/src/test/java/com/amazon/situp/plugins/sink/TestSink.java @@ -1,10 +1,10 @@ package com.amazon.situp.plugins.sink; -import com.amazon.situp.model.record.Record; +import com.amazon.situp.model.PluginType; import com.amazon.situp.model.annotations.SitupPlugin; import com.amazon.situp.model.configuration.Configuration; -import com.amazon.situp.model.PluginType; +import com.amazon.situp.model.record.Record; import com.amazon.situp.model.sink.Sink; import java.util.ArrayList; diff --git a/situp-plugins/src/test/java/com/amazon/situp/plugins/source/SourceFactoryTests.java b/situp-plugins/common/src/test/java/com/amazon/situp/plugins/source/SourceFactoryTests.java similarity index 100% rename from situp-plugins/src/test/java/com/amazon/situp/plugins/source/SourceFactoryTests.java rename to situp-plugins/common/src/test/java/com/amazon/situp/plugins/source/SourceFactoryTests.java index d5afda0b66..1588e42c45 100644 --- a/situp-plugins/src/test/java/com/amazon/situp/plugins/source/SourceFactoryTests.java +++ b/situp-plugins/common/src/test/java/com/amazon/situp/plugins/source/SourceFactoryTests.java @@ -1,8 +1,8 @@ package com.amazon.situp.plugins.source; import com.amazon.situp.model.configuration.PluginSetting; -import com.amazon.situp.plugins.PluginException; import com.amazon.situp.model.source.Source; +import com.amazon.situp.plugins.PluginException; import org.junit.Test; import java.util.HashMap; diff --git a/situp-plugins/src/test/java/com/amazon/situp/plugins/source/TestSource.java b/situp-plugins/common/src/test/java/com/amazon/situp/plugins/source/TestSource.java similarity index 100% rename from situp-plugins/src/test/java/com/amazon/situp/plugins/source/TestSource.java rename to situp-plugins/common/src/test/java/com/amazon/situp/plugins/source/TestSource.java index 0d60b1a427..cc1bcfe8c1 100644 --- a/situp-plugins/src/test/java/com/amazon/situp/plugins/source/TestSource.java +++ b/situp-plugins/common/src/test/java/com/amazon/situp/plugins/source/TestSource.java @@ -1,10 +1,10 @@ package com.amazon.situp.plugins.source; +import com.amazon.situp.model.PluginType; import com.amazon.situp.model.annotations.SitupPlugin; -import com.amazon.situp.model.record.Record; import com.amazon.situp.model.buffer.Buffer; import com.amazon.situp.model.configuration.Configuration; -import com.amazon.situp.model.PluginType; +import com.amazon.situp.model.record.Record; import com.amazon.situp.model.source.Source; import java.util.Iterator; diff --git a/situp-plugins/elasticsearch/build.gradle b/situp-plugins/elasticsearch/build.gradle new file mode 100644 index 0000000000..e42fc87b7c --- /dev/null +++ b/situp-plugins/elasticsearch/build.gradle @@ -0,0 +1,77 @@ +buildscript { + ext { + es_version = System.getProperty("es.version", "7.8.0") + es_group = "org.elasticsearch" + distribution = 'oss-zip' + } + + repositories { + maven { url "https://plugins.gradle.org/m2/" } + } + + dependencies { + classpath "${es_group}.gradle:build-tools:${es_version}" + } +} + +plugins { + id 'java' + id 'jacoco' +} +apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.build' +apply plugin: 'elasticsearch.rest-test' + +// To pass elasticsearch plugin check +ext { + licenseFile = rootProject.file('LICENSE') + noticeFile = rootProject.file('NOTICE') +} + +dependencies { + compile project(':situp-api') + compile project(':situp-plugins:common') + implementation "org.elasticsearch.client:elasticsearch-rest-client:${es_version}" + implementation "org.elasticsearch:elasticsearch:${es_version}" + implementation "com.fasterxml.jackson.core:jackson-databind:${versionMap.jackson_databind}" + implementation "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:${versionMap.jackson_dataformat_yaml}" + implementation 'javax.ws.rs:javax.ws.rs-api:2.1.1' + testImplementation("junit:junit:${versionMap.junit}") { + exclude group:'org.hamcrest' // workaround for jarHell + } + testImplementation "org.elasticsearch.test:framework:${es_version}" +} + +// Workaround for Werror +compileJava.options.warnings = false + +// Resolve dependency conflict between ES sink and main project +configurations.all { + resolutionStrategy { + force 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.11.1' + force 'com.fasterxml.jackson.core:jackson-databind:2.11.1' + force 'com.fasterxml.jackson.core:jackson-core:2.11.1' + force 'com.google.guava:guava:29.0-jre' + force 'org.apache.bval:bval-jsr:2.0.4' + force 'junit:junit:4.13' + } +} + +integTest {} + +testClusters.integTest { + testDistribution = "OSS" +} + +integTest.runner { + systemProperty 'tests.security.manager', 'false' +} + +checkstyleMain.ignoreFailures = true +checkstyleTest.ignoreFailures = true +forbiddenApis.ignoreFailures = true +testingConventions.enabled = false +licenseHeaders.enabled = false +dependencyLicenses.enabled = false +thirdPartyAudit.enabled = false +validateNebulaPom.enabled = false \ No newline at end of file diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/ConnectionConfiguration.java b/situp-plugins/elasticsearch/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/ConnectionConfiguration.java similarity index 100% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/ConnectionConfiguration.java rename to situp-plugins/elasticsearch/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/ConnectionConfiguration.java diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/ElasticsearchSink.java b/situp-plugins/elasticsearch/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/ElasticsearchSink.java similarity index 100% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/ElasticsearchSink.java rename to situp-plugins/elasticsearch/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/ElasticsearchSink.java index 451663ef8c..2ef5263f53 100644 --- a/situp-plugins/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/ElasticsearchSink.java +++ b/situp-plugins/elasticsearch/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/ElasticsearchSink.java @@ -1,9 +1,9 @@ package com.amazon.situp.plugins.sink.elasticsearch; +import com.amazon.situp.model.PluginType; import com.amazon.situp.model.annotations.SitupPlugin; import com.amazon.situp.model.configuration.PluginSetting; import com.amazon.situp.model.record.Record; -import com.amazon.situp.model.PluginType; import com.amazon.situp.model.sink.Sink; import org.apache.http.HttpEntity; import org.apache.http.HttpStatus; @@ -24,14 +24,14 @@ import javax.ws.rs.HttpMethod; import java.io.BufferedReader; +import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; -import java.io.IOException; import java.net.URL; import java.util.Collection; +import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.HashMap; import static com.amazon.situp.plugins.sink.elasticsearch.ConnectionConfiguration.CONNECT_TIMEOUT; import static com.amazon.situp.plugins.sink.elasticsearch.ConnectionConfiguration.HOSTS; diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/ElasticsearchSinkConfiguration.java b/situp-plugins/elasticsearch/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/ElasticsearchSinkConfiguration.java similarity index 100% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/ElasticsearchSinkConfiguration.java rename to situp-plugins/elasticsearch/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/ElasticsearchSinkConfiguration.java diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/IndexConfiguration.java b/situp-plugins/elasticsearch/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/IndexConfiguration.java similarity index 100% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/IndexConfiguration.java rename to situp-plugins/elasticsearch/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/IndexConfiguration.java diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/IndexConstants.java b/situp-plugins/elasticsearch/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/IndexConstants.java similarity index 100% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/IndexConstants.java rename to situp-plugins/elasticsearch/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/IndexConstants.java diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/RetryConfiguration.java b/situp-plugins/elasticsearch/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/RetryConfiguration.java similarity index 100% rename from situp-plugins/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/RetryConfiguration.java rename to situp-plugins/elasticsearch/src/main/java/com/amazon/situp/plugins/sink/elasticsearch/RetryConfiguration.java diff --git a/situp-plugins/src/main/resources/otel-v1-apm-service-map-index-template.json b/situp-plugins/elasticsearch/src/main/resources/otel-v1-apm-service-map-index-template.json similarity index 100% rename from situp-plugins/src/main/resources/otel-v1-apm-service-map-index-template.json rename to situp-plugins/elasticsearch/src/main/resources/otel-v1-apm-service-map-index-template.json diff --git a/situp-plugins/src/main/resources/otel-v1-apm-span-index-template.json b/situp-plugins/elasticsearch/src/main/resources/otel-v1-apm-span-index-template.json similarity index 100% rename from situp-plugins/src/main/resources/otel-v1-apm-span-index-template.json rename to situp-plugins/elasticsearch/src/main/resources/otel-v1-apm-span-index-template.json diff --git a/situp-plugins/src/test/java/com/amazon/situp/plugins/sink/elasticsearch/ConnectionPipelineComponentIT.java b/situp-plugins/elasticsearch/src/test/java/com/amazon/situp/plugins/sink/elasticsearch/ConnectionPipelineComponentIT.java similarity index 100% rename from situp-plugins/src/test/java/com/amazon/situp/plugins/sink/elasticsearch/ConnectionPipelineComponentIT.java rename to situp-plugins/elasticsearch/src/test/java/com/amazon/situp/plugins/sink/elasticsearch/ConnectionPipelineComponentIT.java diff --git a/situp-plugins/src/test/java/com/amazon/situp/plugins/sink/elasticsearch/ElasticsearchSinkIT.java b/situp-plugins/elasticsearch/src/test/java/com/amazon/situp/plugins/sink/elasticsearch/ElasticsearchSinkIT.java similarity index 99% rename from situp-plugins/src/test/java/com/amazon/situp/plugins/sink/elasticsearch/ElasticsearchSinkIT.java rename to situp-plugins/elasticsearch/src/test/java/com/amazon/situp/plugins/sink/elasticsearch/ElasticsearchSinkIT.java index 616606152d..48e55fe1f9 100644 --- a/situp-plugins/src/test/java/com/amazon/situp/plugins/sink/elasticsearch/ElasticsearchSinkIT.java +++ b/situp-plugins/elasticsearch/src/test/java/com/amazon/situp/plugins/sink/elasticsearch/ElasticsearchSinkIT.java @@ -13,7 +13,6 @@ import javax.ws.rs.HttpMethod; import java.io.IOException; - import java.util.Arrays; import java.util.HashMap; import java.util.List; diff --git a/situp-plugins/src/test/java/com/amazon/situp/plugins/sink/elasticsearch/IndexConfigurationTests.java b/situp-plugins/elasticsearch/src/test/java/com/amazon/situp/plugins/sink/elasticsearch/IndexConfigurationTests.java similarity index 100% rename from situp-plugins/src/test/java/com/amazon/situp/plugins/sink/elasticsearch/IndexConfigurationTests.java rename to situp-plugins/elasticsearch/src/test/java/com/amazon/situp/plugins/sink/elasticsearch/IndexConfigurationTests.java diff --git a/situp-plugins/src/test/resources/test-index-template.json b/situp-plugins/elasticsearch/src/test/resources/test-index-template.json similarity index 100% rename from situp-plugins/src/test/resources/test-index-template.json rename to situp-plugins/elasticsearch/src/test/resources/test-index-template.json diff --git a/situp-plugins/src/.DS_Store b/situp-plugins/src/.DS_Store deleted file mode 100644 index 6e082f68fce5f6e283e290827f94cd11a085d1bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKJx{|x41J~%D(cb=#*D1YET^gr%>4tahU zx3pb27-Y}2DElj<_pJ|gMnZm7#JAP`=RDgOc{GeyE-^o3qY*6Z9?6C{fV`1 z5L3q9kvkOeP@;!QZZRZx4&vdor|jQ5dN{8`;UL?4_3jv<>w^q>n+Q5syJk+c3LiAQ?yol7VF4 z2N+=Pf=q55vrh(+fn?y!0Plx_Mr;GCqg@^7tONk^8EpdHp8mkX31Ayo9Wet@cLlnu zMv0+OIjFnC-p2as=Hq)$ diff --git a/situp-plugins/src/main/java/.DS_Store b/situp-plugins/src/main/java/.DS_Store deleted file mode 100644 index 5a84b3c69c5a74096512bc5abf2a1e7e15de1f0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKF-`+P475p#NHi%aucW1>Sw*3s&IeF}M04aMB&e^;vthJH^%8RyQ&?c^NiuJ?}t5BaojBbw+(U^cCf)-ANvXa z9+BJ6upm~}$L{Ue562hm;ZB(pkOERb3P=GdaHaxPKUddh@{}$Gq`>7X!2d%BC$_>d zF@7Bw_sB}>A_DWI0+Z_1VtDlqo^-@p<&TL;H;LEZ~WK!Ti6!-!}bR5F~ diff --git a/situp-plugins/src/main/java/com/.DS_Store b/situp-plugins/src/main/java/com/.DS_Store deleted file mode 100644 index 65c34a41bd65e34f2fc615b570cbc7316134e166..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKyG{c!5Zr|bMWRVb>5`V3#)?8gogW|piRQSIkf5NtE}tD{ACY2RkWx{=th63` zJ!{`h;k89Xmme>8A`20j!wqF;&D3n(d}0?FF;rh;kp8h7p10kwov=>_EcZ$_@&^Bs zHs3z#9)7!b^9362=lZ?xhW-^Z*q=rPr~nn90#twsoS{J0%=z^hTvDh275HBY*!fW4 zhBa{v^rHifUEghfW@v`Kza@Yr$2D;b#0*R$6&R_SPYjK8#7pvO;usj|qP{cM$(=P{ zDC)Z-UYssk1KCmmD$pu$8N-Fu{|ERF@BcQ5BPu`z{*(ebTdh}1{8HA|$E$}D! n!N7Gon&uLKftBK$BVMsScr|eh^mN2M9mtD-=|ZCdzoEc4rVt?6 diff --git a/situp-plugins/src/main/java/com/amazon/.DS_Store b/situp-plugins/src/main/java/com/amazon/.DS_Store deleted file mode 100644 index df610a35aabb5ba535d67dda47a806925bffae1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKJxc>Y5S`Ho0h^R5x3smkSwd2z&L5B{h;Zb@80+i&*~y!az#T^*m4&{6*|$6U zX7}zDJG&yHi^J=q$V^10a6|dAW^6WZKC+vP7^<)Fv2NOzZPRW?+)Dw=y_3DX%aMSW+ilRIm^ zP}Fxvyf|I72C}6BRA8vUZ475t|5xw}@Bd*EM^u0c{3!)=vfL~e_@%6^qo1={Tj0;| nvw`b$G=ob323CsaJzlXscr~#L^mN2M9mtD-=|ZCdzoEbh&6pp^ diff --git a/situp-plugins/src/main/java/com/amazon/situp/.DS_Store b/situp-plugins/src/main/java/com/amazon/situp/.DS_Store deleted file mode 100644 index ec7af4336078134d889067455381243d21871708..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKJxc>Y5S`J00h^STTiRONEFl)w`2!M#ARKpMi1l^(+40SXkYkl}7WxKe-|ozt z+q+lX?23pk_b+!M3lW*a4dq}%YnC@}>>?wE>d$zUUUrY&@Vx07_V)p+y^=TSWG`De zsUJ4T*lXRxZ;x)6HSCY|d*2QH78$$)jS5f!DnJFO02Mf+K=#Y|^%)-1RDcTnKLzan zP~e6&aSZfd2L?O7TYhF}hPmG*fF;*8aSTKTrcnxvQq3!dMmgdoc{OnijB-)m8PCa` zHE$^DyCYtlE?NUQQUNM3Rp2s~3+w+6@E`8~(;}{@02TOC3g~RLUM=xS*;|{BvtC=^ qPw+1T*XbB0hX5?B72lljip{~RiDRIbBktuu9t2Dm8Ws2r1wH`@aUpL2 diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/.DS_Store b/situp-plugins/src/main/java/com/amazon/situp/plugins/.DS_Store deleted file mode 100644 index f86ea11f884e895525db9f4e376dbb973ff06d85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKJx{|x47J;+v|{N7;)wDXvf43Y63NgBZ1u``4R5#AFxfuuaH3c0p4=)$M`Gt&F&IRV(U$$ z%)sp1-OS50Z;WE}Sfb4`)Xo(>7chlI=$Dim?q`Tp32LlTeHngXUkTY&>VjP(A$*pK!%faGUg|RyS4Xmde_GEd%Bv&)gBuPJMJoGtX{?EbZ4B8wL?q-)*d-Svp)h( L25U@#KULrhP_XvlOa!8bzV~Hu|xW_BXEpIpcM+S87 zPPl6?ct(Zq`?unVdpXX_`7AGI^y49scjDz|l(?K^L$Kr zJ}f`3@WlDom^Np^M{B0DM${;tw2FC_c-xudrj?`592FKAqiAH?@f+m470;oIGvEw3 z1AD-L-pQ2SaYApM0cXG&*f5~?L!c^VhIPVtb+Cyg0I^GR6!x{2(3oJD8P*B;g(4}G zm_o%$3`ya%2lLAe>x3yBV#SBp%wiRa#MzlYM0ZG*&|7D~8E7(akcNGI|8IBK|IHvD zIRnnXUNIou;bb`AlI(5WTAaSMfqF+(QNKFjCWM{%6w_Cq;tOgN+Jkn8nPHuf7K;B7 Mh%|WP4E!krUz!Y78~^|S diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/source/apmtracesource/.DS_Store b/situp-plugins/src/main/java/com/amazon/situp/plugins/source/apmtracesource/.DS_Store deleted file mode 100644 index 1a1d504711af391c279b6be310ead3c7120062bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK!AiqG5Pef4RJ;^K^djWwN$~6?mU{3e#t$&9qDX9NZFinDowC$`K{T$a^nSXM(u>5_S;9)AR34LGt)H;gHu8Lp`> zs6(!qt&AUJmV>3td#%hlzpQ3Inr+SZ$=gzv1do{UnJkUtY@OdcpN`9F{J?gua2IF5 z8E^(RgaO;py1N@P9v_A?;0*j81G+z?RK?7&i5RvH7U2p&OlS_my8akyOlp`JHWArE zkr+yhp<-7IiQ%-T=9d{Z5o0*SE+1k&i``Hp^v?WgaED|Oy>tegfkg(k;%iUO|BLna z|HUAGa|WD&jbcEOK|bhnNOrci2B&9jO1-73s9zKDD}+Ec9%Gs7k# QEfoI|2sC)%4E!krpTIv=>Hq)$ diff --git a/situp-plugins/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/.DS_Store b/situp-plugins/src/main/java/com/amazon/situp/plugins/source/apmtracesource/http/.DS_Store deleted file mode 100644 index 95022c21b70528970f8db13097789d6c7ba9b33b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKu}%Xq47H&`l~_75W@Ke%IaTez+#f(Kh~>CQMRdO3;Va8~wm}Wt3PQ-PoaZFA zFL_dvSVVOB`fww%5Ro~Qs5B;o!;@2I;XDJX<)|{;^>w%H>vkg1UmW7vFJvcGp7Cqf zPf~87*GCgue&c)C?1#P%Pnf~}k>^DoWiJP|Cp<9E8??=H;`=2JTvL*PWFQ$x29kjv zV}N%SWPa(GZ8DGyBm;gwe%s|vbfgY++ zVyK5>yo6sDI68W`XcQkBU;Zdw)V_}V#oR?Z$83{+`9|j|7-kZCX4(wBzws~ zGVsqB(AjFUT4Gaiw|?6m@7e;rhf?S_(tyBj9s%g^9J#VdpD(oG*9DG_%))UC2j)Y- M2+1ZH_yq>u0jRk$`v3p{ diff --git a/situp-plugins/src/main/resources/.DS_Store b/situp-plugins/src/main/resources/.DS_Store deleted file mode 100644 index e0c901436186ca626624a30987ced7dcf5c9b975..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKJxc>Y5Pcg{L~O3patjMVE)cM@IYKO~{R5g0Byzb6xhR(Rcl?$5W_AcBQ40&f zFatAhGdr`BeG8ckfG~WX4uA|mk1E(Xrujl-Uvy78<~bq;J>v;|EU`jO>+&BMkhjZF z^2Hu;h0pId<2$Y~#|+JFSx?4gJ=R#@jd<~{qF20R_L^}ea=c(b`@r{K5F2_|^vyBh zDyL6&a(=EbrRSAv$z0G|a!=NMev5`DR@+s>=}y)2AF3{SR`t6&xZbIwS9IeHI0MeW zK{3FdEz&zl=++r<2AqKn1M>S2se*-Jn^1o`XmkW1cIj5(T4o8!iH3z?n~*z{kWz^$ zHQ0y|Qab(7;tInyVM<4^;Uie(U=vEv>O4PcI6{%otux>ZY%?IUA0?CifAjtPuR(5{ z0cYSa83^6c-Dt?WS#RCDrS#fJy{C#uT$^x{!iBbC#!4$bqpHv!WkD8`;UL?4_3jv<>w^q>n+Q5syJk+c3LiAQ?yol7VF4 z2N+=Pf=q55vrh(+fn?y!0Plx_Mr;GCqg@^7tONk^8EpdHp8mkX31Ayo9Wet@cLlnu zMv0+OIjFnC-p2as=Hq)$ diff --git a/situp-plugins/src/test/java/.DS_Store b/situp-plugins/src/test/java/.DS_Store deleted file mode 100644 index 5a84b3c69c5a74096512bc5abf2a1e7e15de1f0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKF-`+P475p#NHi%aucW1>Sw*3s&IeF}M04aMB&e^;vthJH^%8RyQ&?c^NiuJ?}t5BaojBbw+(U^cCf)-ANvXa z9+BJ6upm~}$L{Ue562hm;ZB(pkOERb3P=GdaHaxPKUddh@{}$Gq`>7X!2d%BC$_>d zF@7Bw_sB}>A_DWI0+Z_1VtDlqo^-@p<&TL;H;LEZ~WK!Ti6!-!}bR5F~ diff --git a/situp-plugins/src/test/java/com/.DS_Store b/situp-plugins/src/test/java/com/.DS_Store deleted file mode 100644 index 65c34a41bd65e34f2fc615b570cbc7316134e166..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKyG{c!5Zr|bMWRVb>5`V3#)?8gogW|piRQSIkf5NtE}tD{ACY2RkWx{=th63` zJ!{`h;k89Xmme>8A`20j!wqF;&D3n(d}0?FF;rh;kp8h7p10kwov=>_EcZ$_@&^Bs zHs3z#9)7!b^9362=lZ?xhW-^Z*q=rPr~nn90#twsoS{J0%=z^hTvDh275HBY*!fW4 zhBa{v^rHifUEghfW@v`Kza@Yr$2D;b#0*R$6&R_SPYjK8#7pvO;usj|qP{cM$(=P{ zDC)Z-UYssk1KCmmD$pu$8N-Fu{|ERF@BcQ5BPu`z{*(ebTdh}1{8HA|$E$}D! n!N7Gon&uLKftBK$BVMsScr|eh^mN2M9mtD-=|ZCdzoEc4rVt?6 diff --git a/situp-plugins/src/test/java/com/amazon/.DS_Store b/situp-plugins/src/test/java/com/amazon/.DS_Store deleted file mode 100644 index df610a35aabb5ba535d67dda47a806925bffae1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKJxc>Y5S`Ho0h^R5x3smkSwd2z&L5B{h;Zb@80+i&*~y!az#T^*m4&{6*|$6U zX7}zDJG&yHi^J=q$V^10a6|dAW^6WZKC+vP7^<)Fv2NOzZPRW?+)Dw=y_3DX%aMSW+ilRIm^ zP}Fxvyf|I72C}6BRA8vUZ475t|5xw}@Bd*EM^u0c{3!)=vfL~e_@%6^qo1={Tj0;| nvw`b$G=ob323CsaJzlXscr~#L^mN2M9mtD-=|ZCdzoEbh&6pp^ diff --git a/situp-plugins/src/test/java/com/amazon/situp/.DS_Store b/situp-plugins/src/test/java/com/amazon/situp/.DS_Store deleted file mode 100644 index ec7af4336078134d889067455381243d21871708..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKJxc>Y5S`J00h^STTiRONEFl)w`2!M#ARKpMi1l^(+40SXkYkl}7WxKe-|ozt z+q+lX?23pk_b+!M3lW*a4dq}%YnC@}>>?wE>d$zUUUrY&@Vx07_V)p+y^=TSWG`De zsUJ4T*lXRxZ;x)6HSCY|d*2QH78$$)jS5f!DnJFO02Mf+K=#Y|^%)-1RDcTnKLzan zP~e6&aSZfd2L?O7TYhF}hPmG*fF;*8aSTKTrcnxvQq3!dMmgdoc{OnijB-)m8PCa` zHE$^DyCYtlE?NUQQUNM3Rp2s~3+w+6@E`8~(;}{@02TOC3g~RLUM=xS*;|{BvtC=^ qPw+1T*XbB0hX5?B72lljip{~RiDRIbBktuu9t2Dm8Ws2r1wH`@aUpL2 diff --git a/situp-plugins/src/test/java/com/amazon/situp/plugins/.DS_Store b/situp-plugins/src/test/java/com/amazon/situp/plugins/.DS_Store deleted file mode 100644 index 66313569ad797e5ea5eff84668cf305c3660117d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKJx{|h5PdFH)xy%PEJzudkeFGbQjm}skjf9BEu{iNg3=F(Eek(}-^UMtceaVJ zOVte_bQjsrvG1PGFHsx=F#YB2G0+9jW)W<3Sp8r!E@jOczGs(cEXNe(MOIA4SutMo z){eiZfIPbv##rKxSNQzor8r?Z{IF)z4}4d{GS7;9#t}Y$9N-iMa?G(nNyZ7WVC#~+ zb6zs~glFqBrQZTac)$oNjJ~}!oYlNXv-WU>jEpnfGwz%*U)(Raw(JY?Z(wVTBDM~5 zD4E5?=fxbu`SG?rB3gTs^Gj}zA(QDvOtoJW-(q~h6_%1!#PJ$&1ilduUDZ?pRX`Qk zs(^g6Y3)6STB`!8fGSWcAm4|CMKJYPIkcY+R`v)$Y_i)L+w$8eF^R|2W95(|G~+^v zF4XuVhH>HSPrP61v2y6bVf^94_?eAAp%^)GIvezaoH!Nb}S2?Uh*sxnMePt`&XR*fqL>k1@W95)N PH2o2e-GFJMM-iEU z&D)*N-3RUN0Fe3X-8nD=Fy&Abos5X8M@@Ulc|sJ+@q$MbXmO9_NTR=}(!C#Yza@9v z;_Ln!p5)=Wtcz7yujoaJEaAH1I~am;0)NkL>i_C&V@7J3^)T@4CuQx za42R8yNIe%y|n;DeMXybuDyiXLc%Oz7m*f<#86@kmDFNL45vOMzbs)FF@{4@^C78n z-@J%bXZ~RBkSwBqodIWH$iRMF&h-Aj%g350&oLo#W|U w8#rz`RMfB235D~)BY+G2A2~5&v