Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 80 lines (60 sloc) 2.812 kb
308a6e5 @tdiesler [AS7-5494] Add support for a modular AS7 build
tdiesler authored
1 JBoss Modular Application Server Build
2 --------------------------------------
3
4 This module contains a number of profiles each dedicated to a custom AS7 build.
5
6 Defining the Subsystems
7 -----------------------
8
9 Subsystems are defined by a simple comma seperated list of identifiers
10 Each identifier can be qualified with a supplement identifier.
11
12 <standalone.subsystems>logging:osgi,osgi:eager,configadmin,deployment-scanner</standalone.subsystems>
13
14 Subsystem Definition Output
15 ---------------------------
16
17 Given the above input the Ant task will generate a subsystem definition file
18
19 standalone-subsystems.xml
20
21 <config xmlns="urn:subsystems-config:1.0">
22 <subsystems>
23 <subsystem supplement="osgi">configuration/subsystems/logging.xml</subsystem>
24 <subsystem supplement="eager">configuration/subsystems/osgi.xml</subsystem>
25 <subsystem>configuration/subsystems/configadmin.xml</subsystem>
26 <subsystem>configuration/subsystems/deployment-scanner.xml</subsystem>
27 </subsystems>
28 </config>
29
30 which is then passed to the Ant macros that are used for the ordinary AS7 build.
31
32 Reducing the set of System Modules
33 ----------------------------------
34
35 Given the above subsystem definition we obtain the set of extension modules and scan the transitive set of their dependencies
36 from the respective module.xml definitions. This is a recursive process which produces a pattern file that can then be used to copy
37 the modules hirarchy.
38
39 standalone-module-dependencies.txt
40
41 asm/asm/main/**
42 ch/qos/cal10n/main/**
43 com/github/relaxng/main/**
44 com/google/guava/main/**
45 com/sun/codemodel/main/**
46 com/sun/istack/main/**
47 com/sun/xml/bind/main/**
48 com/sun/xml/messaging/saaj/main/**
49 com/sun/xml/txw2/main/**
50 com/sun/xsom/main/**
51 javax/activation/api/main/**
52 javax/annotation/api/main/**
53 javax/api/main/**
54 ....
55
56 For debugging purposes this transitive set is also available in xml
57
58 standalone-module-dependencies.xml
59
60 ...
61 <module name="org.jboss.logging:main">
62 <module name="org.jboss.logmanager:main">
63 <module name="org.jboss.modules:main"/>
64 <module name="org.jboss.as.logging:main" defined="true"/>
65 </module>
66 </module>
67 ...
68
69 Resulting Server Build
70 ----------------------
71
72 The resulting server build only contains the generated configurations and system modules that are needed to run the configured subsystems.
73 Adding additional subsystems later will likely not work because of missing module dependencies.
74 For the above case this reduces the download size from 128MB to 80MB.
75
76 Domain Support
77 --------------
78
79 Domain support is optional and can be enabled/disabled by setting the 'domain.enabled' propperty accordingly.
80 Enabling domain configs will include an additional large set of required module dependencies
Something went wrong with that request. Please try again.