Uploaded image for project: 'Felix'
  1. Felix
  2. FELIX-1747

Use Remote Resources Plugin to generate the legal files




      Richard Hall started a discussion on the dev list to redo the Apache Felix NOTICE file [1] and also created a Wiki page as the basis for further discussion [2].

      I have now tried to convert the WebConsole project and the parent pom into using the remote resources plugin.

      The parent POM is modified to depend on the Apache parent 6, which already includes the remote resources plugin setup. I also added the maven-ianal-plugin which verifies the presence of the legal files (and IIRC also runs rat on the source). I will attach the parent pom patch.

      Note, that depending on the Apache parent 6, we can even get rid of most of our release profile setup, which is already present in the Apache parent 6.

      The modified Web Console project is available in my sandbox at [3]. The changes are

      • depend on the snapshot parent pom (expecting modification patch applied)
      • removed all notice and license files from root folder
      • created src/main/appended-resources folder with the following contents
      • supplemental-models.xml for the JSON additional information (this file is required only for incomplete dependencies)
      • LICENSE.vm - additional licenses in one single file - will be merged with ASL2 file
      • NOTICE.vm - additional notes (only silk icons are required here)

      The result is the correct LICENSE file (ASL2 plus all dependent licenses) and correct NOTICE only containining required notes and finally a DEPENDENCIES file listing M2 dependencies with their organizational and license information.

      One thing that is still missing from this setup is the correct setup of the maven assembly plugin: This plugin does not pack the generated LICENSE and NOTICE files using the plugin provided descriptors. The solution would be to define our own descriptors in a separate project, which we can refer to in the assembly plugin setup (see [4] for how we could do this). This would simplify parent pom setup for releases even more because we could define the descriptors without bz2 generation and directly attach the generated assemblies.

      [1] http://markmail.org/thread/x2gcnlwil46imks3
      [2] http://cwiki.apache.org/confluence/display/FELIX/NOTICE+file+template+%28PROPOSED%29
      [3] http://svn.apache.org/repos/asf/felix/sandbox/fmeschbe/webconsole_notice
      [4] http://maven.apache.org/plugins/maven-assembly-plugin/examples/sharing-descriptors.html


        1. FELIX-1747-apache-parent-7-v2.patch
          11 kB
          Felix Meschberger
        2. FELIX-1747-apache-parent-7.patch
          8 kB
          Felix Meschberger
        3. FELIX-1747-parent-pom-with-felix-assembly-descriptors.patch
          9 kB
          Felix Meschberger
        4. FELIX-1747-parent-pom.patch
          4 kB
          Felix Meschberger

        Issue Links



              fmeschbe Felix Meschberger
              fmeschbe Felix Meschberger
              0 Vote for this issue
              1 Start watching this issue