Skip to content
Snippets Groups Projects
Verified Commit 27c27ac6 authored by Pier Angelo Vendrame's avatar Pier Angelo Vendrame :jack_o_lantern:
Browse files

Bug 41211: Build the oss-licenses Gradle plugin.

After we updated our toolchains for Firefox 128, we encountered
reproducibility problems in the license files.
Therefore, we build a patched plugin to resolve them.
parent a38be5d2
Branches
Tags
1 merge request!1016Bug 41211: Replace Google's oss-license-plugin binaries with our patched build
#!/bin/bash
[% c("var/set_default_env") -%]
distdir=/var/tmp/dist/[% project %]
builddir=/var/tmp/build/[% project %]-[% c('version') %]/[% project %]
mkdir -p $distdir $builddir
tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.[% c('compress_tar') %]
tar -C /var/tmp/dist -xf [% c('input_files_by_name/gradle') %]
export PATH=/var/tmp/dist/gradle/bin:$PATH
gradle_repo=/var/tmp/dist/gradle-dependencies
mv $rootdir/[% c('input_files_by_name/gradle-dependencies') %] $gradle_repo
cp -rl $gradle_repo/m2/* $gradle_repo || true
cd $builddir
patch -p2 < $rootdir/sort-dependencies.diff
patch -p2 < $rootdir/build-customization.diff
gradle --no-daemon --offline -Dmaven.repo.local=$gradle_repo assemble publish
cd build/repo
cp -a . $distdir/
cd /var/tmp/dist
[% c('tar', {
tar_src => [ project ],
tar_args => '-caf ' _ dest_dir _ '/' _ c('filename'),
}) %]
diff --git a/oss-licenses-plugin/build.gradle b/oss-licenses-plugin/build.gradle
index 2a7dd74..f9368e1 100644
--- a/oss-licenses-plugin/build.gradle
+++ b/oss-licenses-plugin/build.gradle
@@ -15,34 +15,25 @@ dependencies {
group = 'com.google.android.gms'
version = '0.10.4'
-apply plugin: 'maven'
+apply plugin: 'maven-publish'
repositories {
google()
jcenter()
+ mavenLocal()
}
-// upload and build in local
-uploadArchives {
- repositories {
- mavenDeployer {
- repository(url: uri('../repo'))
- pom.project {
- licenses {
- license {
- name 'The Apache Software License, Version 2.0'
- url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
- distribution 'repo'
- }
- }
-
- }
+publishing {
+ publications {
+ customLibrary(MavenPublication) {
+ from components.java
}
}
-}
-// generate zip file for android maven release tool
-task packageFiles(type: Zip, dependsOn: 'uploadArchives') {
- def groupDir = rootProject.group.replaceAll('\\.', '/')
- from("../repo/$groupDir/$rootProject.name/$rootProject.version/")
+ repositories {
+ maven {
+ name = 'sampleRepo'
+ url = layout.buildDirectory.dir("repo")
+ }
+ }
}
version: 0.10.4
filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]'
git_url: https://github.com/google/play-services-plugins.git
git_hash: c9ed0e48abe2c55dd67f2c2224988d1d690cecc9 # oss-licenses-plugin-v0.10.4
var:
# This should be updated when the list of gradle dependencies is changed.
gradle_dependencies_version: 1
gradle_version: 8.8
container:
use_container: 1
input_files:
- project: container-image
- project: gradle
name: gradle
- filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
name: gradle-dependencies
exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
- filename: build-customization.diff
- filename: sort-dependencies.diff
This diff is collapsed.
diff --git a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/ArtifactInfo.groovy b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/ArtifactInfo.groovy
index d6d854d..622072d 100644
--- a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/ArtifactInfo.groovy
+++ b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/ArtifactInfo.groovy
@@ -16,7 +16,7 @@
package com.google.android.gms.oss.licenses.plugin
-class ArtifactInfo {
+class ArtifactInfo implements Comparable<ArtifactInfo> {
private String group
private String name
private String fileLocation
@@ -47,4 +47,13 @@ class ArtifactInfo {
String getVersion() {
return version
}
+
+ String toString() {
+ return "$group:$name:$version"
+ }
+
+ @Override
+ int compareTo(ArtifactInfo other) {
+ return toString().compareTo(other.toString())
+ }
}
diff --git a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy
index 75f6527..26a9bf7 100644
--- a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy
+++ b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy
@@ -47,7 +47,7 @@ import org.slf4j.LoggerFactory
*/
class DependencyTask extends DefaultTask {
protected Set<String> artifactSet = []
- protected Set<ArtifactInfo> artifactInfos = []
+ protected TreeSet<ArtifactInfo> artifactInfos = []
protected static final String LOCAL_LIBRARY_VERSION = "unspecified"
private static final String TEST_PREFIX = "test"
private static final String ANDROID_TEST_PREFIX = "androidTest"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment