Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Following this, you can proceed with running build tests, unit tests, and integration tests as described above.


Auditing Release Packages

Using RAT to Verify Apache Licensing

The Release Auditing Tool is tailor-made to evaluate license headers on the file structure of a release, and it's very accurate. It will report on:

  1. How many NOTICE files (e.g., Disclaimer, Keys, License, etc.), and which files they are;
  2. How many Apache-Licensed Files (via license headers), and which files they are;
  3. How many and which files are Binaries (generally not OK in src releases) and Standard (e.g., src)

You'll note that RAT provides excellent integration into Apache Maven and Ant, but none for Node.js builds. This means that RAT cannot be configured to automatically produce a summary report upon building UserALE.js. You'll have to run it at the command line:

Follow instructions for installing RAT and its major dependency, Maven

Once the RAT /BIN file is accessible, make your life much easier and append the .jar file to your $PATH:

Code Block
$ export RAT=./apache-rat-project/apache-rat/target/apache-rat-0.13.jar


Now, having made your life easier, you can run RAT from the command line against a src directory or .tgz:

Code Block
$ java -jar $RAT .apache-flagon-useralejs-X.Y.Z-src #runs report on target directory

$ java -jar $RAT --help #gives options


Continuing the theme of self improvement, use Regex Wildcards to exclude certain files that can't have headers or don't need to (e.g., .JSON, .md, .rdf):

Code Block
$ java -jar $RAT -e ".+\\.json" -e ".+\\.md"  -d ./apache-flagon-useralejs-X.Y.Z-src


What you're looking for are src files w/o License headers (e.g., .html, .js). Your summary will look like this (note that all .JSON and .md files are excluded):

Code Block
*****************************************************

Files with unapproved licenses:

  ./apache-flagon-useralejs-incubating-2.1.0-src/.babelrc #<--S'OK, this is basically JSON
  ./apache-flagon-useralejs-incubating-2.1.0-src/example/webpackUserAleExample/webpack.config.js #<--NOT OK

*****************************************************

*****************************************************
  Files with Apache License headers will be marked AL
  Binary files (which do not require any license headers) will be marked B
  Compressed archives will be marked A
  Notices, licenses etc. will be marked N
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/.asf.yaml
 !????? ./apache-flagon-useralejs-incubating-2.1.0-src/.babelrc
  N     ./apache-flagon-useralejs-incubating-2.1.0-src/DISCLAIMER
  N     ./apache-flagon-useralejs-incubating-2.1.0-src/KEYS
  N     ./apache-flagon-useralejs-incubating-2.1.0-src/LICENSE
  N     ./apache-flagon-useralejs-incubating-2.1.0-src/NOTICE
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/doap-userale.js.rdf
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/gulpfile.js
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/build/userale-2.1.0.js
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/build/userale-2.1.0.min.js
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/build/UserAleWebExtension/background.js
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/build/UserAleWebExtension/content.js
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/build/UserAleWebExtension/options.js
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/build/UserAleWebExtension/optionsPage.html
  B     ./apache-flagon-useralejs-incubating-2.1.0-src/build/UserAleWebExtension/icons/border-48.png
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/example/index.html
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/example/index.js
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/example/server.js
  N     ./apache-flagon-useralejs-incubating-2.1.0-src/example/webpackUserAleExample/LICENSE
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/example/webpackUserAleExample/index.html
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/example/webpackUserAleExample/index.js
 !????? ./apache-flagon-useralejs-incubating-2.1.0-src/example/webpackUserAleExample/webpack.config.js
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/example/webpackUserAleExample/dist/main.js
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/src/attachHandlers.js
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/src/configure.js
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/src/getInitialSettings.js
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/src/main.js
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/src/packageLogs.js
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/src/sendLogs.js
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/src/UserALEWebExtension/background.js
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/src/UserALEWebExtension/content.js
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/src/UserALEWebExtension/globals.js
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/src/UserALEWebExtension/messageTypes.js
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/src/UserALEWebExtension/options.js
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/src/UserALEWebExtension/optionsPage.html
  B     ./apache-flagon-useralejs-incubating-2.1.0-src/src/UserALEWebExtension/icons/border-48.png
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/src/UserALEWebExtension/public/index.html
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/test/attachHandlers_spec.js
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/test/configure_spec.js
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/test/getInitialSettings_fetchAll.html
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/test/getInitialSettings_spec.js
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/test/getInitialSettings_userParam.html
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/test/main.html
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/test/main_spec.js
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/test/packageLogs.html
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/test/packageLogs_spec.js
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/test/sendLogs_spec.js
  AL    ./apache-flagon-useralejs-incubating-2.1.0-src/test/testUtils.js