Commit 2301028
authored
Fix IllegalArgumentException in KotlinParser when dependsOn paths are relative (#6882)
* Fix `IllegalArgumentException` in KotlinParser when dependsOn paths are relative
`dependsOn` inputs created via `determinePath` have relative paths, but source
inputs may have absolute paths. When `relativeTo` is absolute, resolve
dependsOn paths against it so `Path.relativize` in `getRelativePath` doesn't
throw `IllegalArgumentException` due to an absolute/relative mismatch.
* Add test for dependsOn with absolute relativeTo and guard getRelativePath
The new test demonstrates the IllegalArgumentException that occurs when
dependsOn provides relative paths but relativeTo is absolute (e.g. a
@tempdir). Also adds the absolute/relative mismatch guard directly in
Parser.Input.getRelativePath, which is called from KotlinTreeParserVisitor.1 parent 8b7a44f commit 2301028
3 files changed
Lines changed: 45 additions & 4 deletions
File tree
- rewrite-core/src/main/java/org/openrewrite
- rewrite-kotlin/src
- main/java/org/openrewrite/kotlin
- test/java/org/openrewrite/kotlin
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
208 | 208 | | |
209 | 209 | | |
210 | 210 | | |
211 | | - | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
212 | 215 | | |
213 | 216 | | |
214 | 217 | | |
| |||
Lines changed: 18 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
165 | 165 | | |
166 | 166 | | |
167 | 167 | | |
168 | | - | |
169 | | - | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
170 | 185 | | |
171 | 186 | | |
172 | 187 | | |
173 | 188 | | |
174 | | - | |
| 189 | + | |
175 | 190 | | |
176 | 191 | | |
177 | 192 | | |
| |||
Lines changed: 23 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
19 | 20 | | |
20 | 21 | | |
| 22 | + | |
| 23 | + | |
21 | 24 | | |
22 | 25 | | |
23 | 26 | | |
| |||
40 | 43 | | |
41 | 44 | | |
42 | 45 | | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
43 | 66 | | |
0 commit comments