...
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:
- How many NOTICE files (e.g., Disclaimer, Keys, License, etc.), and which files they are;
- How many Apache-Licensed Files (via license headers), and which files they are;
- 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 |