For approach 2, it's explain in the documentation :
http://karaf.apache.org/manual/latest/#_maven_assembly
under the Minimal Dirstribution Example :
<build>
<!-- if you want to include resources in the distribution -->
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>**/*</include>
</includes>
</resource>
<resource>
<directory>src/main/filtered-resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*</include>
</includes>
</resource>
</resources>
...
I hope it help ;)
François
Le 02/02/2018 à 14:57, Francois Papon a écrit :
>
> Hi Nino,
>
> For me, this work in assembly project structure :
>
> putting configuration files in etc assembly source folder :
>
> *assembly/src/main/resources/etc*
>
> all files under this directory will be include by the karaf-maven-plugin.
>
> François
>
> Le 02/02/2018 à 14:11, nino martinez wael a écrit :
>> Hi Jean
>>
>> I cannot share the project.. But I can give you some fragments:
>>
>> Project structure (assembly)
>> https://imgur.com/a/c8RUG
>>
>> C:.
>> └───main
>> ├───distribution
>> │ └───text
>> │ └───etc
>> │ | -----> dk.netdesign.dialer.cfg this is the
>> config file I want in etc folder
>> └───java
>> └───dk
>> └───netdesign
>> └───osgidialer
>> └───dialer
>> └───karaf
>> └───assembly
>>
>>
>> Pom file
>>
>> <plugin>
>> <groupId>org.apache.karaf.tooling</groupId>
>> <artifactId>karaf-maven-plugin</artifactId>
>> <extensions>true</extensions>
>> <version>4.2.0.M2</version>
>> <configuration>
>> <installedFeatures>
>> <feature>wrapper</feature>
>> <feature>cxf</feature>
>> <feature>osgi-dialer</feature>
>> </installedFeatures>
>> <bootFeatures>
>> <feature>webconsole</feature>
>> <feature>eventadmin</feature>
>> <feature>wrap</feature>
>> <feature>aries-blueprint</feature>
>> <feature>shell</feature>
>> <feature>shell-compat</feature>
>> <feature>feature</feature>
>> <feature>jaas</feature>
>> <feature>ssh</feature>
>> <feature>management</feature>
>> <feature>bundle</feature>
>> <feature>config</feature>
>> <feature>deployer</feature>
>> <feature>diagnostic</feature>
>> <feature>feature</feature>
>> <feature>instance</feature>
>> <feature>kar</feature>
>> <feature>log</feature>
>> <feature>package</feature>
>> <feature>service</feature>
>> <feature>system</feature>
>> </bootFeatures>
>> <javase>1.8</javase>
>> </configuration>
>> </plugin>
>>
>>
>> What am I missing, resource plugin or something that actually grabs
>> the .cfg file?
>>
>> regards Nino
>>
>>
>>
>>
>>
>> On Fri, Feb 2, 2018 at 10:48 AM, Jean-Baptiste Onofré
>> <[email protected] <mailto:[email protected]>> wrote:
>>
>> For a custom distro, you have two approaches:
>>
>> - using the resource approach, where you have cfg file in a
>> project resource
>> folder. For this you have to use the resources or assembly
>> plugins for instance
>> (as execution step).
>> - using <config/> in features.xml used for the assembly, using
>> the karaf plugin
>>
>> If you can share your project, I can fix stuff for you.
>>
>> Regards
>> JB
>>
>> On 02/02/2018 10:39 AM, nino martinez wael wrote:
>> > Yeah so I must be doing something wrong, I know that.. And of
>> course the maven
>> > properties are parsed so project.version are replaced with the
>> correct stuff..
>> >
>> > What about Approach 2 ? Are there any special steps needed?
>> When putting the
>> > config files into the etc folder for a custom distribtion?
>> >
>> >
>> >
>> > On Fri, Feb 2, 2018 at 10:20 AM, Jean-Baptiste Onofré
>> <[email protected] <mailto:[email protected]>
>> > <mailto:[email protected] <mailto:[email protected]>>> wrote:
>> >
>> > Hi,
>> >
>> > I confirm it works as it's what we are using in Decanter or
>> Cellar, or even
>> > Karaf itself.
>> >
>> > 1. configfile:
>> >
>> >
>>
>> https://github.com/jbonofre/karaf-decanter/blob/master/assembly/src/main/feature/feature.xml#L48
>>
>> <https://github.com/jbonofre/karaf-decanter/blob/master/assembly/src/main/feature/feature.xml#L48>
>> >
>>
>> <https://github.com/jbonofre/karaf-decanter/blob/master/assembly/src/main/feature/feature.xml#L48
>>
>> <https://github.com/jbonofre/karaf-decanter/blob/master/assembly/src/main/feature/feature.xml#L48>>
>> >
>> > Here the files will end into the etc folder when you
>> feature is installed.
>> >
>> > Of course, the concrete feature has to be resolved that way
>> >
>>
>> (http://repo.maven.apache.org/maven2/org/apache/karaf/decanter/apache-karaf-decanter/1.4.0/apache-karaf-decanter-1.4.0-features.xml
>>
>> <http://repo.maven.apache.org/maven2/org/apache/karaf/decanter/apache-karaf-decanter/1.4.0/apache-karaf-decanter-1.4.0-features.xml>
>> >
>>
>> <http://repo.maven.apache.org/maven2/org/apache/karaf/decanter/apache-karaf-decanter/1.4.0/apache-karaf-decanter-1.4.0-features.xml
>>
>> <http://repo.maven.apache.org/maven2/org/apache/karaf/decanter/apache-karaf-decanter/1.4.0/apache-karaf-decanter-1.4.0-features.xml>>):
>> >
>> > <configfile
>> finalname="/etc/org.apache.karaf.decanter.collector.log.cfg">
>> >
>>
>> mvn:org.apache.karaf.decanter.collector/org.apache.karaf.decanter.collector.log/1.4.0/cfg
>> > </configfile>
>> >
>> > So I hope you don't have ${project.version} in the URL and
>> the Karaf system
>> > folder or .m2/repository or remote repo contains:
>> >
>> >
>>
>> dk/netdesign/osgi-dialer/osgi-dialer-backend/xx/osgi-dialer-backend-xx-configuration.cfg
>> >
>> >
>> > 2. confg works also, but it depnds of the Karaf version you
>> are using. In the
>> > past, we didn't created the cfg file corresponding to
>> <config/>. "Recently", we
>> > changed to write the file.
>> >
>> > Regards
>> > JB
>> >
>> > On 02/02/2018 10:15 AM, nino martinez wael wrote:
>> > > Hi fellow karaflings
>> > >
>> > > I want to either prepackage or install my configuration
>> files into the etc
>> > > folder of karaf when my feature installs.
>> > >
>> > > I've tried a couple of different approaches, which all
>> fails :( They fail in the
>> > > way that the configuration gets bound to the bundles mvn
>> coordinates and are not
>> > > placed into the etc folder
>> > >
>> > > *Approach 1 Feature file*
>> > >
>> > > The following to techniques are supposed to place my
>> configuration files into
>> > > the etc folder
>> > >
>> > > Using the configfile element,
>> > >
>> > > <feature>
>> > >
>> > > ...
>> > >
>> > > <configfile
>>
>> finalname="/etc/dk.netdesign.dialer.cfg">mvn:dk.netdesign.osgi-dialer/osgi-dialer-backend/${project.version}/cfg/configuration</configfile>
>> > >
>> > > ...
>> > >
>> > > </feature>
>> > >
>> > >
>> > >
>> > >
>> > > Using the config element
>> > >
>> > > <feature>
>> > >
>> > > ...
>> > >
>> > > <config name="dk.netdesign.dialer">
>> > >
>> > > myobscurepropperty=ILoveKaraf:)
>> > >
>> > > </config>
>> > >
>> > > ...
>> > >
>> > > </feature>
>> > >
>> > >
>> > > *Approach 2 Karaf distribution with the karaf assembly
>> plugin for maven /
>> > prefered*
>> > >
>> > > This approach will have the benefit of me being able to
>> put in
>> > configurations for some of the features / bundles that I do
>> not control
>> > >
>> > > C:.
>> > > └───main
>> > > ├───distribution
>> > > │ └───text
>> > > │ └───etc
>> > > └───java
>> > > └───dk
>> > > └───netdesign
>> > > └───osgidialer
>> > > └───dialer
>> > > └───karaf
>> > > └───assembly
>> > >
>> > > In the etc folder I've placed my configuration file...
>> But they never show
>> > up in
>> > > my karaf distribution.. I've done nothing special in the
>> assembly plugin, I
>> > > wonder what I am doing wrong?
>> > >
>> > > --
>> > > Best regards / Med venlig hilsen
>> > > Nino Martinez
>> >
>> > --
>> > Jean-Baptiste Onofré
>> > [email protected] <mailto:[email protected]>
>> <mailto:[email protected] <mailto:[email protected]>>
>> > http://blog.nanthrax.net
>> > Talend - http://www.talend.com
>> >
>> >
>> >
>> >
>> > --
>> > Best regards / Med venlig hilsen
>> > Nino Martinez
>>
>> --
>> Jean-Baptiste Onofré
>> [email protected] <mailto:[email protected]>
>> http://blog.nanthrax.net
>> Talend - http://www.talend.com
>>
>>
>>
>>
>> --
>> Best regards / Med venlig hilsen
>> Nino Martinez
>