Tweak include paths & add clean support to android libs.
This commit is contained in:
		@@ -13,12 +13,12 @@ add_library( mpw SHARED
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
add_library( sodium SHARED IMPORTED )
 | 
					add_library( sodium SHARED IMPORTED )
 | 
				
			||||||
set_target_properties( sodium PROPERTIES IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../lib/libsodium/build-android~/out/lib/${ANDROID_ABI}/libsodium.so" )
 | 
					set_target_properties( sodium PROPERTIES IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../lib/libsodium/build-android~/out/lib/${ANDROID_ABI}/libsodium.so" )
 | 
				
			||||||
target_include_directories( mpw PRIVATE "${PROJECT_SOURCE_DIR}/../lib/libsodium/build-android~/out" )
 | 
					target_include_directories( mpw PRIVATE "${PROJECT_SOURCE_DIR}/../lib/libsodium/src/libsodium/include" )
 | 
				
			||||||
target_compile_definitions( mpw PRIVATE -DMPW_SODIUM=1 )
 | 
					target_compile_definitions( mpw PRIVATE -DMPW_SODIUM=1 )
 | 
				
			||||||
target_link_libraries( mpw PRIVATE sodium )
 | 
					target_link_libraries( mpw PRIVATE sodium )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
add_library( json-c SHARED IMPORTED )
 | 
					add_library( json-c SHARED IMPORTED )
 | 
				
			||||||
set_target_properties( json-c PROPERTIES IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../lib/libjson-c/build-android~/out/lib/${ANDROID_ABI}/libjson-c.so" )
 | 
					set_target_properties( json-c PROPERTIES IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../lib/libjson-c/build-android~/out/lib/${ANDROID_ABI}/libjson-c.so" )
 | 
				
			||||||
target_include_directories( mpw PRIVATE "${PROJECT_SOURCE_DIR}/../lib/libjson-c/build-android~/out" )
 | 
					target_include_directories( mpw PRIVATE "${PROJECT_SOURCE_DIR}/../lib/libjson-c/build-android~/out/include" )
 | 
				
			||||||
target_compile_definitions( mpw PRIVATE -DMPW_JSON=1 )
 | 
					target_compile_definitions( mpw PRIVATE -DMPW_JSON=1 )
 | 
				
			||||||
target_link_libraries( mpw PRIVATE json-c )
 | 
					target_link_libraries( mpw PRIVATE json-c )
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,8 +22,8 @@ android {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
    sourceSets {
 | 
					    sourceSets {
 | 
				
			||||||
        main {
 | 
					        main {
 | 
				
			||||||
            jniLibs.srcDirs "$projectDir/../lib/libsodium/build-android~/out/lib",
 | 
					            jniLibs.srcDirs "$rootDir/../lib/libsodium/build-android~/out/lib",
 | 
				
			||||||
                            "$projectDir/../lib/libjson-c/build-android~/out/lib"
 | 
					                            "$rootDir/../lib/libjson-c/build-android~/out/lib"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -65,3 +65,13 @@ preBuild {
 | 
				
			|||||||
    } )
 | 
					    } )
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					clean {
 | 
				
			||||||
 | 
					    dependsOn task( type: Exec, 'clean_libsodium-android', {
 | 
				
			||||||
 | 
					        commandLine 'bash', "$rootDir/../lib/bin/build_libsodium-android", 'clean'
 | 
				
			||||||
 | 
					        environment 'ANDROID_NDK_HOME', android.ndkDirectory
 | 
				
			||||||
 | 
					    } )
 | 
				
			||||||
 | 
					    dependsOn task( type: Exec, 'clean_libjson-c-android', {
 | 
				
			||||||
 | 
					        commandLine 'bash', "$rootDir/../lib/bin/build_libjson-c-android", 'clean'
 | 
				
			||||||
 | 
					        environment 'ANDROID_NDK_HOME', android.ndkDirectory
 | 
				
			||||||
 | 
					    } )
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -60,22 +60,22 @@ library {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            project.dependencies {
 | 
					            project.dependencies {
 | 
				
			||||||
                add( linkLibraries.name,
 | 
					                add( linkLibraries.name,
 | 
				
			||||||
                     fileTree( "../../../lib/libsodium/build-${system}~/out/lib" ) )
 | 
					                     fileTree( "$rootDir/../lib/libsodium/build-${system}~/out/lib" ) )
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            archive.dependsOn project.tasks.maybeCreate( "build_libsodium-${system}", Exec.class ).configure {
 | 
					            archive.dependsOn project.tasks.maybeCreate( "build_libsodium-${system}", Exec.class ).configure {
 | 
				
			||||||
                commandLine 'bash', '-x', "$rootDir/../lib/bin/build_libsodium-${system}"
 | 
					                commandLine 'bash', "$rootDir/../lib/bin/build_libsodium-${system}"
 | 
				
			||||||
                privateHeaders.from "$rootDir/../lib/libsodium/src/libsodium/include"
 | 
					                privateHeaders.from "$rootDir/../lib/libsodium/src/libsodium/include"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            clean.dependsOn project.tasks.maybeCreate( "clean_libsodium-${system}", Exec.class ).configure {
 | 
					            clean.dependsOn project.tasks.maybeCreate( "clean_libsodium-${system}", Exec.class ).configure {
 | 
				
			||||||
                commandLine 'bash', '-x', "$rootDir/../lib/bin/build_libsodium-${system}", 'clean'
 | 
					                commandLine 'bash', "$rootDir/../lib/bin/build_libsodium-${system}", 'clean'
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            archive.dependsOn project.tasks.maybeCreate( "build_libjson-c-${system}", Exec.class ).configure {
 | 
					            archive.dependsOn project.tasks.maybeCreate( "build_libjson-c-${system}", Exec.class ).configure {
 | 
				
			||||||
                commandLine 'bash', '-x', "$rootDir/../lib/bin/build_libjson-c-${system}"
 | 
					                commandLine 'bash', "$rootDir/../lib/bin/build_libjson-c-${system}"
 | 
				
			||||||
                privateHeaders.from "$rootDir/../lib/libjson-c/build-${system}~/out"
 | 
					                privateHeaders.from "$rootDir/../lib/libjson-c/build-${system}~/out/include"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            clean.dependsOn project.tasks.maybeCreate( "clean_libjson-c-${system}", Exec.class ).configure {
 | 
					            clean.dependsOn project.tasks.maybeCreate( "clean_libjson-c-${system}", Exec.class ).configure {
 | 
				
			||||||
                commandLine 'bash', '-x', "$rootDir/../lib/bin/build_libjson-c-${system}", 'clean'
 | 
					                commandLine 'bash', "$rootDir/../lib/bin/build_libjson-c-${system}", 'clean'
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -92,7 +92,7 @@ static String standardOperatingSystem(NativePlatform platform) {
 | 
				
			|||||||
    else if (os.isLinux())
 | 
					    else if (os.isLinux())
 | 
				
			||||||
        return OperatingSystemFamily.LINUX
 | 
					        return OperatingSystemFamily.LINUX
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Other systems will need to use a Linux compatibility layer for now.
 | 
					    // Other systems will need to use a Linux compatibility layer.
 | 
				
			||||||
    return OperatingSystemFamily.LINUX
 | 
					    return OperatingSystemFamily.LINUX
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,11 +20,12 @@ dependencies {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
processResources {
 | 
					processResources {
 | 
				
			||||||
    dependsOn task( type: Sync, 'copyResources', {
 | 
					    dependsOn task( type: Sync, 'processResources-lib', {
 | 
				
			||||||
 | 
					        into new File( processResources.outputs.files.singleFile, "lib" )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        dependsOn configurations.lib {
 | 
					        dependsOn configurations.lib {
 | 
				
			||||||
            files.each { libFile ->
 | 
					            files.each { libFile ->
 | 
				
			||||||
                from zipTree( libFile )
 | 
					                from( zipTree( libFile ) )
 | 
				
			||||||
                into new File( processResources.outputs.files.singleFile, "lib" )
 | 
					 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    } )
 | 
					    } )
 | 
				
			||||||
@@ -33,7 +34,7 @@ processResources {
 | 
				
			|||||||
compileJava {
 | 
					compileJava {
 | 
				
			||||||
    doLast {
 | 
					    doLast {
 | 
				
			||||||
        ant.javah( class: 'com.lyndir.masterpassword.impl.MPAlgorithmV0',
 | 
					        ant.javah( class: 'com.lyndir.masterpassword.impl.MPAlgorithmV0',
 | 
				
			||||||
                   outputFile: '../../c/core/src/mpw-jni.h',
 | 
					                   outputFile: new File( project( ':masterpassword-core' ).projectDir, 'src/mpw-jni.h' ),
 | 
				
			||||||
                   classpath: files( sourceSets.main.compileClasspath, sourceSets.main.output ).asPath )
 | 
					                   classpath: files( sourceSets.main.compileClasspath, sourceSets.main.output ).asPath )
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,4 +21,5 @@ dependencies {
 | 
				
			|||||||
    testImplementation group: 'org.testng', name: 'testng', version: '6.8.5'
 | 
					    testImplementation group: 'org.testng', name: 'testng', version: '6.8.5'
 | 
				
			||||||
    testImplementation group: 'ch.qos.logback', name: 'logback-classic', version: '1.1.2'
 | 
					    testImplementation group: 'ch.qos.logback', name: 'logback-classic', version: '1.1.2'
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
test.useTestNG()
 | 
					test.useTestNG()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,7 +13,5 @@ dependencies {
 | 
				
			|||||||
    testImplementation group: 'org.testng', name: 'testng', version: '6.8.5'
 | 
					    testImplementation group: 'org.testng', name: 'testng', version: '6.8.5'
 | 
				
			||||||
    testImplementation group: 'ch.qos.logback', name: 'logback-classic', version: '1.1.2'
 | 
					    testImplementation group: 'ch.qos.logback', name: 'logback-classic', version: '1.1.2'
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
//tasks.withType(Test) {
 | 
					
 | 
				
			||||||
//    systemProperty "java.library.path", "/Users/lhunath/Documents/workspace/lyndir/MasterPassword/core/java/algorithm/build/libs/mpw/shared"
 | 
					 | 
				
			||||||
//}
 | 
					 | 
				
			||||||
test.useTestNG()
 | 
					test.useTestNG()
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user