On 12/02/2010 02:50 PM, Brian Stansberry wrote:
> 3. Phase: "parse" ->
"jboss.deployment.\"myapp-foo.war\".parse"
>
> In this phase, all descriptors which are available via the file system
> are processed. This includes XML descriptors, manifest information,
> etc. When processing of this phase is complete, all descriptors should
> be parsed and stored in the DUP context.
>
> 4. Phase "dependencies" ->
"jboss.deployment.\"myapp-foo.war\".dependencies"
>
> In this phase, the data collected is used to assemble the list of
> dependencies and class path resource roots.
I assume what you mean here are module dependencies, not service
dependencies.
Yes. Well, it ends up being both: there's a service dependency from
j.d.source.modularize -> j.d.dependency.structure. This dependency is
used to create the module dependency (which is really a resource root
dependency as opposed to a module->module dependency).
> Class-path dependencies on
> other deployments will be added to this deployment's "modularize"
phase
> as MSC dependencies on the dependency deployments' "structure" phase.
> When processing of this phase is complete, all the information necessary
> to construct the module for this deployment is available.
>
Can annotations, which aren't read until the "modularize" phase, result
in module dependencies?
No. See the section in "Missing Stuff" (#3) about this. Since you
can't read annotations until you have classloading, if you need to make
additional classloading changes, it has to happen in a second phase
where dependencies are recalculated, and the processor has to be aware
of that fact; in addition the proper module dependencies (and thus the
corresponding MSC dependencies) have to be established between the
deployments.
--
- DML