From 5cc7a92ab3df0e26e432f572fd10cd6ed03b8ba2 Mon Sep 17 00:00:00 2001 From: Ardika Rommy Sanjaya Date: Tue, 13 Nov 2018 00:15:46 +0700 Subject: [PATCH] Add option --- gradle/artifactInstall.gradle | 15 ++ gradle/configure.gradle | 2 +- jxpacket-jxnet/build.gradle | 4 +- jxpacket-pcap4j/build.gradle | 2 +- .../build.gradle | 7 +- .../boot/Pcap4jAutoConfiguration$1.class | Bin 857 -> 0 bytes .../JxnetAutoConfiguration$1.class | Bin 1779 -> 1791 bytes .../{ => jxnet}/JxnetAutoConfiguration.class | Bin 16636 -> 16654 bytes .../pcap4j/Pcap4jAutoConfiguration$1.class | Bin 0 -> 871 bytes .../Pcap4jAutoConfiguration.class | Bin 11984 -> 12005 bytes ...t-spring-boot-autoconfigure-1.1.0.RC19.jar | Bin 17442 -> 0 bytes ...t-spring-boot-autoconfigure-1.1.0.RC21.jar | Bin 17442 -> 0 bytes ...t-spring-boot-autoconfigure-1.1.0.RC24.jar | Bin 0 -> 17826 bytes .../build/poms/pom-default.xml | 118 ++++++++++++++ .../build/reports/checkstyle/main.html | 129 ---------------- .../build/reports/checkstyle/main.xml | 11 -- .../build/reports/findbugs/main.html | 146 ------------------ .../build/reports/pmd/main.html | 10 -- .../build/reports/pmd/main.xml | 7 - .../resources/main/META-INF/spring.factories | 4 +- .../build/tmp/jar/MANIFEST.MF | 2 +- .../{ => jxnet}/JxnetAutoConfiguration.java | 4 +- .../{ => pcap4j}/Pcap4jAutoConfiguration.java | 4 +- .../main/resources/META-INF/spring.factories | 4 +- jxpacket-spring-boot-starter/build.gradle | 10 +- 25 files changed, 155 insertions(+), 324 deletions(-) delete mode 100644 jxpacket-spring-boot-autoconfigure/build/classes/java/main/com/ardikars/jxpacket/spring/boot/Pcap4jAutoConfiguration$1.class rename jxpacket-spring-boot-autoconfigure/build/classes/java/main/com/ardikars/jxpacket/spring/boot/{ => jxnet}/JxnetAutoConfiguration$1.class (62%) rename jxpacket-spring-boot-autoconfigure/build/classes/java/main/com/ardikars/jxpacket/spring/boot/{ => jxnet}/JxnetAutoConfiguration.class (70%) create mode 100644 jxpacket-spring-boot-autoconfigure/build/classes/java/main/com/ardikars/jxpacket/spring/boot/pcap4j/Pcap4jAutoConfiguration$1.class rename jxpacket-spring-boot-autoconfigure/build/classes/java/main/com/ardikars/jxpacket/spring/boot/{ => pcap4j}/Pcap4jAutoConfiguration.class (74%) delete mode 100644 jxpacket-spring-boot-autoconfigure/build/libs/jxpacket-spring-boot-autoconfigure-1.1.0.RC19.jar delete mode 100644 jxpacket-spring-boot-autoconfigure/build/libs/jxpacket-spring-boot-autoconfigure-1.1.0.RC21.jar create mode 100644 jxpacket-spring-boot-autoconfigure/build/libs/jxpacket-spring-boot-autoconfigure-1.1.0.RC24.jar create mode 100644 jxpacket-spring-boot-autoconfigure/build/poms/pom-default.xml delete mode 100644 jxpacket-spring-boot-autoconfigure/build/reports/checkstyle/main.html delete mode 100644 jxpacket-spring-boot-autoconfigure/build/reports/checkstyle/main.xml delete mode 100644 jxpacket-spring-boot-autoconfigure/build/reports/findbugs/main.html delete mode 100644 jxpacket-spring-boot-autoconfigure/build/reports/pmd/main.html delete mode 100644 jxpacket-spring-boot-autoconfigure/build/reports/pmd/main.xml rename jxpacket-spring-boot-autoconfigure/src/main/java/com/ardikars/jxpacket/spring/boot/{ => jxnet}/JxnetAutoConfiguration.java (98%) rename jxpacket-spring-boot-autoconfigure/src/main/java/com/ardikars/jxpacket/spring/boot/{ => pcap4j}/Pcap4jAutoConfiguration.java (98%) diff --git a/gradle/artifactInstall.gradle b/gradle/artifactInstall.gradle index 10f905d..f8fcb26 100644 --- a/gradle/artifactInstall.gradle +++ b/gradle/artifactInstall.gradle @@ -29,6 +29,21 @@ allprojects { } } + + if (!project.name.equals("jxpacket")) { + pom.withXml { + asNode().dependencies.dependency.findAll { xmlDep -> + if (xmlDep.scope.text() == 'compile') { + def xmlOptional = xmlDep.optional[0] + if (!xmlOptional) { + xmlOptional = xmlDep.appendNode('optional') + } + xmlOptional.value = 'true' + } + } + } + } + } } diff --git a/gradle/configure.gradle b/gradle/configure.gradle index 2895d27..89c9fe4 100644 --- a/gradle/configure.gradle +++ b/gradle/configure.gradle @@ -7,7 +7,7 @@ ext { NAME = 'Jxpacket' GROUP = 'com.ardikars.jxpacket' - VERSION = '1.1.0.RC24' + VERSION = '1.1.0.RC25' DESCRIPTION = 'Jxpacket is a network packet crafting library for java.' MAVEN_LOCAL_REPOSITORY = "${System.env.HOME}/.m2/repository" diff --git a/jxpacket-jxnet/build.gradle b/jxpacket-jxnet/build.gradle index eaa4325..a2d9eb9 100644 --- a/jxpacket-jxnet/build.gradle +++ b/jxpacket-jxnet/build.gradle @@ -2,8 +2,8 @@ dependencies { implementation ('com.ardikars.common:common-net') implementation ('com.ardikars.common:common-util') - compileOnly ('com.ardikars.jxnet:jxnet-context') - compileOnly ('com.ardikars.jxnet:jxnet-core') + compile ('com.ardikars.jxnet:jxnet-context') + compile ('com.ardikars.jxnet:jxnet-core') implementation project(':jxpacket-common') implementation project(':jxpacket-core') } diff --git a/jxpacket-pcap4j/build.gradle b/jxpacket-pcap4j/build.gradle index 42eaef0..aa64d1c 100644 --- a/jxpacket-pcap4j/build.gradle +++ b/jxpacket-pcap4j/build.gradle @@ -2,7 +2,7 @@ dependencies { implementation ('com.ardikars.common:common-net') implementation ('com.ardikars.common:common-util') - compileOnly ("org.pcap4j:pcap4j-core:${PCAP4J_VERSION}") + compile "org.pcap4j:pcap4j-core:${PCAP4J_VERSION}" implementation project(':jxpacket-common') implementation project(':jxpacket-core') } diff --git a/jxpacket-spring-boot-autoconfigure/build.gradle b/jxpacket-spring-boot-autoconfigure/build.gradle index d9a168f..87d1cee 100644 --- a/jxpacket-spring-boot-autoconfigure/build.gradle +++ b/jxpacket-spring-boot-autoconfigure/build.gradle @@ -2,12 +2,9 @@ dependencies { implementation ("org.springframework.boot:spring-boot-configuration-processor") implementation ("org.springframework.boot:spring-boot-autoconfigure") - implementation ("org.pcap4j:pcap4j-core:${PCAP4J_VERSION}") - implementation ("com.ardikars.jxnet:jxnet-context") - implementation ("com.ardikars.jxnet:jxnet-core") implementation project(":jxpacket-common") - implementation project(":jxpacket-jxnet") - implementation project(":jxpacket-pcap4j") + compile project(":jxpacket-jxnet") + compile project(":jxpacket-pcap4j") } dependencyManagement { diff --git a/jxpacket-spring-boot-autoconfigure/build/classes/java/main/com/ardikars/jxpacket/spring/boot/Pcap4jAutoConfiguration$1.class b/jxpacket-spring-boot-autoconfigure/build/classes/java/main/com/ardikars/jxpacket/spring/boot/Pcap4jAutoConfiguration$1.class deleted file mode 100644 index 6fe78a217f681172cbdf555e60fd7eec623a4355..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 857 zcmbVKO>fgc5Ph3CaS~h_%11*fP^b&Z1q&1jp#oBsCQ?K`Dy1rio;Hq2Hg$HbwO!yB zaRwxW5b6)$MMB9weI=ck;iw51=aSjcHVNM>qcW6Q=p2luh< zpp1$G7ds9f;330?p?D#eQ*WR~sXyz8Ae^+dR@y-wI}E$@zuxi{yyYu+aipn$H&!a~ z{?U&6n8E2v8R%BX<2Z;Js(;E2$Me8X7@l1?Kf{y1bI%p>NFi^jP}bwQLd8=arly&v z^~Q1U|1<28ocry)eTL@6*tVjXl03|YgQmqEb~?T8pk3Xf(JaxZvTDufWIV!`;LyH8 zXpTI2K>aJ&+4st48T^PG<++A+6i~x9DPEuqmnlOr%QL_# l`8l#GnFH&!jVtJzh3>6oXIF_2Sh!B>9kL2BZQ4;S{Q?j?;UEA2 diff --git a/jxpacket-spring-boot-autoconfigure/build/classes/java/main/com/ardikars/jxpacket/spring/boot/JxnetAutoConfiguration$1.class b/jxpacket-spring-boot-autoconfigure/build/classes/java/main/com/ardikars/jxpacket/spring/boot/jxnet/JxnetAutoConfiguration$1.class similarity index 62% rename from jxpacket-spring-boot-autoconfigure/build/classes/java/main/com/ardikars/jxpacket/spring/boot/JxnetAutoConfiguration$1.class rename to jxpacket-spring-boot-autoconfigure/build/classes/java/main/com/ardikars/jxpacket/spring/boot/jxnet/JxnetAutoConfiguration$1.class index c9fa3704462885df71853a90d233c7f6562d6177..adb81732a4bd830ec0aeb0e82a6b1d6e192b7c46 100644 GIT binary patch delta 56 zcmey&`=57%0~4deWJe|?maK}r)X9lVc8qq&T#3y$n6@!<&SOw#sAKSB$eBEyEd~Jg Crx5!9 delta 46 zcmey*`*5FCf75mFrkKfGf*iyW%XTYipeZ+;F|*M$A}T@igHeJ+*-i_USs577_SdrA z7TQ$G{ze6nWn~6!5)l>j!ECYRgGE^()%z60gUdUIbKkr7oSri6*rW>qN02|qYH-Io z7OXBQvfA8{cA2BLpHlzhtRi=|{QoGs&Al(mH4_K3a539j>d94}-Rda_DxFU+iioBd zFAFK8#Gu6nEoBkQSi%ZcnzNc!tT%NdYbj>~b>`MU8I5e_DqFb5R&G+kbGFmPPQflY z*{v}4C<;r1sni&%>IqL%q5HIRP9y0k&u0$Sx$TwaU z$YCu`YU<}CR4yVFOthvmQcla4To_^^(`-VNi(9j-y5tniu{)F3tF$jpg%GY#(-OvD zg%hs`667XLkpztKGc>?_5KWgVl+h~l&Nvbl2=oeq--O}(Iib% ehBEE2)NOLP%zAx@k;^*ntLYUWm@F&czw{RiK)781 delta 725 zcmYk3S!~Qv7{z~QGHs{22cuL~39S+_7#*F`D$_yZp(Uh^L=hrFC?O=Oibgb1%fF~4 zY7J46HZy`)8oLlhJk<6;?Mq@`Tg&w(H~Dh!cfND)x#v`^R9m^~{dQ$ouGCJ}6nkW# z#C|SL9;>0F^WV`bu{*62XPz1OuM=o>mURiw$4&v^jJH;~CTddPzH73rY#Jdn+2+L`pj3DKlWF@Cr%{kU^k4iqUPEaKW z>lMQWbz!5D*`$70a#5`zY?hZT%4VzlxzwnLZJNq<&0>eLD)p7Rg zJO|XoK{azo_c^R*)ae69^^`ydsO&h@K;ZOvziZqlc zk`+yVwa23ljF1z*;>lNMij+XH5}B=TEL3-vss|P7X~OAcf=Dr5r?O9djIU|N&%V@~ zpaP~J)Ib_Fh^umQOX)n2ho{QmtupzhVIoaga%hA)Do05gr4;3Afc$c6v@$ftpkob^ fC!cZy$-^rZ9%jDhAW30XFl%>+j|lu$VfL}V*0;7U diff --git a/jxpacket-spring-boot-autoconfigure/build/classes/java/main/com/ardikars/jxpacket/spring/boot/pcap4j/Pcap4jAutoConfiguration$1.class b/jxpacket-spring-boot-autoconfigure/build/classes/java/main/com/ardikars/jxpacket/spring/boot/pcap4j/Pcap4jAutoConfiguration$1.class new file mode 100644 index 0000000000000000000000000000000000000000..fbdb538a8f5d06fa65f0ba0ddd2105a40214ae22 GIT binary patch literal 871 zcmbtSO>fgc5Ph3CaS~h_%11*fP^b&Z1q&3310SNKi4>8KN~y}Br;THhO`Tn9Z5Q}O zoB;_Tg!%*cQHWWWhzlG5$+J6ecIVA_-+cT2`G+^})YfK40M zZQNvd;*MU6#GmzfLz{ep))_Th4;UU+;;Ge;jQ9`AtgA7xL z43&{ewI6hZN!m2!n)BT>Q7t83iD{~NB9y#0=O>)1w51=aSjcHVNM>qcW6Q=Z2e+~9 zpp1$G7dsB_;4Z_4N%2B1r`|w~Qh(MFK{#n^t+azWb{L-1|9Z<;@RqOO#gV20-dL%` zi?VjSKXm2ZXK=bw2D%mUI1XZl>aVK9@jUPohG+jRI(!W3q=ZT@1 p@$6%j{2W=8%z^dN#s&1vLig6Pvx}4uSh!5<4YCSl+O(ru`Tr3}tO)#zKA)jSDthy0Wo(E?n97;`#1!#2AzN54EMY4+KifFKb{g5qQFd{jO1jxY4^@PyVHiIVv7U+bf`d#_ z#|HxZq@G{GKQx$GG@3MF2F+$Jhx8zqI899Fn7b_Vk=b-Y-!>9BNeb;`(;*wDsHT$! zPSeU6bWHQYe-jgr8=w#4`n}WCzkk3$j))r UnLb1vdVG3iS;;0N%kTS{mw+LJag9gsRGA%QwT8u?fO<9UJ0uhEL^HM?T z$*_xgA4_E#{bk0q(v7+?iCPFskP8>OZ6y};xq8p}IOqMI_ucY*_k{i)(35GYx+=+H z+M`^Dbwygr{zZ2uT-L#a8SOLGp;@wEmXvRxUF=V?_CiIY9~8TqK`T&WT>2 zjB?!E7Omt8_qa+u9v;f{IoIjs2JfgKATOrz@`*dlbC)G~y~=$ysNxUR?27)QMkQ0L zY@$c0SI21J0gy|y_{QKj3+!Q4;+NwiEHsnCV@}b+C0fP0jXK)#@kAz1dCN0~1R+2N z6LhhR<|i*$=Ow>*&2M_xcS_Ez7Nj^+}^p4d_P0srq%q$X8yyXYBk3 DbWwl- diff --git a/jxpacket-spring-boot-autoconfigure/build/libs/jxpacket-spring-boot-autoconfigure-1.1.0.RC19.jar b/jxpacket-spring-boot-autoconfigure/build/libs/jxpacket-spring-boot-autoconfigure-1.1.0.RC19.jar deleted file mode 100644 index adbbae7bc31e0233aeaa31d3ed6c0b59a20ede3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17442 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 + + 4.0.0 + com.ardikars.jxpacket + jxpacket-spring-boot-autoconfigure + 1.1.0.RC24 + jxpacket-spring-boot-autoconfigure + Jxpacket is a network packet crafting library for java. + https://github.com/jxnet/Jxpacket + + ardikars + http://ardikars.com + + + + GNU Lesser General Public License, Version 3.0 + http://www.gnu.org/licenses + repo + + + + + ardikars + Ardika Rommy Sanjaya + contact@ardikars.com + + + + scm:git:https://github.com/jxnet/Jxpacket.git + scm:git:git@github.com/jxnet/Jxpacket.git + https://github.com/jxnet/Jxpacket.git + + + + com.ardikars.jxpacket + jxpacket-jxnet + 1.1.0.RC24 + compile + true + + + com.ardikars.jxpacket + jxpacket-pcap4j + 1.1.0.RC24 + compile + true + + + com.ardikars.common + common-net + runtime + + + com.ardikars.common + common-util + runtime + + + io.netty + netty-buffer + runtime + + + org.springframework.boot + spring-boot-configuration-processor + runtime + + + org.springframework.boot + spring-boot-autoconfigure + runtime + + + com.ardikars.jxpacket + jxpacket-common + 1.1.0.RC24 + runtime + + + junit + junit + 4.12 + test + + + + + + com.ardikars.jxnet + jxnet + 1.4.7.Final + import + pom + + + org.springframework.boot + spring-boot-dependencies + 2.0.4.RELEASE + import + pom + + + io.netty + netty-bom + 4.1.31.Final + import + pom + + + com.ardikars.common + common + 1.2.2.Final + import + pom + + + + diff --git a/jxpacket-spring-boot-autoconfigure/build/reports/checkstyle/main.html b/jxpacket-spring-boot-autoconfigure/build/reports/checkstyle/main.html deleted file mode 100644 index 076034c..0000000 --- a/jxpacket-spring-boot-autoconfigure/build/reports/checkstyle/main.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - - - - -
-

CheckStyle Audit

-
Designed for use with CheckStyle and Ant.
-
-

Summary

- - - - - - - -
FilesErrors
40
-
-

Files

- - - - - - - - - - - - - - - - -
NameErrors
/Volumes/Data/Personal Project/Jxpacket/jxpacket-spring-boot-autoconfigure/src/main/java/com/ardikars/jxpacket/spring/boot/AbstractAutoConfiguration.java0
/Volumes/Data/Personal Project/Jxpacket/jxpacket-spring-boot-autoconfigure/src/main/java/com/ardikars/jxpacket/spring/boot/JxnetAutoConfiguration.java0
/Volumes/Data/Personal Project/Jxpacket/jxpacket-spring-boot-autoconfigure/src/main/java/com/ardikars/jxpacket/spring/boot/JxpacketConfigurationProperties.java0
/Volumes/Data/Personal Project/Jxpacket/jxpacket-spring-boot-autoconfigure/src/main/java/com/ardikars/jxpacket/spring/boot/Pcap4jAutoConfiguration.java0
-
- -

File /Volumes/Data/Personal Project/Jxpacket/jxpacket-spring-boot-autoconfigure/src/main/java/com/ardikars/jxpacket/spring/boot/AbstractAutoConfiguration.java

- - - - -
Error DescriptionLine
-Back to top -

File /Volumes/Data/Personal Project/Jxpacket/jxpacket-spring-boot-autoconfigure/src/main/java/com/ardikars/jxpacket/spring/boot/JxnetAutoConfiguration.java

- - - - -
Error DescriptionLine
-Back to top -

File /Volumes/Data/Personal Project/Jxpacket/jxpacket-spring-boot-autoconfigure/src/main/java/com/ardikars/jxpacket/spring/boot/JxpacketConfigurationProperties.java

- - - - -
Error DescriptionLine
-Back to top -

File /Volumes/Data/Personal Project/Jxpacket/jxpacket-spring-boot-autoconfigure/src/main/java/com/ardikars/jxpacket/spring/boot/Pcap4jAutoConfiguration.java

- - - - -
Error DescriptionLine
-Back to top -
- - diff --git a/jxpacket-spring-boot-autoconfigure/build/reports/checkstyle/main.xml b/jxpacket-spring-boot-autoconfigure/build/reports/checkstyle/main.xml deleted file mode 100644 index 3930a59..0000000 --- a/jxpacket-spring-boot-autoconfigure/build/reports/checkstyle/main.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/jxpacket-spring-boot-autoconfigure/build/reports/findbugs/main.html b/jxpacket-spring-boot-autoconfigure/build/reports/findbugs/main.html deleted file mode 100644 index a8a0ea2..0000000 --- a/jxpacket-spring-boot-autoconfigure/build/reports/findbugs/main.html +++ /dev/null @@ -1,146 +0,0 @@ - - - -SpotBugs Report - - - - -

-SpotBugs Report

-

Project Information

-

Project: -

-

SpotBugs version: 3.1.5

-

Code analyzed:

-
    -
  • /Volumes/Data/Personal Project/Jxpacket/jxpacket-spring-boot-autoconfigure/build/classes/java/main
  • -
-

-
-
-

-

Metrics

-

405 lines of code analyzed, - in 6 classes, - in 1 packages.

- - - - - - - - - - - - - - - - - - - -
MetricTotalDensity*
High Priority Warnings -0.00
Medium Priority Warnings -0.00
-Total Warnings - -0 - -0.00 -
-

-(* Defects per Thousand lines of non-commenting source statements) -

-

-
-
-

-

Contents

- -

Summary

- - - - - - - - - -
Warning TypeNumber
-Total - -0 -
-

Warnings

-

Click on a warning row to see full context information.

-

-Details -

- - diff --git a/jxpacket-spring-boot-autoconfigure/build/reports/pmd/main.html b/jxpacket-spring-boot-autoconfigure/build/reports/pmd/main.html deleted file mode 100644 index faeb4ba..0000000 --- a/jxpacket-spring-boot-autoconfigure/build/reports/pmd/main.html +++ /dev/null @@ -1,10 +0,0 @@ -PMD -

PMD report

Problems found

- -
#FileLineProblem

Configuration errors

- - - - - -
RuleProblem
LoosePackageCouplingNo packages or classes specified
diff --git a/jxpacket-spring-boot-autoconfigure/build/reports/pmd/main.xml b/jxpacket-spring-boot-autoconfigure/build/reports/pmd/main.xml deleted file mode 100644 index a99299d..0000000 --- a/jxpacket-spring-boot-autoconfigure/build/reports/pmd/main.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - diff --git a/jxpacket-spring-boot-autoconfigure/build/resources/main/META-INF/spring.factories b/jxpacket-spring-boot-autoconfigure/build/resources/main/META-INF/spring.factories index b940029..921d9c8 100644 --- a/jxpacket-spring-boot-autoconfigure/build/resources/main/META-INF/spring.factories +++ b/jxpacket-spring-boot-autoconfigure/build/resources/main/META-INF/spring.factories @@ -1,3 +1,3 @@ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ - com.ardikars.jxpacket.spring.boot.JxnetAutoConfiguration,\ - com.ardikars.jxpacket.spring.boot.Pcap4jAutoConfiguration \ No newline at end of file + com.ardikars.jxpacket.spring.boot.jxnet.JxnetAutoConfiguration,\ + com.ardikars.jxpacket.spring.boot.pcap4j.Pcap4jAutoConfiguration \ No newline at end of file diff --git a/jxpacket-spring-boot-autoconfigure/build/tmp/jar/MANIFEST.MF b/jxpacket-spring-boot-autoconfigure/build/tmp/jar/MANIFEST.MF index e1d6b93..7e0f54b 100644 --- a/jxpacket-spring-boot-autoconfigure/build/tmp/jar/MANIFEST.MF +++ b/jxpacket-spring-boot-autoconfigure/build/tmp/jar/MANIFEST.MF @@ -1,4 +1,4 @@ Manifest-Version: 1.0 Implementation-Title: Jxnet -Implementation-Version: 1.1.0.RC21 +Implementation-Version: 1.1.0.RC24 diff --git a/jxpacket-spring-boot-autoconfigure/src/main/java/com/ardikars/jxpacket/spring/boot/JxnetAutoConfiguration.java b/jxpacket-spring-boot-autoconfigure/src/main/java/com/ardikars/jxpacket/spring/boot/jxnet/JxnetAutoConfiguration.java similarity index 98% rename from jxpacket-spring-boot-autoconfigure/src/main/java/com/ardikars/jxpacket/spring/boot/JxnetAutoConfiguration.java rename to jxpacket-spring-boot-autoconfigure/src/main/java/com/ardikars/jxpacket/spring/boot/jxnet/JxnetAutoConfiguration.java index 4db52fc..b0900a9 100644 --- a/jxpacket-spring-boot-autoconfigure/src/main/java/com/ardikars/jxpacket/spring/boot/JxnetAutoConfiguration.java +++ b/jxpacket-spring-boot-autoconfigure/src/main/java/com/ardikars/jxpacket/spring/boot/jxnet/JxnetAutoConfiguration.java @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -package com.ardikars.jxpacket.spring.boot; +package com.ardikars.jxpacket.spring.boot.jxnet; import static com.ardikars.jxnet.Jxnet.FindHardwareAddress; import static com.ardikars.jxnet.Jxnet.OK; @@ -45,6 +45,8 @@ import com.ardikars.jxpacket.common.api.PcapNetworkInterface; import com.ardikars.jxpacket.common.api.exception.DeviceNotFoundException; import com.ardikars.jxpacket.jxnet.JxnetPacket; +import com.ardikars.jxpacket.spring.boot.AbstractAutoConfiguration; +import com.ardikars.jxpacket.spring.boot.JxpacketConfigurationProperties; import java.net.SocketException; import java.util.ArrayList; import java.util.List; diff --git a/jxpacket-spring-boot-autoconfigure/src/main/java/com/ardikars/jxpacket/spring/boot/Pcap4jAutoConfiguration.java b/jxpacket-spring-boot-autoconfigure/src/main/java/com/ardikars/jxpacket/spring/boot/pcap4j/Pcap4jAutoConfiguration.java similarity index 98% rename from jxpacket-spring-boot-autoconfigure/src/main/java/com/ardikars/jxpacket/spring/boot/Pcap4jAutoConfiguration.java rename to jxpacket-spring-boot-autoconfigure/src/main/java/com/ardikars/jxpacket/spring/boot/pcap4j/Pcap4jAutoConfiguration.java index 6b8dfdd..0062204 100644 --- a/jxpacket-spring-boot-autoconfigure/src/main/java/com/ardikars/jxpacket/spring/boot/Pcap4jAutoConfiguration.java +++ b/jxpacket-spring-boot-autoconfigure/src/main/java/com/ardikars/jxpacket/spring/boot/pcap4j/Pcap4jAutoConfiguration.java @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -package com.ardikars.jxpacket.spring.boot; +package com.ardikars.jxpacket.spring.boot.pcap4j; import com.ardikars.common.net.Inet4Address; import com.ardikars.common.net.Inet6Address; @@ -28,6 +28,8 @@ import com.ardikars.jxpacket.common.api.exception.DeviceNotFoundException; import com.ardikars.jxpacket.common.api.exception.NativeException; import com.ardikars.jxpacket.pcap4j.Pcap4jPacket; +import com.ardikars.jxpacket.spring.boot.AbstractAutoConfiguration; +import com.ardikars.jxpacket.spring.boot.JxpacketConfigurationProperties; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; diff --git a/jxpacket-spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories b/jxpacket-spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories index b940029..921d9c8 100644 --- a/jxpacket-spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories +++ b/jxpacket-spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories @@ -1,3 +1,3 @@ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ - com.ardikars.jxpacket.spring.boot.JxnetAutoConfiguration,\ - com.ardikars.jxpacket.spring.boot.Pcap4jAutoConfiguration \ No newline at end of file + com.ardikars.jxpacket.spring.boot.jxnet.JxnetAutoConfiguration,\ + com.ardikars.jxpacket.spring.boot.pcap4j.Pcap4jAutoConfiguration \ No newline at end of file diff --git a/jxpacket-spring-boot-starter/build.gradle b/jxpacket-spring-boot-starter/build.gradle index 536930c..9dd7645 100644 --- a/jxpacket-spring-boot-starter/build.gradle +++ b/jxpacket-spring-boot-starter/build.gradle @@ -1,10 +1,10 @@ dependencies { - compile project(":jxpacket-spring-boot-autoconfigure") - compile project(":jxpacket-core") - compile project(":jxpacket-common") - compileOnly project(":jxpacket-jxnet") - compileOnly project(":jxpacket-pcap4j") + implementation project(":jxpacket-spring-boot-autoconfigure") + implementation project(":jxpacket-core") + implementation project(":jxpacket-common") + compile project(":jxpacket-jxnet") + compile project(":jxpacket-pcap4j") } dependencyManagement {