[30/05/2005 23:11:28] jason: brett: are there any other example that come to mind with multiple invocations of the same mojo? [30/05/2005 23:11:37] jason: like xdoclet in different phases [30/05/2005 23:11:41] brett: modello with two versions was the one I used [30/05/2005 23:11:49] brett: basically, we previously decided to declare a goal multiple times if it needed to be run again with new parameters [30/05/2005 23:11:53] brett: the alternatives are to [30/05/2005 23:12:00] brett: - not allow it, and make the plugin configure around it [30/05/2005 23:12:33] brett: - do what we planned, but figure out some way to effectively merge configurations in inheritence/profiles [30/05/2005 23:12:44] brett: pretty sure we want the latter? [30/05/2005 23:13:52] jdcasey: I think I like your preferred soln from that page...but the thing that gets to me about it is that you're essentially putting in duplicate declarations of a plugin for a project. [30/05/2005 23:14:06] trygvis: I think your preferred solution sounds the best [30/05/2005 23:14:15] brett: or duplicate goals, I figured supporting either made sense [30/05/2005 23:14:17] jdcasey: the plugin element does two things: binds a plugin to the project, and defines the execution params for that plugin [30/05/2005 23:14:52] jdcasey: the problem with duplicate goals/config is that you lose the ability to specify plugin-level configuration for multiple sets of goals... [30/05/2005 23:15:26] jdcasey: what about having an element (or several) inside a plugin that defines an execution profile for that plugin? [30/05/2005 23:15:31] brett: that was the reason to propose the later option [30/05/2005 23:15:47] brett: just have multiple configurations [30/05/2005 23:16:05] jdcasey: the last soln means you'd have to match configs and goal lists based on key, right? [30/05/2005 23:16:19] brett: thats for inheritence [30/05/2005 23:16:21] jdcasey: so you'd also have ... [30/05/2005 23:16:29] brett: no [30/05/2005 23:16:40] brett: that's a listed downside [30/05/2005 23:16:47] jdcasey: but in the last soln you cannot change the goals that are defined per execution... [30/05/2005 23:16:48] brett: whether goals become part of the configuration or not [30/05/2005 23:16:51] jdcasey: right [30/05/2005 23:17:56] jdcasey: I think goals are definitely part of the execution config...in the xdoclet example, especially... [30/05/2005 23:18:57] brett: but you still need to key it to make merging possible [30/05/2005 23:19:00] jdcasey: you can key at the execution level, for inheritance [30/05/2005 23:19:05] jdcasey: definitely [30/05/2005 23:19:18] jdcasey: but it starts to separate the dual purpose of the plugin declaration [30/05/2005 23:19:20] brett: ok, now rename executions goals and remove the goal subelement [30/05/2005 23:19:46] jdcasey: so you're talking about embedding inside the goals element? [30/05/2005 23:19:51] jdcasey: ...that would work [30/05/2005 23:20:10] brett: no, in the goal element, which it already does [30/05/2005 23:20:16] jdcasey: but from a modello standpoint, it's the same thing: you have to define a goals class. [30/05/2005 23:20:18] brett: I'm not sure what the extra executions level gives you [30/05/2005 23:20:35] brett: oh, I guess its another shared config [30/05/2005 23:20:41] jdcasey: so you'd have to have per-goal configuration, even if it's the same for a set of goals in that execution? [30/05/2005 23:20:49] jdcasey: shared per-execution [30/05/2005 23:21:04] jdcasey: and that's probably more useful than shared across executions, really [30/05/2005 23:21:53] brett: ok, let me paste here for the record. I can do a multiline [30/05/2005 23:21:58] brett: g/a/v [30/05/2005 23:22:19] jdcasey: actually, I'd like to see the top level go away... [30/05/2005 23:22:35] brett: in execution? [30/05/2005 23:22:50] jdcasey: no, directly inside plugin...but that's just personal preference [30/05/2005 23:23:08] brett: I think most people will configer per plugin [30/05/2005 23:23:13] brett: its less verbose [30/05/2005 23:23:17] jdcasey: I feel like the highest level of configuration should be per-execution, and that you'll always have at least one execution [30/05/2005 23:23:23] jdcasey: eh, ok [30/05/2005 23:23:32] brett: but the executions are often predefined [30/05/2005 23:23:46] brett: anyone else have thoughts on the above? [30/05/2005 23:25:03] brett: I'm missing inside execution, I guess [30/05/2005 23:25:12] jdcasey: sure [30/05/2005 23:25:16] brett: that does feel better than repeating a plugin or goal within a plugin without an extra wrapper [30/05/2005 23:25:24] jdcasey: it's less confusing IMO [30/05/2005 23:25:39] jdcasey: maybe more verbose, but it's worth it for clarity [30/05/2005 23:25:51] brett: ok, I can live with that [30/05/2005 23:25:55] brett: is the key the right approach to merging [30/05/2005 23:26:10] brett: and only do that at the execution level [30/05/2005 23:26:20] brett: I'll use id for consistency [30/05/2005 23:26:29] jdcasey: that sounds right to me...