mirror of
				https://github.com/f-droid/fdroidserver.git
				synced 2025-11-04 06:30:27 +03:00 
			
		
		
		
	scanner: also scan classpath
This commit is contained in:
		
							parent
							
								
									1a71f352cf
								
							
						
					
					
						commit
						832ed18fca
					
				
					 3 changed files with 171 additions and 3 deletions
				
			
		| 
						 | 
					@ -101,6 +101,7 @@ def get_gradle_compile_commands(build):
 | 
				
			||||||
                       'provided',
 | 
					                       'provided',
 | 
				
			||||||
                       'apk',
 | 
					                       'apk',
 | 
				
			||||||
                       'implementation',
 | 
					                       'implementation',
 | 
				
			||||||
 | 
					                       'classpath',
 | 
				
			||||||
                       'api',
 | 
					                       'api',
 | 
				
			||||||
                       'compileOnly',
 | 
					                       'compileOnly',
 | 
				
			||||||
                       'runtimeOnly']
 | 
					                       'runtimeOnly']
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -55,6 +55,7 @@ class ScannerTest(unittest.TestCase):
 | 
				
			||||||
            'com.jens.automation2': 2,
 | 
					            'com.jens.automation2': 2,
 | 
				
			||||||
            'com.github.shadowsocks': 6,
 | 
					            'com.github.shadowsocks': 6,
 | 
				
			||||||
            'org.tasks': 1,
 | 
					            'org.tasks': 1,
 | 
				
			||||||
 | 
					            'OtakuWorld': 2,
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        for d in glob.glob(os.path.join(source_files, '*')):
 | 
					        for d in glob.glob(os.path.join(source_files, '*')):
 | 
				
			||||||
            build = fdroidserver.metadata.Build()
 | 
					            build = fdroidserver.metadata.Build()
 | 
				
			||||||
| 
						 | 
					@ -66,15 +67,15 @@ class ScannerTest(unittest.TestCase):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def test_get_gradle_compile_commands(self):
 | 
					    def test_get_gradle_compile_commands(self):
 | 
				
			||||||
        test_files = [
 | 
					        test_files = [
 | 
				
			||||||
            ('source-files/fdroid/fdroidclient/build.gradle', 'yes', 17),
 | 
					            ('source-files/fdroid/fdroidclient/build.gradle', 'yes', 18),
 | 
				
			||||||
            ('source-files/com.nextcloud.client/build.gradle', 'generic', 24),
 | 
					            ('source-files/com.nextcloud.client/build.gradle', 'generic', 28),
 | 
				
			||||||
            ('source-files/com.kunzisoft.testcase/build.gradle', 'libre', 4),
 | 
					            ('source-files/com.kunzisoft.testcase/build.gradle', 'libre', 4),
 | 
				
			||||||
            ('source-files/cn.wildfirechat.chat/chat/build.gradle', 'yes', 33),
 | 
					            ('source-files/cn.wildfirechat.chat/chat/build.gradle', 'yes', 33),
 | 
				
			||||||
            ('source-files/org.tasks/app/build.gradle.kts', 'generic', 39),
 | 
					            ('source-files/org.tasks/app/build.gradle.kts', 'generic', 39),
 | 
				
			||||||
            ('source-files/at.bitfire.davdroid/build.gradle', 'standard', 16),
 | 
					            ('source-files/at.bitfire.davdroid/build.gradle', 'standard', 16),
 | 
				
			||||||
            ('source-files/se.manyver/android/app/build.gradle', 'indie', 29),
 | 
					            ('source-files/se.manyver/android/app/build.gradle', 'indie', 29),
 | 
				
			||||||
            ('source-files/osmandapp/osmand/build.gradle', 'free', 5),
 | 
					            ('source-files/osmandapp/osmand/build.gradle', 'free', 5),
 | 
				
			||||||
            ('source-files/eu.siacs.conversations/build.gradle', 'free', 23),
 | 
					            ('source-files/eu.siacs.conversations/build.gradle', 'free', 24),
 | 
				
			||||||
            ('source-files/org.mozilla.rocket/app/build.gradle', 'focus', 42),
 | 
					            ('source-files/org.mozilla.rocket/app/build.gradle', 'focus', 42),
 | 
				
			||||||
            ('source-files/com.jens.automation2/app/build.gradle', 'fdroidFlavor', 8),
 | 
					            ('source-files/com.jens.automation2/app/build.gradle', 'fdroidFlavor', 8),
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										166
									
								
								tests/source-files/OtakuWorld/build.gradle
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										166
									
								
								tests/source-files/OtakuWorld/build.gradle
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,166 @@
 | 
				
			||||||
 | 
					// Top-level build file where you can add configuration options common to all sub-projects/modules.
 | 
				
			||||||
 | 
					buildscript {
 | 
				
			||||||
 | 
					    ext.kotlin_version = "1.6.21"
 | 
				
			||||||
 | 
					    ext.latestAboutLibsRelease = "10.3.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ext.coroutinesVersion = "1.6.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ext.coroutinesCore = "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion"
 | 
				
			||||||
 | 
					    ext.coroutinesAndroid = "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutinesVersion"
 | 
				
			||||||
 | 
					    ext.coroutinesRX =  "org.jetbrains.kotlinx:kotlinx-coroutines-rx2:$coroutinesVersion"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ext.gson = 'com.google.code.gson:gson:2.9.0'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ext.glideVersion = "4.13.1"
 | 
				
			||||||
 | 
					    ext.glide = "com.github.bumptech.glide:glide:$glideVersion"
 | 
				
			||||||
 | 
					    ext.glideCompiler = "com.github.bumptech.glide:compiler:$glideVersion"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ext.paging_version = "3.1.1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ext.rxkotlin = "io.reactivex.rxjava2:rxkotlin:2.4.0"
 | 
				
			||||||
 | 
					    ext.rxandroid = "io.reactivex.rxjava2:rxandroid:2.1.1"
 | 
				
			||||||
 | 
					    ext.rxbinding = 'com.jakewharton.rxbinding2:rxbinding:2.2.0'
 | 
				
			||||||
 | 
					    ext.rxbindingKotlin = 'com.jakewharton.rxbinding2:rxbinding-kotlin:2.2.0'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ext.androidCore = 'androidx.core:core-ktx:1.8.0'
 | 
				
			||||||
 | 
					    ext.appCompat = 'androidx.appcompat:appcompat:1.4.2'
 | 
				
			||||||
 | 
					    ext.material = 'com.google.android.material:material:1.6.0-beta01'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ext.preference = "androidx.preference:preference-ktx:1.2.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ext.recyclerview = 'androidx.recyclerview:recyclerview:1.2.1'
 | 
				
			||||||
 | 
					    ext.constraintlayout = 'androidx.constraintlayout:constraintlayout:2.1.4'
 | 
				
			||||||
 | 
					    ext.swiperefresh = 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ext.jsoup = 'org.jsoup:jsoup:1.15.1'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ext.crashlytics = 'com.google.firebase:firebase-crashlytics:18.2.8'
 | 
				
			||||||
 | 
					    ext.analytics = 'com.google.firebase:firebase-analytics:20.1.0'
 | 
				
			||||||
 | 
					    ext.play_services = 'com.google.android.gms:play-services-auth:20.1.0'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ext.exoplayer_version = "2.16.1"
 | 
				
			||||||
 | 
					    ext.room_version = "2.4.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ext.nav_version = "2.4.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def koin_version = "3.0.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Koin main features for Android (Scope,ViewModel ...)
 | 
				
			||||||
 | 
					    ext.koinAndroid = "io.insert-koin:koin-android:$koin_version"
 | 
				
			||||||
 | 
					    // Koin Android - experimental builder extensions
 | 
				
			||||||
 | 
					    ext.koinAndroidExt = "io.insert-koin:koin-android-ext:$koin_version"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ext.lottieVersion = "4.2.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ext.coil = "2.1.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ext.jetpack = "1.2.0-rc01"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ext.accompanist = "0.24.11-rc"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ext.composeUi = "androidx.compose.ui:ui:$jetpack"
 | 
				
			||||||
 | 
					    // Tooling support (Previews, etc.)
 | 
				
			||||||
 | 
					    ext.composeUiTooling = "androidx.compose.ui:ui-tooling:$jetpack"
 | 
				
			||||||
 | 
					    // Foundation (Border, Background, Box, Image, Scroll, shapes, animations, etc.)
 | 
				
			||||||
 | 
					    ext.composeFoundation = "androidx.compose.foundation:foundation:$jetpack"
 | 
				
			||||||
 | 
					    // Material Design
 | 
				
			||||||
 | 
					    ext.composeMaterial = "androidx.compose.material:material:$jetpack"
 | 
				
			||||||
 | 
					    ext.materialYou = "androidx.compose.material3:material3:1.0.0-alpha13"
 | 
				
			||||||
 | 
					    // Material design icons
 | 
				
			||||||
 | 
					    ext.composeMaterialIconsCore = "androidx.compose.material:material-icons-core:$jetpack"
 | 
				
			||||||
 | 
					    ext.composeMaterialIconsExtended = "androidx.compose.material:material-icons-extended:$jetpack"
 | 
				
			||||||
 | 
					    // Integration with activities
 | 
				
			||||||
 | 
					    ext.composeActivity = 'androidx.activity:activity-compose:1.4.0'
 | 
				
			||||||
 | 
					    // Integration with ViewModels
 | 
				
			||||||
 | 
					    ext.composeLifecycle = 'androidx.lifecycle:lifecycle-viewmodel-compose:2.4.1'
 | 
				
			||||||
 | 
					    // Integration with observables
 | 
				
			||||||
 | 
					    ext.composeRuntimeLivedata = "androidx.compose.runtime:runtime-livedata:$jetpack"
 | 
				
			||||||
 | 
					    ext.composeRuntimeRxjava2 = "androidx.compose.runtime:runtime-rxjava2:$jetpack"
 | 
				
			||||||
 | 
					    ext.composeMaterialThemeAdapter = "com.google.android.material:compose-theme-adapter:1.1.11"
 | 
				
			||||||
 | 
					    ext.composeMaterial3ThemeAdapter = "com.google.android.material:compose-theme-adapter-3:1.0.11"
 | 
				
			||||||
 | 
					    ext.landscapistGlide = "com.github.skydoves:landscapist-glide:1.5.2"
 | 
				
			||||||
 | 
					    ext.composeConstraintLayout = "androidx.constraintlayout:constraintlayout-compose:1.0.1"
 | 
				
			||||||
 | 
					    ext.composeAnimation = "androidx.compose.animation:animation:$jetpack"
 | 
				
			||||||
 | 
					    ext.materialPlaceholder = "com.google.accompanist:accompanist-placeholder-material:$accompanist"
 | 
				
			||||||
 | 
					    ext.drawablePainter = "com.google.accompanist:accompanist-drawablepainter:$accompanist"
 | 
				
			||||||
 | 
					    ext.permissions = "com.google.accompanist:accompanist-permissions:$accompanist"
 | 
				
			||||||
 | 
					    ext.uiUtil = "androidx.compose.ui:ui-util:$jetpack"
 | 
				
			||||||
 | 
					    ext.coilCompose = "io.coil-kt:coil-compose:$coil"
 | 
				
			||||||
 | 
					    ext.navCompose = "androidx.navigation:navigation-compose:$nav_version"
 | 
				
			||||||
 | 
					    ext.navMaterial = "com.google.accompanist:accompanist-navigation-material:$accompanist"
 | 
				
			||||||
 | 
					    ext.navAnimation = "com.google.accompanist:accompanist-navigation-animation:$accompanist"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ext.swipeRefresh = "com.google.accompanist:accompanist-swiperefresh:$accompanist"
 | 
				
			||||||
 | 
					    ext.systemUiController = "com.google.accompanist:accompanist-systemuicontroller:$accompanist"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ext.inset =  "com.google.accompanist:accompanist-insets:$accompanist"
 | 
				
			||||||
 | 
					    // If using insets-ui
 | 
				
			||||||
 | 
					    ext.insetUi = "com.google.accompanist:accompanist-insets-ui:$accompanist"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ext.datastore = "androidx.datastore:datastore:1.0.0"
 | 
				
			||||||
 | 
					    ext.datastorePref = "androidx.datastore:datastore-preferences:1.0.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ext {
 | 
				
			||||||
 | 
					        jakepurple13Tools = [
 | 
				
			||||||
 | 
					                helpfultools: [
 | 
				
			||||||
 | 
					                        Deps.gsonutils,
 | 
				
			||||||
 | 
					                        Deps.helpfulutils,
 | 
				
			||||||
 | 
					                        Deps.loggingutils,
 | 
				
			||||||
 | 
					                        Deps.dragswipe,
 | 
				
			||||||
 | 
					                        Deps.funutils,
 | 
				
			||||||
 | 
					                        Deps.rxutils
 | 
				
			||||||
 | 
					                ]
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					        room = [
 | 
				
			||||||
 | 
					                room: [
 | 
				
			||||||
 | 
					                        "androidx.room:room-runtime:$room_version",
 | 
				
			||||||
 | 
					                        "androidx.room:room-ktx:$room_version",
 | 
				
			||||||
 | 
					                        "androidx.room:room-rxjava2:$room_version"
 | 
				
			||||||
 | 
					                ]
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        koin = [koin: [koinAndroid, koinAndroidExt]]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        compose = [
 | 
				
			||||||
 | 
					                compose: [
 | 
				
			||||||
 | 
					                        composeUi, composeUiTooling, composeFoundation, composeMaterial,
 | 
				
			||||||
 | 
					                        composeMaterialIconsCore, composeMaterialIconsExtended,
 | 
				
			||||||
 | 
					                        composeActivity, composeLifecycle,
 | 
				
			||||||
 | 
					                        composeRuntimeLivedata, composeRuntimeRxjava2,
 | 
				
			||||||
 | 
					                        composeMaterialThemeAdapter, composeMaterial3ThemeAdapter,
 | 
				
			||||||
 | 
					                        landscapistGlide, coilCompose,
 | 
				
			||||||
 | 
					                        composeConstraintLayout, permissions,
 | 
				
			||||||
 | 
					                        materialPlaceholder, drawablePainter, uiUtil,
 | 
				
			||||||
 | 
					                        materialYou,
 | 
				
			||||||
 | 
					                        inset, insetUi,
 | 
				
			||||||
 | 
					                        navCompose, navMaterial, navAnimation,
 | 
				
			||||||
 | 
					                        swipeRefresh, systemUiController
 | 
				
			||||||
 | 
					                ]
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        firebaseCrash = [ crash: [crashlytics, analytics] ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        datastore = [ datastore: [datastore, datastorePref] ]
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    repositories {
 | 
				
			||||||
 | 
					        google()
 | 
				
			||||||
 | 
					        gradlePluginPortal()
 | 
				
			||||||
 | 
					        mavenCentral()
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    dependencies {
 | 
				
			||||||
 | 
					        classpath 'com.android.tools.build:gradle:7.1.2'
 | 
				
			||||||
 | 
					        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
 | 
				
			||||||
 | 
					        classpath 'com.google.gms:google-services:4.3.10'
 | 
				
			||||||
 | 
					        classpath 'com.google.firebase:firebase-crashlytics-gradle:2.8.1'
 | 
				
			||||||
 | 
					        classpath "com.mikepenz.aboutlibraries.plugin:aboutlibraries-plugin:10.3.0"
 | 
				
			||||||
 | 
					        classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
 | 
				
			||||||
 | 
					        // NOTE: Do not place your application dependencies here; they belong
 | 
				
			||||||
 | 
					        // in the individual module build.gradle files
 | 
				
			||||||
 | 
					        classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					task clean(type: Delete) {
 | 
				
			||||||
 | 
					    delete rootProject.buildDir
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue