Mercurial > hg > release > thermostat-0.7
view distribution/config/commands/webservice.properties @ 1007:53ce942c35c1
Convert plugins to use plugin installation mechanism
This commit converts the existing Thermostat plugins (Host CPU, Thread,
NUMA, etc.) to be installed using the plugin installation mechanism.
Each plugin now has a distribution module that creates a zip artifact
with the necessary jars and plugin.xml using maven-assembly-plugin.
The assembly descriptor is put in a shared place for all plugins under
a new top-level assembly module. The main distribution module now has
a dependency on each plugin's zip artifact. At build time, the
distribution module invokes maven-assembly-plugin again to unpack all
plugins' distribution zips under target/plugins. The reason for using
zips is that it seemed to be the only way for maven-assembly-plugin to
create the desired layout under target/plugins, although other archive
formats should work just as well.
I have similarly changed distribution to use maven-assembly-plugin to
place core jars under target/libs. The one difference here is that
expectj.jar and tools.jar are no longer included. This seems to be since
expectj is only used for testing and tools.jar is always provided by the
system. So this change should be beneficial in that regard, along with
reducing the amount of plugins we use and thus simplifying our build.
I have also modified the plugin.xml parser to ignore comments, as the
copyright headers were breaking it. As far as building goes, mvn clean
package still builds the core and all plugins.
Reviewed-by: jerboaa, omajid, vanaltj
Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2013-February/005580.html
author | Elliott Baron <ebaron@redhat.com> |
---|---|
date | Tue, 26 Feb 2013 15:31:32 -0500 |
parents | e765c145d124 |
children |
line wrap: on
line source
# Needs at least one implementing storage back-end (e.g. mongodb), # since it builds on top of this implementing back-end. bundles = thermostat-web-cmd-@project.version@.jar, \ thermostat-web-server-@project.version@.jar, \ thermostat-web-common-@project.version@.jar, \ thermostat-storage-mongodb-${project.version}.jar, \ mongo.jar, \ commons-beanutils.jar, \ commons-codec.jar, \ commons-collections.jar, \ commons-logging.jar, \ commons-fileupload.jar, \ commons-io.jar, \ gson.jar, \ jetty-continuation.jar, \ jetty-http.jar, \ jetty-io.jar, \ jetty-security.jar, \ jetty-server.jar, \ jetty-servlet.jar, \ jetty-util.jar, \ jetty-webapp.jar, \ jetty-xml.jar, \ javax-servlet.jar, \ description = starts and stops the thermostat web service usage = webservice -d <url> -b <addrs> [-u <user> -p <password>] [-l <level>] options = AUTO_DB_OPTIONS, dbUrl, bindAddrs, AUTO_LOG_OPTION dbUrl.required = true bindAddrs.long = bindAddrs bindAddrs.short = b bindAddrs.hasarg = true bindAddrs.required = true bindAddrs.description = A comma separated list of IP address, \ port pairs used for binding (e.g. 127.0.0.1:8888,127.0.0.1:8889)