mirror of
https://github.com/ethauvin/kobalt.git
synced 2025-04-26 16:28:12 -07:00
Was recompiling the build file every time.
This commit is contained in:
parent
87d1f81d14
commit
9a5fcd1e38
3 changed files with 6 additions and 5 deletions
|
@ -6,12 +6,13 @@ import java.nio.file.Path
|
||||||
import java.nio.file.attribute.BasicFileAttributes
|
import java.nio.file.attribute.BasicFileAttributes
|
||||||
/**
|
/**
|
||||||
* Sometimes, build files are moved to temporary files, so we give them a specific name for clarity.
|
* Sometimes, build files are moved to temporary files, so we give them a specific name for clarity.
|
||||||
|
* @param path is the path where that file was moved, @param realPath is where the actual file is.
|
||||||
*/
|
*/
|
||||||
class BuildFile(val path: Path, val name: String) {
|
class BuildFile(val path: Path, val name: String, val realPath: Path = path) {
|
||||||
public fun exists() : Boolean = Files.exists(path)
|
public fun exists() : Boolean = Files.exists(path)
|
||||||
|
|
||||||
public val lastModified : Long
|
public val lastModified : Long
|
||||||
get() = Files.readAttributes(path, BasicFileAttributes::class.java).lastModifiedTime().toMillis()
|
get() = Files.readAttributes(realPath, BasicFileAttributes::class.java).lastModifiedTime().toMillis()
|
||||||
|
|
||||||
public val directory : File get() = path.toFile().directory
|
public val directory : File get() = path.toFile().directory
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,6 @@ import com.beust.kobalt.api.PluginProperties
|
||||||
import com.beust.kobalt.api.Project
|
import com.beust.kobalt.api.Project
|
||||||
import com.beust.kobalt.internal.PluginInfo
|
import com.beust.kobalt.internal.PluginInfo
|
||||||
import com.beust.kobalt.internal.build.BuildFile
|
import com.beust.kobalt.internal.build.BuildFile
|
||||||
import com.beust.kobalt.app.ParsedBuildFile
|
|
||||||
import com.beust.kobalt.internal.build.VersionFile
|
import com.beust.kobalt.internal.build.VersionFile
|
||||||
import com.beust.kobalt.maven.DependencyManager
|
import com.beust.kobalt.maven.DependencyManager
|
||||||
import com.beust.kobalt.misc.KFiles
|
import com.beust.kobalt.misc.KFiles
|
||||||
|
@ -83,7 +82,7 @@ public class BuildFileCompiler @Inject constructor(@Assisted("buildFiles") val b
|
||||||
val modifiedBuildFile = KFiles.createTempFile(".kt")
|
val modifiedBuildFile = KFiles.createTempFile(".kt")
|
||||||
KFiles.saveFile(modifiedBuildFile, parsedBuildFile.buildScriptCode)
|
KFiles.saveFile(modifiedBuildFile, parsedBuildFile.buildScriptCode)
|
||||||
maybeCompileBuildFile(context, BuildFile(Paths.get(modifiedBuildFile.path),
|
maybeCompileBuildFile(context, BuildFile(Paths.get(modifiedBuildFile.path),
|
||||||
"Modified ${Constants.BUILD_FILE_NAME}"),
|
"Modified ${Constants.BUILD_FILE_NAME}", buildFile.realPath),
|
||||||
buildScriptJarFile, pluginUrls)
|
buildScriptJarFile, pluginUrls)
|
||||||
val projects = buildScriptUtil.runBuildScriptJarFile(buildScriptJarFile, pluginUrls, context)
|
val projects = buildScriptUtil.runBuildScriptJarFile(buildScriptJarFile, pluginUrls, context)
|
||||||
result.addAll(projects)
|
result.addAll(projects)
|
||||||
|
|
|
@ -108,7 +108,8 @@ class ParsedBuildFile(val buildFile: BuildFile, val context: KobaltContext, val
|
||||||
val buildScriptJarFile = File(buildScriptJar)
|
val buildScriptJarFile = File(buildScriptJar)
|
||||||
if (! buildScriptUtil.isUpToDate(buildFile, File(buildScriptJar))) {
|
if (! buildScriptUtil.isUpToDate(buildFile, File(buildScriptJar))) {
|
||||||
buildScriptJarFile.parentFile.mkdirs()
|
buildScriptJarFile.parentFile.mkdirs()
|
||||||
generateJarFile(context, BuildFile(Paths.get(pluginSourceFile.path), "Plugins"), buildScriptJarFile)
|
generateJarFile(context, BuildFile(Paths.get(pluginSourceFile.path), "Plugins",
|
||||||
|
Paths.get(buildScriptJar)), buildScriptJarFile)
|
||||||
VersionFile.generateVersionFile(buildScriptJarFile.parentFile)
|
VersionFile.generateVersionFile(buildScriptJarFile.parentFile)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue