From fb18ac5ed163cb4d426b61c852535e8ad2acd3f0 Mon Sep 17 00:00:00 2001 From: josh giesbrecht Date: Mon, 19 May 2025 19:46:54 -0700 Subject: [PATCH 01/23] fixes bug with selecting an error that's in a tab that isn't visible yet. --- app/src/processing/app/ui/Editor.java | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/processing/app/ui/Editor.java b/app/src/processing/app/ui/Editor.java index a06cbe238..5018ecbc1 100644 --- a/app/src/processing/app/ui/Editor.java +++ b/app/src/processing/app/ui/Editor.java @@ -2736,6 +2736,7 @@ public abstract class Editor extends JFrame implements RunnerListener { } int tabIndex = p.getTabIndex(); + sketch.setCurrentCode(tabIndex); // so we are looking at the right offsets below int lineNumber = p.getLineNumber(); int lineStart = textarea.getLineStartOffset(lineNumber); int lineEnd = textarea.getLineStopOffset(lineNumber); From 39d236c50f699dd0d6a28542162c137e08e201c7 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Tue, 20 May 2025 04:29:06 +0000 Subject: [PATCH 02/23] docs: update README.md [skip ci] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1f6c63036..bcfd421e7 100644 --- a/README.md +++ b/README.md @@ -124,7 +124,7 @@ _Note: due to GitHub's limitations, this repository's [Contributors](https://git Daniel Howe
Daniel Howe

πŸ’» - Josh Giesbrecht
Josh Giesbrecht

πŸ’» + Josh Giesbrecht
Josh Giesbrecht

πŸ’» πŸ› liquidex
liquidex

πŸ’» bgc
bgc

πŸ’» Mohammad Umair
Mohammad Umair

πŸ’» From 7e85d30b471b45d82e43c1866cbdd75b8ab1201f Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Tue, 20 May 2025 04:29:07 +0000 Subject: [PATCH 03/23] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 8a53689d8..44da15a4c 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -350,7 +350,8 @@ "avatar_url": "https://avatars.githubusercontent.com/u/3434564?v=4", "profile": "https://github.com/joshgiesbrecht", "contributions": [ - "code" + "code", + "bug" ] }, { From 1f6928462d322f8a3f01247089d19ce999ecaee5 Mon Sep 17 00:00:00 2001 From: Nico Mexis Date: Fri, 23 May 2025 10:50:17 +0200 Subject: [PATCH 04/23] Fix library class version error --- java/src/processing/mode/java/runner/Runner.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/java/src/processing/mode/java/runner/Runner.java b/java/src/processing/mode/java/runner/Runner.java index b4dc51770..af2396710 100644 --- a/java/src/processing/mode/java/runner/Runner.java +++ b/java/src/processing/mode/java/runner/Runner.java @@ -775,9 +775,9 @@ public class Runner implements MessageConsumer { } else if (exceptionClass.equals("java.lang.UnsupportedClassVersionError")) { listener.statusError("UnsupportedClassVersionError: A library is using code compiled with an unsupported version of Java."); - err.println("This version of Processing only supports libraries and JAR files compiled for Java 1.8 or earlier."); - err.println("A library used by this sketch was compiled for Java 1.9 or later, "); - err.println("and needs to be recompiled to be compatible with Java 1.8."); + err.println("This version of Processing only supports libraries and JAR files compiled for Java 17 or earlier."); + err.println("A library used by this sketch was compiled for Java 18 or later, "); + err.println("and needs to be recompiled to be compatible with Java 17."); } else if (exceptionClass.equals("java.lang.NoSuchMethodError") || exceptionClass.equals("java.lang.NoSuchFieldError")) { From 34a85d82db48aff54d0877440f32e873bced420f Mon Sep 17 00:00:00 2001 From: Nico Mexis Date: Sun, 1 Jun 2025 15:54:29 +0200 Subject: [PATCH 05/23] Make error message dynamic --- java/src/processing/mode/java/runner/Runner.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/java/src/processing/mode/java/runner/Runner.java b/java/src/processing/mode/java/runner/Runner.java index af2396710..206e9c62b 100644 --- a/java/src/processing/mode/java/runner/Runner.java +++ b/java/src/processing/mode/java/runner/Runner.java @@ -774,10 +774,11 @@ public class Runner implements MessageConsumer { err.println("and your code should be rewritten in a more efficient manner."); } else if (exceptionClass.equals("java.lang.UnsupportedClassVersionError")) { + int javaVersion = Runtime.version().feature(); listener.statusError("UnsupportedClassVersionError: A library is using code compiled with an unsupported version of Java."); - err.println("This version of Processing only supports libraries and JAR files compiled for Java 17 or earlier."); - err.println("A library used by this sketch was compiled for Java 18 or later, "); - err.println("and needs to be recompiled to be compatible with Java 17."); + err.println("This version of Processing only supports libraries and JAR files compiled for Java " + javaVersion + " or earlier."); + err.println("A library used by this sketch was compiled for Java " + (javaVersion + 1) + " or later, "); + err.println("and needs to be recompiled to be compatible with Java " + javaVersion + "."); } else if (exceptionClass.equals("java.lang.NoSuchMethodError") || exceptionClass.equals("java.lang.NoSuchFieldError")) { From 9552d9b47adc29e28f6f7ccd3608107e1bbed1f5 Mon Sep 17 00:00:00 2001 From: Joackim de Bourqueney Date: Sat, 24 May 2025 21:13:10 +0200 Subject: [PATCH 06/23] Adds processing to path with Wix. --- app/windows/Processing.wxs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/windows/Processing.wxs b/app/windows/Processing.wxs index 2170bdb6c..19981503f 100644 --- a/app/windows/Processing.wxs +++ b/app/windows/Processing.wxs @@ -13,6 +13,7 @@ + @@ -31,5 +32,13 @@ + + + + \ No newline at end of file From 33f6e0296e220a9c61e0617c7b41721a3e278391 Mon Sep 17 00:00:00 2001 From: Tonz Date: Sat, 28 Jun 2025 00:52:59 -0700 Subject: [PATCH 07/23] Allow spaces in filepath name by forwarding all arguments --- app/src/processing/app/Processing.kt | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/app/src/processing/app/Processing.kt b/app/src/processing/app/Processing.kt index 11555edf5..857ffb0e0 100644 --- a/app/src/processing/app/Processing.kt +++ b/app/src/processing/app/Processing.kt @@ -59,30 +59,23 @@ class LSP: SuspendingCliktCommand("lsp"){ } } -class LegacyCLI(val args: Array): SuspendingCliktCommand( "cli"){ + +class LegacyCLI(val args: Array): SuspendingCliktCommand("cli") { + override val treatUnknownOptionsAsArgs = true + override fun help(context: Context) = "Legacy processing-java command line interface" - val help by option("--help").flag() - val build by option("--build").flag() - val run by option("--run").flag() - val present by option("--present").flag() - val sketch: String? by option("--sketch") - val force by option("--force").flag() - val output: String? by option("--output") - val export by option("--export").flag() - val noJava by option("--no-java").flag() - val variant: String? by option("--variant") + val arguments by argument().multiple(default = emptyList()) - override suspend fun run(){ - val cliArgs = args.filter { it != "cli" } + override suspend fun run() { try { - if(build){ + if (arguments.contains("--build")) { System.setProperty("java.awt.headless", "true") } - // Indirect invocation since app does not depend on java mode + Class.forName("processing.mode.java.Commander") .getMethod("main", Array::class.java) - .invoke(null, *arrayOf(cliArgs.toTypedArray())) + .invoke(null, arguments.toTypedArray()) } catch (e: Exception) { throw InternalError("Failed to invoke main method", e) } From 08bdd8570583784fd499880c9e05eb7162e252ae Mon Sep 17 00:00:00 2001 From: Tonz Date: Sat, 28 Jun 2025 01:20:28 -0700 Subject: [PATCH 08/23] Still pass help as an argument so that Commander help is shown. (Remove clikt help message which is canceled by val help anyway). --- app/src/processing/app/Processing.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/src/processing/app/Processing.kt b/app/src/processing/app/Processing.kt index 857ffb0e0..5ed98dacf 100644 --- a/app/src/processing/app/Processing.kt +++ b/app/src/processing/app/Processing.kt @@ -63,8 +63,7 @@ class LSP: SuspendingCliktCommand("lsp"){ class LegacyCLI(val args: Array): SuspendingCliktCommand("cli") { override val treatUnknownOptionsAsArgs = true - override fun help(context: Context) = "Legacy processing-java command line interface" - + val help by option("--help").flag() val arguments by argument().multiple(default = emptyList()) override suspend fun run() { From 09a0cdd16a98719edc8b965a24c09ec6a19cd6c3 Mon Sep 17 00:00:00 2001 From: Stef Tervelde Date: Sat, 28 Jun 2025 10:32:52 +0200 Subject: [PATCH 09/23] Add CLITest for testing CLI commands in Processing IDE Introduces a new Kotlin test class, CLITest, to facilitate running and testing CLI commands of the Processing IDE directly from the IDE. This allows for easier and faster development and debugging of CLI features without manual command line invocation. --- app/test/processing/app/CLITest.kt | 50 ++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 app/test/processing/app/CLITest.kt diff --git a/app/test/processing/app/CLITest.kt b/app/test/processing/app/CLITest.kt new file mode 100644 index 000000000..2bd8cc81e --- /dev/null +++ b/app/test/processing/app/CLITest.kt @@ -0,0 +1,50 @@ +package processing.app + +import java.io.File +import kotlin.test.Test + +/* +This class is used to test the CLI commands of the Processing IDE. +It mostly exists to quickly run CLI commands without having to specify run configurations +or to manually run it on the command line. + +In IntelliJ IDEA, it should display runnable arrows next to each test method. +Use this to quickly test the CLI commands. +The output will be displayed in the console after `Running CLI with arguments: ...`. +When developing on the CLI commands, feel free to add more test methods here. + */ +class CLITest { + + @Test + fun testLSP(){ + runCLIWithArguments("lsp") + } + + @Test + fun testLegacyCLI(){ + runCLIWithArguments("cli --help") + } + + /* + This function runs the CLI with the given arguments. + */ + fun runCLIWithArguments(args: String) { + // TODO: Once Processing PDE correctly builds in IntelliJ IDEA switch over to using the code directly + // To see if the PDE builds correctly can be tested by running the Processing.kt main function directly in IntelliJ IDEA + // Set the JAVA_HOME environment variable to the JDK used by the IDE + println("Running CLI with arguments: $args") + val process = ProcessBuilder("./gradlew", "run", "--args=$args", "--quiet") + .directory(File(System.getProperty("user.dir")).resolve("../../../")) + .inheritIO() + + process.environment().apply { + put("JAVA_HOME", System.getProperty("java.home")) + } + + val result = process + .start() + .waitFor() + println("Done running CLI with arguments: $args (Result: $result)") + + } +} \ No newline at end of file From 1bde430cd6f0fe144033bfdd3274e06b65f4eec0 Mon Sep 17 00:00:00 2001 From: Tonz Date: Fri, 4 Jul 2025 13:16:38 -0700 Subject: [PATCH 10/23] Update BUILD.md CLITest explanation to go along with PR #1161 --- BUILD.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/BUILD.md b/BUILD.md index 39691657e..a6b75b567 100644 --- a/BUILD.md +++ b/BUILD.md @@ -12,7 +12,7 @@ First, [download the IntelliJ IDEA Community Edition](https://www.jetbrains.com/ 1. Clone the Processing4 repository to your machine locally 1. Open the cloned repository in IntelliJ IDEA CE 1. When prompted, select **Trust Project**. You can preview the project in Safe Mode but you won't be able to build Processing. -1. IntelliJ may start loading Gradle dependencies automatically. Wait for this process to complete. +1. IntelliJ may ask if you want to load Gradle project. If you allow this, make sure you are using JDK version 17. 1. In the main menu, go to File > Project Structure > Project Settings > Project. 1. In the SDK Dropdown option, select a JDK version 17 or Download the jdk 1. Click the green Run Icon in the top right of the window. This is also where you can find the option to debug Processing. @@ -130,6 +130,8 @@ The main task to run or debug the PDE is `run`. That means you just need to run If your main concern is with the `Core` you don't need to build and start the whole PDE to test your changes. In IntelliJ IDEA you can select any of the sketches in `core/examples/src/.../` to run by click on the green arrow next to their main functions. This will just compile core and the example sketch. Feel free to create additional examples for your new functionality. +If you are specifically trying to run the `Processing CLI`, you can test commands from `app/test/Processing.app/CLITest`. + ## Troubleshooting and Setup Tips (IntelliJ IDEA) If you’re building Processing using IntelliJ IDEA and something’s not working, here are a few things that might help: From 71038565d60bb8031776eae26a0494e473d6c63f Mon Sep 17 00:00:00 2001 From: Andrew Montenigro Date: Thu, 10 Jul 2025 07:28:25 -0500 Subject: [PATCH 11/23] Properly clear EditorStatus.message with empty() Partially resolves #1167 - EditorStatus.message no longer gets set to a string of spaces when cleared, which caused some UI bugs. --- app/src/processing/app/ui/Editor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/processing/app/ui/Editor.java b/app/src/processing/app/ui/Editor.java index a06cbe238..65cc2911c 100644 --- a/app/src/processing/app/ui/Editor.java +++ b/app/src/processing/app/ui/Editor.java @@ -2665,7 +2665,7 @@ public abstract class Editor extends JFrame implements RunnerListener { * Clear the status area. */ public void statusEmpty() { - statusNotice(EMPTY); + status.empty(); } From 8cd75200a16a6bcaad28f3a2bb0f8112b44d4a64 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Fri, 11 Jul 2025 10:42:04 +0000 Subject: [PATCH 12/23] docs: update README.md [skip ci] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 770d32abf..09310486b 100644 --- a/README.md +++ b/README.md @@ -304,6 +304,7 @@ _Note: due to GitHub's limitations, this repository's [Contributors](https://git Vaivaswat Dubey
Vaivaswat Dubey

πŸ’» jSdCool
jSdCool

πŸ’» πŸ“– AhmedMaged
AhmedMaged

πŸ’» + Nico Mexis
Nico Mexis

πŸ’» From 2f04c992cda213b6b641dc7367de14bc8d4c0d91 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Fri, 11 Jul 2025 10:42:05 +0000 Subject: [PATCH 13/23] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index f9db58567..24915154a 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -1578,6 +1578,15 @@ "contributions": [ "code" ] + }, + { + "login": "ThexXTURBOXx", + "name": "Nico Mexis", + "avatar_url": "https://avatars.githubusercontent.com/u/12763829?v=4", + "profile": "http://nmexis.me", + "contributions": [ + "code" + ] } ], "repoType": "github", From bdf94d58c33143257bcc77f75f7efd4cb7b9d3ef Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Fri, 11 Jul 2025 10:42:55 +0000 Subject: [PATCH 14/23] docs: update README.md [skip ci] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 09310486b..e088e6316 100644 --- a/README.md +++ b/README.md @@ -305,6 +305,7 @@ _Note: due to GitHub's limitations, this repository's [Contributors](https://git jSdCool
jSdCool

πŸ’» πŸ“– AhmedMaged
AhmedMaged

πŸ’» Nico Mexis
Nico Mexis

πŸ’» + charlotte 🌸
charlotte 🌸

πŸ‘€ From e46ba1eeb1990e624ead500712cc081c1e0d343d Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Fri, 11 Jul 2025 10:42:56 +0000 Subject: [PATCH 15/23] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 24915154a..b24454786 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -1587,6 +1587,15 @@ "contributions": [ "code" ] + }, + { + "login": "tychedelia", + "name": "charlotte 🌸", + "avatar_url": "https://avatars.githubusercontent.com/u/10366310?v=4", + "profile": "http://charlotte.fyi", + "contributions": [ + "review" + ] } ], "repoType": "github", From 33bdf02790d52c045446ba0c23ad97d2a0687070 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Fri, 11 Jul 2025 10:45:12 +0000 Subject: [PATCH 16/23] docs: update README.md [skip ci] --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index e088e6316..fad9967e2 100644 --- a/README.md +++ b/README.md @@ -307,6 +307,9 @@ _Note: due to GitHub's limitations, this repository's [Contributors](https://git Nico Mexis
Nico Mexis

πŸ’» charlotte 🌸
charlotte 🌸

πŸ‘€ + + Joackim de Bourqueney
Joackim de Bourqueney

πŸ’» + From 7b84593e4290d3441c152bd463719f4167095bb5 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Fri, 11 Jul 2025 10:45:13 +0000 Subject: [PATCH 17/23] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index b24454786..313214ebc 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -1596,6 +1596,15 @@ "contributions": [ "review" ] + }, + { + "login": "jdebou", + "name": "Joackim de Bourqueney", + "avatar_url": "https://avatars.githubusercontent.com/u/80685479?v=4", + "profile": "http://i-j.fr", + "contributions": [ + "code" + ] } ], "repoType": "github", From 1b9e9eb0251862c153107cae55968ef6a13e8864 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Fri, 11 Jul 2025 10:47:51 +0000 Subject: [PATCH 18/23] docs: update README.md [skip ci] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fad9967e2..79302a5b4 100644 --- a/README.md +++ b/README.md @@ -309,6 +309,7 @@ _Note: due to GitHub's limitations, this repository's [Contributors](https://git Joackim de Bourqueney
Joackim de Bourqueney

πŸ’» + Tonz
Tonz

πŸ’» From 56e6628231f216d25144500525c33f7c0c7683f3 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Fri, 11 Jul 2025 10:47:52 +0000 Subject: [PATCH 19/23] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 313214ebc..0a3c17c02 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -1605,6 +1605,15 @@ "contributions": [ "code" ] + }, + { + "login": "toniab", + "name": "Tonz", + "avatar_url": "https://avatars.githubusercontent.com/u/370199?v=4", + "profile": "https://github.com/toniab", + "contributions": [ + "code" + ] } ], "repoType": "github", From 87cc397755ef9320df94c9247e15b0664be930cd Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Fri, 11 Jul 2025 10:50:48 +0000 Subject: [PATCH 20/23] docs: update README.md [skip ci] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 79302a5b4..0cfc9b2aa 100644 --- a/README.md +++ b/README.md @@ -309,7 +309,7 @@ _Note: due to GitHub's limitations, this repository's [Contributors](https://git Joackim de Bourqueney
Joackim de Bourqueney

πŸ’» - Tonz
Tonz

πŸ’» + Tonz
Tonz

πŸ’» πŸ“– From ff61cfade77b7850b1116ab08cc222548cb74cc2 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Fri, 11 Jul 2025 10:50:49 +0000 Subject: [PATCH 21/23] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 0a3c17c02..5e020eac8 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -1612,7 +1612,8 @@ "avatar_url": "https://avatars.githubusercontent.com/u/370199?v=4", "profile": "https://github.com/toniab", "contributions": [ - "code" + "code", + "doc" ] } ], From 0441bdf345eda878605a7f47c0f7bfe20fe36aae Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Fri, 11 Jul 2025 10:54:55 +0000 Subject: [PATCH 22/23] docs: update README.md [skip ci] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0cfc9b2aa..a854f0699 100644 --- a/README.md +++ b/README.md @@ -310,6 +310,7 @@ _Note: due to GitHub's limitations, this repository's [Contributors](https://git Joackim de Bourqueney
Joackim de Bourqueney

πŸ’» Tonz
Tonz

πŸ’» πŸ“– + Andrew
Andrew

πŸ’» From 98a694cfa31ccf37a15805a9b13913d9215b1024 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Fri, 11 Jul 2025 10:54:56 +0000 Subject: [PATCH 23/23] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 5e020eac8..ec8fe5952 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -1615,6 +1615,15 @@ "code", "doc" ] + }, + { + "login": "aj-m", + "name": "Andrew", + "avatar_url": "https://avatars.githubusercontent.com/u/2524348?v=4", + "profile": "https://github.com/aj-m", + "contributions": [ + "code" + ] } ], "repoType": "github",