I recently contributed to the forge project (FORGE-842) by adding the
pluginManagement support to the mavenPluginFacet.
One question is still opened, which is the purpose of this post.
Basically, it is about a smart plugin resolution, ie having the plugin
properties (artifactId, groupId, version,...) automatically resolved when a
plugin is defined in a "pluginManagement" section and used in a "plugins"
Let's take the following example:
Currently, a call to the
will return a null value, because the version is not declared in the
Maven will, however, resolve the plugin by using the version and
configuration of the maven-compiler-plugin declared in the
Moreover, we should also note that the pluginManagement section will be,
most of the time, declared in the parent pom, which makes the smart
resolution as follow:
1. Compute the effective pom
2. Resolve the plugin properties
My question is: based on the fact that similar implementation was done with
Dependency and DependencyManagement sections (in the MavenDependencyFacet
and DependencyInstaller), which methods should be implemented ?
Following the same logic, we could also thing of a smart "addPlugin"
method: what if I add a plugin that is already managed, with the same
version of the managed plugin ? With some configuration element(s) being
the same as the managed plugin ? ...
Based on your answers, I will create a FORGE issue and will try to
implement the missing methods.
Due to some problems with the jbott, no formal minutes were generated.
<lincolnthree> Hey folks. Let's get started.
<lincolnthree> I'd like to have a quick meeting today. I know we all
have a lot to do.
<lincolnthree> #topic Agenda
<lincolnthree> #info Forge 2 Status
<gastaldi> Scaffold-X Team Status ?
<lincolnthree> #chair gastaldi vineetreynolds koentsje stalep
<jbott> Current chairs: gastaldi koentsje lincolnthree stalep vineetreynolds
<lincolnthree> add your infos as needed
<gastaldi> vineetreynolds ^^ ?
<gastaldi> hum, mmatlocka wanted to discuss something about the website too
<gastaldi> too bad he isn't here atm
<vineetreynolds> my updates will be a bit short
* mmatloka (~mmatloka(a)efn41.neoplus.adsl.tpnet.pl) has joined #forge
<vineetreynolds> sblanc will probably have something to add
<lincolnthree> #info X-Scaffold Status
<lincolnthree> #topic Forge 2 Status
<gastaldi> I made some changes in the jboss tools plugin yesterday
<lincolnthree> I think we are at the point where we need to push to get
the addons addon working.
<gastaldi> The CheckboxTable component is now visually nicer
<lincolnthree> You changed combo box?
<lincolnthree> Ah great./
<gastaldi> combo box ? What's wrong with it ?
<lincolnthree> i didnt remember the name of the comp you changed
<koentsje> in a way it is also a combo box ;)
* kenfinnigan (~kenfinnig(a)c-75-67-145-183.hsd1.ma.comcast.net) has
* ChanServ gives voice to kenfinnigan
<gastaldi> ComboControlBuilder :)
<gastaldi> so, ok, we need to get the addons addon working. I added to
the addon-repository inside the eclipse plugin too
<gastaldi> so we don't need to install it manually
<lincolnthree> yeah that's working nicely except for a few bugs with
<gastaldi> since this strategy avoids multiple repos, that won't be a
<lincolnthree> ah, you added addons addon to the addon repo?
<gastaldi> You need to remove that to test if you change something
<gastaldi> Does anyone have any pending issue for Forge 1.2.3.Final ?
<gastaldi> I was thinking to release it today or still this week
<gastaldi> but we can wait until monday if necessary
<gastaldi> the update fix is the most important fix
<lincolnthree> i think we need to release the update fix asap
<lincolnthree> if you want to do that today that's fine
<gastaldi> Ok, any complaints ?
<gastaldi> no ? Ok, go on :)
<gastaldi> #action gastaldi will release Forge 1.2.3.Final today
<lincolnthree> #action lincolnthree will work on the multiple repo bugs
<gastaldi> lincolnthree, I improved the README in the repo
<gastaldi> with our to-be blog post
<lincolnthree> ah. fantastic
<gastaldi> because some people were already trying to use Forge
2.0.0.Alpha2 and having some trouble
<lincolnthree> great idea
<lincolnthree> youre very good at keeping up with the community. an
ability i sometimes lack
<lincolnthree> thank you
<gastaldi> you're welcome :)
<lincolnthree> koentsje: briefly, regarding the JBDS release
<lincolnthree> what needs to be done?
<lincolnthree> also, why do the tests show up in the installation window?
<lincolnthree> along with the development sources
<koentsje> i am still adding the forge 1 wizards in the JBDS release
<gastaldi> we also need to change the descriptions in the
<maxandersen> lincolnthree: because you are installing from the
component site - not the jbosstools site.
<lincolnthree> ah ok
<koentsje> there are some issues with the new target platform (kepler
M6), some of the stuff is not compatible
<maxandersen> lincolnthree: that repo is purely for internal consumption.
<maxandersen> koentsje: what we need for alpha2 of JBT afaik is:
<maxandersen> A) update to latest forge 1 to avoid the "update to
forge2" bug ?
<maxandersen> B) get it to work on kepler M6 (what is broken ?)
<lincolnthree> maxandersen: gastaldi will be releasing that fix today
<maxandersen> C) update to use Forge 2 alpha2
<koentsje> nothing that is in the repo is broken actually
<gastaldi> maxandersen, "forge update" inside JBT doesn't work yet
<gastaldi> I think
<koentsje> maxandersen, what do you mean by C)?
<maxandersen> gastaldi: ah so its not relevant ?
<lincolnthree> gastaldi: maxandersen it shouldn't be
<maxandersen> koentsje: when you left on PTO, the build was using forge
<maxandersen> lincoln release forge 2 alpha1 - the snapshot disappearted
-> build fails
<koentsje> maxandersen, but that has been fixed as well right?
<lincolnthree> maxandersen: that's weird. we don't have a snapshot like
<maxandersen> I thus set it the alpha1 jbt branch to use alpha1 Forge to
make the build work (it did not compile against alpha2 of forge)
<koentsje> afaik the only issue right now for forge is two failing tests
<maxandersen> lincolnthree: well - it might be it was just compile errors
<maxandersen> lincolnthree: in any case - snapshot wasn't compatible
<koentsje> but those failures are harmless and i have a fix for them
<maxandersen> then alpha2 of forge was released, so I assume that is
what we should ship in alph2 of jbt forge 2 tools.
<lincolnthree> maxandersen: yes, until alpha3 comes out :)
* pmuir has quit (Quit: Leaving)
<maxandersen> lincolnthree: well thats another day ;)
* pmuir (~pmuir(a)cpc8-sgyl32-2-0-cust146.18-2.cable.virginmedia.com) has
* pmuir has quit (Changing host)
* pmuir (~pmuir@redhat/jboss/pmuir) has joined #forge
<maxandersen> lincolnthree: and for another jbt release ;)
<maxandersen> gastaldi: about "own server" for forge - I don't think
having a "forge server" makes sense for the usecase you describe.
<koentsje> so the summary is 1) get the forge1 wizards in, 2) update
forge2 to alpha2
<maxandersen> gastaldi: its close - but too many mismatches.
<maxandersen> koentsje: yes and you said there were some kepler M6 stuff?
<koentsje> yes because the wizards have some jpa deps
<koentsje> didn't track that until i compile against the right target
platform of course :@
<koentsje> so that is part of getting the forge 1 wizards in
<gastaldi> maxandersen, perhaps, I was talking with koentsje this
morning and he pointed out that maybe having a "Forge Config" view may
be more suitable
<maxandersen> koentsje: ah yes the beautfiul dali api
<maxandersen> koentsje: but surprised you used API here that failed you?
<koentsje> maxandersen, indeed... it now not only haunts me in
hibernate-tools but also in forge-tools
<maxandersen> gastaldi: Forge Runtime preferences is where I would put this.
<koentsje> maxandersen, i used
jpaProject.getAnnotatedJavaSourceClassNames() and apparently that
<gastaldi> maxandersen, Runtime Preferences ? For Deploying addons and
<maxandersen> gastaldi: yes.
<gastaldi> maxandersen, could you complement this info in FORGE-841,
<jbossbot> jira [FORGE-841] Add Forge as a container in the Servers tab
[Open (Unresolved) Feature Request, Major, Koen Aers]
<maxandersen> gastaldi: you are setting the runtime info.
<maxandersen> you mean comment?
<gastaldi> comment, yes
<lincolnthree> whenever everyone is ready, we can turn over to
<gastaldi> go go go
<lincolnthree> #topic X-Scaffold Status
<gastaldi> Release is starting
<vineetreynolds> Sorry guys, in another meeting as well. I'll be short
<vineetreynolds> I started some work on the F2 scaffold-x plugin
<vineetreynolds> I ran into a couple of issues - one with the Eclipse
plugin and the other with aesh
<vineetreynolds> I believe the first should be solved in Alpha3
<gastaldi> ah perhaps with the multiple repos feature
<lincolnthree> vineetreynolds: aesh doesn't currently really work at all
<vineetreynolds> lincolnthree, ok, but I was looking at what would work
<gastaldi> the aesh addon doesn't work, aesh does :)
<gastaldi> or else stalep will get mad :)
<vineetreynolds> since stalep was testing his work on the new-project addon
<vineetreynolds> so I figured I'll try and get some feedback on how my
new addon would work in a F2 installation
<vineetreynolds> Anyway, this is probably something to try out in the
coming week or so
<vineetreynolds> I did get some good feedback on how to approach writing
<vineetreynolds> Firstly, the Java EE plugins from F1 should be ported
* lfryc has quit (Ping timeout: 240 seconds)
<vineetreynolds> otherwise the scaffold-x plugin would have to work off
user-created java classes
<vineetreynolds> The entity, field, validation and rest plugins are kind
of important here
<lincolnthree> in order to port the ee addons, we need some of the
features i have been working on
<lincolnthree> like the dependency installer
<vineetreynolds> ok, seems like I'd have to wait longer then
<lincolnthree> which was actually quite difficult to get right in F1
<vineetreynolds> There's some work I managed to do in the scaffold-x
provider for F1
<vineetreynolds> Moving it closer to releasable state
<vineetreynolds> Firstly, I managed to figure out the usecase for the
RichFaces support in the Faces provider
<gastaldi> Can we make it to 1.2.4.Final ?
<vineetreynolds> Yes, or 1.2.3 which ever comes first
<gastaldi> 1.2.3.Final comes today
<vineetreynolds> Ah ok
<gastaldi> It's coming now :)
<vineetreynolds> Then make it 1.2.4
<gastaldi> sweet! :)
<vineetreynolds> I just need to review the FTLs. I've got useful inputs
from maxandersen and I'll review them with sblanc
<lincolnthree> vineetreynolds: we can always do a 1-off release to get
it released sooner when you finish!
<vineetreynolds> That's the first in the list of items to complete
<vineetreynolds> A few more:
<gastaldi> I can rollback the release and wait
<gastaldi> should we ?
* maschmid has quit (Quit: Ex-Chat)
<vineetreynolds> * verify if it makes sense to use Richard's
Freemarkerwidget from metawidget instead of relying on just the inspectors
<vineetreynolds> No, don't too undeterministic
<gastaldi> Speak now or forever hold your peace
<vineetreynolds> I've spoken: release 1.2.3 now, and plan on 1.2.4
<vineetreynolds> A one-off 1.2.4 sounds better
<gastaldi> next topic then ?
<vineetreynolds> Back to the items to complete - the tests needs a bit
<vineetreynolds> and the bidi support in the rest plugin needs
implementation (needs to be moved from the prototype I have)
<stalep> hi, i see someone mentioned me
<vineetreynolds> That's about it I guess
<stalep> its dinner here now so im afking a lot
<lincolnthree> hey stalep, yes, we mentioned aesh
<maxandersen> btw. guys - would be awesome you try out alpha2 of JBT
with our LiveReload stuff
<lincolnthree> stalep: and that commands cant currently be executed
<lincolnthree> maxandersen: how do we access the livereload featuers?
<gastaldi> maxandersen, LiveReload ? JRebel ?
<vineetreynolds> stalep, yeah, it was about aesh and how
UIInput<SomeClass> would fail
<stalep> lincolnthree: its a parser thing in forgeshell
<vineetreynolds> UIInput<String> probably works
<stalep> vineetreynolds: yes that is correct
<stalep> ive done some changes to æsh as well so the parser throw more
specific exceptions instead of just illegalargument
<stalep> that will help regarding what kind of options/values/arguments
<vineetreynolds> Ah, we need to figure out a way to bring in support for
@Alias or the equivalent in F2
<stalep> ill complete that tomorrow and i can integrate that into forge
tomorrow as well ithink
<gastaldi> I always knew that aesh was the path to go in F2
<lincolnthree> vineetreynolds: how so? Metadata.create() ?
<stalep> forgeshell should log the exception thats thrown when you try
to execute a command
<vineetreynolds> Hmm, I'm not so sure
<stalep> so if there is something that doesnt work look in the log
<lincolnthree> stalep: how do we enable that?
<vineetreynolds> Say I have UIInput<ScaffoldProvider>, then I'd like
aesh to display the @Alias'es of the providers
<vineetreynolds> instead of forcing me to extract them into UIInput<String>
<gastaldi> I know the answer!
<lincolnthree> vineetreynolds: that's already supported in the UI API
<lincolnthree> but you need to use a converter afaik
<gastaldi> It should be a UISelectOne<ScaffoldProvider>
<gastaldi> this stuff is awesome :)
<lincolnthree> vineetreynolds: yeah, we ahve more than just UIInput
<vineetreynolds> Umm yes, it was UISelectOne
<vineetreynolds> Didnt know about converters
<maxandersen> gastaldi: lincolnthree:
<maxandersen> there is a video below
<maxandersen> this is eclipse as a livereload server for all file
resources in eclipse workspace.
<maxandersen> in beta1 we'll have it for all deployed resources too.
<stalep> lincolnthree: it should be in there now
<maxandersen> i.e. stuff served out from servers.
<stalep> its logged to forge.log
<lincolnthree> maxandersen: that's a really nice feature
<lincolnthree> maxandersen: do you have any recommended memory settings
for using JBT so it doesn't slow down immensely on large proejcts?
<lincolnthree> stalep: excellent thanks
<maxandersen> lincolnthree: don't run forge ? :)
<gastaldi> wow !
<stalep> vineetreynolds: gastaldi i dont know how that works tbh, so i
wouldnt mind a bit of help how to support unknown classes
<maxandersen> lincolnthree: just kidding ;)
<lincolnthree> so while running aesh and trying to execute a command,
you should be able to see the log output in forge.log if there are problems
<stalep> lincolnthree: yes
<lincolnthree> stalep: ok
<gastaldi> maxandersen, nice!
<maxandersen> lincolnthree: I run with 1GB mx
<lincolnthree> maxandersen: any way to get JBT to auto-sense and adjust?
<maxandersen> lincolnthree: memory ? yeah - once Java VM's allow that.
<lincolnthree> max nah, you could edit the eclipse config file
<stalep> vineetreynolds: atm its CommandLineUtil that do the population
of UIInput objects
<stalep> its very crude atm
<stalep> i started it without knowing much of how the inputs would end up
<vineetreynolds> np, I figured that the equivalent functionality in F1
needed porting, or I was missing something
* cbrock (cbrock@redhat/jboss/cbrock) has joined #forge
* ChanServ gives voice to cbrock
<stalep> i use the ConverterFactory gastaldi mentioned
<vineetreynolds> Didnt dig deeper since it became evident that a lot
more needed to be done for my addon
<gastaldi> good :)
<lincolnthree> stalep: awesome
<gastaldi> Gunnar morling contacted me the other day about a project he
is working on
<stalep> i just think i need to add methods for all the different
UIInput subclasses and it "should" work
<gastaldi> perhaps it could be useful in the future, not sure, anyway
that's for posterity records :)
<gastaldi> are we done ?
<lincolnthree> i think so
<lincolnthree> thanks everyone
(11:52:41 AM) jbott: Meeting ended Wed Apr 3 15:47:01 2013 UTC. Information
about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)
(11:52:41 AM) jbott: Minutes:
(11:52:42 AM) jbott: Minutes (text):
(11:52:42 AM) jbott: Log:
Meeting started by lincolnthree1 at 14:54:24 UTC. The full logs are
* Agenda (lincolnthree1, 14:55:00)
* Forge 2 Status (lincolnthree1, 14:55:48)
* Google Summer of Code Proposals (lincolnthree1, 14:55:55)
* X-Scaffold Status (lincolnthree1, 14:56:13)
* Forge 2 Status (lincolnthree1, 14:57:31)
* Forge 2.0.0.Alpha1 released. But will probably quickly do another
Alpha2 release. (lincolnthree1, 14:58:22)
* Container stability for tests is improved, but not perfect. Nothing
wrong, just sometimes tests execute before Addons have loaded, etc.
* Google Summer of Code Proposals (lincolnthree1, 15:04:48)
* Need to make sure proposal content is filled out (lincolnthree1,
* ACTION: lincolnthree will fill out the gradle proposal and mail
forge-dev for review (lincolnthree1, 15:07:32)
* AGREED: We will add IntelliJ support as a GSoC proposal
* X-Scaffold Status (lincolnthree1, 15:17:07)
* Enum support was added to the angular scaffold-x provider
* Target directories are now supported in the angular scaffold-x
provider (vineetreynolds, 15:30:59)
* Collection handing (1:1,1:M,M;1,M:M) has been improved.
* Entity/REST resource ids no longer need to be named as 'id'
* Woot (lincolnthree1, 15:46:37)
* ACTION: vineetreynolds will initiate the Forge 2 scaffold-x addon
Meeting ended at 15:47:01 UTC.
* lincolnthree will fill out the gradle proposal and mail forge-dev for
* vineetreynolds will initiate the Forge 2 scaffold-x addon
Action Items, by person
* vineetreynolds will initiate the Forge 2 scaffold-x addon
* lincolnthree will fill out the gradle proposal and mail forge-dev
People Present (lines said)
* lincolnthree1 (102)
* vineetreynolds (82)
* gastaldi (41)
* jbott (7)
* rruss (7)
* sblanc (4)
* jbossbot (2)
Generated by `MeetBot`_ 0.1.4
.. _`MeetBot`: http://wiki.debian.org/MeetBot
Lincoln Baxter, III
"Simpler is better."
What are the rules for plugin backward compatibility? I've done quite a
bit of work cleaning up the JBoss AS 7 plugin, but I changed some
prompts and some behavior. I haven't completely finished testing yet,
but since Forge allows scripts I was wondering if backwards
compatibility is important.
James R. Perkins
JBoss by Red Hat