commit ced37db3167e5a43b6ef7d2b84d92275ea17644f from: Chaz Kettleson date: Tue Apr 22 13:31:29 2025 UTC build: add libs; use task outputs commit - 337800def761af49af3dc01f54519e3ff1bd7272 commit + ced37db3167e5a43b6ef7d2b84d92275ea17644f blob - e384bf04f35cf4d417c9f8ca6706c261c262aeec blob + 3982557fa58957c4f03a2de604181900626d2405 --- gradle/distribution.gradle +++ gradle/distribution.gradle @@ -116,8 +116,8 @@ def provisionKaraf = { from project(":${project.name}-branding-console").jar } into ('deploy') { - // Generate KAR for custom karaf distribution - from generateKar + // Generate features to deploy at system start + from generateFeatures } into ('system') { // Generate repo for custom karaf distribution suitable for offline deployment blob - 95b64ec7c94b32f54ec53925c35be7d6181f07d1 blob + d1f90ab65887edd20f8b150d9c5a2f9e81476c81 --- gradle/karaf.gradle +++ gradle/karaf.gradle @@ -22,6 +22,11 @@ buildscript { } } +static String depToMavenPath(Provider depProvider, String classifier) { + def dep = depProvider.get() + return "mvn:${dep.module.group}/${dep.module.name}/${dep.version}/${classifier}" +} + apply plugin: com.github.lburgazzoli.gradle.plugin.karaf.KarafPlugin configurations { @@ -42,11 +47,11 @@ dependencies { karaf { features { xsdVersion = '1.6.0' - repository "mvn:${libs.apache.karaf.feature.keycloak.get().toString().replace(':', '/')}/xml/features" - repository "mvn:${libs.apache.karaf.feature.hawtio.get().toString().replace(':', '/')}/xml/features" - repository "mvn:${libs.apache.karaf.feature.aries.get().toString().replace(':', '/')}/xml" - repository "mvn:${libs.apache.karaf.feature.camel.get().toString().replace(':', "/")}/xml/features" - repository "mvn:${libs.apache.karaf.feature.cxf.get().toString().replace(':', "/")}/xml/features" + repository depToMavenPath(libs.apache.karaf.feature.keycloak, "xml/features") + repository depToMavenPath(libs.apache.karaf.feature.hawtio, "xml/features") + repository depToMavenPath(libs.apache.karaf.feature.aries, "xml") + repository depToMavenPath(libs.apache.karaf.feature.camel, "xml/features") + repository depToMavenPath(libs.apache.karaf.feature.cxf, "xml/features") feature { name = project.name description = project.description @@ -74,10 +79,8 @@ karaf { } tasks.register('generateOfflineRepo') { - dependsOn generateKar - def descriptor = layout.buildDirectory.file("karaf/features/${project.name}-${project.version}-features.xml") - def repository = layout.buildDirectory.dir('karaf/repo-offline') - def url = layout.buildDirectory.dir('karaf/repo') + dependsOn generateRepo + outputs.dir(layout.buildDirectory.dir('karaf/repo-offline')) doLast { mavenexec { goals 'clean', 'install' @@ -86,13 +89,12 @@ tasks.register('generateOfflineRepo') { 'artifactId' : project.name, 'version' : project.version, 'karafVersion' : libs.versions.apache.karaf.get(), - 'url' : url.get().toString(), - 'descriptor' : descriptor.get().toString(), + 'url' : tasks.generateRepo.outputs.files.singleFile.path, + 'descriptor' : tasks.generateFeatures.outputs.files.singleFile.path, 'feature' : project.name, - 'repository' : repository.get().toString() + 'repository' : outputs.files.singleFile.path ]) quiet true } } - outputs.dir(repository) } blob - d32ba6518d6addedf8e50399ab3aa45c64293dc2 blob + 7c13544c0a2a0783ed45af1244647d0acec851f5 --- gradle/libs.versions.toml +++ gradle/libs.versions.toml @@ -108,6 +108,8 @@ apache-karaf-feature-hawtio = { module = 'io.hawt:hawt apache-karaf-jaas-config = { module = 'org.apache.karaf.jaas:org.apache.karaf.jaas.config', version.ref = 'apache-karaf' } apache-karaf-shell-core = { module = 'org.apache.karaf.shell:org.apache.karaf.shell.core', version.ref = 'apache-karaf' } apache-karaf-webconsole-console = { module = 'org.apache.karaf.webconsole:org.apache.karaf.webconsole.console', version.ref = 'apache-karaf' } +camel-core = { module = 'org.apache.camel:camel-core', version.ref = 'camel' } +camel-core-osgi = { module = 'org.apache.camel.karaf:camel-core-osgi', version.ref = 'camel' } commons-io = { module = 'commons-io:commons-io', version.ref = 'commons-io' } cxf-karaf-commands = { module = 'org.apache.cxf.karaf:cxf-karaf-commands', version.ref = 'cxf' } cxf-rt-rs-service-description-openapi-v3 = { module = 'org.apache.cxf:cxf-rt-rs-service-description-openapi-v3', version.ref = 'cxf' }