From aad1876d3ad7e270aa0de64b5ff248b15679e92f Mon Sep 17 00:00:00 2001 From: Jason Ernst Date: Thu, 17 Oct 2024 17:59:45 -0700 Subject: [PATCH 1/3] removed knet module, moved to root --- build.gradle.kts | 95 ++++++++++++++++++- knet/build.gradle.kts | 95 ------------------- settings.gradle.kts | 1 - .../main/kotlin/com/jasonernst/knet/Frame.kt | 0 .../main/kotlin/com/jasonernst/knet/Packet.kt | 0 .../knet/PacketTooShortException.kt | 0 .../com/jasonernst/knet/datalink/EtherType.kt | 0 .../knet/datalink/EthernetHeader.kt | 0 .../jasonernst/knet/datalink/MacAddress.kt | 0 .../jasonernst/knet/network/ip/IpHeader.kt | 0 .../com/jasonernst/knet/network/ip/IpType.kt | 0 .../knet/network/ip/v4/Ipv4Header.kt | 0 .../knet/network/ip/v4/options/Ipv4Option.kt | 0 .../ip/v4/options/Ipv4OptionClassType.kt | 0 .../v4/options/Ipv4OptionEndOfOptionList.kt | 0 .../v4/options/Ipv4OptionInternetTimestamp.kt | 0 .../Ipv4OptionLooseSourceAndRecordRoute.kt | 0 .../ip/v4/options/Ipv4OptionNoOperation.kt | 0 .../ip/v4/options/Ipv4OptionRecordRoute.kt | 0 .../ip/v4/options/Ipv4OptionSecurity.kt | 0 .../ip/v4/options/Ipv4OptionSecurityType.kt | 0 .../v4/options/Ipv4OptionStreamIdentifier.kt | 0 .../Ipv4OptionStrictSourceAndRecordRoute.kt | 0 .../network/ip/v4/options/Ipv4OptionType.kt | 0 .../ip/v4/options/Ipv4OptionUnknown.kt | 0 .../knet/network/ip/v6/Ipv6Header.kt | 0 .../ip/v6/extenions/Ipv6Authentication.kt | 0 .../extenions/Ipv6DestinationHopByHopType.kt | 0 .../ip/v6/extenions/Ipv6DestinationOptions.kt | 0 .../Ipv6EncapsulatingSecurityPayload.kt | 0 .../ip/v6/extenions/Ipv6ExtensionHeader.kt | 0 .../network/ip/v6/extenions/Ipv6Fragment.kt | 0 .../ip/v6/extenions/Ipv6HopByHopOptions.kt | 0 .../knet/network/ip/v6/extenions/Ipv6Tlv.kt | 0 .../routing/FatalRoutingException.kt | 0 .../ip/v6/extenions/routing/Ipv6Crh16.kt | 0 .../ip/v6/extenions/routing/Ipv6Crh32.kt | 0 .../v6/extenions/routing/Ipv6Rfc3692Exp1.kt | 0 .../v6/extenions/routing/Ipv6Rfc3692Exp2.kt | 0 .../ip/v6/extenions/routing/Ipv6Routing.kt | 0 .../v6/extenions/routing/Ipv6RoutingType.kt | 0 .../extenions/routing/Ipv6RplSourceRouting.kt | 0 .../extenions/routing/Ipv6SegmentRouting.kt | 0 .../v6/extenions/routing/Ipv6Type2Routing.kt | 0 .../routing/NonFatalRoutingException.kt | 0 .../nextheader/ICMPNextHeaderWrapper.kt | 0 .../knet/network/nextheader/NextHeader.kt | 0 .../knet/transport/TransportHeader.kt | 0 .../tcp/InitialSequenceNumberGenerator.kt | 0 .../knet/transport/tcp/TcpHeader.kt | 0 .../knet/transport/tcp/options/TcpOption.kt | 0 .../tcp/options/TcpOptionEndOfOptionList.kt | 0 .../options/TcpOptionMaximumSegmentSize.kt | 0 .../tcp/options/TcpOptionNoOperation.kt | 0 .../tcp/options/TcpOptionTimestamp.kt | 0 .../transport/tcp/options/TcpOptionType.kt | 0 .../tcp/options/TcpOptionTypeSupported.kt | 0 .../tcp/options/TcpOptionUnsupported.kt | 0 .../knet/transport/udp/UdpHeader.kt | 0 .../com/jasonernst/knet/ChecksumTests.kt | 0 .../com/jasonernst/knet/EncapsulationTests.kt | 0 .../kotlin/com/jasonernst/knet/FrameTest.kt | 0 .../kotlin/com/jasonernst/knet/PacketTests.kt | 0 .../knet/datalink/MacAddressTest.kt | 0 .../knet/network/ip/IpHeaderTest.kt | 0 .../knet/network/ip/v4/Ipv4FragmentTest.kt | 0 .../knet/network/ip/v4/Ipv4HeaderTest.kt | 0 .../network/ip/v4/options/Ipv4OptionTest.kt | 0 .../knet/network/ip/v6/Ipv6HeaderTest.kt | 0 .../extensions/Ipv6DestinationOptionsTest.kt | 0 .../v6/extensions/Ipv6ExtensionHeaderTest.kt | 0 .../ip/v6/extensions/Ipv6FragmentTest.kt | 0 .../ip/v6/extensions/Ipv6HopByHopTest.kt | 0 .../network/ip/v6/extensions/Ipv6TlvTest.kt | 0 .../v6/extensions/routing/Ipv6RoutingTests.kt | 0 .../knet/network/nextheader/IcmpTest.kt | 0 .../network/nextheader/NextHeaderTests.kt | 0 .../jasonernst/knet/transport/tcp/TcpTests.kt | 0 .../transport/tcp/options/TcpOptionTests.kt | 0 .../jasonernst/knet/transport/udp/UdpTests.kt | 0 .../test/resources/logback-test.xml | 0 .../test_packets/ipv4_tcp_badchecksum.dump | 0 .../test_packets/ipv4_tcp_goodchecksum.dump | 0 .../test_packets/ipv4_udp_badchecksum.dump | 0 .../test_packets/ipv4_udp_goodchecksum.dump | 0 .../test_packets/ipv6_hop_to_hop_icmpv6.dump | 0 .../test_packets/ipv6_multiple_packets.dump | 0 .../test_packets/ipv6_tcp_badchecksum.dump | 0 .../test_packets/ipv6_tcp_goodchecksum.dump | 0 89 files changed, 93 insertions(+), 98 deletions(-) delete mode 100644 knet/build.gradle.kts rename {knet/src => src}/main/kotlin/com/jasonernst/knet/Frame.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/Packet.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/PacketTooShortException.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/datalink/EtherType.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/datalink/EthernetHeader.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/datalink/MacAddress.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/IpHeader.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/IpType.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v4/Ipv4Header.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4Option.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionClassType.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionEndOfOptionList.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionInternetTimestamp.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionLooseSourceAndRecordRoute.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionNoOperation.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionRecordRoute.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionSecurity.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionSecurityType.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionStreamIdentifier.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionStrictSourceAndRecordRoute.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionType.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionUnknown.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v6/Ipv6Header.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6Authentication.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6DestinationHopByHopType.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6DestinationOptions.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6EncapsulatingSecurityPayload.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6ExtensionHeader.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6Fragment.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6HopByHopOptions.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6Tlv.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/FatalRoutingException.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Crh16.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Crh32.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Rfc3692Exp1.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Rfc3692Exp2.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Routing.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6RoutingType.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6RplSourceRouting.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6SegmentRouting.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Type2Routing.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/NonFatalRoutingException.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/nextheader/ICMPNextHeaderWrapper.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/network/nextheader/NextHeader.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/transport/TransportHeader.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/transport/tcp/InitialSequenceNumberGenerator.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/transport/tcp/TcpHeader.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOption.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionEndOfOptionList.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionMaximumSegmentSize.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionNoOperation.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionTimestamp.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionType.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionTypeSupported.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionUnsupported.kt (100%) rename {knet/src => src}/main/kotlin/com/jasonernst/knet/transport/udp/UdpHeader.kt (100%) rename {knet/src => src}/test/kotlin/com/jasonernst/knet/ChecksumTests.kt (100%) rename {knet/src => src}/test/kotlin/com/jasonernst/knet/EncapsulationTests.kt (100%) rename {knet/src => src}/test/kotlin/com/jasonernst/knet/FrameTest.kt (100%) rename {knet/src => src}/test/kotlin/com/jasonernst/knet/PacketTests.kt (100%) rename {knet/src => src}/test/kotlin/com/jasonernst/knet/datalink/MacAddressTest.kt (100%) rename {knet/src => src}/test/kotlin/com/jasonernst/knet/network/ip/IpHeaderTest.kt (100%) rename {knet/src => src}/test/kotlin/com/jasonernst/knet/network/ip/v4/Ipv4FragmentTest.kt (100%) rename {knet/src => src}/test/kotlin/com/jasonernst/knet/network/ip/v4/Ipv4HeaderTest.kt (100%) rename {knet/src => src}/test/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionTest.kt (100%) rename {knet/src => src}/test/kotlin/com/jasonernst/knet/network/ip/v6/Ipv6HeaderTest.kt (100%) rename {knet/src => src}/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/Ipv6DestinationOptionsTest.kt (100%) rename {knet/src => src}/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/Ipv6ExtensionHeaderTest.kt (100%) rename {knet/src => src}/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/Ipv6FragmentTest.kt (100%) rename {knet/src => src}/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/Ipv6HopByHopTest.kt (100%) rename {knet/src => src}/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/Ipv6TlvTest.kt (100%) rename {knet/src => src}/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/routing/Ipv6RoutingTests.kt (100%) rename {knet/src => src}/test/kotlin/com/jasonernst/knet/network/nextheader/IcmpTest.kt (100%) rename {knet/src => src}/test/kotlin/com/jasonernst/knet/network/nextheader/NextHeaderTests.kt (100%) rename {knet/src => src}/test/kotlin/com/jasonernst/knet/transport/tcp/TcpTests.kt (100%) rename {knet/src => src}/test/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionTests.kt (100%) rename {knet/src => src}/test/kotlin/com/jasonernst/knet/transport/udp/UdpTests.kt (100%) rename {knet/src => src}/test/resources/logback-test.xml (100%) rename {knet/src => src}/test/resources/test_packets/ipv4_tcp_badchecksum.dump (100%) rename {knet/src => src}/test/resources/test_packets/ipv4_tcp_goodchecksum.dump (100%) rename {knet/src => src}/test/resources/test_packets/ipv4_udp_badchecksum.dump (100%) rename {knet/src => src}/test/resources/test_packets/ipv4_udp_goodchecksum.dump (100%) rename {knet/src => src}/test/resources/test_packets/ipv6_hop_to_hop_icmpv6.dump (100%) rename {knet/src => src}/test/resources/test_packets/ipv6_multiple_packets.dump (100%) rename {knet/src => src}/test/resources/test_packets/ipv6_tcp_badchecksum.dump (100%) rename {knet/src => src}/test/resources/test_packets/ipv6_tcp_goodchecksum.dump (100%) diff --git a/build.gradle.kts b/build.gradle.kts index 8a22722..6ee74a9 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,4 +1,95 @@ plugins { - alias(libs.plugins.jetbrains.kotlin.jvm) apply false - alias(libs.plugins.kotlinter) apply false + id("java-library") + alias(libs.plugins.jetbrains.kotlin.jvm) + alias(libs.plugins.kotlinter) + id("jacoco") + alias(libs.plugins.git.version) // https://stackoverflow.com/a/71212144 + alias(libs.plugins.sonatype.maven.central) + alias(libs.plugins.gradleup.nmcp) +} + +java { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 +} + +kotlin { + jvmToolchain(17) +} + +tasks.jacocoTestReport { + reports { + xml.required = true + html.required = true + } +} + +tasks.withType().configureEach { + useJUnitPlatform() + finalizedBy("jacocoTestReport") +} + +jacoco { + toolVersion = "0.8.12" +} + +dependencies { + api(libs.slf4j.api) + api(libs.icmp.common) + implementation(libs.packetdumper) + testImplementation(libs.bundles.test) + testRuntimeOnly(libs.junit.jupiter.engine) + testImplementation(libs.logback.classic) +} + +version = "0.0.0-SNAPSHOT" +gitVersioning.apply { + refs { + branch(".+") { version = "\${ref}-SNAPSHOT" } + tag("v(?.*)") { version = "\${ref.version}" } + } +} + +// see: https://github.com/vanniktech/gradle-maven-publish-plugin/issues/747#issuecomment-2066762725 +// and: https://github.com/GradleUp/nmcp +nmcp { + val props = project.properties + publishAllPublications { + username = props["centralPortalToken"] as String? ?: "" + password = props["centralPortalPassword"] as String? ?: "" + // or if you want to publish automatically + publicationType = "AUTOMATIC" + } +} + +// see: https://vanniktech.github.io/gradle-maven-publish-plugin/central/#configuring-the-pom +mavenPublishing { + coordinates("com.jasonernst.knet", "knet", version.toString()) + pom { + name = "knet" + description = "A kotlin user-space networking library." + inceptionYear = "2024" + url = "https://github.com/compscidr/knet" + licenses { + license { + name = "GPL-3.0" + url = "https://www.gnu.org/licenses/gpl-3.0.en.html" + distribution = "repo" + } + } + developers { + developer { + id = "compscidr" + name = "Jason Ernst" + url = "https://www.jasonernst.com" + } + } + scm { + url = "https://github.com/compscidr/knet" + connection = "scm:git:git://github.com/compscidr/knet.git" + developerConnection = "scm:git:ssh://git@github.com/compscidr/knet.git" + } + } + + signAllPublications() } \ No newline at end of file diff --git a/knet/build.gradle.kts b/knet/build.gradle.kts deleted file mode 100644 index 6ee74a9..0000000 --- a/knet/build.gradle.kts +++ /dev/null @@ -1,95 +0,0 @@ -plugins { - id("java-library") - alias(libs.plugins.jetbrains.kotlin.jvm) - alias(libs.plugins.kotlinter) - id("jacoco") - alias(libs.plugins.git.version) // https://stackoverflow.com/a/71212144 - alias(libs.plugins.sonatype.maven.central) - alias(libs.plugins.gradleup.nmcp) -} - -java { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 -} - -kotlin { - jvmToolchain(17) -} - -tasks.jacocoTestReport { - reports { - xml.required = true - html.required = true - } -} - -tasks.withType().configureEach { - useJUnitPlatform() - finalizedBy("jacocoTestReport") -} - -jacoco { - toolVersion = "0.8.12" -} - -dependencies { - api(libs.slf4j.api) - api(libs.icmp.common) - implementation(libs.packetdumper) - testImplementation(libs.bundles.test) - testRuntimeOnly(libs.junit.jupiter.engine) - testImplementation(libs.logback.classic) -} - -version = "0.0.0-SNAPSHOT" -gitVersioning.apply { - refs { - branch(".+") { version = "\${ref}-SNAPSHOT" } - tag("v(?.*)") { version = "\${ref.version}" } - } -} - -// see: https://github.com/vanniktech/gradle-maven-publish-plugin/issues/747#issuecomment-2066762725 -// and: https://github.com/GradleUp/nmcp -nmcp { - val props = project.properties - publishAllPublications { - username = props["centralPortalToken"] as String? ?: "" - password = props["centralPortalPassword"] as String? ?: "" - // or if you want to publish automatically - publicationType = "AUTOMATIC" - } -} - -// see: https://vanniktech.github.io/gradle-maven-publish-plugin/central/#configuring-the-pom -mavenPublishing { - coordinates("com.jasonernst.knet", "knet", version.toString()) - pom { - name = "knet" - description = "A kotlin user-space networking library." - inceptionYear = "2024" - url = "https://github.com/compscidr/knet" - licenses { - license { - name = "GPL-3.0" - url = "https://www.gnu.org/licenses/gpl-3.0.en.html" - distribution = "repo" - } - } - developers { - developer { - id = "compscidr" - name = "Jason Ernst" - url = "https://www.jasonernst.com" - } - } - scm { - url = "https://github.com/compscidr/knet" - connection = "scm:git:git://github.com/compscidr/knet.git" - developerConnection = "scm:git:ssh://git@github.com/compscidr/knet.git" - } - } - - signAllPublications() -} \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index bcfa2e5..b3c1bc7 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -13,4 +13,3 @@ dependencyResolutionManagement { } } rootProject.name = "knet" -include(":knet") diff --git a/knet/src/main/kotlin/com/jasonernst/knet/Frame.kt b/src/main/kotlin/com/jasonernst/knet/Frame.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/Frame.kt rename to src/main/kotlin/com/jasonernst/knet/Frame.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/Packet.kt b/src/main/kotlin/com/jasonernst/knet/Packet.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/Packet.kt rename to src/main/kotlin/com/jasonernst/knet/Packet.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/PacketTooShortException.kt b/src/main/kotlin/com/jasonernst/knet/PacketTooShortException.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/PacketTooShortException.kt rename to src/main/kotlin/com/jasonernst/knet/PacketTooShortException.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/datalink/EtherType.kt b/src/main/kotlin/com/jasonernst/knet/datalink/EtherType.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/datalink/EtherType.kt rename to src/main/kotlin/com/jasonernst/knet/datalink/EtherType.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/datalink/EthernetHeader.kt b/src/main/kotlin/com/jasonernst/knet/datalink/EthernetHeader.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/datalink/EthernetHeader.kt rename to src/main/kotlin/com/jasonernst/knet/datalink/EthernetHeader.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/datalink/MacAddress.kt b/src/main/kotlin/com/jasonernst/knet/datalink/MacAddress.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/datalink/MacAddress.kt rename to src/main/kotlin/com/jasonernst/knet/datalink/MacAddress.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/IpHeader.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/IpHeader.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/IpHeader.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/IpHeader.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/IpType.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/IpType.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/IpType.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/IpType.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/Ipv4Header.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v4/Ipv4Header.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/Ipv4Header.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v4/Ipv4Header.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4Option.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4Option.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4Option.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4Option.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionClassType.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionClassType.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionClassType.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionClassType.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionEndOfOptionList.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionEndOfOptionList.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionEndOfOptionList.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionEndOfOptionList.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionInternetTimestamp.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionInternetTimestamp.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionInternetTimestamp.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionInternetTimestamp.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionLooseSourceAndRecordRoute.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionLooseSourceAndRecordRoute.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionLooseSourceAndRecordRoute.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionLooseSourceAndRecordRoute.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionNoOperation.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionNoOperation.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionNoOperation.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionNoOperation.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionRecordRoute.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionRecordRoute.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionRecordRoute.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionRecordRoute.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionSecurity.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionSecurity.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionSecurity.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionSecurity.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionSecurityType.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionSecurityType.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionSecurityType.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionSecurityType.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionStreamIdentifier.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionStreamIdentifier.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionStreamIdentifier.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionStreamIdentifier.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionStrictSourceAndRecordRoute.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionStrictSourceAndRecordRoute.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionStrictSourceAndRecordRoute.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionStrictSourceAndRecordRoute.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionType.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionType.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionType.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionType.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionUnknown.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionUnknown.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionUnknown.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionUnknown.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/Ipv6Header.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v6/Ipv6Header.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/Ipv6Header.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v6/Ipv6Header.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6Authentication.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6Authentication.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6Authentication.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6Authentication.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6DestinationHopByHopType.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6DestinationHopByHopType.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6DestinationHopByHopType.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6DestinationHopByHopType.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6DestinationOptions.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6DestinationOptions.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6DestinationOptions.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6DestinationOptions.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6EncapsulatingSecurityPayload.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6EncapsulatingSecurityPayload.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6EncapsulatingSecurityPayload.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6EncapsulatingSecurityPayload.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6ExtensionHeader.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6ExtensionHeader.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6ExtensionHeader.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6ExtensionHeader.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6Fragment.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6Fragment.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6Fragment.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6Fragment.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6HopByHopOptions.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6HopByHopOptions.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6HopByHopOptions.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6HopByHopOptions.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6Tlv.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6Tlv.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6Tlv.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/Ipv6Tlv.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/FatalRoutingException.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/FatalRoutingException.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/FatalRoutingException.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/FatalRoutingException.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Crh16.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Crh16.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Crh16.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Crh16.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Crh32.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Crh32.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Crh32.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Crh32.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Rfc3692Exp1.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Rfc3692Exp1.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Rfc3692Exp1.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Rfc3692Exp1.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Rfc3692Exp2.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Rfc3692Exp2.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Rfc3692Exp2.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Rfc3692Exp2.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Routing.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Routing.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Routing.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Routing.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6RoutingType.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6RoutingType.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6RoutingType.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6RoutingType.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6RplSourceRouting.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6RplSourceRouting.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6RplSourceRouting.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6RplSourceRouting.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6SegmentRouting.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6SegmentRouting.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6SegmentRouting.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6SegmentRouting.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Type2Routing.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Type2Routing.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Type2Routing.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/Ipv6Type2Routing.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/NonFatalRoutingException.kt b/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/NonFatalRoutingException.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/NonFatalRoutingException.kt rename to src/main/kotlin/com/jasonernst/knet/network/ip/v6/extenions/routing/NonFatalRoutingException.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/nextheader/ICMPNextHeaderWrapper.kt b/src/main/kotlin/com/jasonernst/knet/network/nextheader/ICMPNextHeaderWrapper.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/nextheader/ICMPNextHeaderWrapper.kt rename to src/main/kotlin/com/jasonernst/knet/network/nextheader/ICMPNextHeaderWrapper.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/network/nextheader/NextHeader.kt b/src/main/kotlin/com/jasonernst/knet/network/nextheader/NextHeader.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/network/nextheader/NextHeader.kt rename to src/main/kotlin/com/jasonernst/knet/network/nextheader/NextHeader.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/transport/TransportHeader.kt b/src/main/kotlin/com/jasonernst/knet/transport/TransportHeader.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/transport/TransportHeader.kt rename to src/main/kotlin/com/jasonernst/knet/transport/TransportHeader.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/transport/tcp/InitialSequenceNumberGenerator.kt b/src/main/kotlin/com/jasonernst/knet/transport/tcp/InitialSequenceNumberGenerator.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/transport/tcp/InitialSequenceNumberGenerator.kt rename to src/main/kotlin/com/jasonernst/knet/transport/tcp/InitialSequenceNumberGenerator.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/transport/tcp/TcpHeader.kt b/src/main/kotlin/com/jasonernst/knet/transport/tcp/TcpHeader.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/transport/tcp/TcpHeader.kt rename to src/main/kotlin/com/jasonernst/knet/transport/tcp/TcpHeader.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOption.kt b/src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOption.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOption.kt rename to src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOption.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionEndOfOptionList.kt b/src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionEndOfOptionList.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionEndOfOptionList.kt rename to src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionEndOfOptionList.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionMaximumSegmentSize.kt b/src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionMaximumSegmentSize.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionMaximumSegmentSize.kt rename to src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionMaximumSegmentSize.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionNoOperation.kt b/src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionNoOperation.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionNoOperation.kt rename to src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionNoOperation.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionTimestamp.kt b/src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionTimestamp.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionTimestamp.kt rename to src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionTimestamp.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionType.kt b/src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionType.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionType.kt rename to src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionType.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionTypeSupported.kt b/src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionTypeSupported.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionTypeSupported.kt rename to src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionTypeSupported.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionUnsupported.kt b/src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionUnsupported.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionUnsupported.kt rename to src/main/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionUnsupported.kt diff --git a/knet/src/main/kotlin/com/jasonernst/knet/transport/udp/UdpHeader.kt b/src/main/kotlin/com/jasonernst/knet/transport/udp/UdpHeader.kt similarity index 100% rename from knet/src/main/kotlin/com/jasonernst/knet/transport/udp/UdpHeader.kt rename to src/main/kotlin/com/jasonernst/knet/transport/udp/UdpHeader.kt diff --git a/knet/src/test/kotlin/com/jasonernst/knet/ChecksumTests.kt b/src/test/kotlin/com/jasonernst/knet/ChecksumTests.kt similarity index 100% rename from knet/src/test/kotlin/com/jasonernst/knet/ChecksumTests.kt rename to src/test/kotlin/com/jasonernst/knet/ChecksumTests.kt diff --git a/knet/src/test/kotlin/com/jasonernst/knet/EncapsulationTests.kt b/src/test/kotlin/com/jasonernst/knet/EncapsulationTests.kt similarity index 100% rename from knet/src/test/kotlin/com/jasonernst/knet/EncapsulationTests.kt rename to src/test/kotlin/com/jasonernst/knet/EncapsulationTests.kt diff --git a/knet/src/test/kotlin/com/jasonernst/knet/FrameTest.kt b/src/test/kotlin/com/jasonernst/knet/FrameTest.kt similarity index 100% rename from knet/src/test/kotlin/com/jasonernst/knet/FrameTest.kt rename to src/test/kotlin/com/jasonernst/knet/FrameTest.kt diff --git a/knet/src/test/kotlin/com/jasonernst/knet/PacketTests.kt b/src/test/kotlin/com/jasonernst/knet/PacketTests.kt similarity index 100% rename from knet/src/test/kotlin/com/jasonernst/knet/PacketTests.kt rename to src/test/kotlin/com/jasonernst/knet/PacketTests.kt diff --git a/knet/src/test/kotlin/com/jasonernst/knet/datalink/MacAddressTest.kt b/src/test/kotlin/com/jasonernst/knet/datalink/MacAddressTest.kt similarity index 100% rename from knet/src/test/kotlin/com/jasonernst/knet/datalink/MacAddressTest.kt rename to src/test/kotlin/com/jasonernst/knet/datalink/MacAddressTest.kt diff --git a/knet/src/test/kotlin/com/jasonernst/knet/network/ip/IpHeaderTest.kt b/src/test/kotlin/com/jasonernst/knet/network/ip/IpHeaderTest.kt similarity index 100% rename from knet/src/test/kotlin/com/jasonernst/knet/network/ip/IpHeaderTest.kt rename to src/test/kotlin/com/jasonernst/knet/network/ip/IpHeaderTest.kt diff --git a/knet/src/test/kotlin/com/jasonernst/knet/network/ip/v4/Ipv4FragmentTest.kt b/src/test/kotlin/com/jasonernst/knet/network/ip/v4/Ipv4FragmentTest.kt similarity index 100% rename from knet/src/test/kotlin/com/jasonernst/knet/network/ip/v4/Ipv4FragmentTest.kt rename to src/test/kotlin/com/jasonernst/knet/network/ip/v4/Ipv4FragmentTest.kt diff --git a/knet/src/test/kotlin/com/jasonernst/knet/network/ip/v4/Ipv4HeaderTest.kt b/src/test/kotlin/com/jasonernst/knet/network/ip/v4/Ipv4HeaderTest.kt similarity index 100% rename from knet/src/test/kotlin/com/jasonernst/knet/network/ip/v4/Ipv4HeaderTest.kt rename to src/test/kotlin/com/jasonernst/knet/network/ip/v4/Ipv4HeaderTest.kt diff --git a/knet/src/test/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionTest.kt b/src/test/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionTest.kt similarity index 100% rename from knet/src/test/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionTest.kt rename to src/test/kotlin/com/jasonernst/knet/network/ip/v4/options/Ipv4OptionTest.kt diff --git a/knet/src/test/kotlin/com/jasonernst/knet/network/ip/v6/Ipv6HeaderTest.kt b/src/test/kotlin/com/jasonernst/knet/network/ip/v6/Ipv6HeaderTest.kt similarity index 100% rename from knet/src/test/kotlin/com/jasonernst/knet/network/ip/v6/Ipv6HeaderTest.kt rename to src/test/kotlin/com/jasonernst/knet/network/ip/v6/Ipv6HeaderTest.kt diff --git a/knet/src/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/Ipv6DestinationOptionsTest.kt b/src/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/Ipv6DestinationOptionsTest.kt similarity index 100% rename from knet/src/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/Ipv6DestinationOptionsTest.kt rename to src/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/Ipv6DestinationOptionsTest.kt diff --git a/knet/src/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/Ipv6ExtensionHeaderTest.kt b/src/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/Ipv6ExtensionHeaderTest.kt similarity index 100% rename from knet/src/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/Ipv6ExtensionHeaderTest.kt rename to src/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/Ipv6ExtensionHeaderTest.kt diff --git a/knet/src/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/Ipv6FragmentTest.kt b/src/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/Ipv6FragmentTest.kt similarity index 100% rename from knet/src/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/Ipv6FragmentTest.kt rename to src/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/Ipv6FragmentTest.kt diff --git a/knet/src/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/Ipv6HopByHopTest.kt b/src/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/Ipv6HopByHopTest.kt similarity index 100% rename from knet/src/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/Ipv6HopByHopTest.kt rename to src/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/Ipv6HopByHopTest.kt diff --git a/knet/src/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/Ipv6TlvTest.kt b/src/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/Ipv6TlvTest.kt similarity index 100% rename from knet/src/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/Ipv6TlvTest.kt rename to src/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/Ipv6TlvTest.kt diff --git a/knet/src/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/routing/Ipv6RoutingTests.kt b/src/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/routing/Ipv6RoutingTests.kt similarity index 100% rename from knet/src/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/routing/Ipv6RoutingTests.kt rename to src/test/kotlin/com/jasonernst/knet/network/ip/v6/extensions/routing/Ipv6RoutingTests.kt diff --git a/knet/src/test/kotlin/com/jasonernst/knet/network/nextheader/IcmpTest.kt b/src/test/kotlin/com/jasonernst/knet/network/nextheader/IcmpTest.kt similarity index 100% rename from knet/src/test/kotlin/com/jasonernst/knet/network/nextheader/IcmpTest.kt rename to src/test/kotlin/com/jasonernst/knet/network/nextheader/IcmpTest.kt diff --git a/knet/src/test/kotlin/com/jasonernst/knet/network/nextheader/NextHeaderTests.kt b/src/test/kotlin/com/jasonernst/knet/network/nextheader/NextHeaderTests.kt similarity index 100% rename from knet/src/test/kotlin/com/jasonernst/knet/network/nextheader/NextHeaderTests.kt rename to src/test/kotlin/com/jasonernst/knet/network/nextheader/NextHeaderTests.kt diff --git a/knet/src/test/kotlin/com/jasonernst/knet/transport/tcp/TcpTests.kt b/src/test/kotlin/com/jasonernst/knet/transport/tcp/TcpTests.kt similarity index 100% rename from knet/src/test/kotlin/com/jasonernst/knet/transport/tcp/TcpTests.kt rename to src/test/kotlin/com/jasonernst/knet/transport/tcp/TcpTests.kt diff --git a/knet/src/test/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionTests.kt b/src/test/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionTests.kt similarity index 100% rename from knet/src/test/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionTests.kt rename to src/test/kotlin/com/jasonernst/knet/transport/tcp/options/TcpOptionTests.kt diff --git a/knet/src/test/kotlin/com/jasonernst/knet/transport/udp/UdpTests.kt b/src/test/kotlin/com/jasonernst/knet/transport/udp/UdpTests.kt similarity index 100% rename from knet/src/test/kotlin/com/jasonernst/knet/transport/udp/UdpTests.kt rename to src/test/kotlin/com/jasonernst/knet/transport/udp/UdpTests.kt diff --git a/knet/src/test/resources/logback-test.xml b/src/test/resources/logback-test.xml similarity index 100% rename from knet/src/test/resources/logback-test.xml rename to src/test/resources/logback-test.xml diff --git a/knet/src/test/resources/test_packets/ipv4_tcp_badchecksum.dump b/src/test/resources/test_packets/ipv4_tcp_badchecksum.dump similarity index 100% rename from knet/src/test/resources/test_packets/ipv4_tcp_badchecksum.dump rename to src/test/resources/test_packets/ipv4_tcp_badchecksum.dump diff --git a/knet/src/test/resources/test_packets/ipv4_tcp_goodchecksum.dump b/src/test/resources/test_packets/ipv4_tcp_goodchecksum.dump similarity index 100% rename from knet/src/test/resources/test_packets/ipv4_tcp_goodchecksum.dump rename to src/test/resources/test_packets/ipv4_tcp_goodchecksum.dump diff --git a/knet/src/test/resources/test_packets/ipv4_udp_badchecksum.dump b/src/test/resources/test_packets/ipv4_udp_badchecksum.dump similarity index 100% rename from knet/src/test/resources/test_packets/ipv4_udp_badchecksum.dump rename to src/test/resources/test_packets/ipv4_udp_badchecksum.dump diff --git a/knet/src/test/resources/test_packets/ipv4_udp_goodchecksum.dump b/src/test/resources/test_packets/ipv4_udp_goodchecksum.dump similarity index 100% rename from knet/src/test/resources/test_packets/ipv4_udp_goodchecksum.dump rename to src/test/resources/test_packets/ipv4_udp_goodchecksum.dump diff --git a/knet/src/test/resources/test_packets/ipv6_hop_to_hop_icmpv6.dump b/src/test/resources/test_packets/ipv6_hop_to_hop_icmpv6.dump similarity index 100% rename from knet/src/test/resources/test_packets/ipv6_hop_to_hop_icmpv6.dump rename to src/test/resources/test_packets/ipv6_hop_to_hop_icmpv6.dump diff --git a/knet/src/test/resources/test_packets/ipv6_multiple_packets.dump b/src/test/resources/test_packets/ipv6_multiple_packets.dump similarity index 100% rename from knet/src/test/resources/test_packets/ipv6_multiple_packets.dump rename to src/test/resources/test_packets/ipv6_multiple_packets.dump diff --git a/knet/src/test/resources/test_packets/ipv6_tcp_badchecksum.dump b/src/test/resources/test_packets/ipv6_tcp_badchecksum.dump similarity index 100% rename from knet/src/test/resources/test_packets/ipv6_tcp_badchecksum.dump rename to src/test/resources/test_packets/ipv6_tcp_badchecksum.dump diff --git a/knet/src/test/resources/test_packets/ipv6_tcp_goodchecksum.dump b/src/test/resources/test_packets/ipv6_tcp_goodchecksum.dump similarity index 100% rename from knet/src/test/resources/test_packets/ipv6_tcp_goodchecksum.dump rename to src/test/resources/test_packets/ipv6_tcp_goodchecksum.dump From 3622255aa8aa58ea363d25aa8b9bb1dae2c2fdef Mon Sep 17 00:00:00 2001 From: Jason Ernst Date: Thu, 17 Oct 2024 18:01:21 -0700 Subject: [PATCH 2/3] removed un-needed path from workflow --- .github/workflows/test.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index bcbb1be..fd9fd5f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,7 +7,6 @@ on: pull_request: types: [ opened, synchronize ] paths: - - 'knet/**' - '.github/workflows/test.yml' - 'build.gradle.kts' - 'settings.gradle.kts' From 28b5b2ee77647e203283186d13fd1316b1816712 Mon Sep 17 00:00:00 2001 From: Jason Ernst Date: Thu, 17 Oct 2024 18:02:47 -0700 Subject: [PATCH 3/3] cleanup workflow --- .github/workflows/test.yml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fd9fd5f..5e6554d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -29,13 +29,6 @@ jobs: java-version: 17 distribution: temurin - # outputs the host name of the runner to help debug if there are multiple runners with same - # prefix - - name: Debug Hostname and IP - run: | - echo "Runner host: $HOST_NAME" - curl https://api.ipify.org - - name: Lint run: ./gradlew lintKotlin @@ -46,7 +39,7 @@ jobs: run: ./gradlew assemble - name: Lib tests - run: ./gradlew test -DexcludeTags="Nightly" + run: ./gradlew test timeout-minutes: 10 - name: Upload reports to Codecov