aboutsummaryrefslogtreecommitdiff
path: root/src/Utilities/Path.kt
blob: 24420ec7f57d075200eaa30390f5a4eb7d6d96a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package org.jetbrains.dokka

import java.io.*

fun File.getRelativePath(name: File): File {
    val parent = getParentFile()

    if (parent == null)
        throw IOException("No common directory");

    val basePath = getCanonicalPath() + File.separator;
    val targetPath = name.getCanonicalPath();

    if (targetPath.startsWith(basePath)) {
        return File(targetPath.substring(basePath.length()))
    } else {
        return File(".." + File.separator + parent.getRelativePath(name))
    }
}

fun File.appendExtension(extension: String) = if (extension.isEmpty()) this else File(getPath() + "." + extension)