Just because we think it's a good design approach - for the addons that we
maintain specifically - so that people don't try to depend on impl classes
we don't want them to see or use :) We don't enforce any kind of package
restriction like OSGi does, so you are free to do "whatever the hell you
want." Clear? :)
So by no means is this a requirement. The *only* requirement is that you
have a JAR classified as "forge-addon", where other addons may be included
as dependencies. That's it :) You can lay out your project however you
like. You can have 1 module, 50 modules, it's all up to you.
On Tue, Sep 10, 2013 at 11:54 AM, Ivan St. Ivanov
<ivan.st.ivanov(a)gmail.com>wrote:
Thanks a lot, folks! I'll try that.
BTW, I was very suspicious about having separate projects for different
things from the beginning. I even shared my opinion one night (afternoon
for you). Is it done because of technical requirements (Weld, Furnace) or
just because you think that this is a good design approach?
Cheers,
Ivan
On Tue, Sep 10, 2013 at 5:08 PM, Lincoln Baxter, III <
lincolnbaxter(a)gmail.com> wrote:
> I've attached a working update to your code:
>
> The reason this occurred is because you did not specify addon
> dependencies in your addon/pom.xml, you only referenced them in your
> sub-projects.
>
> Actually we considered allowing this to work from any sub-dependency of
> the addon, but... im not sure that's a good idea. I like the "do what I
> expect" concept, but I'm not sure of the consequences of this. Perhaps now
> is a good time to discuss this since our first user has banged their head
> against this issue.
>
> Additionally, your test case needed to reference the maven addon, because
> otherwise there will be no implementation of the projects API and the
> project returned from projectFactory would be null.
>
>
> On Tue, Sep 10, 2013 at 10:05 AM, Lincoln Baxter, III <
> lincolnbaxter(a)gmail.com> wrote:
>
>> Part of your problem is this:
>>
>> Sep 10, 2013 9:56:58 AM org.jboss.weld.bootstrap.WeldBootstrap
>>> startContainer
>>>
>>> INFO: WELD-000101 Transactional services not available. Injection of
>>> @Inject UserTransaction not available. Transactional observers will be
>>> invoked synchronously.
>>>
>>> Sep 10, 2013 9:56:58 AM org.jboss.weld.bootstrap.BeanDeployer
>>> loadAnnotatedType
>>>
>>> INFO: WELD-000119 Not generating any bean definitions from
>>> org.jboss.forge.addon.git.gitignore.GitIgnoreConfig because of underlying
>>> class loading error: Type
>>> Lorg.jboss.forge.addon.configuration.ConfigurationFactory; not found. If
>>> this is unexpected, enable DEBUG logging to see the full error.
>>>
>>> Sep 10, 2013 9:56:58 AM org.jboss.weld.bootstrap.BeanDeployer
>>> loadAnnotatedType
>>>
>>> INFO: WELD-000119 Not generating any bean definitions from
>>> org.jboss.forge.addon.git.ui.AbstractGitCommand because of underlying class
>>> loading error: Type org.jboss.forge.addon.ui.metadata.UICommandMetadata not
>>> found. If this is unexpected, enable DEBUG logging to see the full error.
>>>
>>> Sep 10, 2013 9:56:58 AM org.jboss.weld.bootstrap.BeanDeployer loadClass
>>>
>>> INFO: WELD-000119 Not generating any bean definitions from
>>> org.jboss.forge.addon.git.ui.GitCheckoutCommand because of underlying class
>>> loading error: Type org.jboss.forge.addon.ui.UICommand not found. If this
>>> is unexpected, enable DEBUG logging to see the full error.
>>>
>>> Sep 10, 2013 9:56:58 AM org.jboss.weld.bootstrap.BeanDeployer
>>> loadAnnotatedType
>>>
>>> INFO: WELD-000119 Not generating any bean definitions from
>>> org.jboss.forge.addon.git.ui.GitCloneCommand because of underlying class
>>> loading error: Type org.jboss.forge.addon.ui.metadata.UICommandMetadata not
>>> found. If this is unexpected, enable DEBUG logging to see the full error.
>>>
>>> Sep 10, 2013 9:56:58 AM org.jboss.weld.bootstrap.BeanDeployer
>>> loadAnnotatedType
>>>
>>> INFO: WELD-000119 Not generating any bean definitions from
>>> org.jboss.forge.addon.git.ui.GitIgnoreAddPatternCommand because of
>>> underlying class loading error: Type
>>> org.jboss.forge.addon.ui.metadata.UICommandMetadata not found. If this is
>>> unexpected, enable DEBUG logging to see the full error.
>>>
>>> Sep 10, 2013 9:56:58 AM org.jboss.weld.bootstrap.BeanDeployer loadClass
>>>
>>> INFO: WELD-000119 Not generating any bean definitions from
>>>
org.jboss.forge.addon.git.ui.GitIgnoreCreateCommand$GitIgnoreTemplateCompleter
>>> because of underlying class loading error: Type
>>> org.jboss.forge.addon.ui.input.UICompleter not found. If this is
>>> unexpected, enable DEBUG logging to see the full error.
>>>
>>> Sep 10, 2013 9:56:58 AM org.jboss.weld.bootstrap.BeanDeployer
>>> loadAnnotatedType
>>>
>>> INFO: WELD-000119 Not generating any bean definitions from
>>> org.jboss.forge.addon.git.ui.GitIgnoreCreateCommand because of underlying
>>> class loading error: Type
>>> org.jboss.forge.addon.ui.metadata.UICommandMetadata not found. If this is
>>> unexpected, enable DEBUG logging to see the full error.
>>>
>>> Sep 10, 2013 9:56:58 AM org.jboss.weld.bootstrap.BeanDeployer
>>> loadAnnotatedType
>>>
>>> INFO: WELD-000119 Not generating any bean definitions from
>>> org.jboss.forge.addon.git.ui.GitIgnoreEditCommand because of underlying
>>> class loading error: Type
>>> org.jboss.forge.addon.ui.metadata.UICommandMetadata not found. If this is
>>> unexpected, enable DEBUG logging to see the full error.
>>>
>>> Sep 10, 2013 9:56:58 AM org.jboss.weld.bootstrap.BeanDeployer
>>> loadAnnotatedType
>>>
>>> INFO: WELD-000119 Not generating any bean definitions from
>>> org.jboss.forge.addon.git.ui.GitIgnoreListPatternsCommand because of
>>> underlying class loading error: Type
>>> org.jboss.forge.addon.ui.metadata.UICommandMetadata not found. If this is
>>> unexpected, enable DEBUG logging to see the full error.
>>>
>>> Sep 10, 2013 9:56:58 AM org.jboss.weld.bootstrap.BeanDeployer
>>> loadAnnotatedType
>>>
>>> INFO: WELD-000119 Not generating any bean definitions from
>>> org.jboss.forge.addon.git.ui.GitIgnoreListTemplatesCommand because of
>>> underlying class loading error: Type
>>> org.jboss.forge.addon.ui.metadata.UICommandMetadata not found. If this is
>>> unexpected, enable DEBUG logging to see the full error.
>>>
>>> Sep 10, 2013 9:56:58 AM org.jboss.weld.bootstrap.BeanDeployer loadClass
>>>
>>> INFO: WELD-000119 Not generating any bean definitions from
>>>
org.jboss.forge.addon.git.ui.GitIgnoreRemovePatternCommand$GitIgnorePatternCompleter
>>> because of underlying class loading error: Type
>>> org.jboss.forge.addon.ui.input.UICompleter not found. If this is
>>> unexpected, enable DEBUG logging to see the full error.
>>>
>>> Sep 10, 2013 9:56:58 AM org.jboss.weld.bootstrap.BeanDeployer
>>> loadAnnotatedType
>>>
>>> INFO: WELD-000119 Not generating any bean definitions from
>>> org.jboss.forge.addon.git.ui.GitIgnoreRemovePatternCommand because of
>>> underlying class loading error: Type
>>> org.jboss.forge.addon.ui.metadata.UICommandMetadata not found. If this is
>>> unexpected, enable DEBUG logging to see the full error.
>>>
>>> Sep 10, 2013 9:56:58 AM org.jboss.weld.bootstrap.BeanDeployer loadClass
>>>
>>> INFO: WELD-000119 Not generating any bean definitions from
>>> org.jboss.forge.addon.git.ui.GitIgnoreSetupCommand because of underlying
>>> class loading error: Type org.jboss.forge.addon.ui.UICommand not found. If
>>> this is unexpected, enable DEBUG logging to see the full error.
>>>
>>> Sep 10, 2013 9:56:58 AM org.jboss.weld.bootstrap.BeanDeployer
>>> loadAnnotatedType
>>>
>>> INFO: WELD-000119 Not generating any bean definitions from
>>> org.jboss.forge.addon.git.ui.GitIgnoreUpdateRepoCommand because of
>>> underlying class loading error: Type
>>> org.jboss.forge.addon.ui.metadata.UICommandMetadata not found. If this is
>>> unexpected, enable DEBUG logging to see the full error.
>>>
>>> Sep 10, 2013 9:56:58 AM org.jboss.weld.bootstrap.BeanDeployer loadClass
>>>
>>> INFO: WELD-000119 Not generating any bean definitions from
>>> org.jboss.forge.addon.git.ui.LsGitIgnoreCommand because of underlying class
>>> loading error: Type org.jboss.forge.addon.ui.UICommand not found. If this
>>> is unexpected, enable DEBUG logging to see the full error.
>>>
>>> Sep 10, 2013 9:56:58 AM
>>> org.jboss.forge.furnace.impl.addons.AddonRunnable run
>>>
>>
>>
>> On Tue, Sep 10, 2013 at 8:57 AM, Ivan St. Ivanov <
>> ivan.st.ivanov(a)gmail.com> wrote:
>>
>>> Yes, I have it in a separate branch. As always, I create a branch with
>>> the JIRA issue
>>>
>>>
>>> On Tue, Sep 10, 2013 at 3:45 PM, George Gastaldi
<ggastald(a)redhat.com>wrote:
>>>
>>>> Do you have this code in a separate branch? I think it's easier for
>>>> us to test and provide patches if necessary.
>>>> I noticed that you need a package-info.java in the addon project (It
>>>> is now fixed in Alpha12).
>>>>
>>>>
>>>>
>>>> On 09/10/2013 08:27 AM, Ivan St. Ivanov wrote:
>>>>
>>>> So? Can I help somehow?
>>>>
>>>>
>>>> On Mon, Sep 9, 2013 at 8:09 PM, George Gastaldi
<ggastald(a)redhat.com>wrote:
>>>>
>>>>> The configuration looks ok. I may be missing something
>>>>>
>>>>> George Gastaldi | Senior Software Engineer
>>>>> JBoss Forge Team
>>>>> Red Hat
>>>>>
>>>>>
>>>>>
>>>>> -------- Original Message -------- Subject: Git tools Date: Mon, 9
>>>>> Sep 2013 18:34:05 +0300 From: Ivan St. Ivanov
>>>>> <ivan.st.ivanov(a)gmail.com> <ivan.st.ivanov(a)gmail.com>
To: George
>>>>> Gastaldi <ggastald(a)redhat.com> <ggastald(a)redhat.com>
>>>>>
>>>>> Hey Gastaldi,
>>>>>
>>>>> I have attached an archive of the git-tools addon together with a
>>>>> small change in the parent pom (the jgit version).
>>>>>
>>>>> As I wrote in the chat, I get the following error ATM:
>>>>>
>>>>> SEVERE: Failed to start addon
>>>>> [org.jboss.forge.addon:git-tools,2.0.0-SNAPSHOT] with classloader
>>>>> [ModuleClassLoader for Module
>>>>>
"org.jboss.forge.addon.git-tools:2.0.0-SNAPSHOT_384942ba-8666-45c0-ae26-3c918c8f6b29"
>>>>> from AddonModuleLoader]
>>>>> org.jboss.weld.exceptions.DeploymentException: WELD-001408
>>>>> Unsatisfied dependencies for type [GitIgnoreConfig] with qualifiers
>>>>> [@Default] at injection point [[BackedAnnotatedField] @Inject
private
>>>>> org.jboss.forge.addon.git.facet.GitIgnoreFacetImpl.config]
>>>>> at
>>>>>
org.jboss.weld.bootstrap.Validator.validateInjectionPointForDeploymentProblems(Validator.java:405)
>>>>> at
>>>>>
org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:327)
>>>>> at
>>>>>
org.jboss.weld.bootstrap.Validator.validateGeneralBean(Validator.java:178)
>>>>> at
>>>>>
org.jboss.weld.bootstrap.Validator.validateRIBean(Validator.java:209)
>>>>> at
>>>>> org.jboss.weld.bootstrap.Validator.validateBean(Validator.java:521)
>>>>> at
>>>>> org.jboss.weld.bootstrap.Validator.validateBeans(Validator.java:507)
>>>>> at
>>>>>
org.jboss.weld.bootstrap.Validator.validateDeployment(Validator.java:482)
>>>>> at
>>>>>
org.jboss.weld.bootstrap.WeldBootstrap.validateBeans(WeldBootstrap.java:538)
>>>>> at
>>>>>
org.jboss.weld.bootstrap.api.helpers.ForwardingBootstrap.validateBeans(ForwardingBootstrap.java:75)
>>>>> at org.jboss.weld.environment.se.Weld.initialize(Weld.java:144)
>>>>> at
>>>>>
org.jboss.forge.furnace.container.cdi.lifecycle.WeldAddonLifecycleProvider.start(WeldAddonLifecycleProvider.java:59)
>>>>> at
>>>>>
org.jboss.forge.furnace.impl.addons.AddonRunnable$1.call(AddonRunnable.java:77)
>>>>> at
>>>>>
org.jboss.forge.furnace.impl.addons.AddonRunnable$1.call(AddonRunnable.java:71)
>>>>> at
>>>>>
org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:34)
>>>>> at
>>>>>
org.jboss.forge.furnace.impl.addons.AddonRunnable.run(AddonRunnable.java:70)
>>>>> at
>>>>>
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>>>>> at
>>>>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>>>>> at
>>>>>
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>>> at
>>>>>
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>>> at java.lang.Thread.run(Thread.java:662)
>>>>>
>>>>> Thanks,
>>>>> Ivan
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> forge-dev mailing list
>>>>> forge-dev(a)lists.jboss.org
>>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> forge-dev mailing
listforge-dev@lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/forge-dev
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> forge-dev mailing list
>>>> forge-dev(a)lists.jboss.org
>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>
>>>
>>>
>>> _______________________________________________
>>> forge-dev mailing list
>>> forge-dev(a)lists.jboss.org
>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>
>>
>>
>>
>> --
>> Lincoln Baxter, III
>>
http://ocpsoft.org
>> "Simpler is better."
>>
>
>
>
> --
> Lincoln Baxter, III
>
http://ocpsoft.org
> "Simpler is better."
>
> _______________________________________________
> forge-dev mailing list
> forge-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/forge-dev
>
_______________________________________________
forge-dev mailing list
forge-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev