This plugin provides a task to generate a HTML license report based on the
configuration. (eg. licenseDebugReport
for all debug dependencies in an Android project).
Applying this to an Android or Java project will generate a the license
file(open_source_licenses.html
) in the <project>/build/reports/licenses/
.
Also, for Android projects the license HTML file will be copied to <project>/src/main/assets/
.
Release:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath "com.jaredsburrows:gradle-license-plugin:0.7.0"
}
}
apply plugin: "com.android.application" // or "java-library"
apply plugin: "com.jaredsburrows.license"
Release versions are available in the JFrog Bintray repository: https://bintray.com/jaredsburrows/maven/gradle-license-plugin
Snapshot:
buildscript {
repositories {
maven { url "https://oss.jfrog.org/artifactory/oss-snapshot-local/" }
}
dependencies {
classpath "com.jaredsburrows:gradle-license-plugin:0.8.0-SNAPSHOT"
}
}
apply plugin: "com.android.application" // or "java-library"
apply plugin: "com.jaredsburrows.license"
Snapshot versions are available in the JFrog Artifactory repository: https://oss.jfrog.org/webapp/#/builds/gradle-license-plugin
license${variant}Report
for AndroidlicenseReport
for Java
Generates a HTML report of the all open source licenses. (eg. licenseDebugReport
for all debug dependencies in an Android project).
Example build.gradle
:
dependencies {
compile "com.android.support:design:26.1.0"
compile "pl.droidsonroids.gif:android-gif-drawable:1.2.3"
}
HTML:
<html>
<head>
<style>body{font-family:sans-serif;}pre{background-color:#eee;padding:1em;white-space:pre-wrap;}</style>
<title>Open source licenses</title>
</head>
<body>
<h3>Notice for libraries:</h3>
<ul>
<li>
<a href='#-989311426'>Android GIF Drawable Library</a>
</li>
<li>
<a href='#1288288048'>Design</a>
</li>
</ul>
<a name='-989311426' />
<h3>The MIT License</h3>
<pre>The MIT License, http://opensource.org/licenses/MIT</pre>
<a name='1288288048' />
<h3>The Apache Software License</h3>
<pre>The Apache Software License, http://www.apache.org/licenses/LICENSE-2.0.txt</pre>
</body>
</html>
JSON:
[
{
"project": "Android GIF Drawable Library",
"developers": "Karol Wrótniak",
"url": "https://github.com/koral--/android-gif-drawable.git",
"year": null,
"license": "The MIT License",
"license_url": "http://opensource.org/licenses/MIT"
},
{
"project": "Design",
"developers": null,
"url": null,
"year": null,
"license": "The Apache Software License",
"license_url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
}
]
public static class OpenSourceLicensesDialog extends DialogFragment {
public OpenSourceLicensesDialog() {
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final WebView webView = new WebView(getActivity());
webView.loadUrl("file:///android_asset/open_source_licenses.html");
return new AlertDialog.Builder(getActivity())
.setTitle("Open Source Licenses")
.setView(webView)
.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}
)
.create();
}
}
public static void showOpenSourceLicenses(Activity activity) {
final FragmentManager fm = activity.getFragmentManager();
final FragmentTransaction ft = fm.beginTransaction();
final Fragment prev = fm.findFragmentByTag("dialog_licenses");
if (prev != null) {
ft.remove(prev);
}
ft.addToBackStack(null);
new OpenSourceLicensesDialog().show(ft, "dialog_licenses");
}
Source: https://www.bignerdranch.com/blog/open-source-licenses-and-android/