locusts 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. checksums.yaml +7 -0
  2. data/.changeset/README.md +8 -0
  3. data/.changeset/cold-tomatoes-prove.md +5 -0
  4. data/.changeset/config.json +15 -0
  5. data/.changeset/purple-trainers-wash.md +5 -0
  6. data/.clang-format +270 -0
  7. data/.editorconfig +364 -0
  8. data/.eslintrc.js +9 -0
  9. data/.formatter.exs +4 -0
  10. data/.standard.yml +3 -0
  11. data/.syncpackrc +14 -0
  12. data/.vscode/settings.json +19 -0
  13. data/CMakeLists.txt +41 -0
  14. data/CONTRIBUTING.md +35 -0
  15. data/Cargo.lock +7 -0
  16. data/Cargo.toml +11 -0
  17. data/Dockerfile +15 -0
  18. data/GNUmakefile.am +11 -0
  19. data/LICENSE +12 -0
  20. data/Locusts.sln +28 -0
  21. data/README.md +69 -0
  22. data/Rakefile +15 -0
  23. data/build.gradle.kts +99 -0
  24. data/configure.ac +10 -0
  25. data/contrib/tag-repo +8 -0
  26. data/contrib/version-bump +23 -0
  27. data/deno.json +5 -0
  28. data/deno.lock +71 -0
  29. data/docs/.NET.md +29 -0
  30. data/docs/BEAM.md +25 -0
  31. data/docs/C.md +51 -0
  32. data/docs/Docker.md +14 -0
  33. data/docs/Go.md +33 -0
  34. data/docs/JVM.md +5 -0
  35. data/docs/JavaScript.md +8 -0
  36. data/docs/Python.md +34 -0
  37. data/docs/Rust.md +41 -0
  38. data/go.mod +3 -0
  39. data/gradle/libs.versions.toml +13 -0
  40. data/gradle/wrapper/gradle-wrapper.jar +0 -0
  41. data/gradle/wrapper/gradle-wrapper.properties +7 -0
  42. data/gradle.properties +7 -0
  43. data/gradlew +252 -0
  44. data/gradlew.bat +94 -0
  45. data/include/locusts.go +10 -0
  46. data/include/locusts.h +21 -0
  47. data/locusts.go +9 -0
  48. data/locusts_test.go +13 -0
  49. data/meson.build +21 -0
  50. data/mix.exs +44 -0
  51. data/mix.lock +8 -0
  52. data/ocusts.pc.in +9 -0
  53. data/package.json +25 -0
  54. data/pnpm-lock.yaml +5825 -0
  55. data/pnpm-workspace.yaml +2 -0
  56. data/pyproject.toml +17 -0
  57. data/requirements.txt +1 -0
  58. data/settings.gradle.kts +13 -0
  59. data/src/Locusts.cs +20 -0
  60. data/src/Locusts.csproj +37 -0
  61. data/src/__init__.py +0 -0
  62. data/src/lib.rs +23 -0
  63. data/src/locusts.c +3 -0
  64. data/src/locusts.ex +19 -0
  65. data/src/locusts.py +6 -0
  66. data/src/locusts.rb +14 -0
  67. data/src/main/kotlin/io/github/Locusts.kt +12 -0
  68. data/src/packages/eslint-config/README.md +3 -0
  69. data/src/packages/eslint-config/library.js +34 -0
  70. data/src/packages/eslint-config/package.json +17 -0
  71. data/src/packages/locusts/.eslintrc.js +9 -0
  72. data/src/packages/locusts/README.md +1 -0
  73. data/src/packages/locusts/deno.json +14 -0
  74. data/src/packages/locusts/mod.ts +15 -0
  75. data/src/packages/locusts/mod_test.ts +11 -0
  76. data/src/packages/locusts/package.json +35 -0
  77. data/src/packages/locusts/src/index.ts +17 -0
  78. data/src/packages/locusts/tests/locusts.test.ts +9 -0
  79. data/src/packages/locusts/tsconfig.json +13 -0
  80. data/src/packages/typescript-config/base.json +20 -0
  81. data/src/packages/typescript-config/package.json +9 -0
  82. data/src/test/kotlin/io/github/LocustsTest.kt +14 -0
  83. data/src/test_locusts.py +9 -0
  84. data/tests/GlobalUsings.cs +1 -0
  85. data/tests/Locusts.Testing.csproj +23 -0
  86. data/tests/Locusts.cs +12 -0
  87. data/tests/locusts_test.exs +8 -0
  88. data/tests/test_helper.exs +1 -0
  89. data/tests/test_helper.rb +7 -0
  90. data/tests/test_locusts.c +6 -0
  91. data/tests/test_locusts.rb +10 -0
  92. data/turbo.json +28 -0
  93. metadata +138 -0
data/.standard.yml ADDED
@@ -0,0 +1,3 @@
1
+ # For available configuration options, see:
2
+ # https://github.com/standardrb/standard
3
+ ruby_version: 3.0
data/.syncpackrc ADDED
@@ -0,0 +1,14 @@
1
+ {
2
+ "versionGroups": [
3
+ {
4
+ "label": "Use workspace protocol when developing local packages",
5
+ "dependencies": [
6
+ "$LOCAL"
7
+ ],
8
+ "dependencyTypes": [
9
+ "dev"
10
+ ],
11
+ "pinVersion": "workspace:*"
12
+ }
13
+ ]
14
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "python.testing.unittestArgs": [
3
+ "-v",
4
+ "-s",
5
+ "./src",
6
+ "-p",
7
+ "test_*.py"
8
+ ],
9
+ "python.testing.pytestEnabled": false,
10
+ "python.testing.unittestEnabled": true,
11
+ "eslint.workingDirectories": [
12
+ {
13
+ "mode": "auto"
14
+ }
15
+ ],
16
+ "java.compile.nullAnalysis.mode": "automatic",
17
+ "C_Cpp.default.compileCommands": "/home/user/src/github.com/locusts/builddir/compile_commands.json",
18
+ "C_Cpp.default.configurationProvider": "mesonbuild.mesonbuild"
19
+ }
data/CMakeLists.txt ADDED
@@ -0,0 +1,41 @@
1
+ cmake_minimum_required(VERSION 3.14)
2
+ project(libocusts VERSION 0.0.0 DESCRIPTION "A C library that introduces locusts into your codebase" LANGUAGES C)
3
+
4
+ include(GNUInstallDirs)
5
+
6
+ add_library(objlib OBJECT src/locusts.c)
7
+ target_include_directories(objlib PUBLIC include)
8
+ set_target_properties(objlib PROPERTIES LINKER_LANGUAGE C)
9
+
10
+ add_library(ocusts SHARED $<TARGET_OBJECTS:objlib> include/locusts.h)
11
+ target_link_libraries(ocusts PUBLIC objlib)
12
+ set_target_properties(ocusts PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR})
13
+ set_target_properties(ocusts PROPERTIES PUBLIC_HEADER include/locusts.h)
14
+
15
+ add_library(ocusts_static STATIC $<TARGET_OBJECTS:objlib> include/locusts.h)
16
+ target_link_libraries(ocusts_static PUBLIC objlib)
17
+ set_target_properties(ocusts_static PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR})
18
+ set_target_properties(ocusts_static PROPERTIES OUTPUT_NAME ocusts)
19
+
20
+ # Make autoconf and cmake agree with each other
21
+ set(prefix ${CMAKE_INSTALL_PREFIX})
22
+ set(libdir \${prefix}/${CMAKE_INSTALL_LIBDIR})
23
+ set(includedir \${prefix}/${CMAKE_INSTALL_INCLUDEDIR})
24
+ set(VERSION ${PROJECT_VERSION})
25
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/ocusts.pc.in ${CMAKE_CURRENT_BINARY_DIR}/ocusts.pc @ONLY)
26
+ install(
27
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/ocusts.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
28
+ )
29
+ install(
30
+ TARGETS ocusts ocusts_static
31
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
32
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
33
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
34
+ )
35
+
36
+ add_executable(test_locusts tests/test_locusts.c)
37
+ target_link_libraries(test_locusts PRIVATE ocusts)
38
+
39
+ enable_testing()
40
+
41
+ add_test(NAME test_locusts COMMAND test_locusts)
data/CONTRIBUTING.md ADDED
@@ -0,0 +1,35 @@
1
+ # Contributing
2
+
3
+ First off, thanks for taking the time to contribute! 🎉
4
+ We welcome all sorts of contributions, from bug reports to feature requests to code contributions.
5
+
6
+ ## How to contribute
7
+
8
+ The main ways to can contribute are:
9
+
10
+ - [Requesting a new language](#requesting-a-new-language)
11
+ - [Adding a new language](#adding-a-new-language)
12
+
13
+ ### Requesting a new language
14
+
15
+ If you'd like to request a new language to be added to the repository, please open an issue with the `new language` label.
16
+ Please include the following information:
17
+
18
+ - The name of the language
19
+ - A brief description of the language
20
+ - The language's website, if any exist
21
+ - Any relevant documentation on how to build, test, and publish libraries in the language
22
+ - Any CI information
23
+ - Any other relevant information
24
+
25
+ ### Adding a new language
26
+
27
+ If you'd like to add a new language to the repository, please follow these guidelines:
28
+
29
+ - The language **MUST** have some way of publishing and consuming libraries (ie. a package manager).
30
+ - Your PR **MUST** include a GitHub Actions pipeline to build, run tests, and potentially publish the library to the library location.
31
+ - See any of the existing language workflows for examples.
32
+ - Your PR **MUST** include a `LANGUAGE`.md file in the `docs` directory with the following information:
33
+ - A basic way to add the library as a dependency
34
+ - An example of how to use the library
35
+ - A link on the README.md to the new language documentation
data/Cargo.lock ADDED
@@ -0,0 +1,7 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 3
4
+
5
+ [[package]]
6
+ name = "locusts"
7
+ version = "0.0.0"
data/Cargo.toml ADDED
@@ -0,0 +1,11 @@
1
+ [package]
2
+ name = "locusts"
3
+ version = "0.0.0"
4
+ description = "A Rust library that introduces locusts into your codebase"
5
+ authors = ["Matt Strapp <matt+locusts@mattstrapp.net>"]
6
+ readme = "docs/Rust.md"
7
+ license = "0BSD"
8
+ edition = "2015"
9
+ repository = "https://github.com/locusts-r-us/locusts"
10
+
11
+ [dependencies]
data/Dockerfile ADDED
@@ -0,0 +1,15 @@
1
+ FROM --platform=$BUILDPLATFORM tinygo/tinygo:0.33.0 AS build
2
+ ARG TARGETOS
3
+ ARG TARGETARCH
4
+ WORKDIR /app
5
+ COPY . .
6
+ RUN CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH} GOFLAGS=-buildvcs=false tinygo build -o locusts ./include
7
+
8
+ FROM scratch
9
+ LABEL org.opencontainers.image.licenses=0BSD
10
+ LABEL org.opencontainers.image.source=https://github.com/locusts-r-us/locusts
11
+ LABEL org.opencontainers.image.title=Locusts
12
+ LABEL org.opencontainers.image.description="A container that contains locusts"
13
+ HEALTHCHECK NONE
14
+ COPY --from=build /app/locusts /
15
+ ENTRYPOINT ["/locusts"]
data/GNUmakefile.am ADDED
@@ -0,0 +1,11 @@
1
+ lib_LTLIBRARIES = libocusts.la
2
+ libocusts_la_LDFLAGS = -version-info 1:0:0
3
+ libocusts_la_SOURCES = include/locusts.h
4
+ lib_LIBRARIES = libocusts.a
5
+ libocusts_a_SOURCES = include/locusts.h
6
+ include_HEADERS = include/locusts.h
7
+
8
+
9
+ install-data-local:
10
+ mkdir -p $(libdir)/pkgconfig
11
+ cp ocusts.pc $(libdir)/pkgconfig/ocusts.pc
data/LICENSE ADDED
@@ -0,0 +1,12 @@
1
+ Copyright (c) 2024 Matt Strapp <matt+locusts@mattstrapp.net>
2
+
3
+ Permission to use, copy, modify, and/or distribute this software for any
4
+ purpose with or without fee is hereby granted.
5
+
6
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
7
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
8
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
9
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
10
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
11
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
12
+ PERFORMANCE OF THIS SOFTWARE.
data/Locusts.sln ADDED
@@ -0,0 +1,28 @@
1
+ 
2
+ Microsoft Visual Studio Solution File, Format Version 12.00
3
+ # Visual Studio Version 17
4
+ VisualStudioVersion = 17.0.31903.59
5
+ MinimumVisualStudioVersion = 10.0.40219.1
6
+ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Locusts", "src\Locusts.csproj", "{D673881C-7095-4652-AFB5-AD51F4AA075B}"
7
+ EndProject
8
+ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Locusts.Testing", "tests\Locusts.Testing.csproj", "{863697BA-0B39-4949-95E4-B6BE770A81F7}"
9
+ EndProject
10
+ Global
11
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
12
+ Debug|Any CPU = Debug|Any CPU
13
+ Release|Any CPU = Release|Any CPU
14
+ EndGlobalSection
15
+ GlobalSection(SolutionProperties) = preSolution
16
+ HideSolutionNode = FALSE
17
+ EndGlobalSection
18
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
19
+ {D673881C-7095-4652-AFB5-AD51F4AA075B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
20
+ {D673881C-7095-4652-AFB5-AD51F4AA075B}.Debug|Any CPU.Build.0 = Debug|Any CPU
21
+ {D673881C-7095-4652-AFB5-AD51F4AA075B}.Release|Any CPU.ActiveCfg = Release|Any CPU
22
+ {D673881C-7095-4652-AFB5-AD51F4AA075B}.Release|Any CPU.Build.0 = Release|Any CPU
23
+ {863697BA-0B39-4949-95E4-B6BE770A81F7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
24
+ {863697BA-0B39-4949-95E4-B6BE770A81F7}.Debug|Any CPU.Build.0 = Debug|Any CPU
25
+ {863697BA-0B39-4949-95E4-B6BE770A81F7}.Release|Any CPU.ActiveCfg = Release|Any CPU
26
+ {863697BA-0B39-4949-95E4-B6BE770A81F7}.Release|Any CPU.Build.0 = Release|Any CPU
27
+ EndGlobalSection
28
+ EndGlobal
data/README.md ADDED
@@ -0,0 +1,69 @@
1
+ # Locusts: A universal library
2
+
3
+ We here at Locusts-R-Us have developed a series of libraries for all sorts of programming languages to introduce locusts in all sorts of codebases.
4
+
5
+ ## CI
6
+
7
+ [![BEAM](https://img.shields.io/github/actions/workflow/status/locusts-r-us/locusts/beam.yml?style=for-the-badge&logo=erlang&label=Erlang%2FElixir%2FGleam%20(BEAM))](https://github.com/locusts-r-us/locusts/actions/workflows/beam.yml)
8
+ [![C/C++](https://img.shields.io/github/actions/workflow/status/locusts-r-us/locusts/c.yml?style=for-the-badge&logo=c&label=C%2FC%2B%2B)](https://github.com/locusts-r-us/locusts/actions/workflows/c.yml)
9
+ [![Deno](https://img.shields.io/github/actions/workflow/status/locusts-r-us/locusts/deno.yml?style=for-the-badge&logo=deno&label=Deno)](https://github.com/locusts-r-us/locusts/actions/workflows/deno.yml)
10
+ [![Docker](https://img.shields.io/github/actions/workflow/status/locusts-r-us/locusts/docker.yml?style=for-the-badge&logo=docker&label=Docker)](https://github.com/locusts-r-us/locusts/actions/workflows/docker.yml)
11
+ [![.NET](https://img.shields.io/github/actions/workflow/status/locusts-r-us/locusts/dotnet.yml?style=for-the-badge&logo=dotnet&label=C%23%2FF%23)](https://github.com/locusts-r-us/locusts/actions/workflows/dotnet.yml)
12
+ [![JVM](https://img.shields.io/github/actions/workflow/status/locusts-r-us/locusts/jvm.yml?style=for-the-badge&logo=kotlin&label=Java%2FKotlin%2FGroovy%20(JVM))](https://github.com/locusts-r-us/locusts/actions/workflows/jvm.yml)
13
+ [![Go](https://img.shields.io/github/actions/workflow/status/locusts-r-us/locusts/go.yml?style=for-the-badge&logo=go&label=Go)](https://github.com/locusts-r-us/locusts/actions/workflows/go.yml)
14
+ [![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/locusts-r-us/locusts/node.yml?style=for-the-badge&logo=nodedotjs&label=Node.JS)](https://github.com/locusts-r-us/locusts/actions/workflows/node.yml)
15
+ [![Python](https://img.shields.io/github/actions/workflow/status/locusts-r-us/locusts/python.yml?style=for-the-badge&logo=python&label=Python)](https://github.com/locusts-r-us/locusts/actions/workflows/python.yml)
16
+ [![Rust](https://img.shields.io/github/actions/workflow/status/locusts-r-us/locusts/rust.yml?style=for-the-badge&logo=rust&label=Rust)](https://github.com/locusts-r-us/locusts/actions/workflows/rust.yml)
17
+
18
+ ## Packages
19
+
20
+ [![Crates.io Version](https://img.shields.io/crates/v/locusts?style=for-the-badge&logo=rust&color=%23f74b00)](https://crates.io/crates/locusts)
21
+ [![go.mod Version](https://img.shields.io/github/go-mod/go-version/locusts-r-us/locusts?style=for-the-badge&logo=go&color=%2300ADD8)](https://pkg.go.dev/github.com/locusts-r-us/locusts)
22
+ [![Hex.pm Version](https://img.shields.io/hexpm/v/locusts?style=for-the-badge&logo=elixir&color=%234B275F)](https://hex.pm/packages/locusts)
23
+ [![JSR Version](https://img.shields.io/jsr/v/%40locusts-r-us/locusts?style=for-the-badge&logo=jsr&color=%23F7DF1E)](https://jsr.io/@locusts-r-us/locusts)
24
+ [![Maven Central Version](https://img.shields.io/maven-central/v/io.github.locusts-r-us/locusts?style=for-the-badge&logo=apachemaven&color=%23C71A36)](https://github.com/locusts-r-us/locusts/issues/32)
25
+ [![npm Version](https://img.shields.io/npm/v/locusts?style=for-the-badge&logo=npm&color=%23cb3837)](https://www.npmjs.com/package/locusts)
26
+ [![NuGet Version](https://img.shields.io/nuget/v/locusts?style=for-the-badge&logo=nuget&color=%23004880)](https://www.nuget.org/packages/locusts)
27
+ [![PyPI Version](https://img.shields.io/pypi/v/locusts-r-us?style=for-the-badge&logo=pypi&label=pypi&color=%233775A9)](https://pypi.org/project/locusts-r-us/)
28
+
29
+ ## FAQ
30
+
31
+ ### Why the name `Locusts`?
32
+
33
+ [![XKCD 797 "debian-main"](https://imgs.xkcd.com/comics/debian_main.png "dpkg: error processing package (--purge): subprocess pre-removal script returned error exit 163: OH_GOD_THEYRE_INSIDE_MY_CLOTHES")](https://xkcd.com/797/)
34
+
35
+ ### Why would you do this?
36
+
37
+ It's funny.
38
+
39
+ ### Do any of these libraries serve any purpose?
40
+
41
+ No.
42
+
43
+ ### How do I add these to my projects?
44
+
45
+ See the documentation below.
46
+
47
+ ### Can I contribute?
48
+
49
+ Yes! Please do! We welcome all contributions.
50
+ See the [CONTRIBUTING.md](./CONTRIBUTING.md) file for more information.
51
+
52
+ ## Currently Supported Languages
53
+
54
+ - [C/C++](./docs/C.md)
55
+ - [Go](./docs/Go.md)
56
+ - [Rust](./docs/Rust.md)
57
+ - [Python](./docs/Python.md)
58
+ - [C#/F#](./docs/.NET.md)
59
+ - [JavaScript/TypeScript](./docs/JavaScript.md)
60
+ - [BEAM](./docs/BEAM.md)
61
+ - [JVM](./docs/JVM.md)
62
+
63
+ ### Not a language but still supported
64
+
65
+ - [Docker](./docs/Docker.md)
66
+
67
+ ## License
68
+
69
+ Every locust library in this repository is licensed under the [BSD 0 Clause License](./LICENSE).
data/Rakefile ADDED
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "bundler/gem_tasks"
4
+ require "minitest/test_task"
5
+
6
+ Minitest::TestTask.create(:test) do |t|
7
+ t.libs << "tests"
8
+ t.libs << "src"
9
+ t.warning = false
10
+ t.test_globs = ["tests/**/test_*.rb"]
11
+ end
12
+
13
+ require "standard/rake"
14
+
15
+ task default: %i[test standard]
data/build.gradle.kts ADDED
@@ -0,0 +1,99 @@
1
+ /*
2
+ * This file was generated by the Gradle 'init' task.
3
+ *
4
+ * This generated file contains a sample Kotlin library project to get you started.
5
+ * For more details on building Java & JVM projects, please refer to https://docs.gradle.org/8.10.2/userguide/building_java_projects.html in the Gradle documentation.
6
+ * This project uses @Incubating APIs which are subject to change.
7
+ */
8
+
9
+ plugins {
10
+ // Apply the org.jetbrains.kotlin.jvm Plugin to add support for Kotlin.
11
+ alias(libs.plugins.kotlin.jvm)
12
+
13
+ // Apply the java-library plugin for API and implementation separation.
14
+ `java-library`
15
+ id("maven-publish")
16
+ id("net.researchgate.release") version "3.0.2"
17
+ }
18
+
19
+ repositories {
20
+ // Use Maven Central for resolving dependencies.
21
+ mavenCentral()
22
+ }
23
+
24
+ dependencies {
25
+ }
26
+
27
+ testing {
28
+ suites {
29
+ // Configure the built-in test suite
30
+ val test by getting(JvmTestSuite::class) {
31
+ // Use Kotlin Test test framework
32
+ useKotlinTest("2.0.0")
33
+ }
34
+ }
35
+ }
36
+
37
+ // Apply a specific Java toolchain to ease working on different environments.
38
+ java {
39
+ toolchain {
40
+ languageVersion = JavaLanguageVersion.of(11)
41
+ }
42
+ }
43
+
44
+ publishing {
45
+ publications {
46
+ create<MavenPublication>("maven") {
47
+ from(components["java"])
48
+ groupId = "io.github.locusts-r-us"
49
+ artifactId = "locusts"
50
+ version = "$version"
51
+ pom {
52
+ name = "Locusts"
53
+ description = "A JVM library that introduces locusts into your codebase."
54
+ licenses {
55
+ license {
56
+ name = "Zero-Clause BSD"
57
+ url = "https://spdx.org/licenses/0BSD.html"
58
+ }
59
+ }
60
+ developers {
61
+ developer {
62
+ id = "rosstheross"
63
+ name = "Matt Strapp"
64
+ email = "matt@mattstrapp.net"
65
+ }
66
+ }
67
+ scm {
68
+ connection = "scm:git:https://github.com/locusts-r-us/locusts.git"
69
+ developerConnection = "scm:git:ssh://github.com/locusts-r-us/locusts.git"
70
+ url = "https://github.com/locusts-r-us/locusts"
71
+ }
72
+ }
73
+ }
74
+ }
75
+ repositories {
76
+ maven {
77
+ name = "GitHubPackages"
78
+ url = uri("https://maven.pkg.github.com/locusts-r-us/locusts")
79
+ credentials {
80
+ username = System.getenv("GITHUB_ACTOR")
81
+ password = System.getenv("GITHUB_TOKEN")
82
+ }
83
+ }
84
+ maven {
85
+ name = "OSSRH"
86
+ url = uri("https://oss.sonatype.org/service/local/staging/deploy/maven2/")
87
+ credentials {
88
+ username = System.getenv("MAVEN_USERNAME")
89
+ password = System.getenv("MAVEN_PASSWORD")
90
+ }
91
+ }
92
+ }
93
+ }
94
+
95
+ release {
96
+ git {
97
+ requireBranch = "master"
98
+ }
99
+ }
data/configure.ac ADDED
@@ -0,0 +1,10 @@
1
+ AC_INIT([libocusts], [0.0.0])
2
+ AC_CONFIG_SRCDIR([src/locusts.c])
3
+ AC_CONFIG_MACRO_DIRS([m4])
4
+ AM_INIT_AUTOMAKE([-Wall -Werror foreign])
5
+ AC_PROG_CC
6
+ AM_PROG_AR
7
+ LT_INIT
8
+
9
+ AC_CONFIG_FILES([GNUmakefile ocusts.pc])
10
+ AC_OUTPUT
data/contrib/tag-repo ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+
3
+ if [ -z "$GIT_TAG" ]; then
4
+ echo "GIT_TAG is not set, pulling from changeset"
5
+ GIT_TAG=$(jq -r '.version' src/packages/locusts/package.json)
6
+ fi
7
+
8
+ git tag v"$GIT_TAG"
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env bash
2
+
3
+ if [ -z "$GIT_TAG" ]; then
4
+ echo "GIT_TAG is not set, pulling from changeset"
5
+ GIT_TAG=$(jq -r '.version' src/packages/locusts/package.json)
6
+ fi
7
+
8
+ OLD_TAG=$(jq -r '.version' package.json)
9
+ echo "Bumping version from $OLD_TAG to $GIT_TAG"
10
+
11
+ rg "$OLD_TAG" --files-with-matches --iglob \!\*lock\* --iglob \!go.mod --iglob \!deno.json --iglob \!package.json --iglob \!\*.md "$(pwd)" | xargs sed -i "s/$OLD_TAG/$GIT_TAG/g"
12
+
13
+ # fiddle with autotools
14
+ AUTOTOOLS_TAG=${GIT_TAG//\./:}
15
+ OLD_TAG=${OLD_TAG//\./:}
16
+
17
+ sed -i "s/$GIT_TAG/$AUTOTOOLS_TAG/g" GNUmakefile.am
18
+
19
+ # remove the snapshot from gradle
20
+ sed -i "s/-SNAPSHOT//g" gradle.properties
21
+
22
+ # bump the main package.json too
23
+ jq ".version = \"$GIT_TAG\"" package.json | sponge package.json
data/deno.json ADDED
@@ -0,0 +1,5 @@
1
+ {
2
+ "workspace": [
3
+ "./src/packages/locusts"
4
+ ]
5
+ }
data/deno.lock ADDED
@@ -0,0 +1,71 @@
1
+ {
2
+ "version": "3",
3
+ "packages": {
4
+ "specifiers": {
5
+ "jsr:@std/assert@^1.0.6": "jsr:@std/assert@1.0.6",
6
+ "jsr:@std/expect": "jsr:@std/expect@1.0.6",
7
+ "jsr:@std/internal@^1.0.4": "jsr:@std/internal@1.0.4",
8
+ "jsr:@std/testing": "jsr:@std/testing@1.0.3",
9
+ "npm:@types/node": "npm:@types/node@18.16.19"
10
+ },
11
+ "jsr": {
12
+ "@std/assert@1.0.6": {
13
+ "integrity": "1904c05806a25d94fe791d6d883b685c9e2dcd60e4f9fc30f4fc5cf010c72207",
14
+ "dependencies": [
15
+ "jsr:@std/internal@^1.0.4"
16
+ ]
17
+ },
18
+ "@std/expect@1.0.6": {
19
+ "integrity": "dffba969ca5ea6d7c39338d4985c9af2bfa6e080c710cc2b77756dd7657c369c",
20
+ "dependencies": [
21
+ "jsr:@std/assert@^1.0.6",
22
+ "jsr:@std/internal@^1.0.4"
23
+ ]
24
+ },
25
+ "@std/internal@1.0.4": {
26
+ "integrity": "62e8e4911527e5e4f307741a795c0b0a9e6958d0b3790716ae71ce085f755422"
27
+ },
28
+ "@std/testing@1.0.3": {
29
+ "integrity": "f98c2bee53860a5916727d7e7d3abe920dd6f9edace022e2d059f00d05c2cf42",
30
+ "dependencies": [
31
+ "jsr:@std/assert@^1.0.6",
32
+ "jsr:@std/internal@^1.0.4"
33
+ ]
34
+ }
35
+ },
36
+ "npm": {
37
+ "@types/node@18.16.19": {
38
+ "integrity": "sha512-IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA==",
39
+ "dependencies": {}
40
+ }
41
+ }
42
+ },
43
+ "remote": {},
44
+ "workspace": {
45
+ "packageJson": {
46
+ "dependencies": [
47
+ "npm:prettier@^3.2.5",
48
+ "npm:syncpack@13.0.0",
49
+ "npm:turbo@^2.2.3",
50
+ "npm:typescript@^5.6.3"
51
+ ]
52
+ },
53
+ "members": {
54
+ "src/packages/locusts": {
55
+ "dependencies": [
56
+ "jsr:@std/expect@1",
57
+ "jsr:@std/testing@1",
58
+ "npm:locusts"
59
+ ],
60
+ "packageJson": {
61
+ "dependencies": [
62
+ "npm:@types/node@^22.8.2",
63
+ "npm:tsup@^8.3.5",
64
+ "npm:tsx@^4.19.2",
65
+ "npm:typescript@^5.6.3"
66
+ ]
67
+ }
68
+ }
69
+ }
70
+ }
71
+ }
data/docs/.NET.md ADDED
@@ -0,0 +1,29 @@
1
+ # Locusts
2
+
3
+ [![CI](https://github.com/locusts-r-us/locusts/actions/workflows/dotnet.yml/badge.svg)](https://github.com/locusts-r-us/locusts/actions/workflows/dotnet.yml)
4
+ ![NuGet Version](https://img.shields.io/nuget/v/locusts?logo=nuget&label=NuGet%20Package)
5
+
6
+ ## Description
7
+
8
+ Locusts is a library that provides a way to introduce locusts into your code.
9
+
10
+ Why would you want to do that? I don't know.
11
+
12
+ ## Installation
13
+
14
+ ```sh
15
+ dotnet add package Locusts
16
+ ```
17
+
18
+ ## Example
19
+
20
+ ```cs
21
+ using Locusts;
22
+
23
+ Locusts.Introduce();
24
+ // Locusts are now in your codebase!
25
+ ```
26
+
27
+ ## License
28
+
29
+ This project is licensed under the BSD Zero Clause License. See the [LICENSE](../LICENSE) file for details.
data/docs/BEAM.md ADDED
@@ -0,0 +1,25 @@
1
+ # Locusts
2
+
3
+ [![CI](https://github.com/locusts-r-us/locusts/actions/workflows/beam.yml/badge.svg)](https://github.com/locusts-r-us/locusts/actions/workflows/beam.yml)
4
+ ![Hex.pm Version](https://img.shields.io/hexpm/v/locusts?logo=erlang)
5
+ ![Docs](https://img.shields.io/badge/docs-hexdocs.pm-blue?logo=elixir)
6
+
7
+
8
+ **TODO: Add description**
9
+
10
+ ## Installation
11
+
12
+ If [available in Hex](https://hex.pm/docs/publish), the package can be installed
13
+ by adding `locusts` to your list of dependencies in `mix.exs`:
14
+
15
+ ```elixir
16
+ def deps do
17
+ [
18
+ {:locusts, ">= 0.0.0"}
19
+ ]
20
+ end
21
+ ```
22
+
23
+ Documentation can be generated with [ExDoc](https://github.com/elixir-lang/ex_doc)
24
+ and published on [HexDocs](https://hexdocs.pm). Once published, the docs can
25
+ be found at <https://hexdocs.pm/locusts>.
data/docs/C.md ADDED
@@ -0,0 +1,51 @@
1
+ # liboCusts
2
+
3
+ [![CI](https://github.com/locusts-r-us/locusts/actions/workflows/c.yml/badge.svg)](https://github.com/locusts-r-us/locusts/actions/workflows/c.yml)
4
+
5
+ ## Description
6
+
7
+ liboCusts is a library that provides a way to introduce locusts into your code.
8
+
9
+ Why would you want to do that? I don't know.
10
+
11
+ ## Example
12
+
13
+ ```c
14
+ #include "locusts.h"
15
+
16
+ int main(void) {
17
+ introduce_locusts();
18
+ /* Locusts are now in your codebase! */
19
+ return 0;
20
+ }
21
+ ```
22
+
23
+ ## Building
24
+
25
+ Multiple build systems are supported.
26
+
27
+ ### Meson
28
+
29
+ ```sh
30
+ meson setup builddir --buildtype=release
31
+ meson compile -C builddir
32
+ ```
33
+
34
+ ### CMake
35
+
36
+ ```sh
37
+ cmake -S . -B build
38
+ cmake --build build
39
+ ```
40
+
41
+ ### Autoconf
42
+
43
+ ```sh
44
+ autoreconf -fi
45
+ ./configure
46
+ make
47
+ ```
48
+
49
+ ## License
50
+
51
+ This project is licensed under the BSD Zero Clause License. See the [LICENSE](../LICENSE) file for details.
data/docs/Docker.md ADDED
@@ -0,0 +1,14 @@
1
+ # Locusts
2
+
3
+ [![CI](https://github.com/locusts-r-us/locusts/actions/workflows/docker.yml/badge.svg)](https://github.com/locusts-r-us/locusts/actions/workflows/docker.yml)
4
+
5
+ A docker container containing locusts also exist.
6
+
7
+ If you would like to add locusts to your company's servers, you can use the following command:
8
+
9
+ ```bash
10
+ docker run --rm ghcr.io/locusts-r-us/locusts:master
11
+ ```
12
+
13
+ That's it. There are locusts now in your computer.
14
+ What those locusts do is up to the reader.