[forge-dev] Fwd: Git tools

Lincoln Baxter, III lincolnbaxter at gmail.com
Tue Sep 10 12:55:28 EDT 2013


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 at 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 at 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 at 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 at 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 at 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 at 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 at gmail.com> <ivan.st.ivanov at gmail.com>  To: George
>>>>>> Gastaldi <ggastald at redhat.com> <ggastald at 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 at lists.jboss.org
>>>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> forge-dev mailing listforge-dev at lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> forge-dev mailing list
>>>>> forge-dev at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> forge-dev mailing list
>>>> forge-dev at 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 at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>
>
>
> _______________________________________________
> forge-dev mailing list
> forge-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/forge-dev
>



-- 
Lincoln Baxter, III
http://ocpsoft.org
"Simpler is better."
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20130910/6ba99e88/attachment-0001.html 


More information about the forge-dev mailing list