{"action":"created","issue":{"url":"https://api.github.com/repos/wildfly-extras/wildfly-camel/issues/1388","repository_url":"https://api.github.com/repos/wildfly-extras/wildfly-camel","labels_url":"https://api.github.com/repos/wildfly-extras/wildfly-camel/issues/1388/labels{/name}","comments_url":"https://api.github.com/repos/wildfly-extras/wildfly-camel/issues/1388/comments","events_url":"https://api.github.com/repos/wildfly-extras/wildfly-camel/issues/1388/events","html_url":"https://github.com/wildfly-extras/wildfly-camel/issues/1388","id":189357767,"number":1388,"title":"Provide a catalog for wildfly supported components ","user":{"login":"tdiesler","id":244946,"avatar_url":"https://avatars.githubusercontent.com/u/244946?v=3","gravatar_id":"","url":"https://api.github.com/users/tdiesler","html_url":"https://github.com/tdiesler","followers_url":"https://api.github.com/users/tdiesler/followers","following_url":"https://api.github.com/users/tdiesler/following{/other_user}","gists_url":"https://api.github.com/users/tdiesler/gists{/gist_id}","starred_url":"https://api.github.com/users/tdiesler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tdiesler/subscriptions","organizations_url":"https://api.github.com/users/tdiesler/orgs","repos_url":"https://api.github.com/users/tdiesler/repos","events_url":"https://api.github.com/users/tdiesler/events{/privacy}","received_events_url":"https://api.github.com/users/tdiesler/received_events","type":"User","site_admin":false},"labels":[{"id":39788897,"url":"https://api.github.com/repos/wildfly-extras/wildfly-camel/labels/duplicate","name":"duplicate","color":"e6e6e6","default":true}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-11-15T10:44:44Z","updated_at":"2016-11-15T10:48:56Z","closed_at":"2016-11-15T10:48:56Z","body":"So at the face to face we talked about having Camel catalog know which components Karaf, wildfly-camel, and spring-boot really supports.\r\nSo today I implemented this in the upstream ASF Camel.\r\n\r\nThere is a new RuntimeProvider interface that allows 3rd party to implement their own catalog.\r\n\r\nThen from tooling you can either look inside their JAR files or use the Java API to switch provider such as\r\nhttps://github.com/apache/camel/blob/master/platforms/catalog-provider-karaf/src/test/java/org/apache/camel/catalog/karaf/KarafRuntimeProviderTest.java#L38\r\n\r\nThe generated JARs for camel-catalog-provider-karaf and camel-catalog-provider-springboot includes a file structure that is similar to camel-catalog JAR\r\nSee attached .txt file which is a tree of the karaf provider\r\n\r\n\r\n\r\nspring-boot does the same but its directory name is springboot instead of karaf.\r\n\r\nThen Lars you can keep looking inside the JAR for those files if you want, for a karaf vs default vs spring-boot project in the Fuse IDE editor.\r\nThen you have these 3 JARs on the classpath where you can find those files.\r\n\r\n\r\n\r\nThomas, you can create a similar JAR in wildfly-camel project.\r\n\r\nTo make this easier then you can maybe do like we have done with a maven plugin that prepares the catalog JAR, which we do for spring-boot or karaf as this:\r\nhttps://github.com/apache/camel/blob/master/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogKarafMojo.java\r\nhttps://github.com/apache/camel/blob/master/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogKarafMojo.java\r\n\r\nBecause Camel has so many components we generate this using that plugin. You may need to do some additional code if you want to attempt to use a maven plugin as well, as you would need to copy the JSon files from the camel JAR files from Maven.\r\n\r\nAnd then you can have your own filtering logic to only include those that you support.\r\n\r\nThen you would need to adjust the maven coordinate in those json files, so the tooling would know which dependency to add in the pom.xml\r\nWe do this for spring-boot as the artifactId is -starter\r\nhttps://github.com/apache/camel/blob/master/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogSpringBootMojo.java#L180\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/wildfly-extras/wildfly-camel/issues/comments/260609569","html_url":"https://github.com/wildfly-extras/wildfly-camel/issues/1388#issuecomment-260609569","issue_url":"https://api.github.com/repos/wildfly-extras/wildfly-camel/issues/1388","id":260609569,"user":{"login":"tdiesler","id":244946,"avatar_url":"https://avatars.githubusercontent.com/u/244946?v=3","gravatar_id":"","url":"https://api.github.com/users/tdiesler","html_url":"https://github.com/tdiesler","followers_url":"https://api.github.com/users/tdiesler/followers","following_url":"https://api.github.com/users/tdiesler/following{/other_user}","gists_url":"https://api.github.com/users/tdiesler/gists{/gist_id}","starred_url":"https://api.github.com/users/tdiesler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tdiesler/subscriptions","organizations_url":"https://api.github.com/users/tdiesler/orgs","repos_url":"https://api.github.com/users/tdiesler/repos","events_url":"https://api.github.com/users/tdiesler/events{/privacy}","received_events_url":"https://api.github.com/users/tdiesler/received_events","type":"User","site_admin":false},"created_at":"2016-11-15T10:48:56Z","updated_at":"2016-11-15T10:48:56Z","body":"Duplicates #1387"}}
{"actor":{"display_login":"tdiesler"}}