1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt.git synced 2025-04-26 08:27:12 -07:00

Merge branch 'master' of github.com:cbeust/kobalt

Conflicts:
	kobalt/wrapper/kobalt-wrapper.properties
	src/main/resources/kobalt.properties
This commit is contained in:
Cedric Beust 2015-12-31 10:21:06 -08:00
commit 31d22e3c1c
10 changed files with 31 additions and 27 deletions

View file

@ -58,4 +58,4 @@ fun authRepos(vararg repos : HostConfig) {
fun authRepo(init: HostConfig.() -> Unit) = HostConfig().apply { init() }
@Directive
fun glob(g: String) : IFileSpec.Glob = IFileSpec.Glob(g)
fun glob(g: String) : IFileSpec.GlobSpec = IFileSpec.GlobSpec(g)

View file

@ -9,16 +9,16 @@ sealed class IFileSpec {
abstract fun toFiles(directory: String): List<File>
class FileSpec(val spec: String) : IFileSpec() {
override public fun toFiles(directory: String) = arrayListOf(File(spec))
override public fun toFiles(directory: String) = listOf(File(spec))
override public fun toString() = spec
}
class Glob(val spec: String) : IFileSpec() {
class GlobSpec(val spec: String) : IFileSpec() {
override public fun toFiles(directory: String): List<File> {
val result = arrayListOf<File>()
val matcher = FileSystems.getDefault().getPathMatcher("glob:${spec}")
val matcher = FileSystems.getDefault().getPathMatcher("glob:$spec")
Files.walkFileTree(Paths.get(directory), object : SimpleFileVisitor<Path>() {
override public fun visitFile(path: Path, attrs: BasicFileAttributes): FileVisitResult {
val rel = Paths.get(directory).relativize(path)

View file

@ -29,9 +29,9 @@ public class JarUtils {
}
private val DEFAULT_JAR_EXCLUDES = arrayListOf(
IFileSpec.Glob("META-INF/*.SF"),
IFileSpec.Glob("META-INF/*.DSA"),
IFileSpec.Glob("META-INF/*.RSA"))
IFileSpec.GlobSpec("META-INF/*.SF"),
IFileSpec.GlobSpec("META-INF/*.DSA"),
IFileSpec.GlobSpec("META-INF/*.RSA"))
public fun addSingleFile(directory: String, file: IncludedFile, outputStream: ZipOutputStream,
expandJarFiles: Boolean, onError: (Exception) -> Unit = DEFAULT_HANDLER) {
@ -57,7 +57,7 @@ public class JarUtils {
outputStream.closeEntry()
}
}
val includedFile = IncludedFile(From(source.path), To(""), listOf(IFileSpec.Glob("**")))
val includedFile = IncludedFile(From(source.path), To(""), listOf(IFileSpec.GlobSpec("**")))
addSingleFile(".", includedFile, outputStream, expandJarFiles)
} else {
if (expandJarFiles and source.name.endsWith(".jar")) {

View file

@ -277,9 +277,9 @@ class KFiles {
fun makeOutputTestDir(project: Project) : File = makeDir(project, KFiles.TEST_CLASSES_DIR)
fun isExcluded(file: File, excludes: List<IFileSpec.Glob>) = isExcluded(file.path, excludes)
fun isExcluded(file: File, excludes: List<IFileSpec.GlobSpec>) = isExcluded(file.path, excludes)
fun isExcluded(file: String, excludes: List<IFileSpec.Glob>) : Boolean {
fun isExcluded(file: String, excludes: List<IFileSpec.GlobSpec>) : Boolean {
if (excludes.isEmpty()) {
return false
} else {

View file

@ -54,7 +54,8 @@ class GetDependenciesCommand @Inject constructor(val executors: KobaltExecutors,
val pluginDependencies = pluginUrls.map { File(it.toURI()) }.map { FileDependency(it.absolutePath) }
projects.forEach { project ->
val compileDependencies = pluginDependencies.map { toDependencyData(it, "compile")} +
allDeps(project.compileDependencies).map { toDependencyData(it, "compile") }
allDeps(project.compileDependencies).map { toDependencyData(it, "compile") } +
allDeps(project.compileProvidedDependencies).map { toDependencyData(it, "compile") }
val testDependencies = allDeps(project.testDependencies).map { toDependencyData(it, "testCompile") }
@Suppress("UNCHECKED_CAST")

View file

@ -2,7 +2,7 @@ package com.beust.kobalt.plugin.packaging
import com.beust.kobalt.*
import com.beust.kobalt.IFileSpec.FileSpec
import com.beust.kobalt.IFileSpec.Glob
import com.beust.kobalt.IFileSpec.GlobSpec
import com.beust.kobalt.api.*
import com.beust.kobalt.api.annotation.Directive
import com.beust.kobalt.api.annotation.ExportedProjectProperty
@ -43,7 +43,7 @@ class PackagingPlugin @Inject constructor(val dependencyManager : DependencyMana
const val TASK_INSTALL: String = "install"
fun findIncludedFiles(directory: String, files: List<IncludedFile>, excludes: List<IFileSpec.Glob>)
fun findIncludedFiles(directory: String, files: List<IncludedFile>, excludes: List<IFileSpec.GlobSpec>)
: List<IncludedFile> {
val result = arrayListOf<IncludedFile>()
files.forEach { includedFile ->
@ -313,7 +313,7 @@ class PackageConfig(val project: Project) : AttributeHolder {
open class Zip(open var name: String? = null) {
// internal val includes = arrayListOf<IFileSpec>()
internal val excludes = arrayListOf<Glob>()
internal val excludes = arrayListOf<GlobSpec>()
@Directive
public fun from(s: String) = From(s)
@ -323,11 +323,11 @@ open class Zip(open var name: String? = null) {
@Directive
public fun exclude(vararg files: String) {
files.forEach { excludes.add(Glob(it)) }
files.forEach { excludes.add(GlobSpec(it)) }
}
@Directive
public fun exclude(vararg specs: Glob) {
public fun exclude(vararg specs: GlobSpec) {
specs.forEach { excludes.add(it) }
}
@ -342,7 +342,7 @@ open class Zip(open var name: String? = null) {
}
@Directive
public fun include(from: From, to: To, vararg specs: Glob) {
public fun include(from: From, to: To, vararg specs: GlobSpec) {
includedFiles.add(IncludedFile(from, to, listOf(*specs)))
}

View file

@ -24,8 +24,8 @@ class WarGenerator @Inject constructor(val dependencyManager: DependencyManager)
// src/main/web app and classes
//
val result = arrayListOf(
IncludedFile(From("src/main/webapp"), To(""), listOf(IFileSpec.Glob("**"))),
IncludedFile(From("kobaltBuild/classes"), To("WEB-INF/classes"), listOf(IFileSpec.Glob("**")))
IncludedFile(From("src/main/webapp"), To(""), listOf(IFileSpec.GlobSpec("**"))),
IncludedFile(From("kobaltBuild/classes"), To("WEB-INF/classes"), listOf(IFileSpec.GlobSpec("**")))
)
//
@ -55,7 +55,7 @@ class WarGenerator @Inject constructor(val dependencyManager: DependencyManager)
KFiles.copy(Paths.get(it.absolutePath), Paths.get(fullDir, it.name))
}
result.add(IncludedFile(From(fullDir), To(WEB_INF), listOf(IFileSpec.Glob("**"))))
result.add(IncludedFile(From(fullDir), To(WEB_INF), listOf(IFileSpec.GlobSpec("**"))))
return result
}

View file

@ -53,16 +53,17 @@ open public class UnauthenticatedJCenterApi @Inject constructor(open val http: H
}
public class JCenterApi @Inject constructor (@Nullable @Assisted("username") val username: String?,
@Nullable @Assisted("password") val password: String?,
@Nullable @Assisted("password") val password: String?, @Nullable @Assisted("org") val org: String?,
override val http: Http, val gpg: Gpg, val executors: KobaltExecutors) : UnauthenticatedJCenterApi(http) {
interface IFactory {
fun create(@Nullable @Assisted("username") username: String?,
@Nullable @Assisted("password") password: String?) : JCenterApi
@Nullable @Assisted("password") password: String?,
@Nullable @Assisted("org") org: String?) : JCenterApi
}
fun packageExists(packageName: String) : Boolean {
val url = arrayListOf(UnauthenticatedJCenterApi.BINTRAY_URL_API, "packages", username!!, "maven", packageName)
val url = arrayListOf(UnauthenticatedJCenterApi.BINTRAY_URL_API, "packages", org ?: username!!, "maven", packageName)
.joinToString("/")
val jcResponse = parseResponse(http.get(username, password, url))
@ -90,7 +91,7 @@ public class JCenterApi @Inject constructor (@Nullable @Assisted("username") val
val fileToPath: (File) -> String = { f: File ->
arrayListOf(
UnauthenticatedJCenterApi.BINTRAY_URL_API_CONTENT,
username!!,
org ?: username!!,
"maven",
project.name,
project.version!!,
@ -107,7 +108,7 @@ public class JCenterApi @Inject constructor (@Nullable @Assisted("username") val
fun uploadFile(file: File, url: String, config: JCenterConfig, generateMd5: Boolean = false,
generateAsc: Boolean = false) =
upload(arrayListOf(file), config, {
f: File -> "${UnauthenticatedJCenterApi.BINTRAY_URL_API_CONTENT}/$username/generic/$url"},
f: File -> "${UnauthenticatedJCenterApi.BINTRAY_URL_API_CONTENT}/${org ?: username}/generic/$url"},
generateMd5, generateAsc)
private fun upload(files: List<File>, config: JCenterConfig?, fileToPath: (File) -> String,

View file

@ -29,6 +29,7 @@ public class PublishPlugin @Inject constructor(val files: KFiles, val factory: P
private const val PROPERTY_BINTRAY_USER = "bintray.user"
private const val PROPERTY_BINTRAY_PASSWORD = "bintray.apikey"
private const val PROPERTY_BINTRAY_ORG = "bintray.organization"
}
@Suppress("UNUSED_FUNCTION_LITERAL")
@ -90,8 +91,9 @@ public class PublishPlugin @Inject constructor(val files: KFiles, val factory: P
val docUrl = DocUrl.PUBLISH_PLUGIN_URL
val user = localProperties.get(PROPERTY_BINTRAY_USER, docUrl)
val password = localProperties.get(PROPERTY_BINTRAY_PASSWORD, docUrl)
val org = localProperties.get(PROPERTY_BINTRAY_ORG, docUrl)
val jcenter = jcenterFactory.create(user, password)
val jcenter = jcenterFactory.create(user, password, org)
var success = false
val configuration = jcenterConfigurations[project.name]
val messages = arrayListOf<String>()

View file

@ -9,7 +9,7 @@ import java.io.File
class IncludedFileTest {
fun simple() {
val from = "src/main/kotlin/"
val inf = IncludedFile(From(from), To(""), listOf(IFileSpec.Glob("**.kt")))
val inf = IncludedFile(From(from), To(""), listOf(IFileSpec.GlobSpec("**.kt")))
inf.allFromFiles().map { File(from, it.path) }.forEach {
Assert.assertTrue(it.exists(), "Should exist: $it")
}