commit - 337800def761af49af3dc01f54519e3ff1bd7272
commit + ced37db3167e5a43b6ef7d2b84d92275ea17644f
blob - e384bf04f35cf4d417c9f8ca6706c261c262aeec
blob + 3982557fa58957c4f03a2de604181900626d2405
--- gradle/distribution.gradle
+++ gradle/distribution.gradle
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
}
}
+static String depToMavenPath(Provider<MinimalExternalModuleDependency> 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 {
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
}
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'
'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
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' }