1. 25 May, 2017 1 commit
    • Guus der Kinderen's avatar
      OF-546: Move Maven POM files into source directory. · 79ae79bf
      Guus der Kinderen authored
      I continue to be thoroughly confused by having two directories per plugin, one for the plugin sources, and one for the maven build. This commit merges both directories.
      
      As a side effect, various plugin unit tests are now executed by default. Some failed, for which I applied fixes.
      
      This commit also adds some plugins to the Maven structure that previously were not.
      79ae79bf
  2. 20 May, 2017 1 commit
  3. 18 May, 2017 1 commit
  4. 16 May, 2017 2 commits
  5. 15 May, 2017 1 commit
  6. 11 May, 2017 1 commit
  7. 09 May, 2017 3 commits
  8. 08 May, 2017 5 commits
    • Michael Klein's avatar
    • Guus der Kinderen's avatar
      OF-546 / OF-1326: Made compatible with API changes. · 2968ce49
      Guus der Kinderen authored
      The Openfire plugin developer guide states that 'additinal' files should be in /classes/. Apparently, the old Ant script also included any files in the /src/. The new Maven structure does not.
      To work around compatibility issues, code that was in /src/ is now moved to /classes/. This should work with both Ant, as well as Maven.
      
      Additionally, this plugin now makes use of the new HttpBindManager API for registering contexts with the BOSH context. I do wonder if this plugin has any reason to be here though. Can't it just run its own embedded Jetty server?
      2968ce49
    • Guus der Kinderen's avatar
      d2b3b491
    • Guus der Kinderen's avatar
      OF-1326: Improve sharing of the BOSH context · a0049776
      Guus der Kinderen authored
      Intead of using a parent context, a collection of Jetty handlers can be used to dynamically add/remove functionality to the BOSH context.
      
      This commit replaces the parent context instance with a ordered list of handlers, which will attempt to process a request by:
      
      1. Checking if this is a BOSH request
      2. Checking if this is a request for BOSH metadata
      3. Check if an extension was provided that can handle the request
      4. Try to serve static content as a last resort.
      
      In step 3, a collection of handlers is used, that can be modified at runtime. This allows plugins to register/remove handlers.
      
      The entire collection of handlers (1 to 4) is maintained with a lifecycle that's different from the embedded Jetty server that uses them. This
      allows the collection to survive a server reconfiguration, as well as act independent of the 'enabled' state of the BOSH service.
      a0049776
    • Michael Klein's avatar
      OF-1325 -- Implement separate History settings in Client Control (#796) · d28568fe
      Michael Klein authored
      * OF-1325 -- Implement separate History settings in Client Control
      
      * OF-1325 -- Implement separate History settings in Client Control
      
      * OF-1325 -- Implement separate History settings in Client Control
      d28568fe
  9. 04 May, 2017 1 commit
  10. 03 May, 2017 1 commit
  11. 27 Apr, 2017 1 commit
  12. 26 Apr, 2017 10 commits
  13. 25 Apr, 2017 4 commits
  14. 24 Apr, 2017 6 commits
    • Guus der Kinderen's avatar
      OF-546: Allow plugin name override. (#781) · db179b23
      Guus der Kinderen authored
      By default, the Maven structure uses the Maven artifactId value as the name for a plugin.
      Maven artifactIds typically include tokens that will cause problems, such as dashes and dots.
      The plugin name is used in various places, that all have limitations: filenames (the jar file
      itself, the i18n files), package names (for the java files generated from JSPs), etc.
      
      This commit allows the name of the plugin to be overridden using a maven property 'plugin.name'
      and includes instructions on what the best format is.
      db179b23
    • Guus der Kinderen's avatar
      OF-546: Distribute custom tags in a library. · 54687deb
      Guus der Kinderen authored
      For plugins to be able to use the tags used in the admin console, the tags should be distributed in a library. By making this library a Maven module, plugins can define the library as a dependency.
      
      Note that the admin.tld file is duplicated, but *slightly* modified in the Maven module: the path of the tags is different (META-INF vs WEB-INF).
      54687deb
    • Guus der Kinderen's avatar
      OF-546: Update HSQLDB dependency to match included library. · 404a63d9
      Guus der Kinderen authored
      The HSQLDB library that ships with Openfire (for Ant) is newer than the
      dependency that's defined in Maven. This introduces a compatibility issue
      at runtime:
      
      > org.jivesoftware.database.SchemaManager - Unexpected token: FILES in statement [ SET FILES]
      
      The difference is likely an oversight, caused by us taking a very long time
      to merge the Maven PR. At the time it was created, the dependency was still okay.
      404a63d9
    • Guus der Kinderen's avatar
      OF-546: Exclude Avalon from Proxool · 311ab09b
      Guus der Kinderen authored
      The Avalon framework is a dependency of the Proxool Maven artificat, but was
      never included as a library to Openfire prior the move to Maven (so, we can
      do without).
      
      The Avalon dependency itself has a dependency of servlet-api 2.3, which is
      unwanted, and causes issues when compiling JSPs.
      311ab09b
    • Guus der Kinderen's avatar
      OF-546: Plugin artifact rework · 4b9c341e
      Guus der Kinderen authored
      Previously, the openfire-plugin-assembly artifact replaced the default artifact. When using
      plugin project as a Maven dependency, this causes oddities: the dependency still is a JAR file,
      but does not conform to a standard archive. This results in missing classes. Instead, this commit
      retains the original project artifact. This is expected to be more useful.
      
      Sadly, we appear to can pick only one of these options:
      
      - Attach the openfire-plugin-assembly artifact (making it referencable)
      - Define a finalName for this artifact (<artifactname>.plugin)
      
      Both options appear to be mutually exclusive.
      
      More annoyance is prevented by giving the plugin jar file a 'proper' name, I suspect, which is why
      I opted for doing that. For the other option, set 'appendAssemblyId' to true, and remove the
      'attach' element of the 'make-assembly' block.
      
      The removed openfire-plugin-jar assembly does not appear to have a practical purpose: it builds a
      jar file that is pretty similar to the standard artifact (it misses some metadata, and its final
      name is different). Removing this assembly reduces complexity, at the cost of a benefit that I
      cannot see.
      4b9c341e
    • Guus der Kinderen's avatar
      6fbd4127
  15. 19 Apr, 2017 2 commits