summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoriuhoay <iuhoay@gmail.com>2023-02-11 21:06:21 +0800
committerGitHub <noreply@github.com>2023-02-11 14:06:21 +0100
commit07c2298965ee67300319c012bdf5fadbc8db4931 (patch)
treed68822ae8ae9d8a0329d0ed2e373e02340144cd6
parente6c5571fc9c1f47c711d5fcdd1799ced5b546454 (diff)
feat(java): Add `.sdkmanrc` for Java (#4888)
* Add `.sdkmanrc` for Java * Update config-schema.json, Add `.sdkmanrc` file for Java * Update doc
-rw-r--r--.github/config-schema.json6
-rw-r--r--docs/config/README.md22
-rw-r--r--src/configs/java.rs1
-rw-r--r--src/modules/java.rs10
4 files changed, 26 insertions, 13 deletions
diff --git a/.github/config-schema.json b/.github/config-schema.json
index 847108e53..fcd128c4f 100644
--- a/.github/config-schema.json
+++ b/.github/config-schema.json
@@ -809,7 +809,8 @@
".java-version",
"deps.edn",
"project.clj",
- "build.boot"
+ "build.boot",
+ ".sdkmanrc"
],
"detect_folders": [],
"disabled": false,
@@ -3701,7 +3702,8 @@
".java-version",
"deps.edn",
"project.clj",
- "build.boot"
+ "build.boot",
+ ".sdkmanrc"
],
"type": "array",
"items": {
diff --git a/docs/config/README.md b/docs/config/README.md
index db70a2beb..8e8fc778b 100644
--- a/docs/config/README.md
+++ b/docs/config/README.md
@@ -2208,21 +2208,21 @@ disabled = false
The `java` module shows the currently installed version of [Java](https://www.oracle.com/java/).
By default the module will be shown if any of the following conditions are met:
-- The current directory contains a `pom.xml`, `build.gradle.kts`, `build.sbt`, `.java-version`, `deps.edn`, `project.clj`, or `build.boot` file
+- The current directory contains a `pom.xml`, `build.gradle.kts`, `build.sbt`, `.java-version`, `deps.edn`, `project.clj`, `build.boot`, or `.sdkmanrc` file
- The current directory contains a file with the `.java`, `.class`, `.gradle`, `.jar`, `.clj`, or `.cljc` extension
### Options
-| Option | Default | Description |
-| ------------------- | -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
-| `format` | `'via [${symbol}(${version} )]($style)'` | The format for the module. |
-| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
-| `detect_extensions` | `['java', 'class', 'gradle', 'jar', 'cljs', 'cljc']` | Which extensions should trigger this module. |
-| `detect_files` | `['pom.xml', 'build.gradle.kts', 'build.sbt', '.java-version', 'deps.edn', 'project.clj', 'build.boot']` | Which filenames should trigger this module. |
-| `detect_folders` | `[]` | Which folders should trigger this modules. |
-| `symbol` | `'☕ '` | A format string representing the symbol of Java |
-| `style` | `'red dimmed'` | The style for the module. |
-| `disabled` | `false` | Disables the `java` module. |
+| Option | Default | Description |
+| ------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
+| `format` | `'via [${symbol}(${version} )]($style)'` | The format for the module. |
+| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
+| `detect_extensions` | `['java', 'class', 'gradle', 'jar', 'cljs', 'cljc']` | Which extensions should trigger this module. |
+| `detect_files` | `['pom.xml', 'build.gradle.kts', 'build.sbt', '.java-version', 'deps.edn', 'project.clj', 'build.boot', '.sdkmanrc']` | Which filenames should trigger this module. |
+| `detect_folders` | `[]` | Which folders should trigger this modules. |
+| `symbol` | `'☕ '` | A format string representing the symbol of Java |
+| `style` | `'red dimmed'` | The style for the module. |
+| `disabled` | `false` | Disables the `java` module. |
### Variables
diff --git a/src/configs/java.rs b/src/configs/java.rs
index ecb4c4bad..6b5b7948a 100644
--- a/src/configs/java.rs
+++ b/src/configs/java.rs
@@ -35,6 +35,7 @@ impl<'a> Default for JavaConfig<'a> {
"deps.edn",
"project.clj",
"build.boot",
+ ".sdkmanrc",
],
detect_folders: vec![],
}
diff --git a/src/modules/java.rs b/src/modules/java.rs
index 573c9ff8f..1e1eadf78 100644
--- a/src/modules/java.rs
+++ b/src/modules/java.rs
@@ -246,6 +246,16 @@ mod tests {
}
#[test]
+ fn folder_with_sdkman_file() -> io::Result<()> {
+ let dir = tempfile::tempdir()?;
+ File::create(dir.path().join(".sdkmanrc"))?.sync_all()?;
+ let actual = ModuleRenderer::new("java").path(dir.path()).collect();
+ let expected = Some(format!("via {}", Color::Red.dimmed().paint("☕ v13.0.2 ")));
+ assert_eq!(expected, actual);
+ dir.close()
+ }
+
+ #[test]
fn folder_with_gradle_kotlin_build_file() -> io::Result<()> {
let dir = tempfile::tempdir()?;
File::create(dir.path().join("build.gradle.kts"))?.sync_all()?;