mirror of
				https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy.git
				synced 2025-10-31 17:08:11 +01:00 
			
		
		
		
	The .profm sorting in build.gradle instead of excluding them from the build
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
This commit is contained in:
		| @@ -121,11 +121,6 @@ android { | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|     tasks.whenTaskAdded { | ||||
|         if (name.contains("ArtProfile")) { | ||||
|             enabled = false | ||||
|         } | ||||
|     } | ||||
|  | ||||
| } | ||||
|  | ||||
| @@ -275,8 +270,34 @@ dependencies { | ||||
|     //debugImplementation 'com.squareup.leakcanary:leakcanary-android:x.y' | ||||
| } | ||||
|  | ||||
| // NB: Android Studio can't find the imports; this does not affect the | ||||
| // actual build since Gradle can find them just fine. | ||||
|  | ||||
| java { | ||||
|     sourceCompatibility = JavaVersion.VERSION_1_8 | ||||
|     targetCompatibility = JavaVersion.VERSION_1_8 | ||||
| import com.android.tools.profgen.ArtProfileKt | ||||
| import com.android.tools.profgen.ArtProfileSerializer | ||||
| import com.android.tools.profgen.DexFile | ||||
|  | ||||
| project.afterEvaluate { | ||||
|     tasks.each { task -> | ||||
|         if (task.name.startsWith("compile") && task.name.endsWith("ReleaseArtProfile")) { | ||||
|             task.doLast { | ||||
|                 outputs.files.each { file -> | ||||
|                     if (file.name.endsWith(".profm")) { | ||||
|                         println("Sorting ${file} ...") | ||||
|                         def version = ArtProfileSerializer.valueOf("METADATA_0_0_2") | ||||
|                         def profile = ArtProfileKt.ArtProfile(file) | ||||
|                         def keys = new ArrayList(profile.profileData.keySet()) | ||||
|                         def sortedData = new LinkedHashMap() | ||||
|                         Collections.sort keys, new DexFile.Companion() | ||||
|                         keys.each { key -> sortedData[key] = profile.profileData[key] } | ||||
|                         new FileOutputStream(file).with { | ||||
|                             write(version.magicBytes$profgen) | ||||
|                             write(version.versionBytes$profgen) | ||||
|                             version.write$profgen(it, sortedData, "") | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user