merging mavenized branch changes from revision 382466 to the current head

git-svn-id: https://svn.apache.org/repos/asf/incubator/felix/trunk@383566 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/installers/LICENSE.txt b/installers/LICENSE.txt
new file mode 100644
index 0000000..e5130ad
--- /dev/null
+++ b/installers/LICENSE.txt
@@ -0,0 +1,204 @@
+/*

+ *                                 Apache License

+ *                           Version 2.0, January 2004

+ *                        http://www.apache.org/licenses/

+ *

+ *   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

+ *

+ *   1. Definitions.

+ *

+ *      "License" shall mean the terms and conditions for use, reproduction,

+ *      and distribution as defined by Sections 1 through 9 of this document.

+ *

+ *      "Licensor" shall mean the copyright owner or entity authorized by

+ *      the copyright owner that is granting the License.

+ *

+ *      "Legal Entity" shall mean the union of the acting entity and all

+ *      other entities that control, are controlled by, or are under common

+ *      control with that entity. For the purposes of this definition,

+ *      "control" means (i) the power, direct or indirect, to cause the

+ *      direction or management of such entity, whether by contract or

+ *      otherwise, or (ii) ownership of fifty percent (50%) or more of the

+ *      outstanding shares, or (iii) beneficial ownership of such entity.

+ *

+ *      "You" (or "Your") shall mean an individual or Legal Entity

+ *      exercising permissions granted by this License.

+ *

+ *      "Source" form shall mean the preferred form for making modifications,

+ *      including but not limited to software source code, documentation

+ *      source, and configuration files.

+ *

+ *      "Object" form shall mean any form resulting from mechanical

+ *      transformation or translation of a Source form, including but

+ *      not limited to compiled object code, generated documentation,

+ *      and conversions to other media types.

+ *

+ *      "Work" shall mean the work of authorship, whether in Source or

+ *      Object form, made available under the License, as indicated by a

+ *      copyright notice that is included in or attached to the work

+ *      (an example is provided in the Appendix below).

+ *

+ *      "Derivative Works" shall mean any work, whether in Source or Object

+ *      form, that is based on (or derived from) the Work and for which the

+ *      editorial revisions, annotations, elaborations, or other modifications

+ *      represent, as a whole, an original work of authorship. For the purposes

+ *      of this License, Derivative Works shall not include works that remain

+ *      separable from, or merely link (or bind by name) to the interfaces of,

+ *      the Work and Derivative Works thereof.

+ *

+ *      "Contribution" shall mean any work of authorship, including

+ *      the original version of the Work and any modifications or additions

+ *      to that Work or Derivative Works thereof, that is intentionally

+ *      submitted to Licensor for inclusion in the Work by the copyright owner

+ *      or by an individual or Legal Entity authorized to submit on behalf of

+ *      the copyright owner. For the purposes of this definition, "submitted"

+ *      means any form of electronic, verbal, or written communication sent

+ *      to the Licensor or its representatives, including but not limited to

+ *      communication on electronic mailing lists, source code control systems,

+ *      and issue tracking systems that are managed by, or on behalf of, the

+ *      Licensor for the purpose of discussing and improving the Work, but

+ *      excluding communication that is conspicuously marked or otherwise

+ *      designated in writing by the copyright owner as "Not a Contribution."

+ *

+ *      "Contributor" shall mean Licensor and any individual or Legal Entity

+ *      on behalf of whom a Contribution has been received by Licensor and

+ *      subsequently incorporated within the Work.

+ *

+ *   2. Grant of Copyright License. Subject to the terms and conditions of

+ *      this License, each Contributor hereby grants to You a perpetual,

+ *      worldwide, non-exclusive, no-charge, royalty-free, irrevocable

+ *      copyright license to reproduce, prepare Derivative Works of,

+ *      publicly display, publicly perform, sublicense, and distribute the

+ *      Work and such Derivative Works in Source or Object form.

+ *

+ *   3. Grant of Patent License. Subject to the terms and conditions of

+ *      this License, each Contributor hereby grants to You a perpetual,

+ *      worldwide, non-exclusive, no-charge, royalty-free, irrevocable

+ *      (except as stated in this section) patent license to make, have made,

+ *      use, offer to sell, sell, import, and otherwise transfer the Work,

+ *      where such license applies only to those patent claims licensable

+ *      by such Contributor that are necessarily infringed by their

+ *      Contribution(s) alone or by combination of their Contribution(s)

+ *      with the Work to which such Contribution(s) was submitted. If You

+ *      institute patent litigation against any entity (including a

+ *      cross-claim or counterclaim in a lawsuit) alleging that the Work

+ *      or a Contribution incorporated within the Work constitutes direct

+ *      or contributory patent infringement, then any patent licenses

+ *      granted to You under this License for that Work shall terminate

+ *      as of the date such litigation is filed.

+ *

+ *   4. Redistribution. You may reproduce and distribute copies of the

+ *      Work or Derivative Works thereof in any medium, with or without

+ *      modifications, and in Source or Object form, provided that You

+ *      meet the following conditions:

+ *

+ *      (a) You must give any other recipients of the Work or

+ *          Derivative Works a copy of this License; and

+ *

+ *      (b) You must cause any modified files to carry prominent notices

+ *          stating that You changed the files; and

+ *

+ *      (c) You must retain, in the Source form of any Derivative Works

+ *          that You distribute, all copyright, patent, trademark, and

+ *          attribution notices from the Source form of the Work,

+ *          excluding those notices that do not pertain to any part of

+ *          the Derivative Works; and

+ *

+ *      (d) If the Work includes a "NOTICE" text file as part of its

+ *          distribution, then any Derivative Works that You distribute must

+ *          include a readable copy of the attribution notices contained

+ *          within such NOTICE file, excluding those notices that do not

+ *          pertain to any part of the Derivative Works, in at least one

+ *          of the following places: within a NOTICE text file distributed

+ *          as part of the Derivative Works; within the Source form or

+ *          documentation, if provided along with the Derivative Works; or,

+ *          within a display generated by the Derivative Works, if and

+ *          wherever such third-party notices normally appear. The contents

+ *          of the NOTICE file are for informational purposes only and

+ *          do not modify the License. You may add Your own attribution

+ *          notices within Derivative Works that You distribute, alongside

+ *          or as an addendum to the NOTICE text from the Work, provided

+ *          that such additional attribution notices cannot be construed

+ *          as modifying the License.

+ *

+ *      You may add Your own copyright statement to Your modifications and

+ *      may provide additional or different license terms and conditions

+ *      for use, reproduction, or distribution of Your modifications, or

+ *      for any such Derivative Works as a whole, provided Your use,

+ *      reproduction, and distribution of the Work otherwise complies with

+ *      the conditions stated in this License.

+ *

+ *   5. Submission of Contributions. Unless You explicitly state otherwise,

+ *      any Contribution intentionally submitted for inclusion in the Work

+ *      by You to the Licensor shall be under the terms and conditions of

+ *      this License, without any additional terms or conditions.

+ *      Notwithstanding the above, nothing herein shall supersede or modify

+ *      the terms of any separate license agreement you may have executed

+ *      with Licensor regarding such Contributions.

+ *

+ *   6. Trademarks. This License does not grant permission to use the trade

+ *      names, trademarks, service marks, or product names of the Licensor,

+ *      except as required for reasonable and customary use in describing the

+ *      origin of the Work and reproducing the content of the NOTICE file.

+ *

+ *   7. Disclaimer of Warranty. Unless required by applicable law or

+ *      agreed to in writing, Licensor provides the Work (and each

+ *      Contributor provides its Contributions) on an "AS IS" BASIS,

+ *      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or

+ *      implied, including, without limitation, any warranties or conditions

+ *      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A

+ *      PARTICULAR PURPOSE. You are solely responsible for determining the

+ *      appropriateness of using or redistributing the Work and assume any

+ *      risks associated with Your exercise of permissions under this License.

+ *

+ *   8. Limitation of Liability. In no event and under no legal theory,

+ *      whether in tort (including negligence), contract, or otherwise,

+ *      unless required by applicable law (such as deliberate and grossly

+ *      negligent acts) or agreed to in writing, shall any Contributor be

+ *      liable to You for damages, including any direct, indirect, special,

+ *      incidental, or consequential damages of any character arising as a

+ *      result of this License or out of the use or inability to use the

+ *      Work (including but not limited to damages for loss of goodwill,

+ *      work stoppage, computer failure or malfunction, or any and all

+ *      other commercial damages or losses), even if such Contributor

+ *      has been advised of the possibility of such damages.

+ *

+ *   9. Accepting Warranty or Additional Liability. While redistributing

+ *      the Work or Derivative Works thereof, You may choose to offer,

+ *      and charge a fee for, acceptance of support, warranty, indemnity,

+ *      or other liability obligations and/or rights consistent with this

+ *      License. However, in accepting such obligations, You may act only

+ *      on Your own behalf and on Your sole responsibility, not on behalf

+ *      of any other Contributor, and only if You agree to indemnify,

+ *      defend, and hold each Contributor harmless for any liability

+ *      incurred by, or claims asserted against, such Contributor by reason

+ *      of your accepting any such warranty or additional liability.

+ *

+ *   END OF TERMS AND CONDITIONS

+ *

+ *   APPENDIX: How to apply the Apache License to your work.

+ *

+ *      To apply the Apache License to your work, attach the following

+ *      boilerplate notice, with the fields enclosed by brackets "[]"

+ *      replaced with your own identifying information. (Don't include

+ *      the brackets!)  The text should be enclosed in the appropriate

+ *      comment syntax for the file format. We also recommend that a

+ *      file or class name and description of purpose be included on the

+ *      same "printed page" as the copyright notice for easier

+ *      identification within third-party archives.

+ *

+ *   Copyright [yyyy] [name of copyright owner]

+ *

+ *   Licensed under the Apache License, Version 2.0 (the "License");

+ *   you may not use this file except in compliance with the License.

+ *   You may obtain a copy of the License at

+ *

+ *       http://www.apache.org/licenses/LICENSE-2.0

+ *

+ *   Unless required by applicable law or agreed to in writing, software

+ *   distributed under the License is distributed on an "AS IS" BASIS,

+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ *   See the License for the specific language governing permissions and

+ *   limitations under the License.

+ *

+ */

diff --git a/installers/NOTICE.txt b/installers/NOTICE.txt
new file mode 100644
index 0000000..60b2812
--- /dev/null
+++ b/installers/NOTICE.txt
@@ -0,0 +1 @@
+Put incubation notice here!!!

diff --git a/installers/README.txt b/installers/README.txt
new file mode 100644
index 0000000..c466124
--- /dev/null
+++ b/installers/README.txt
@@ -0,0 +1,22 @@
+                                   Apache Felix
+                                   ============
+
+Documentation
+-------------
+
+Running
+-------
+
+Building Bundled Sources
+------------------------
+
+Notes
+-----
+
+Issues
+------
+
+
+Thanks and enjoy,
+Apache Felix Team
+
diff --git a/installers/pom.xml b/installers/pom.xml
new file mode 100644
index 0000000..c675275
--- /dev/null
+++ b/installers/pom.xml
@@ -0,0 +1,217 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.felix</groupId>
+    <artifactId>felix</artifactId>
+    <version>0.8-SNAPSHOT</version>
+  </parent>
+  <packaging>jar</packaging>
+  <name>Apache Felix Installers</name>
+  <artifactId>installers</artifactId>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.directory.daemon</groupId>
+      <artifactId>daemon-bootstrappers</artifactId>
+      <version>1.0-RC1</version>
+      <scope>provided</scope>
+    </dependency>  
+
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>nlog4j</artifactId>
+      <version>1.2.19</version>
+    </dependency>
+
+    <dependency>
+      <groupId>commons-daemon</groupId>
+      <artifactId>commons-daemon</artifactId>
+      <version>1.0.1</version>
+    </dependency>
+
+    <!-- Felix Dependencies -->
+    <dependency>
+      <groupId>${pom.groupId}</groupId>
+      <artifactId>org.apache.felix.main</artifactId>
+      <version>${pom.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>${pom.groupId}</groupId>
+      <artifactId>org.apache.felix.shell</artifactId>
+      <version>${pom.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>${pom.groupId}</groupId>
+      <artifactId>org.apache.felix.shell.tui</artifactId>
+      <version>${pom.version}</version>
+    </dependency>
+
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.directory.daemon</groupId>
+        <artifactId>daemon-plugin</artifactId>
+        <configuration>
+          <excludes>
+            <exclude>ant:ant</exclude>
+            <exclude>xerces:xercesImpl</exclude>
+            <exclude>org.apache.felix:org.apache.felix.main</exclude>
+            <exclude>org.apache.felix:org.apache.felix.shell</exclude>
+            <exclude>org.apache.felix:org.apache.felix.shell.tui</exclude>
+          </excludes>
+          <application>
+            <name>felix</name>
+            <version>${pom.version}</version>
+            <copyrightYear>2006</copyrightYear>
+            <minimumJavaVersion>1.4</minimumJavaVersion>
+            <url>http://incubator.apache.org/felix</url>
+            <email>felix-dev@incubator.apache.org</email>
+            <description>Apache OSGi Platform</description>
+            <authors>
+              <author>Apache Felix Team</author>
+              <author>rhall@apache.org</author>
+              <author>tbennett@apache.org</author>
+              <author>akarasulu@apache.org</author>
+              <author>trustin@apache.org</author>
+              <author>erodriguez@apache.org</author>
+            </authors>
+          </application>
+          <packagedFiles>
+            <packagedFile>
+              <filtered>true</filtered>
+              <source>config.properties</source>
+              <destinationPath>conf/config.properties</destinationPath>
+            </packagedFile>
+            <packagedFile>
+              <dependency>true</dependency>
+              <source>org.apache.felix:org.apache.felix.main</source>
+              <destinationPath>
+                bin/felix.jar
+              </destinationPath>
+            </packagedFile>
+            <packagedFile>
+              <dependency>true</dependency>
+              <source>org.apache.felix:org.apache.felix.shell</source>
+              <destinationPath>
+                bundle/org.apache.felix.shell-${pom.version}.jar
+              </destinationPath>
+            </packagedFile>
+            <packagedFile>
+              <dependency>true</dependency>
+              <source>org.apache.felix:org.apache.felix.shell.tui</source>
+              <destinationPath>
+                bundle/org.apache.felix.shell.tui-${pom.version}.jar
+              </destinationPath>
+            </packagedFile>
+          </packagedFiles>
+          <!--
+          <svnBaseUrl>
+            http://svn.apache.org/repos/asf/incubator/felix/trunk
+          </svnBaseUrl>
+          <packageSources>true</packageSources>
+          <packageDocs>true</packageDocs>
+          -->
+          <applicationClass>
+            org.apache.felix.daemon.Service
+          </applicationClass>
+          <rpmTargets>
+            <rpmTarget>
+              <id>linux-jsvc-rpm</id>
+              <rpmSpecificationFile>
+                src/main/installers/rpm-felix.spec
+              </rpmSpecificationFile>
+              <finalName>
+                felix-${pom.version}-linux-i386.rpm
+              </finalName>
+              <osName>Linux</osName>
+              <osFamily>unix</osFamily>
+              <osArch>i386</osArch>
+              <daemonFramework>jsvc</daemonFramework>
+            </rpmTarget>
+          </rpmTargets>
+          <innoTargets>
+            <innoTarget>
+              <id>windows-xp-procrun</id>
+              <innoConfigurationFile>
+                src/main/installers/inno-felix.iss
+              </innoConfigurationFile>
+              <finalName>
+                felix-${pom.version}-win32-setup
+              </finalName>
+              <osName>Windows XP</osName>
+              <osFamily>windows</osFamily>
+              <osVersion>5.1</osVersion>
+              <osArch>x86</osArch>
+              <daemonFramework>procrun</daemonFramework>
+            </innoTarget>
+          </innoTargets>
+          <izPackTargets>
+            <izPackTarget>
+              <id>linux-jsvc</id>
+              <izPackInstallFile>
+                src/main/installers/izpack-unix.xml
+              </izPackInstallFile>
+              <finalName>
+                felix-${pom.version}-linux-i386-setup.jar
+              </finalName>
+              <osName>Linux</osName>
+              <osFamily>unix</osFamily>
+              <osArch>i386</osArch>
+              <daemonFramework>jsvc</daemonFramework>
+            </izPackTarget>
+            <izPackTarget>
+              <finalName>
+                felix-${pom.version}-solaris-sparc-setup.jar
+              </finalName>
+              <id>solaris-jsvc-sparc</id>
+              <izPackInstallFile>
+                src/main/installers/izpack-unix.xml
+              </izPackInstallFile>
+              <osName>sunos</osName>
+              <osFamily>unix</osFamily>
+              <osArch>sparc</osArch>
+              <daemonFramework>jsvc</daemonFramework>
+            </izPackTarget>
+            <izPackTarget>
+              <id>solaris-jsvc-i386</id>
+              <izPackInstallFile>
+                src/main/installers/izpack-unix.xml
+              </izPackInstallFile>
+              <finalName>
+                felix-${pom.version}-solaris-i386-setup.jar
+              </finalName>
+              <osName>sunos</osName>
+              <osFamily>unix</osFamily>
+              <osArch>i386</osArch>
+              <daemonFramework>jsvc</daemonFramework>
+            </izPackTarget>
+            <izPackTarget>
+              <id>macosx-jsvc</id>
+              <izPackInstallFile>
+                src/main/installers/izpack-mac.xml
+              </izPackInstallFile>
+              <finalName>
+                felix-${pom.version}-macosx-ppc-setup.jar
+              </finalName>
+              <osName>macosx</osName>
+              <osFamily>unix</osFamily>
+              <osArch>ppc</osArch>
+              <daemonFramework>jsvc</daemonFramework>
+            </izPackTarget>
+          </izPackTargets>
+        </configuration>
+        <executions>
+          <execution>
+            <goals>
+              <goal>generate</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>
+
diff --git a/installers/src/main/installers/bootstrapper.properties b/installers/src/main/installers/bootstrapper.properties
new file mode 100644
index 0000000..3146d7b
--- /dev/null
+++ b/installers/src/main/installers/bootstrapper.properties
@@ -0,0 +1,2 @@
+bootstrap.start.class=org.apache.felix.daemon.Service
+bootstrap.stop.class=org.apache.felix.daemon.Service
diff --git a/installers/src/main/installers/config.properties b/installers/src/main/installers/config.properties
new file mode 100644
index 0000000..c7ebbc0
--- /dev/null
+++ b/installers/src/main/installers/config.properties
@@ -0,0 +1,26 @@
+#
+# Framework config properties.
+#
+org.osgi.framework.system.packages=javax.swing; \
+ javax.swing.plaf; \
+ javax.swing.event; \
+ javax.swing.table; \
+ javax.swing.border; \
+ javax.swing.tree; \
+ javax.swing.text; \
+ version=1.4
+#felix.cache.profile=foo
+felix.auto.start.1= \
+ file:%INSTALL_PATH/bundle/org.apache.felix.shell-${pom.version}.jar \
+ file:%INSTALL_PATH/bundle/org.apache.felix.shell.tui-${pom.version}.jar 
+felix.startlevel.framework=1
+felix.startlevel.bundle=1
+#framework.service.urlhandlers=false
+
+#
+# Bundle config properties.
+#
+org.osgi.service.http.port=8080
+osgi.shell.telnet=on
+#osgi.repository.url=file:/home/rickhall/projects/apache/repository.xml
+#osgi.repository.url=file:/home/rickhall/projects/apache/repository.xml http://www.knopflerfish.org/repo/repository.xml
diff --git a/installers/src/main/installers/inno-felix.iss b/installers/src/main/installers/inno-felix.iss
new file mode 100755
index 0000000..01492fa
--- /dev/null
+++ b/installers/src/main/installers/inno-felix.iss
@@ -0,0 +1,80 @@
+; Project supplied Inno Setup File 
+
+#define MyAppName "${app}"
+#define MyAppVerName "${app} ${app.version}"
+#define MyAppVersion "${app.version}"
+#define MyAppPublisher "${app.author}"
+#define MyAppURL "${app.url}"
+#define MyAppExeName "${app}w.exe"
+#define MyAppCompanyName "${app.company.name}"
+#define MyAppDescription "${app.description}"
+#define MyAppCopyright "Copyright (c) ${app.copyright.year} ${app.company.name}"
+
+; Set this constant to the path where your installation image resides
+#define SourceBase "${image.basedir}"
+
+[Setup]
+AppName={#MyAppName}
+AppVerName={#MyAppVerName}
+AppPublisher={#MyAppPublisher}
+AppPublisherURL={#MyAppURL}
+AppSupportURL={#MyAppURL}
+AppUpdatesURL={#MyAppURL}
+DefaultDirName={pf}\${app}-${app.version}
+DefaultGroupName={#MyAppName}
+LicenseFile={#SourceBase}\${app.license.name}
+OutputDir="${installer.output.directory}"
+OutputBaseFilename=${app.final.name}
+SetupIconFile={#SourceBase}\${app.icon.name}
+Compression=lzma
+SolidCompression=true
+VersionInfoCompany={#MyAppCompanyName}
+VersionInfoDescription={#MyAppDescription}
+AppCopyright={#MyAppCopyright}
+ShowLanguageDialog=yes
+AppVersion={#MyAppVersion}
+
+[Languages]
+Name: eng; MessagesFile: compiler:Default.isl
+
+[Tasks]
+Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
+
+[Files]
+; bin directory targets
+Source: {#SourceBase}\bin\${app}w.exe; DestDir: {app}\bin; Tasks: ; Languages: 
+Source: {#SourceBase}\bin\${app}.exe; DestDir: {app}\bin
+Source: {#SourceBase}\bin\bootstrapper.jar; DestDir: {app}\bin; DestName: bootstrapper.jar
+Source: {#SourceBase}\bin\felix.jar; DestDir: {app}\bin; DestName: felix.jar
+Source: {#SourceBase}\bin\logger.jar; DestDir: {app}\bin; DestName: logger.jar
+Source: {#SourceBase}\bin\daemon.jar; DestDir: {app}\bin; DestName: daemon.jar
+; conf directory targets
+Source: {#SourceBase}\conf\log4j.properties; DestDir: {app}\conf; DestName: log4j.properties
+Source: {#SourceBase}\conf\bootstrapper.properties; DestDir: {app}\conf; DestName: bootstrapper.properties
+; top level directory targets 
+Source: {#SourceBase}\${app.license.name}; DestDir: {app}; DestName: ${app.license.name}
+Source: {#SourceBase}\${app.readme.name}; DestDir: {app}; DestName: ${app.readme.name}
+Source: {#SourceBase}\${app.icon.name}; DestDir: {app}; DestName: ${app.icon.name}
+; empty var & lib\ext directory structure
+Source: {#SourceBase}\var\*; DestDir: "{app}\var\"; Flags: ignoreversion recursesubdirs createallsubdirs
+Source: {#SourceBase}\lib\ext; DestDir: "{app}\lib"; Flags: ignoreversion recursesubdirs createallsubdirs
+; lib directory targets
+${app.lib.jars}
+${docs.directive}
+${sources.directive}
+${notice.file}
+
+[Icons]
+Name: {group}\Service Settings; Filename: {app}\bin\${app}w.exe; Parameters: //ES//${app}; IconIndex: 0
+Name: {userdesktop}\{#MyAppName}; Filename: {app}\bin\${app}w.exe; Tasks: desktopicon; Parameters: //ES//${app}; IconIndex: 0; Languages: 
+Name: {group}\Tray Monitor; Filename: {app}\bin\${app}w.exe; Parameters: //MS//${app}; IconIndex: 0
+Name: {group}\Test Service; Filename: {app}\bin\${app}.exe; IconIndex: 0
+
+[Run]
+Filename: {app}\bin\${app}.exe; WorkingDir: {app}\bin; Tasks: ; Languages: ; Parameters: "//IS//${app.displayname} --Description=""${app.description} Service ${app.version} - ${app.url}"" --DisplayName=${app.displayname} --Install=""{app}\bin\${app}.exe"" --StartMode=jvm --StopMode=jvm --StartClass=org.apache.directory.daemon.ProcrunBootstrapper --StartMethod prunsrvStart --StartParams=""{app}"" --StopClass=org.apache.directory.daemon.ProcrunBootstrapper --StopMethod prunsrvStop --StopParams=""{app}"" --Startup=manual --JvmOptions=""-D${app}.home={app}"" --Classpath=""{app}\bin\bootstrapper.jar;{app}\conf;{app}\bin\logger.jar;{app}\bin\daemon.jar"" --LogPath=""{app}\var\log"" --LogPrefix=${app}.log --LogLevel=debug --StdOutput=""{app}\var\log\${app}-stdout.log"" --StdError=""{app}\var\log\${app}-stderr.log"""; Flags: runhidden
+Filename: {app}\bin\${app}w.exe; Parameters: //ES//${app.displayname}; WorkingDir: {app}\bin; Flags: postinstall nowait; Description: Runs the configuration manager for the ${app} windows service
+
+[Registry]
+
+[UninstallRun]
+Filename: {app}\bin\${app}.exe; WorkingDir: {app}\bin; Parameters: //DS//${app.displayname}
diff --git a/installers/src/main/installers/izpack-mac.xml b/installers/src/main/installers/izpack-mac.xml
new file mode 100644
index 0000000..6b958e0
--- /dev/null
+++ b/installers/src/main/installers/izpack-mac.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<!--
+  /*
+  *   Copyright 2004 The Apache Software Foundation
+  *
+  *   Licensed under the Apache License, Version 2.0 (the "License");
+  *   you may not use this file except in compliance with the License.
+  *   You may obtain a copy of the License at
+  *
+  *       http://www.apache.org/licenses/LICENSE-2.0
+  *
+  *   Unless required by applicable law or agreed to in writing, software
+  *   distributed under the License is distributed on an "AS IS" BASIS,
+  *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  *   See the License for the specific language governing permissions and
+  *   limitations under the License.
+  *
+  */
+-->
+
+<installation version="1.0">
+  <info>
+    <appname>${app}</appname>
+    <appversion>${app.version}</appversion>
+    <appsubpath>${app}-${app.version}</appsubpath>
+    <authors>
+      <author name="${app.author}" email="${app.email}" />
+    </authors>
+    <url>${app.url}</url>
+    <javaversion>${app.java.version}</javaversion>
+  </info>
+
+  <guiprefs height="480" resizable="yes" width="640">
+    <laf name="metouia">
+      <os family="unix" />
+    </laf>
+  </guiprefs>
+
+  <locale>
+    <langpack iso3="eng" />
+  </locale>
+
+  <resources>
+    <res id="installer.langsel.img" src="${app.icon}" />
+    <res id="Installer.image" src="${app.icon}" />
+    <res id="Installer.image.0" src="${app.icon}" />
+    <res id="Installer.image.1" src="${app.icon}" />
+    <res id="Installer.image.2" src="${app.icon}" />
+    <res id="Installer.image.3" src="${app.icon}" />
+    <res id="Installer.image.4" src="${app.icon}" />
+    <res id="Installer.image.5" src="${app.icon}" />
+    <res id="LicencePanel.licence" src="${app.license}" />
+    <res id="InfoPanel.info" src="${app.readme}" />
+    <res id="ImgPacksPanel.img.0" src="${app.icon}" />
+    <res id="ImgPacksPanel.img.1" src="${app.icon}" />
+    <res id="shortcutSpec.xml" src="${unix.shortcuts}" />
+    <res id="Unix_shortcutSpec.xml" src="${unix.shortcuts}" />
+    <res id="userInputSpec.xml" src="${user.input}" />
+  </resources>
+
+  <panels>
+    <panel classname="HelloPanel" />
+    <panel classname="InfoPanel" />
+    <panel classname="LicencePanel" />
+    <panel classname="TargetPanel" />
+    <panel classname="ImgPacksPanel" />
+    <panel classname="InstallPanel" />
+    <panel classname="ShortcutPanel" />
+    <panel classname="FinishPanel" />
+  </panels>
+
+  <packs>
+    <pack name="Binaries" required="yes">
+      <description>Binary Executables</description>
+      <fileset dir="${image.basedir}" targetdir="$INSTALL_PATH">
+        <include name="**/*" />
+      </fileset>
+    
+      <executable os="unix" targetfile="$INSTALL_PATH/bin/${app}" stage="never" keep="true" />
+      <singlefile os="unix" src="bin/${server.init}" target="/etc/init.d/${app}" />
+      <parsable os="unix" targetfile="$INSTALL_PATH/bin/${server.init}" type="shell" />
+      <parsable os="unix" targetfile="/etc/init.d/${app}" type="shell" />
+      <executable os="unix" targetfile="/etc/init.d/${app}" stage="never" keep="true" />
+      <executable os="unix" targetfile="$INSTALL_PATH/bin/${server.init}" stage="never" keep="true" />
+    </pack>
+  </packs>
+</installation>
diff --git a/installers/src/main/installers/izpack-unix.xml b/installers/src/main/installers/izpack-unix.xml
new file mode 100644
index 0000000..bbf4ffa
--- /dev/null
+++ b/installers/src/main/installers/izpack-unix.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<!--
+  /*
+  *   Copyright 2004 The Apache Software Foundation
+  *
+  *   Licensed under the Apache License, Version 2.0 (the "License");
+  *   you may not use this file except in compliance with the License.
+  *   You may obtain a copy of the License at
+  *
+  *       http://www.apache.org/licenses/LICENSE-2.0
+  *
+  *   Unless required by applicable law or agreed to in writing, software
+  *   distributed under the License is distributed on an "AS IS" BASIS,
+  *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  *   See the License for the specific language governing permissions and
+  *   limitations under the License.
+  *
+  */
+-->
+
+<installation version="1.0">
+  <info>
+    <appname>${app}</appname>
+    <appversion>${app.version}</appversion>
+    <appsubpath>${app}-${app.version}</appsubpath>
+    <authors>
+      <author name="${app.author}" email="${app.email}" />
+    </authors>
+    <url>${app.url}</url>
+    <javaversion>${app.java.version}</javaversion>
+  </info>
+
+  <guiprefs height="480" resizable="yes" width="640">
+    <laf name="metouia">
+      <os family="unix" />
+    </laf>
+  </guiprefs>
+
+  <locale>
+    <langpack iso3="eng" />
+  </locale>
+
+  <resources>
+    <res id="installer.langsel.img" src="${app.icon}" />
+    <res id="Installer.image" src="${app.icon}" />
+    <res id="Installer.image.0" src="${app.icon}" />
+    <res id="Installer.image.1" src="${app.icon}" />
+    <res id="Installer.image.2" src="${app.icon}" />
+    <res id="Installer.image.3" src="${app.icon}" />
+    <res id="Installer.image.4" src="${app.icon}" />
+    <res id="Installer.image.5" src="${app.icon}" />
+    <res id="LicencePanel.licence" src="${app.license}" />
+    <res id="InfoPanel.info" src="${app.readme}" />
+    <res id="ImgPacksPanel.img.0" src="${app.icon}" />
+    <res id="ImgPacksPanel.img.1" src="${app.icon}" />
+    <res id="shortcutSpec.xml" src="${unix.shortcuts}" />
+    <res id="Unix_shortcutSpec.xml" src="${unix.shortcuts}" />
+    <res id="userInputSpec.xml" src="${user.input}" />
+  </resources>
+
+  <panels>
+    <panel classname="HelloPanel" />
+    <panel classname="InfoPanel" />
+    <panel classname="LicencePanel" />
+    <panel classname="TargetPanel" />
+    <panel classname="ImgPacksPanel" />
+    <panel classname="InstallPanel" />
+    <panel classname="ShortcutPanel" />
+    <panel classname="FinishPanel" />
+  </panels>
+
+  <packs>
+    <pack name="Binaries" required="yes">
+      <description>Binary Executables</description>
+      <fileset dir="${image.basedir}" targetdir="$INSTALL_PATH">
+        <include name="**/*" />
+      </fileset>
+    
+      <executable os="unix" targetfile="$INSTALL_PATH/bin/${app}" stage="never" keep="true" />
+      <singlefile os="unix" src="bin/${server.init}" target="/etc/init.d/${app}" />
+      <parsable os="unix" targetfile="$INSTALL_PATH/bin/${server.init}" type="shell" />
+      <parsable os="unix" targetfile="$INSTALL_PATH/conf/config.properties" type="shell" />
+      <parsable os="unix" targetfile="/etc/init.d/${app}" type="shell" />
+      <executable os="unix" targetfile="/etc/init.d/${app}" stage="never" keep="true" />
+      <executable os="unix" targetfile="$INSTALL_PATH/bin/${server.init}" stage="never" keep="true" />
+      <executable os="unix" targetfile="$INSTALL_PATH/bin/felix.jar" stage="never" keep="true" />
+    </pack>
+  </packs>
+</installation>
diff --git a/installers/src/main/installers/izpack-windows.xml b/installers/src/main/installers/izpack-windows.xml
new file mode 100644
index 0000000..ade1c2b
--- /dev/null
+++ b/installers/src/main/installers/izpack-windows.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<!--
+  /*
+  *   Copyright 2004 The Apache Software Foundation
+  *
+  *   Licensed under the Apache License, Version 2.0 (the "License");
+  *   you may not use this file except in compliance with the License.
+  *   You may obtain a copy of the License at
+  *
+  *       http://www.apache.org/licenses/LICENSE-2.0
+  *
+  *   Unless required by applicable law or agreed to in writing, software
+  *   distributed under the License is distributed on an "AS IS" BASIS,
+  *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  *   See the License for the specific language governing permissions and
+  *   limitations under the License.
+  *
+  */
+-->
+<installation version="1.0">
+  <info>
+    <appname>${app}</appname>
+    <appversion>${app.version}</appversion>
+    <appsubpath>${app}-${app.version}</appsubpath>
+    <authors>
+      <author name="${app.author}" email="${app.email}" />
+    </authors>
+    <url>${app.url}</url>
+    <javaversion>${app.java.version}</javaversion>
+  </info>
+
+  <guiprefs height="480" resizable="yes" width="640">
+    <laf name="looks">
+      <os family="windows" />
+      <param name="variant" value="extwin" />
+    </laf>
+  </guiprefs>
+
+  <locale>
+    <langpack iso3="eng" />
+  </locale>
+
+  <resources>
+    <res id="installer.langsel.img" src="${app.icon}" />
+    <res id="Installer.image" src="${app.icon}" />
+    <res id="Installer.image.0" src="${app.icon}" />
+    <res id="Installer.image.1" src="${app.icon}" />
+    <res id="Installer.image.2" src="${app.icon}" />
+    <res id="Installer.image.3" src="${app.icon}" />
+    <res id="Installer.image.4" src="${app.icon}" />
+    <res id="Installer.image.5" src="${app.icon}" />
+
+    <res id="LicencePanel.licence" src="${app.license}" />
+    <res id="InfoPanel.info" src="${app.readme}" />
+
+    <res id="ImgPacksPanel.img.0" src="${app.icon}" />
+    <res id="ImgPacksPanel.img.1" src="${app.icon}" />
+    <res id="Win_shortcutSpec.xml" src="${windows.shortcuts}" />
+    <res id="userInputSpec.xml" src="${user.input}" />
+  </resources>
+
+  <native type="izpack" name="ShellLink.dll" />
+
+  <panels>
+    <panel classname="HelloPanel" />
+    <panel classname="InfoPanel" />
+    <panel classname="LicencePanel" />
+    <panel classname="TargetPanel" />
+    <panel classname="ImgPacksPanel" />
+    <panel classname="InstallPanel" />
+    <panel classname="ShortcutPanel" />
+    <panel classname="FinishPanel" />
+  </panels>
+
+  <!--
+    The packs section.  We specify here our packs.
+  -->
+  <packs>
+    <pack name="Binaries" required="yes">
+      <description>Binary executables</description>
+      <fileset dir="${image.basedir}" targetdir="$INSTALL_PATH">
+        <include name="**/*" />
+      </fileset>
+    </pack>
+  </packs>
+</installation>
diff --git a/installers/src/main/installers/log4j.properties b/installers/src/main/installers/log4j.properties
new file mode 100644
index 0000000..8911ad1
--- /dev/null
+++ b/installers/src/main/installers/log4j.properties
@@ -0,0 +1,8 @@
+log4j.rootCategory=WARN, stdout
+
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=[%d{HH:mm:ss}] %p [%c] - %m%n
+
+# with these we'll not get innundated when switching to DEBUG
+
diff --git a/installers/src/main/installers/rpm-felix.spec b/installers/src/main/installers/rpm-felix.spec
new file mode 100644
index 0000000..c37912f
--- /dev/null
+++ b/installers/src/main/installers/rpm-felix.spec
@@ -0,0 +1,86 @@
+Summary: ${app.display.name} Server 
+Name: ${app}
+Version: ${app.version}
+Release: ${app.release}
+License: ${app.license.type}
+Group: System Environment/Daemons
+URL: ${app.url}
+Source0: %{name}-%{version}.tar.gz
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+
+%description
+${app.description}
+
+%prep
+echo $RPM_BUILD_ROOT
+rm -rf $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT
+cp -rf ${image.basedir} $RPM_BUILD_ROOT/%{name}-%{version}
+cd $RPM_BUILD_ROOT
+tar -zcvf /usr/src/redhat/SOURCES/%{name}-%{version}.tar.gz %{name}-%{version}
+
+%setup -q
+
+%build
+cd $RPM_BUILD_ROOT/%{name}-%{version}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT/usr/local/${app}-%{version}/bin
+mkdir -p $RPM_BUILD_ROOT/usr/local/${app}-%{version}/conf
+mkdir -p $RPM_BUILD_ROOT/usr/local/${app}-%{version}/lib/ext
+mkdir -p $RPM_BUILD_ROOT/usr/local/${app}-%{version}/var/log
+mkdir -p $RPM_BUILD_ROOT/usr/local/${app}-%{version}/var/run
+mkdir -p $RPM_BUILD_ROOT/usr/local/${app}-%{version}/var/partitions
+touch $RPM_BUILD_ROOT/usr/local/${app}-%{version}/var/log/${app}-stderr.log
+touch $RPM_BUILD_ROOT/usr/local/${app}-%{version}/var/log/${app}-stdout.log
+mkdir -p $RPM_BUILD_ROOT/etc/init.d
+${mk.docs.dirs}
+${mk.sources.dirs}
+
+pwd
+install -m 755 ${image.basedir}/bin/${app} $RPM_BUILD_ROOT/usr/local/${app}-%{version}/bin/${app}
+install -m 644 ${image.basedir}/bin/bootstrapper.jar $RPM_BUILD_ROOT/usr/local/${app}-%{version}/bin/bootstrapper.jar
+install -m 644 ${image.basedir}/bin/logger.jar $RPM_BUILD_ROOT/usr/local/${app}-%{version}/bin/logger.jar
+install -m 644 ${image.basedir}/bin/daemon.jar $RPM_BUILD_ROOT/usr/local/${app}-%{version}/bin/daemon.jar
+install -m 644 ${image.basedir}/conf/bootstrapper.properties $RPM_BUILD_ROOT/usr/local/${app}-%{version}/conf/bootstrapper.properties
+install -m 644 ${image.basedir}/conf/log4j.properties $RPM_BUILD_ROOT/usr/local/${app}-%{version}/conf/log4j.properties
+install -m 744 ${image.basedir}/bin/${server.init} $RPM_BUILD_ROOT/etc/init.d/${app}
+install -m 744 ${image.basedir}/bin/felix.jar $RPM_BUILD_ROOT/usr/local/${app}-%{version}/bin/felix.jar
+install -m 644 ${image.basedir}/${app.license.name} $RPM_BUILD_ROOT/usr/local/${app}-%{version}
+install -m 644 ${image.basedir}/${app.readme.name} $RPM_BUILD_ROOT/usr/local/${app}-%{version}
+install -m 644 ${image.basedir}/${app.icon} $RPM_BUILD_ROOT/usr/local/${app}-%{version}
+${install.append.libs}
+${install.docs}
+${install.sources}
+${install.notice.file}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(-,root,root,-)
+%doc ${app.license.name} ${app.readme.name}
+
+/etc/init.d/${app}
+/usr/local/${app}-%{version}/bin/${app}
+/usr/local/${app}-%{version}/bin/bootstrapper.jar
+/usr/local/${app}-%{version}/bin/logger.jar
+/usr/local/${app}-%{version}/bin/daemon.jar
+/usr/local/${app}-%{version}/bin/felix.jar
+/usr/local/${app}-%{version}/conf/log4j.properties
+/usr/local/${app}-%{version}/conf/bootstrapper.properties
+/usr/local/${app}-%{version}/conf/server.xml
+/usr/local/${app}-%{version}/lib/ext
+/usr/local/${app}-%{version}/var/run
+/usr/local/${app}-%{version}/var/log
+/usr/local/${app}-%{version}/var/partitions
+/usr/local/${app}-%{version}/var/log/${app}-stderr.log
+/usr/local/${app}-%{version}/var/log/${app}-stdout.log
+/usr/local/${app}-%{version}/${app.readme.name}
+/usr/local/${app}-%{version}/${app.license.name}
+/usr/local/${app}-%{version}/${app.icon}
+${verify.append.libs}
+${verify.docs}
+${verify.sources}
+${verify.notice.file}