Skip to content

Commit

Permalink
Break Kobalt in two projects.
Browse files Browse the repository at this point in the history
  • Loading branch information
cbeust committed Dec 17, 2015
1 parent 733c4b5 commit 3914e92
Show file tree
Hide file tree
Showing 114 changed files with 111 additions and 95 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,5 @@ classes
libs
.kobalt/
build/
out
.DS_Store
116 changes: 73 additions & 43 deletions kobalt/src/Build.kt
Original file line number Diff line number Diff line change
@@ -1,14 +1,19 @@

import com.beust.kobalt.*
import com.beust.kobalt.api.*
import com.beust.kobalt.TaskResult
import com.beust.kobalt.api.License
import com.beust.kobalt.api.Project
import com.beust.kobalt.api.Scm
import com.beust.kobalt.api.annotation.Task
import com.beust.kobalt.homeDir
import com.beust.kobalt.plugin.application.application
import com.beust.kobalt.plugin.java.*
import com.beust.kobalt.plugin.kotlin.*
import com.beust.kobalt.plugin.java.javaCompiler
import com.beust.kobalt.plugin.java.javaProject
import com.beust.kobalt.plugin.kotlin.kotlinCompiler
import com.beust.kobalt.plugin.kotlin.kotlinProject
import com.beust.kobalt.plugin.packaging.assemble
import com.beust.kobalt.plugin.publish.github
import com.beust.kobalt.plugin.publish.jcenter
import com.beust.kobalt.plugin.retrolambda.*
import com.beust.kobalt.repos
import com.beust.kobalt.test
import java.io.File
import java.nio.file.Files
Expand All @@ -35,25 +40,18 @@ val wrapper = javaProject {
}
}

// retrolambda {
// }

productFlavor("dev") {
}

buildType("debug") {
}

application {
mainClass = "com.beust.kobalt.wrapper.Main"
}
}

val kobalt = kotlinProject(wrapper) {
name = "kobalt"

val kobaltPluginApi = kotlinProject {
name = "kobalt-plugin-api"
group = "com.beust"
artifactId = name
version = readVersion()
directory = "modules/kobalt-plugin-api"
description = "A build system in Kotlin"
url = "http://beust.com/kobalt"
licenses = arrayListOf(License("Apache 2.0", "http://www.apache.org/licenses/LICENSE-2.0"))
Expand All @@ -66,27 +64,20 @@ val kobalt = kotlinProject(wrapper) {
}

dependencies {
compile("org.jetbrains.kotlin:kotlin-stdlib:1.0.0-beta-3595",
"org.jetbrains.kotlin:kotlin-compiler-embeddable:1.0.0-beta-3595",
"org.jetbrains.dokka:dokka-fatjar:0.9.3",
"org.jetbrains.kotlinx:kotlinx.dom:0.0.4",
compile("org.jetbrains.kotlinx:kotlinx.dom:0.0.4",

"com.android.tools.build:builder:2.0.0-alpha3",

"com.beust:jcommander:1.48",
"com.squareup.okhttp:okhttp:2.5.0",
"org.jsoup:jsoup:1.8.3",
"com.squareup.okio:okio:1.6.0",
"com.google.inject:guice:4.0",
"com.google.inject.extensions:guice-assistedinject:4.0",
"javax.inject:javax.inject:1",
"com.google.guava:guava:19.0-rc2",
"org.apache.maven:maven-model:3.3.3",
"com.github.spullara.mustache.java:compiler:0.9.1",
"io.reactivex:rxjava:1.0.16",
"com.google.code.gson:gson:2.4",
"com.squareup.retrofit:retrofit:1.9.0",
"com.squareup.okio:okio:1.6.0"
)
"com.beust:jcommander:1.48"
)
}


Expand All @@ -97,13 +88,6 @@ val kobalt = kotlinProject(wrapper) {
attributes("Main-Class", "com.beust.kobalt.MainKt")
}
}
zip {
include("kobaltw")
include(from("$buildDirectory/libs"), to("kobalt/wrapper"),
"$projectName-$version.jar")
include(from("modules/wrapper/$buildDirectory/libs"), to("kobalt/wrapper"),
"$projectName-wrapper.jar")
}
}

// install {
Expand All @@ -118,21 +102,67 @@ val kobalt = kotlinProject(wrapper) {
args("-nowarn")
}

// dokka {
// outputFormat = "markdown"
// }
//
// dokka {
// outputFormat = "html"
// }
jcenter {
publish = true
}
}

github {
file("$buildDirectory/libs/$name-$version.zip", "$name/$version/$name-$version.zip")
val kobaltApp = kotlinProject(kobaltPluginApi, wrapper) {
name = "kobalt"
group = "com.beust"
artifactId = name
version = readVersion()

dependencies {
// Used by the plugins
compile("com.android.tools.build:builder:2.0.0-alpha3",
"org.jetbrains.kotlin:kotlin-compiler-embeddable:1.0.0-beta-3595",
"org.jetbrains.dokka:dokka-fatjar:0.9.3")

// Used by the main app
compile("com.github.spullara.mustache.java:compiler:0.9.1",
"com.squareup.okhttp:okhttp:2.5.0",
"javax.inject:javax.inject:1",
"com.google.inject:guice:4.0",
"com.google.inject.extensions:guice-assistedinject:4.0",
"com.beust:jcommander:1.48",
"com.squareup.retrofit:retrofit:1.9.0",
"org.apache.maven:maven-model:3.3.3",
"org.codehaus.plexus:plexus-utils:3.0.22")

}

dependenciesTest {
compile("org.testng:testng:6.9.9")
}

assemble {
mavenJars {
fatJar = true
manifest {
attributes("Main-Class", "com.beust.kobalt.MainKt")
}
}
zip {
include("kobaltw")
include(from("$buildDirectory/libs"), to("kobalt/wrapper"),
"$projectName-$version.jar")
include(from("modules/wrapper/$buildDirectory/libs"), to("kobalt/wrapper"),
"$projectName-wrapper.jar")
}
}

kotlinCompiler {
args("-nowarn")
}

jcenter {
publish = true
}

github {
file("$buildDirectory/libs/$name-$version.zip", "$name/$version/$name-$version.zip")
}
}

fun readVersion() : String {
Expand Down
2 changes: 1 addition & 1 deletion kobalt/wrapper/kobalt-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1 +1 @@
kobalt.version=0.343
kobalt.version=0.338
13 changes: 13 additions & 0 deletions modules/kobalt-plugin-api/kobalt-plugin-api.iml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/kotlin" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="kobalt (Compile)" level="project" />
<orderEntry type="library" name="kobalt-plugin-api (Compile)" level="project" />
<orderEntry type="library" scope="TEST" name="kobalt-plugin-api (Test)" level="project" />
</component>
</module>
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.beust.kobalt

import com.beust.kobalt.api.IClasspathDependency
import com.beust.kobalt.maven.LocalRepo
import com.beust.kobalt.maven.MavenId
import com.beust.kobalt.maven.RepoFinder
import com.beust.kobalt.maven.SimpleDep
Expand All @@ -13,7 +14,7 @@ import java.util.*
/**
* Display information about a Maven id.
*/
class ResolveDependency @Inject constructor(val repoFinder: RepoFinder) {
class ResolveDependency @Inject constructor(val repoFinder: RepoFinder, val localRepo: LocalRepo) {
val increment = 8
val leftFirst = "\u2558"
val leftMiddle = "\u255f"
Expand All @@ -35,7 +36,8 @@ class ResolveDependency @Inject constructor(val repoFinder: RepoFinder) {

val simpleDep = SimpleDep(MavenId.create(id))
val url = repoResult.hostConfig.url + simpleDep.toJarFile(repoResult)
AsciiArt.logBox(listOf(id, url).map { " $it" }, {s -> println(s) })
val localFile = localRepo.toFullPath(simpleDep.toJarFile(repoResult))
AsciiArt.logBox(listOf(id, url, localFile).map { " $it" }, {s -> println(s) })

display(root.children)
println("")
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -32,22 +32,26 @@ public class DepFactory @Inject constructor(val localRepo: LocalRepo,
return FileDependency(id.substring(FileDependency.PREFIX_FILE.length))
} else {
val mavenId = MavenId.create(id)
var version = mavenId.version
var tentativeVersion = mavenId.version
var packaging = mavenId.packaging
var repoResult: RepoFinder.RepoResult?

if (version == null || MavenId.isRangedVersion(version)) {
var localVersion: String? = version
if (localFirst) localVersion = localRepo.findLocalVersion(mavenId.groupId, mavenId.artifactId, mavenId.packaging)
if (!localFirst || localVersion == null) {
repoResult = remoteRepo.findCorrectRepo(id)
if (!repoResult.found) {
throw KobaltException("Couldn't resolve $id")
val version =
if (tentativeVersion != null && ! MavenId.isRangedVersion(tentativeVersion)) tentativeVersion
else {
var localVersion: String? = tentativeVersion
if (localFirst) localVersion = localRepo.findLocalVersion(mavenId.groupId, mavenId.artifactId, mavenId.packaging)
if (localFirst && localVersion != null) {
localVersion
} else {
version = repoResult.version?.version
repoResult = remoteRepo.findCorrectRepo(id)
if (!repoResult.found) {
throw KobaltException("Couldn't resolve $id")
} else {
repoResult.version?.version
}
}
}
}

return MavenDependency(MavenId.create(mavenId.groupId, mavenId.artifactId, packaging, version),
executor, localRepo, remoteRepo, pomFactory, downloadManager)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,10 @@ class KFiles {
// Will only happen when building kobalt itself: the jar file might not be in the dist/ directory
// yet since we're currently building it. Instead, use the classes directly
debug("Couldn't find ${jarFile.absolutePath}, using build/classes/main")
return listOf(File(homeDir("kotlin", "kobalt", "build", "classes", "main")).absolutePath,
File(homeDir("kotlin", "kobalt", "classes", "production", "kobalt-plugin-api")).absolutePath)
val result = listOf("kobalt", "kobalt-plugin-api", "kobalt-wrapper").map {
File(homeDir(KFiles.joinDir("kotlin", "kobalt", "out", "production", it))).absolutePath
}
return result
}
}
}
Expand Down
17 changes: 0 additions & 17 deletions src/main/kotlin/com/beust/kobalt/internal/build/BuildFile.kt

This file was deleted.

20 changes: 0 additions & 20 deletions src/main/kotlin/com/beust/kobalt/internal/build/VersionFile.kt

This file was deleted.

0 comments on commit 3914e92

Please sign in to comment.