lburgazzoli / gradle-karaf-features-plugin

Apache License 2.0
4 stars 13 forks source link

Error while running gradle generateKarafFeatures #30

Open yrashk opened 8 years ago

yrashk commented 8 years ago

I had a feature with a subproject:

feature {
// ...
            project(':subproject')
}

and I was getting this error:

> No signature of method: com.github.lburgazzoli.gradle.plugin.karaf.features.model.FeatureDescriptor.addProject() is applicable for argument types: (java.lang.String, null) values: [:subproject, null]
  Possible solutions: getProject(), project(java.lang.String), project(java.lang.String, groovy.lang.Closure)

Once I changed my project definition to this, it worked:

feature {
// ...
            project(':subproject') {}
}

But I was wondering if this should be either reflected in the README or fixed? I am using Gradle 2.3

lburgazzoli commented 8 years ago

I'm slowing moving this plugin to gradle-karaf-plugin so I will advise that this plugin is going to be deprecated soon.

Hope to have some doc for the new plugin by end of this week.

yrashk commented 8 years ago

Thanks for the update! Will try using gradle-karaf-plugin

On Mon, Mar 21, 2016 at 5:37 AM, Luca Burgazzoli notifications@github.com wrote:

I'm slowing moving this plugin to [gradle-karaf-plugin| https://github.com/lburgazzoli/gradle-karaf-features-plugin] so I will advise that this plugin is going to be deprecated soon.

Hope to have some doc for the new plugin by end of this week.

— You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub https://github.com/lburgazzoli/gradle-karaf-features-plugin/issues/30#issuecomment-199253563

Y.

yrashk commented 8 years ago

Do you at least have any examples of its use before you will be able to document it?

On Mon, Mar 21, 2016 at 5:39 AM, Yurii Rashkovskii yrashk@gmail.com wrote:

Thanks for the update! Will try using gradle-karaf-plugin

On Mon, Mar 21, 2016 at 5:37 AM, Luca Burgazzoli <notifications@github.com

wrote:

I'm slowing moving this plugin to [gradle-karaf-plugin| https://github.com/lburgazzoli/gradle-karaf-features-plugin] so I will advise that this plugin is going to be deprecated soon.

Hope to have some doc for the new plugin by end of this week.

— You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub https://github.com/lburgazzoli/gradle-karaf-features-plugin/issues/30#issuecomment-199253563

Y.

Y.

lburgazzoli commented 8 years ago

It is quite undocumented at the moment so as a quick start you can

plugins {
  id "java"
  id "maven"
  id "com.github.lburgazzoli.karaf" version "0.0.16"
}

group = 'com.github.lburgazzoli'
version = '0.0.1'

repositories {
    mavenLocal()
    mavenCentral()
}

configurations {
    commons_io {
        //extendsFrom configurations.runtime
        transitive = true
    }
    jpasskit {
        //extendsFrom configurations.runtime
        transitive = false
    }
}

dependencies {
    runtime 'com.squareup.retrofit2:retrofit:2.0.0' 

    commons_io "commons-io:commons-io:2.4"

    jpasskit "de.brendamour:jpasskit:0.0.8",
            "com.google.guava:guava:19.0",
            "org.bouncycastle:bcprov-jdk15on:1.52",
            "org.bouncycastle:bcpkix-jdk15on:1.52"
}

karaf {

    features {
        xsdVersion = '1.2.0'
        version = '4.0.0'
        description = 'Karaf archive of 3rd party dependencies for Synergy'

        repository "mvn:org.apache.karaf.cellar/apache-karaf-cellar/3.0.0/xml/features"
        repository "mvn:org.apache.karaf.features/enterprise/3.0.4/xml/features"
        repository "mvn:org.apache.karaf.features/enterprise/3.0.4/xml/features"
        repository "mvn:org.ops4j.pax.web/pax-web-features/3.1.0/xml/features"
        repository "mvn:org.apache.karaf.features/spring/3.0.4/xml/features"

        feature {
            name = 'commons-io'
            description = 'Apache Commons IO'
            version = "2.4"

            configurations {
                add "commons_io"
                add "jpasskit"
            }
        }

        feature {
            feature name = 'jpasskit'
            description = 'Java Library for Apple PassBook Web Service API'
            version = "0.0.8"
            configurations {
                add "jpasskit"
            }
        }
    }

    kar {        
    }
}

Most of the things like project/bundleFrom/transitive have been removed in favor of re-using gradle configurations.

yrashk commented 8 years ago

Thanks a lot!

On Mon, Mar 21, 2016 at 5:42 AM, Luca Burgazzoli notifications@github.com wrote:

It is quite undocumented at the moment so as a quick start you can

buildscript { repositories { mavenLocal() mavenCentral() } dependencies { classpath "com.github.lburgazzoli:gradle-karaf-plugin:0.0.16-SNAPSHOT" } }

apply plugin: "java" apply plugin: "groovy" apply plugin: "maven" apply plugin: "com.github.lburgazzoli.karaf"

group = 'com.github.lburgazzoli' version = '0.0.1'

repositories { mavenLocal() mavenCentral() }

configurations { commons_io { //extendsFrom configurations.runtime transitive = true } jpasskit { //extendsFrom configurations.runtime transitive = false } }

dependencies { runtime 'com.squareup.retrofit2:retrofit:2.0.0'

commons_io "commons-io:commons-io:2.4"

jpasskit "de.brendamour:jpasskit:0.0.8",
        "com.google.guava:guava:19.0",
        "org.bouncycastle:bcprov-jdk15on:1.52",
        "org.bouncycastle:bcpkix-jdk15on:1.52"

}

karaf {

features {
    xsdVersion = '1.2.0'
    version = '4.0.0'
    description = 'Karaf archive of 3rd party dependencies for Synergy'

    repository "mvn:org.apache.karaf.cellar/apache-karaf-cellar/3.0.0/xml/features"
    repository "mvn:org.apache.karaf.features/enterprise/3.0.4/xml/features"
    repository "mvn:org.apache.karaf.features/enterprise/3.0.4/xml/features"
    repository "mvn:org.ops4j.pax.web/pax-web-features/3.1.0/xml/features"
    repository "mvn:org.apache.karaf.features/spring/3.0.4/xml/features"

    feature {
        name = 'commons-io'
        description = 'Apache Commons IO'
        version = "2.4"

        configurations {
            add "commons_io"
            add "jpasskit"
        }
    }

    feature {
        feature name = 'jpasskit'
        description = 'Java Library for Apple PassBook Web Service API'
        version = "0.0.8"
        configurations = [
            project.configurations.jpasskit
        ]
    }
}

kar {
}

}

Most of the things like project/bundleFrom/transitive have been removed in favor of re-using gradle configurations.

— You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub https://github.com/lburgazzoli/gradle-karaf-features-plugin/issues/30#issuecomment-199255956

Y.