summary | Standardized application folder setup; includes conf, cache, inputs, logs, outputs |
jar | kiit.common.jar |
package | kiit.common.info |
artifact | dev.kiit:kiit-common |
sources | src/lib/kotlin/slatekit-common/src/main/kotlin/slatekit/common/info |
example | src/lib/kotlin/slate-examples/src/main/kotlin/slatekit/examples/Example_Folders.kt |
dependency | kiit-results |
Use the following settings in gradle for installing this component.
buildscript {
// Kotlin version currently being used
ext.kotlin_version = '1.8.22'
// Reference version
ext.kiit_version = '3.1.0'
// ...
}
repositories {
// Currently stored in Git Hub Packages.
maven {
url "https://maven.pkg.github.com/slatekit/kiit"
credentials {
username = System.getenv('GIT_PACKAGES_INSTALL_ACTOR')
password = System.getenv('GIT_PACKAGES_INSTALL_TOKEN')
}
}
// ...
}
dependencies {
// Other dependencies ...
implementation "dev.kiit:kiit-common:$kiit_version"
}
// required
import kiit.common.info.Folders
// optional
import kiit.results.Try
import kiit.results.Success
n/a
// CASE 1: Build a folder structure for an application
// Explicitly indicate user-directory with the following folder structure
// NOTE: Slate Kit based applications are setup this way.
//
// /c/users/{user}/
// - company-1
// - department-1
// - app-1
// - conf
// - cache
// - inputs
// - logs
// - outputs
// - temp
val folders = Folders(
home = System.getProperty("user.dir"),
root = "company-1",
area = "department-1",
app = "app-1",
cache = "cache",
inputs = "input",
logs = "logs",
outputs = "output",
temp = "temp",
conf = "conf"
)
// CASE 2: Build a folder structure for an application
// Same as Case 1 above but using a short-hand approach
val folders2 = Folders.userDir(
root = "company-1",
area = "department-1",
app = "app-1"
)
// CASE 3: Create the folders if they do not exist
folders.create()
// CASE 4: Get the individual paths to the folders
println("app :" + folders.pathToApp)
println("cache :" + folders.pathToCache)
println("conf :" + folders.pathToConf)
println("input :" + folders.pathToInputs)
println("logs :" + folders.pathToLogs)
println("output :" + folders.pathToOutputs)
println("output :" + folders.pathToTemp)