-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathcdimascio-dotenv-java.json
More file actions
1 lines (1 loc) · 17.4 KB
/
cdimascio-dotenv-java.json
File metadata and controls
1 lines (1 loc) · 17.4 KB
1
{"repository": "cdimascio/dotenv-java", "language": "java", "clone_url": "https://github.com/cdimascio/dotenv-java.git", "collection_timestamp": "2023-11-24T07:44:54.133897Z", "commit_hash": "bbfbcfa63e3ab0bb76fbacb51833daec9f6c4fa9", "commit_message": "Implements support for quoted values (#46)\n\n", "commit_timestamp": "2023-01-16T00:21:44Z", "previous_commit_hash": "c93e7e8103beede491b9b867eb671e934c6e6a12", "previous_commit_message": "Merge branch 'master' of https://github.com/cdimascio/dotenv-java\n", "previous_commit_timestamp": "2022-11-24T00:01:13Z", "time_to_patch": "53 days, 0:20:31", "bug_patch": "diff --git a/src/main/java/io/github/cdimascio/dotenv/internal/DotenvParser.java b/src/main/java/io/github/cdimascio/dotenv/internal/DotenvParser.java\nindex 30616e3..97b8d00 100644\n--- a/src/main/java/io/github/cdimascio/dotenv/internal/DotenvParser.java\n+++ b/src/main/java/io/github/cdimascio/dotenv/internal/DotenvParser.java\n@@ -19,7 +19,17 @@ import static java.util.Collections.emptyList;\n public class DotenvParser {\n \n private static final Pattern WHITE_SPACE_REGEX = Pattern.compile(\"^\\\\s*$\"); // ^\\s*${'$'}\n- private static final Pattern DOTENV_ENTRY_REGEX = Pattern.compile(\"^\\\\s*([\\\\w.\\\\-]+)\\\\s*(=)\\\\s*([^#]*)?\\\\s*(#.*)?$\"); // ^\\s*([\\w.\\-]+)\\s*(=)\\s*([^#]*)?\\s*(#.*)?$\n+\n+ // The follow regex matches key values.\n+ // It supports quoted values surrounded by single or double quotes\n+ // - Single quotes: ['][^']*[']\n+ // The above regex snippet matches a value wrapped in single quotes.\n+ // The regex snippet does not match internal single quotes. This is present to allow the trailing comment to include single quotes\n+ // - Double quotes: same logic as single quotes\n+ // It ignore trailing comments\n+ // - Trailing comment: \\s*(#.*)?$\n+ // The above snippet ignore spaces, the captures the # and the trailing comment\n+ private static final Pattern DOTENV_ENTRY_REGEX = Pattern.compile(\"^\\\\s*([\\\\w.\\\\-]+)\\\\s*(=)\\\\s*(['][^']*[']|[\\\"][^\\\"]*[\\\"]|[^#]*)?\\\\s*(#.*)?$\"); //\"^\\\\s*([\\\\w.\\\\-]+)\\\\s*(=)\\\\s*([^#]*)?\\\\s*(#.*)?$\"); // ^\\s*([\\w.\\-]+)\\s*(=)\\s*([^#]*)?\\s*(#.*)?$\n \n private final DotenvReader reader;\n private final boolean throwIfMissing;\n", "bug_patch_file_extensions": ["java"], "test_patch": "diff --git a/src/test/java/tests/BasicTests.java b/src/test/java/tests/BasicTests.java\nindex c15cfd7..502e6ed 100644\n--- a/src/test/java/tests/BasicTests.java\n+++ b/src/test/java/tests/BasicTests.java\n@@ -16,6 +16,7 @@ public class BasicTests {\n put(\"WITHOUT_VALUE\", \"\");\n put(\"MULTI_LINE\", \"hello\\\\nworld\");\n put(\"TRAILING_COMMENT\", \"value\");\n+ put(\"QUOTED_VALUE\", \"iH4>hb_d0#_GN8d]6\");\n }};\n \n @Test(expected = DotenvException.class)\ndiff --git a/src/test/resources/.env b/src/test/resources/.env\nindex 2c940e0..d0ccf01 100644\n--- a/src/test/resources/.env\n+++ b/src/test/resources/.env\n@@ -4,6 +4,7 @@ MY_TEST_EV2=my test ev 2\n WITHOUT_VALUE=\n MULTI_LINE=hello\\nworld\n TRAILING_COMMENT=value # comment\n+QUOTED_VALUE=\"iH4>hb_d0#_GN8d]6\" # comment \"test\"\n \n ## Malformed EV!\n MY_TEST_EV3\ndiff --git a/src/test/resources/env b/src/test/resources/env\nindex 8aaf95f..d01afb9 100644\n--- a/src/test/resources/env\n+++ b/src/test/resources/env\n@@ -4,6 +4,7 @@ MY_TEST_EV2=my test ev 2\n WITHOUT_VALUE=\n MULTI_LINE=hello\\nworld\n TRAILING_COMMENT=value # comment\n+QUOTED_VALUE=\"iH4>hb_d0#_GN8d]6\" # comment \"test\"\n \n ## Malformed EV!\n MY_TEST_EV3\n", "test_patch_file_extensions": ["java", "env"], "non_code_patch": "", "non_code_patch_file_extensions": [], "change_type": "SOURCE_ONLY", "actions_runs": [[{"failed": false, "tests": [{"classname": "tests.DotenvTests", "name": "configureWithIgnoreMissingAndMalformed", "time": 0.027, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.DotenvTests", "name": "configureWithIgnoreMalformed", "time": 0.009, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.DotenvTests", "name": "failToAddToDotenv", "time": 0.004, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.DotenvTests", "name": "load", "time": 0.001, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.DotenvTests", "name": "failToRemoveFromDotenv", "time": 0.002, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.DotenvTests", "name": "throwIfMalconfigured", "time": 0.002, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.DotenvTests", "name": "iteratorOverDotenv", "time": 0.006, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.DotenvTests", "name": "iteratorOverDotenvWithFilter", "time": 0.003, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "dotenvMissing", "time": 0.008, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "iterateOverDotenv", "time": 0.002, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "dotenvMalformed", "time": 0.002, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "dotenvIgnoreMalformed", "time": 0.002, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "resourceRelativeDir", "time": 0.005, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "resourceUnanchoredDir", "time": 0.002, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "resourceRelativeTrailingDotDir", "time": 0.002, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "systemProperties", "time": 0.003, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "dotenvFilename", "time": 0.001, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "resourceAbsoluteDir", "time": 0.001, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "noSystemProperties", "time": 0.001, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "resourceAbsoluteTrailingDotDir", "time": 0.001, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "resourceCurrent", "time": 0.001, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "resourceRelative", "time": 0.002, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "resourceUnanchoredTrailingDotDir", "time": 0.001, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "dotenvIgnoreMissing", "time": 0.003, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}], "workflow": {"path": "/tmp/690f3883-201a-41b1-b9ca-a2b70fc16edb/.github/workflows/build-crawler.yml", "type": "maven"}, "workflow_name": "63747bb0-227c-4f2e-90f4-a7f97bfb813e", "build_tool": "maven", "elapsed_time": 114.69566249847412, "default_actions": true}], [{"failed": false, "tests": [{"classname": "tests.DotenvTests", "name": "configureWithIgnoreMissingAndMalformed", "time": 0.03, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.DotenvTests", "name": "configureWithIgnoreMalformed", "time": 0.0, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.DotenvTests", "name": "failToAddToDotenv", "time": 0.001, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.DotenvTests", "name": "load", "time": 0.002, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.DotenvTests", "name": "failToRemoveFromDotenv", "time": 0.004, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.DotenvTests", "name": "throwIfMalconfigured", "time": 0.001, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.DotenvTests", "name": "iteratorOverDotenv", "time": 0.004, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.DotenvTests", "name": "iteratorOverDotenvWithFilter", "time": 0.004, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "dotenvMissing", "time": 0.0, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "iterateOverDotenv", "time": 0.0, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "dotenvMalformed", "time": 0.0, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "dotenvIgnoreMalformed", "time": 0.016, "results": [{"result": "Failure", "message": "expected:<[iH4>hb_d0#_GN8d]6]> but was:<[\"iH4>hb_d0]>", "type": "org.junit.ComparisonFailure"}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "resourceRelativeDir", "time": 0.001, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "resourceUnanchoredDir", "time": 0.002, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "resourceRelativeTrailingDotDir", "time": 0.001, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "systemProperties", "time": 0.003, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "dotenvFilename", "time": 0.002, "results": [{"result": "Failure", "message": "expected:<[iH4>hb_d0#_GN8d]6]> but was:<[\"iH4>hb_d0]>", "type": "org.junit.ComparisonFailure"}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "resourceAbsoluteDir", "time": 0.001, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "noSystemProperties", "time": 0.001, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "resourceAbsoluteTrailingDotDir", "time": 0.001, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "resourceCurrent", "time": 0.001, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "resourceRelative", "time": 0.001, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "resourceUnanchoredTrailingDotDir", "time": 0.002, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "dotenvIgnoreMissing", "time": 0.002, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}], "workflow": {"path": "/tmp/690f3883-201a-41b1-b9ca-a2b70fc16edb/.github/workflows/build-crawler.yml", "type": "maven"}, "workflow_name": "73a66e36-761f-42c9-be85-ca5c9d61e568", "build_tool": "maven", "elapsed_time": 54.820738315582275, "default_actions": true}], [{"failed": false, "tests": [{"classname": "tests.DotenvTests", "name": "configureWithIgnoreMissingAndMalformed", "time": 0.029, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.DotenvTests", "name": "configureWithIgnoreMalformed", "time": 0.01, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.DotenvTests", "name": "failToAddToDotenv", "time": 0.004, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.DotenvTests", "name": "load", "time": 0.002, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.DotenvTests", "name": "failToRemoveFromDotenv", "time": 0.001, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.DotenvTests", "name": "throwIfMalconfigured", "time": 0.001, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.DotenvTests", "name": "iteratorOverDotenv", "time": 0.004, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.DotenvTests", "name": "iteratorOverDotenvWithFilter", "time": 0.004, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "dotenvMissing", "time": 0.006, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "iterateOverDotenv", "time": 0.004, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "dotenvMalformed", "time": 0.004, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "dotenvIgnoreMalformed", "time": 0.003, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "resourceRelativeDir", "time": 0.001, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "resourceUnanchoredDir", "time": 0.003, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "resourceRelativeTrailingDotDir", "time": 0.002, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "systemProperties", "time": 0.003, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "dotenvFilename", "time": 0.002, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "resourceAbsoluteDir", "time": 0.002, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "noSystemProperties", "time": 0.001, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "resourceAbsoluteTrailingDotDir", "time": 0.001, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "resourceCurrent", "time": 0.001, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "resourceRelative", "time": 0.001, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "resourceUnanchoredTrailingDotDir", "time": 0.002, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}, {"classname": "tests.BasicTests", "name": "dotenvIgnoreMissing", "time": 0.002, "results": [{"result": "Passed", "message": "", "type": ""}], "stdout": null, "stderr": null}], "workflow": {"path": "/tmp/690f3883-201a-41b1-b9ca-a2b70fc16edb/.github/workflows/build-crawler.yml", "type": "maven"}, "workflow_name": "dc3915c9-f92d-44f2-ab67-e06550623968", "build_tool": "maven", "elapsed_time": 57.14889669418335, "default_actions": true}]], "strategy": "PASS_PASS", "issues": [{"id": 46, "title": "Implements support for quoted values", "body": "fixes https://github.com/cdimascio/dotenv-java/issues/44", "comments": [], "labels": [], "is_pull_request": true, "review_comments": []}]}