mirror of
https://github.com/ethauvin/kobalt.git
synced 2025-04-26 00:17:11 -07:00
BuildConfig not being generated. (#464).
This commit is contained in:
parent
294799ee5d
commit
3d2e5b069d
5 changed files with 55 additions and 48 deletions
|
@ -126,61 +126,62 @@ class Variant(val initialProductFlavor: ProductFlavorConfig? = null,
|
||||||
|
|
||||||
var generatedSourceDirectory: File? = null
|
var generatedSourceDirectory: File? = null
|
||||||
|
|
||||||
// private fun findBuildTypeBuildConfig(project: Project, variant: Variant?) : BuildConfig? {
|
private fun findBuildTypeBuildConfig(project: Project, variant: Variant?) : BuildConfig? {
|
||||||
// val buildTypeName = variant?.buildType?.name
|
val buildTypeName = variant?.buildType?.name
|
||||||
// return project.buildTypes[buildTypeName]?.buildConfig
|
return project.buildTypes[buildTypeName]?.buildConfig
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// private fun findProductFlavorBuildConfig(project: Project, variant: Variant?) : BuildConfig? {
|
private fun findProductFlavorBuildConfig(project: Project, variant: Variant?) : BuildConfig? {
|
||||||
// val buildTypeName = variant?.productFlavor?.name
|
val buildTypeName = variant?.productFlavor?.name
|
||||||
// return project.productFlavors[buildTypeName]?.buildConfig
|
return project.productFlavors[buildTypeName]?.buildConfig
|
||||||
// }
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return a list of the BuildConfigs found on the productFlavor{}, buildType{} and project{} (in that order).
|
* Return a list of the BuildConfigs found on the productFlavor{}, buildType{} and project{} (in that order).
|
||||||
*/
|
*/
|
||||||
// private fun findBuildConfigs(project: Project, variant: Variant?) : List<BuildConfig> {
|
private fun findBuildConfigs(project: Project, variant: Variant?) : List<BuildConfig> {
|
||||||
// val result = listOf(
|
val result = listOf(
|
||||||
// findBuildTypeBuildConfig(project, variant),
|
findBuildTypeBuildConfig(project, variant),
|
||||||
// findProductFlavorBuildConfig(project, variant),
|
findProductFlavorBuildConfig(project, variant),
|
||||||
// project.buildConfig)
|
project.buildConfig)
|
||||||
// .filterNotNull()
|
.filterNotNull()
|
||||||
//
|
|
||||||
// return result
|
return result
|
||||||
// }
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generate BuildConfig.java if requested. Also look up if any BuildConfig is defined on the current build type,
|
* Generate BuildConfig.java if requested. Also look up if any BuildConfig is defined on the current build type,
|
||||||
* product flavor or main project, and use them to generateAndSave any additional field (in that order to
|
* product flavor or main project, and use them to generateAndSave any additional field (in that order to
|
||||||
* respect the priorities). Return the generated file if it was generated, null otherwise.
|
* respect the priorities). Return the generated file if it was generated, null otherwise.
|
||||||
*/
|
*/
|
||||||
// fun maybeGenerateBuildConfig(project: Project, context: KobaltContext) : File? {
|
fun maybeGenerateBuildConfig(project: Project, context: KobaltContext) : File? {
|
||||||
// val buildConfigs = findBuildConfigs(project, this)
|
val buildConfigs = findBuildConfigs(project, this)
|
||||||
//
|
|
||||||
// if (buildConfigs.size > 0) {
|
if (buildConfigs.size > 0) {
|
||||||
// val pkg = project.packageName ?: project.group
|
val pkg = project.packageName ?: project.group
|
||||||
// ?: throw KobaltException(
|
?: throw KobaltException(
|
||||||
// "packageName needs to be defined on the project in order to generateAndSave BuildConfig")
|
"packageName needs to be defined on the project in order to generateAndSave BuildConfig")
|
||||||
//
|
|
||||||
// val contributor = ActorUtils.selectAffinityActor(context.pluginInfo.buildConfigContributors, project)
|
val contributor = ActorUtils.selectAffinityActor(project, context,
|
||||||
// if (contributor != null) {
|
context.pluginInfo.buildConfigContributors)
|
||||||
// val code = contributor.generateBuildConfig(project, context, pkg, this, buildConfigs)
|
if (contributor != null) {
|
||||||
// val result = KFiles.makeDir(KFiles.generatedSourceDir(project, this, "buildConfig"))
|
val code = contributor.generateBuildConfig(project, context, pkg, this, buildConfigs)
|
||||||
// // Make sure the generatedSourceDirectory doesn't contain the project.directory since
|
val result = KFiles.makeDir(KFiles.generatedSourceDir(project, this, "buildConfig"))
|
||||||
// // that directory will be added when trying to find recursively all the sources in it
|
// Make sure the generatedSourceDirectory doesn't contain the project.directory since
|
||||||
// generatedSourceDirectory = result.relativeTo(File(project.directory))
|
// that directory will be added when trying to find recursively all the sources in it
|
||||||
// val outputGeneratedSourceDirectory = File(result, pkg.replace('.', File.separatorChar))
|
generatedSourceDirectory = result.relativeTo(File(project.directory))
|
||||||
// val outputDir = File(outputGeneratedSourceDirectory, "BuildConfig." + contributor.buildConfigSuffix)
|
val outputGeneratedSourceDirectory = File(result, pkg.replace('.', File.separatorChar))
|
||||||
// KFiles.saveFile(outputDir, code)
|
val outputDir = File(outputGeneratedSourceDirectory, "BuildConfig." + contributor.buildConfigSuffix)
|
||||||
// context.logger.log(project.name, 2, "Generated ${outputDir.path}")
|
KFiles.saveFile(outputDir, code)
|
||||||
// return result
|
context.logger.log(project.name, 2, "Generated ${outputDir.path}")
|
||||||
// } else {
|
return result
|
||||||
// throw KobaltException("Couldn't find a contributor to generateAndSave BuildConfig")
|
} else {
|
||||||
// }
|
throw KobaltException("Couldn't find a contributor to generateAndSave BuildConfig")
|
||||||
// } else {
|
}
|
||||||
// return null
|
} else {
|
||||||
// }
|
return null
|
||||||
// }
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override fun toString() = toTask("")
|
override fun toString() = toTask("")
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ import com.beust.kobalt.Variant
|
||||||
/**
|
/**
|
||||||
* Plug-ins that can generate a BuildConfig file.
|
* Plug-ins that can generate a BuildConfig file.
|
||||||
*/
|
*/
|
||||||
interface IBuildConfigContributor : ISimpleAffinity<Project> {
|
interface IBuildConfigContributor : IProjectAffinity {
|
||||||
fun generateBuildConfig(project: Project, context: KobaltContext, packageName: String, variant: Variant,
|
fun generateBuildConfig(project: Project, context: KobaltContext, packageName: String, variant: Variant,
|
||||||
buildConfigs: List<BuildConfig>) : String
|
buildConfigs: List<BuildConfig>) : String
|
||||||
|
|
||||||
|
|
|
@ -157,6 +157,10 @@ open class JvmCompilerPlugin @Inject constructor(
|
||||||
if (compilerContributors.isEmpty()) {
|
if (compilerContributors.isEmpty()) {
|
||||||
throw KobaltException("Couldn't find any compiler for project ${project.name}")
|
throw KobaltException("Couldn't find any compiler for project ${project.name}")
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
// Generate BuildConfig if applicable
|
||||||
|
context.variant.maybeGenerateBuildConfig(project, context)
|
||||||
|
|
||||||
val allCompilers = compilerContributors.flatMap { it.compilersFor(project, context)}.sorted()
|
val allCompilers = compilerContributors.flatMap { it.compilersFor(project, context)}.sorted()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -239,7 +239,9 @@ class KotlinCompiler @Inject constructor(
|
||||||
location: CompilerMessageLocation?) {
|
location: CompilerMessageLocation?) {
|
||||||
if (severity.isError) {
|
if (severity.isError) {
|
||||||
"Couldn't compile file: ${dump(location, message)}".let { fullMessage ->
|
"Couldn't compile file: ${dump(location, message)}".let { fullMessage ->
|
||||||
throw KobaltException(fullMessage)
|
error(fullMessage)
|
||||||
|
val ex = KobaltException(fullMessage)
|
||||||
|
throw ex
|
||||||
}
|
}
|
||||||
} else if (severity == CompilerMessageSeverity.WARNING && KobaltLogger.LOG_LEVEL >= 2) {
|
} else if (severity == CompilerMessageSeverity.WARNING && KobaltLogger.LOG_LEVEL >= 2) {
|
||||||
warn(dump(location, message))
|
warn(dump(location, message))
|
||||||
|
|
|
@ -105,7 +105,7 @@ class PackagingPlugin @Inject constructor(val dependencyManager : DependencyMana
|
||||||
val outputFile = jarGenerator.fullArchiveName(project, context, it.name)
|
val outputFile = jarGenerator.fullArchiveName(project, context, it.name)
|
||||||
outputFiles.add(outputFile)
|
outputFiles.add(outputFile)
|
||||||
allIncludedFiles.addAll(files)
|
allIncludedFiles.addAll(files)
|
||||||
zipToFiles[it.name] = files
|
zipToFiles[outputFile.name] = files
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue