It depends of the execution phase.

Regards
JB

On 01/19/2012 02:03 PM, Michael Täschner wrote:
Hi JB,

yes I use "pom" packaging. Only difference may be that I also have
buildhelper-maven-plugin configured with "attach-artifact" of the
feature.xml so it can alternatively be resolved in karaf when adding
feature repository url instead of deploying the kar file.

Regards,
Michael

2012/1/19 Jean-Baptiste Onofré <[email protected] <mailto:[email protected]>>

    Do you use the pom packaging ?

    Regards
    JB


    On 01/19/2012 01:44 PM, Michael Täschner wrote:

        Hi JB,

        I played around with the plugin configuration and set the
        "resourcesDir"
        to a path that does not exist
        (${project.build.directory}/__doesNotExist).
        As a result the feature.xml from within /target/classes is now
        ignored.
        I know it's a hack - I would have rather have the option to omit
        content
        of target/classes or have the filtered feature.xml located somewhere
        else, but it works for the moment.

        Best Regards,
        Michael

        2012/1/19 Jean-Baptiste Onofré <[email protected]
        <mailto:[email protected]> <mailto:[email protected]
        <mailto:[email protected]>>>


            Hi Michael,

            sorry I didn't see your latest message.

            Let me try a test case on my box.

            Regards
            JB


            On 01/19/2012 01:12 PM, Michael Täschner wrote:

                Hi JB,

                have you read my previous response? Using the
        "create-kar" of
                feature-maven-plugin of karaf 2.2.x as you described
        above, adds the
                feature.xml twice to the resulting kar file. As a result
        two feature
                repositories are registered in karaf.

                Right now karaf-maven-plugin 3.0.0-SNAPSHOT seems to be
        broken so I
                tried again with the feature-maven-plugin, but the
        problem persists.

                Do you have an idea how to prevent this duplication ?

                Thanks and Regards,
                Michael

                Am 13. Januar 2012 11:18 schrieb Michael Täschner
        <[email protected] <mailto:[email protected]>
        <mailto:m.taeschner@__googlemail.com
        <mailto:[email protected]>>
        <mailto:m.taeschner@ <mailto:m.taeschner@>__googlema__il.com
        <http://googlemail.com>
        <mailto:m.taeschner@__googlemail.com
        <mailto:[email protected]>>>>:


                    Hi JB,

                    yes I also got the create-kar goal of
        feature-maven-plugin
                of karaf
                    2.2.x working as you describe above. As a result
        though the
                    feature.xml is added twice to the resulting kar
        file, once
                in root
                    folder (because of being available in
        target/classes) and
                secondly
                    within the /repository path because it is defined as
        feature
                    description within the feature.xml. As a result on
                deployment the
                    feature url/repository is added twice to the karaf
        container
                which
                    was my original question.

                    Thanks and Regards,
                    Michael


                    2012/1/12 Jean-Baptiste Onofré <[email protected]
        <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>
        <mailto:[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>>>


                        Hi Michael,

                        Using features-maven-plugin 2.2.5, you have to do
                something like

                        1. The define a filtered-resources folder in the
        resources
                        containing the features.xml file:

        <build>
        <resources>
        <resource>
        <directory>src/main/filtered-______resources</directory>


        <filtered>true</filtered>
        </resource>
        </resources>
                        [...]

                        2. As the packaging is pom
        (<packaging>pom</packaging>),
                we need
                        to execute the dependency plugin "explicitly":

        <plugins>
        <plugin>
        <groupId>org.apache.maven.______plugins</groupId>
        <artifactId>maven-resources-______plugin</artifactId>


        <executions>
        <execution>
        <id>filter</id>
        <phase>generate-resources</______phase>


        <goals>
        <goal>resources</goal>
        </goals>
        </execution>
        </executions>
        </plugin>

                        3. Now you can define the featuresFile in the
        create-kar
                goal on
                        the process-resources phase:

        <plugin>
        <groupId>org.apache.karaf.______tooling</groupId>
        <artifactId>features-maven-______plugin</artifactId>


        <version>2.2.5</version>
        <executions>
        <execution>
        <id>create-kar</id>
        <phase>process-resources</______phase>


        <goals>
        <goal>create-kar</goal>
        </goals>
        <configuration>

        
<featuresFile>${basedir}/______target/classes/features.xml</______featuresFile>


        </configuration>
        </execution>
        </executions>
        </plugin>

                        Regards
                        JB


                        On 01/12/2012 02:12 PM, Michael Täschner wrote:

                            Hi again,

                            I found more details for the
        karaf-maven-plugin in
                the doc
                            and changed
                            the packaging to "kar". The feature.xml is
        now read
                from the
                            src/main/feature folder and contained only
        once in the
                            output kar.
                            Unfortunately now a huge number of bundles
        are included
                            which are
                            inherited from parent projects where I only
        wanted the
                            bundles defined
                            in the input feature.xml. How can I disable the
                dependencies
                            from being
                            included in the feature.xml ? I tried with
        "______includeTransitiveDependencies" = false but that does not


                            help for
                            ignoring inherited dependencies.

                            Thanks and Regards,
                            Michael

                            Am 12. Januar 2012 11:44 schrieb Michael
        Täschner
        <[email protected] <mailto:[email protected]>
        <mailto:m.taeschner@__googlemail.com
        <mailto:[email protected]>>
        <mailto:m.taeschner@ <mailto:m.taeschner@>__googlema__il.com
        <http://googlemail.com>
        <mailto:m.taeschner@__googlemail.com
        <mailto:[email protected]>>>
        <mailto:m.taeschner@ <mailto:m.taeschner@> <mailto:m.taeschner@
        <mailto:m.taeschner@>>__googlem__a__il.com <http://googlema__il.com>
        <http://googlemail.com>


        <mailto:m.taeschner@ <mailto:m.taeschner@>__googlema__il.com
        <http://googlemail.com>
        <mailto:m.taeschner@__googlemail.com
        <mailto:[email protected]>>>>>:


                                Hi David,

                                sorry but I am still confused. I had a
        look at
                the 3.0.0
                                users-guide/kar and it says to put the
                feature.xml into
                                src/main/resources:

        <?xml version="1.0"  encoding="UTF-8"?>
        <project xmlns="http://maven.apache.______org/POM/4.0.0
        <http://maven.apache.org/POM/____4.0.0
        <http://maven.apache.org/POM/__4.0.0>
        <http://maven.apache.org/POM/__4.0.0
        <http://maven.apache.org/POM/4.0.0>>>"


          xmlns:xsi="http://www.w3.org/______2001/XMLSchema-instance
        <http://www.w3.org/____2001/XMLSchema-instance>
        <http://www.w3.org/__2001/__XMLSchema-instance
        <http://www.w3.org/__2001/XMLSchema-instance>>
        <http://www.w3.org/2001/____XMLSchema-instance
        <http://www.w3.org/2001/__XMLSchema-instance>
        <http://www.w3.org/2001/__XMLSchema-instance
        <http://www.w3.org/2001/XMLSchema-instance>>>"


          xsi:schemaLocation="http://__m____aven.apache.org/POM/4.0.0
        <http://m__aven.apache.org/POM/4.0.0>
        <http://maven.apache.org/POM/__4.0.0
        <http://maven.apache.org/POM/4.0.0>>
        <http://maven.apache.org/POM/____4.0.0
        <http://maven.apache.org/POM/__4.0.0>
        <http://maven.apache.org/POM/__4.0.0
        <http://maven.apache.org/POM/4.0.0>>>
        http://maven.apache.org/xsd/______maven-4.0.0.xsd
        <http://maven.apache.org/xsd/____maven-4.0.0.xsd>
        <http://maven.apache.org/xsd/____maven-4.0.0.xsd
        <http://maven.apache.org/xsd/__maven-4.0.0.xsd>>
        <http://maven.apache.org/xsd/____maven-4.0.0.xsd
        <http://maven.apache.org/xsd/__maven-4.0.0.xsd>
        <http://maven.apache.org/xsd/__maven-4.0.0.xsd
        <http://maven.apache.org/xsd/maven-4.0.0.xsd>>>">

        <modelVersion>4.0.0</______modelVersion>

        <groupId>my.groupId</groupId>
        <artifactId>my-kar</______artifactId>


        <version>1.0</version>
        <packaging>pom</packaging>

        <build>
        <plugins>
        <plugin>
        <groupId>org.apache.karaf.______tooling</groupId>
        <artifactId>karaf-maven-______plugin</artifactId>
        <version>3.0.0-SNAPSHOT</______version>


        <executions>
        <execution>
        <id>features-create-kar</id>
        <goals>
        <goal>features-create-kar</______goal>
        </goals>
        <configuration>
        <featuresFile>src/main/______resources/features.xml</______featuresFile>


        </configuration>
        </execution>
        </executions>
        </plugin>
        </plugins>
        </build>

        </project>

                                Can you give me an example with
        src/main/feature
                or how
                            to use the
                                plugin with dependencies as features ?

                                Thanks and Regards,
                                Michael


                                2012/1/12 David Jencks
        <[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>__>
        <mailto:[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>__>__>
        <mailto:[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>__>
        <mailto:[email protected] <mailto:[email protected]>
        <mailto:[email protected]
        <mailto:[email protected]>__>__>__>>




                                    Hi Michael,

                                    I'm still slightly confused because
        3.0.0
                does not
                            have a
                                    feature-maven-plugin, it has a
                karaf-maven-plugin.

                                    Using the 3.0.0 karaf-maven-plugin,
        put your
                source
                            feature.xml
                                    in src/main/feature/feature.xml, NOT

          src/main/resources/feature.______xml.  It will get


                            filtered before the
                                    feature generation from maven
        dependencies
                takes place.

                                    Use the kar packaging as explained
        in the
                3.0.0 manual.

                                    Unless you need different
        start-levels for
                different
                            bundles, or
                                    something like config information in
        the feature
                            descriptor, you
                                    can have the plugin generate the entire
                feature.xml
                            from maven
                                    dependencies.

                                    hope this helps
                                    david jencks


                                    On Jan 12, 2012, at 12:35 AM, Michael
                Täschner wrote:

                                        Hi again,

                                        sorry for any confusion, I hope to
                clarify my
                                goals and
                                        approach. My goal is to generate kar
                archive for my
                                        multimodule project to deploy
        them at
                runtime as
                                        self-contained features. For
        this I set up a
                                module for
                                        generating the kar from a filtered
                feature file
                                to manage the
                                        version information of the project.

                                        I started using "archive-kar"
        goal of
                                feature-maven-plugin of
                                        3.0.0.SNAPSHOT with the feature.xml
                residing in
                                        src/main/resources. As the
        feature.xml
                has to be
                                filtered
                                        first, I refer to the filtered
        file as
                input for
                                the plugin:
        
<featuresFile>${project.build.______outputDirectory}/features.____xml<__/featuresFile>



                                        JB recommended using
        "create-kar" goal of
                                released karaf
                                        feature-maven-plugin (tried with
        2.2.5)
                and the
                                feature.xml in
                                        the same folder.

                                        The result is the same, that the
        final kar
                                archive contains 2
                                        feature.xml files causing karaf to
                register 2
                                feature
                                        repositories, one for the file
        copied in
                from
                                /target/classes
                                        and the other one from
                                /repository/<groupid>/<______artifactId> ...



                                        My question was then if one of
        them could be
                                removed from the
                                        kar file to prevent duplicate
        feature
                repository
                                entries.

                                        Feature file (example):
        <?xml version="1.0" encoding="UTF-8"?>
        <features name="${project.artifactId}-${______project.version}"


                  xmlns="http://karaf.apache.______org/xmlns/features/v1.0.0

        <http://karaf.apache.org/____xmlns/features/v1.0.0
        <http://karaf.apache.org/__xmlns/features/v1.0.0>

        <http://karaf.apache.org/__xmlns/features/v1.0.0
        <http://karaf.apache.org/xmlns/features/v1.0.0>>>">
        <feature name='${project.artifactId}'
                                        version='${project.version}' >
        
<bundle>mvn:${project.groupId}______/common/${project.version}__</____bundle>
        
<bundle>mvn:${project.groupId}______/businessLogic/${project.______version}</bundle>
        
<bundle>mvn:${project.groupId}______/webservice/${project.____version}__</bundle>


        </feature>
        </features>

                                        Thanks and Regards,
                                        Michael


                                        2012/1/11 David Jencks
        <[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>__>
        <mailto:[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>__>__>
        <mailto:[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>__>
        <mailto:[email protected] <mailto:[email protected]>
        <mailto:[email protected]
        <mailto:[email protected]>__>__>__>>




                                            I can't tell what you are doing
                since your
                                information is
                                            inconsistent.

                                            If you use the trunk
        (3.0.0-SNAPSHOT)
                                karaf-maven-plugin
                                            and the kar packaging your
        "source"
                                feature.xml file
                                            should be in
                src/main/feature/feature.xml.
                                  AFAIK this
                                            works fine.

                                            I don't know anything about
        2.2.x.

                                            david jencks

                                            On Jan 11, 2012, at 8:21 AM,
        Michael
                                Täschner wrote:

                                                Hi JB,

                                                I switched to the
        create-kar goal of
                                                maven-features-plugin of
        karaf
                2.2.5,
                                    yet the issues
                                                remain: If the input feature
                file uses
                                    properties I can
                                                only use the already
        filtered
                file in
                                    target/classes (I
                                                uses
        ${project.artifactId}, version,
                                    etc.) else the
                                                bundles cannot be resolved.
                Additionally
                                    the resulting
                                                kar still contains two
        feature
                files:
                                    the one from build
                                                path (target/classes)
        and the
                one within
                                    /repository,
                                                still resulting in two
        feature
                                    repositories being added
                                                in karaf ?

                                                Did I do something wrong ?

                                                Cheers,
                                                Michael

                                                2012/1/11 Jean-Baptiste
        Onofré
        <[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>
        <mailto:[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>>
        <mailto:[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>
        <mailto:[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>>>>



                                                    Hi Michael,

                                                    my comments inline:


                                                        1: I use the
                                    features-maven-plugin of karaf
                                                        3.0.0-SNAPSHOT to
        "archive-kar" my feature from a filtered
                                                        features.xml file in

                  src/main/resources/feature. This
                                    works fine apart
                                                        from the fact
        that the
                                                        resulting kar
        contains two
                                    features.xml, one in
                                                        /features (as copied
                                                        from
                /target/classes/feature)
                                    and one in the
                                                        correct place under



          /repository/<groupId>/<________artifactId>-features.xml. How



                                                        can I tell the
                                                        plugin to ignore the
                                    /target/feature/features.xml
                                                        in the kar while I
                                                        still need it
        for the
                build ?
                                    Right now karaf
                                                        shows two added
        feature
                                                        repositories for
        the same
                                    bundles and I have to
                                                        remove one manually.


                                                    The create-kar goal
        is now
                available
                                    with

          features-maven-plugin 2.2.5.

        
http://karaf.apache.org/________manual/latest-2.2.x/users-________guide/kar.html
        
<http://karaf.apache.org/______manual/latest-2.2.x/users-______guide/kar.html>
        
<http://karaf.apache.org/______manual/latest-2.2.x/users-______guide/kar.html
        
<http://karaf.apache.org/____manual/latest-2.2.x/users-____guide/kar.html>>

        
<http://karaf.apache.org/______manual/latest-2.2.x/users-______guide/kar.html
        
<http://karaf.apache.org/____manual/latest-2.2.x/users-____guide/kar.html>
        
<http://karaf.apache.org/____manual/latest-2.2.x/users-____guide/kar.html
        <http://karaf.apache.org/__manual/latest-2.2.x/users-__guide/kar.html>>>


        
<http://karaf.apache.org/______manual/latest-2.2.x/users-______guide/kar.html
        
<http://karaf.apache.org/____manual/latest-2.2.x/users-____guide/kar.html>
        
<http://karaf.apache.org/____manual/latest-2.2.x/users-____guide/kar.html
        <http://karaf.apache.org/__manual/latest-2.2.x/users-__guide/kar.html>>
        
<http://karaf.apache.org/____manual/latest-2.2.x/users-____guide/kar.html
        <http://karaf.apache.org/__manual/latest-2.2.x/users-__guide/kar.html>
        <http://karaf.apache.org/__manual/latest-2.2.x/users-__guide/kar.html
        <http://karaf.apache.org/manual/latest-2.2.x/users-guide/kar.html>>>>

                                                    I blogged about it:
        
http://blog.nanthrax.net/2011/________12/do-you-know-the-__apache-______karaf-maven-__plugins/
        
<http://blog.nanthrax.net/2011/______12/do-you-know-the-apache-______karaf-maven-plugins/>
        
<http://blog.nanthrax.net/__2011/____12/do-you-know-the-__apache-____karaf-maven-__plugins/
        
<http://blog.nanthrax.net/2011/____12/do-you-know-the-apache-____karaf-maven-plugins/>>
        
<http://blog.nanthrax.net/____2011/__12/do-you-know-the-____apache-__karaf-maven-plugins/
        
<http://blog.nanthrax.net/__2011/__12/do-you-know-the-__apache-__karaf-maven-plugins/>
        
<http://blog.nanthrax.net/__2011/__12/do-you-know-the-__apache-__karaf-maven-plugins/
        
<http://blog.nanthrax.net/2011/__12/do-you-know-the-apache-__karaf-maven-plugins/>>__>

        
<http://blog.nanthrax.net/______2011/12/do-you-know-the-______apache-karaf-maven-plugins/
        
<http://blog.nanthrax.net/____2011/12/do-you-know-the-____apache-karaf-maven-plugins/>
        
<http://blog.nanthrax.net/____2011/12/do-you-know-the-____apache-karaf-maven-plugins/
        
<http://blog.nanthrax.net/__2011/12/do-you-know-the-__apache-karaf-maven-plugins/>>


        
<http://blog.nanthrax.net/____2011/12/do-you-know-the-____apache-karaf-maven-plugins/
        
<http://blog.nanthrax.net/__2011/12/do-you-know-the-__apache-karaf-maven-plugins/>
        
<http://blog.nanthrax.net/__2011/12/do-you-know-the-__apache-karaf-maven-plugins/
        
<http://blog.nanthrax.net/2011/12/do-you-know-the-apache-karaf-maven-plugins/>>>>

                                                    The create-kar goal
        take the
                                    featuresFile, so it
                                                    should include only this
                one, and
                                    you shouldn't use a
                                                    resource for that.



                                                        2. Undeploy of
        kar from the
                                    karaf /deploy folder
                                                        has currently no
                                                        effect, neither
        the feature
                                    repo, nor the
                                                        features/bundles
        themselves
                                                        are undeployed ?
                Additionally I
                                    wonder what would
                                                        happen if I copy a
                                                        newer kar of my
        features
                to the
                                    /deploy folder ?!


                                                    It's an expected
        behavior.
                Removing
                                    a kar file
                                                    doesn't remove the
        features
                                    installed (and the
                                                    bundles/config
        associated).
                                                    On Karaf 2.2.x, the
        kar is
                                    uncompress in the
                                                    local-repo folder,
        adding a
                .timestamp.
                                                    If you copy a new
        KAR, the
                                    KarDeployer will check if
                                                    the kar is newer
        than the
                previous
                                    .timestamp and so
                                                    it will try to
        update the
                                    features/bundles. Else,
                                                    nothing will be
        performed.

                                                    Regards
                                                    JB



                                                        I am grateful
        for any
                answer and
                                    look forward to
                                                        hearing from you.

                                                        Kind Regards,
                                                        Michael


                                                    --
                                                    Jean-Baptiste Onofré
        [email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>
        <mailto:[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>>
        <mailto:[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>

        <mailto:[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>>>

        http://blog.nanthrax.net <http://blog.nanthrax.net/>
                                                    Talend -
        http://www.talend.com
        <http://www.talend.com/>








                        --
                        Jean-Baptiste Onofré
        [email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>
        <mailto:[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>>

        http://blog.nanthrax.net
                        Talend - http://www.talend.com




            --
            Jean-Baptiste Onofré
        [email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>
        http://blog.nanthrax.net
            Talend - http://www.talend.com



    --
    Jean-Baptiste Onofré
    [email protected] <mailto:[email protected]>
    http://blog.nanthrax.net
    Talend - http://www.talend.com



--
Jean-Baptiste Onofré
[email protected]
http://blog.nanthrax.net
Talend - http://www.talend.com

Reply via email to