diff --git a/.dockerignore b/.dockerignore
index f4b17147..35a10ba4 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -21,7 +21,7 @@ DerivedData/
build
.gradle
local.properties
-/gradle/builds
+/builds
/platform-android/.externalNativeBuild
# Git
diff --git a/.gitignore b/.gitignore
index b3317ad1..bd98a874 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,5 +22,7 @@ DerivedData/
build
.gradle
local.properties
-/gradle/builds
+/builds
/platform-android/.externalNativeBuild
+.cxx
+
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e04b1469..ffc71975 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -9,7 +9,7 @@ build_project:
- "( ./lib/bin/build_libsodium-macos clean && ./lib/bin/build_libsodium-macos )"
- "( ./lib/bin/build_libjson-c-macos clean && ./lib/bin/build_libjson-c-macos )"
- "( cd ./platform-independent/c/cli && ./clean && targets=all ./build && ./mpw-tests && ./mpw-cli-tests )"
- - "( export JAVA_HOME=$(java_home -Fv 10 || java_home -Fv 9* ) && cd ./gradle && ./gradlew --stacktrace clean test )"
+ - "( export JAVA_HOME=$(java_home -Fv 10 || java_home -Fv 9* ) && ./gradlew --stacktrace clean test )"
- "( xcodebuild -workspace platform-darwin/MasterPassword.xcworkspace -configuration 'Test' -scheme 'MasterPassword iOS' -sdk iphonesimulator clean build )"
- "( xcodebuild -workspace platform-darwin/MasterPassword.xcworkspace -configuration 'Test' -scheme 'MasterPassword macOS' clean build )"
tags:
diff --git a/gradle/README.md b/RELEASE.md
similarity index 100%
rename from gradle/README.md
rename to RELEASE.md
diff --git a/gradle/build.gradle b/build.gradle
similarity index 97%
rename from gradle/build.gradle
rename to build.gradle
index a3cd4fac..053fe1ff 100644
--- a/gradle/build.gradle
+++ b/build.gradle
@@ -24,7 +24,7 @@ buildscript {
}
dependencies {
- classpath group: 'com.android.tools.build', name: 'gradle', version: '3.1.0'
+ classpath group: 'com.android.tools.build', name: 'gradle', version: '3.5.0'
}
}
diff --git a/gradle/gradle.properties b/gradle.properties
similarity index 100%
rename from gradle/gradle.properties
rename to gradle.properties
diff --git a/gradle/.idea/misc.xml b/gradle/.idea/misc.xml
deleted file mode 100644
index 9ab65e3c..00000000
--- a/gradle/.idea/misc.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/gradle/external-annotations/com/google/common/base/annotations.xml b/gradle/external-annotations/com/google/common/base/annotations.xml
deleted file mode 100644
index b854e2e9..00000000
--- a/gradle/external-annotations/com/google/common/base/annotations.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
- -
-
-
-
diff --git a/gradle/external-annotations/com/google/common/io/annotations.xml b/gradle/external-annotations/com/google/common/io/annotations.xml
deleted file mode 100644
index e912cca1..00000000
--- a/gradle/external-annotations/com/google/common/io/annotations.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
- -
-
-
-
diff --git a/gradle/external-annotations/org/testng/annotations.xml b/gradle/external-annotations/org/testng/annotations.xml
deleted file mode 100644
index 4c7d5ed8..00000000
--- a/gradle/external-annotations/org/testng/annotations.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
- -
-
-
-
diff --git a/gradle/gradle/wrapper/gradle-wrapper.jar b/gradle/gradle/wrapper/gradle-wrapper.jar
deleted file mode 100644
index 91ca28c8..00000000
Binary files a/gradle/gradle/wrapper/gradle-wrapper.jar and /dev/null differ
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 00000000..5c2d1cf0
Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
similarity index 80%
rename from gradle/gradle/wrapper/gradle-wrapper.properties
rename to gradle/wrapper/gradle-wrapper.properties
index 16d28051..0e2a93d9 100644
--- a/gradle/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,6 @@
+#Mon Sep 23 12:55:35 EDT 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.7-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/gradle/gradlew b/gradlew
similarity index 87%
rename from gradle/gradlew
rename to gradlew
index cccdd3d5..83f2acfd 100755
--- a/gradle/gradlew
+++ b/gradlew
@@ -1,5 +1,21 @@
#!/usr/bin/env sh
+#
+# Copyright 2015 the original author or authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
##############################################################################
##
## Gradle start up script for UN*X
@@ -28,7 +44,7 @@ APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS=""
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
@@ -109,8 +125,8 @@ if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin ; then
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
diff --git a/gradle/gradlew.bat b/gradlew.bat
similarity index 73%
rename from gradle/gradlew.bat
rename to gradlew.bat
index e95643d6..24467a14 100644
--- a/gradle/gradlew.bat
+++ b/gradlew.bat
@@ -1,3 +1,19 @@
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@@ -14,7 +30,7 @@ set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS=
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
diff --git a/gradle/homebrew-mpw.rb b/homebrew-mpw.rb
similarity index 100%
rename from gradle/homebrew-mpw.rb
rename to homebrew-mpw.rb
diff --git a/platform-android/build.gradle b/platform-android/build.gradle
index 10a9bfc6..cf62e3eb 100644
--- a/platform-android/build.gradle
+++ b/platform-android/build.gradle
@@ -1,13 +1,15 @@
-apply plugin: 'com.android.application'
+plugins {
+ id 'com.android.application'
+ id 'com.github.spotbugs' version '2.0.0'
+}
android {
- compileSdkVersion 25
- buildToolsVersion '27.0.3'
+ compileSdkVersion 28
defaultConfig {
applicationId 'com.lyndir.masterpassword'
- minSdkVersion 19
- targetSdkVersion 25
+ minSdkVersion 24
+ targetSdkVersion 28
versionCode 20701
versionName '2.7.1'
}
@@ -22,8 +24,8 @@ android {
}
sourceSets {
main {
- jniLibs.srcDirs "$rootDir/../lib/libsodium/build-android~/out/lib",
- "$rootDir/../lib/libjson-c/build-android~/out/lib"
+ jniLibs.srcDirs "$rootDir/lib/libsodium/build-android~/out/lib",
+ "$rootDir/lib/libjson-c/build-android~/out/lib"
}
}
@@ -50,28 +52,28 @@ dependencies {
implementation group: 'com.lyndir.lhunath.opal', name: 'opal-system', version: '1.7-p2'
implementation group: 'org.slf4j', name: 'slf4j-android', version: '1.7.13-underscore'
- implementation group: 'com.jakewharton', name: 'butterknife', version: '8.5.1'
- annotationProcessor group: 'com.jakewharton', name: 'butterknife-compiler', version: '8.5.1'
+ implementation group: 'com.jakewharton', name: 'butterknife', version: '10.2.0'
+ annotationProcessor group: 'com.jakewharton', name: 'butterknife-compiler', version: '10.2.0'
}
preBuild {
dependsOn task( type: Exec, 'build_libsodium-android', {
- commandLine 'bash', "$rootDir/../lib/bin/build_libsodium-android"
+ commandLine 'bash', "$rootDir/lib/bin/build_libsodium-android"
environment 'ANDROID_NDK_HOME', android.ndkDirectory
} )
dependsOn task( type: Exec, 'build_libjson-c-android', {
- commandLine 'bash', "$rootDir/../lib/bin/build_libjson-c-android"
+ commandLine 'bash', "$rootDir/lib/bin/build_libjson-c-android"
environment 'ANDROID_NDK_HOME', android.ndkDirectory
} )
}
clean {
dependsOn task( type: Exec, 'clean_libsodium-android', {
- commandLine 'bash', "$rootDir/../lib/bin/build_libsodium-android", 'clean'
+ 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'
+ commandLine 'bash', "$rootDir/lib/bin/build_libjson-c-android", 'clean'
environment 'ANDROID_NDK_HOME', android.ndkDirectory
} )
}
diff --git a/platform-darwin/MasterPassword-JNI.xcodeproj/project.pbxproj b/platform-darwin/MasterPassword-JNI.xcodeproj/project.pbxproj
index c9e1bbbc..5f34905f 100644
--- a/platform-darwin/MasterPassword-JNI.xcodeproj/project.pbxproj
+++ b/platform-darwin/MasterPassword-JNI.xcodeproj/project.pbxproj
@@ -75,7 +75,7 @@
buildPhases = (
);
buildToolPath = gradle;
- buildWorkingDirectory = /Users/lhunath/Documents/workspace/lyndir/MasterPassword/gradle;
+ buildWorkingDirectory = /Users/lhunath/Documents/workspace/lyndir/MasterPassword;
dependencies = (
);
name = "MasterPassword-JNI";
diff --git a/platform-independent/c/core/build.gradle b/platform-independent/c/core/build.gradle
index 54fc8478..00c72dfb 100644
--- a/platform-independent/c/core/build.gradle
+++ b/platform-independent/c/core/build.gradle
@@ -2,8 +2,8 @@ import org.gradle.internal.jvm.Jvm
plugins {
- id 'cpp-library'
id 'base'
+ id 'cpp-library'
}
description = 'Master Password Algorithm Implementation'
@@ -16,7 +16,7 @@ artifacts {
components.withType( ComponentWithRuntimeFile ) {
if (optimized)
from runtimeFile, {
- into standardOperatingSystem( targetPlatform ) + '/' + standardArchitecture( targetPlatform )
+ into targetMachine.getOperatingSystemFamily().getName() + '/' + targetMachine.getArchitecture().getName()
}
}
}
@@ -25,6 +25,7 @@ artifacts {
library {
baseName.set( 'mpw' )
linkage.set( [Linkage.SHARED] )
+ source.from fileTree( 'src' )
// Reconfigure the toolchain from C++ to C.
toolChains {
@@ -42,75 +43,43 @@ library {
// Cross-compile for these host platforms.
// TODO: Cross-compiling, blocked by: https://github.com/gradle/gradle-native/issues/169 - CppLibraryPlugin.java:163
- operatingSystems.set( [objects.named( OperatingSystemFamily, OperatingSystemFamily.LINUX ),
- objects.named( OperatingSystemFamily, OperatingSystemFamily.MAC_OS ),
- objects.named( OperatingSystemFamily, OperatingSystemFamily.WINDOWS )] )
+// operatingSystems.set( [objects.named( OperatingSystemFamily, OperatingSystemFamily.LINUX ),
+// objects.named( OperatingSystemFamily, OperatingSystemFamily.MAC_OS ),
+// objects.named( OperatingSystemFamily, OperatingSystemFamily.WINDOWS )] )
+ targetMachines.set( [
+ machines.linux.x86_64,
+ machines.windows.x86, machines.windows.x86_64,
+ machines.macOS.x86_64
+ ] )
components.withType( CppComponent ) {
- cppSource.from fileTree( 'src' )
-
- privateHeaders {
- // JDK for JNI support.
- from files( new File( Jvm.current().javaHome, 'include' ) ) { first().eachDir { from it } }
- }
+ // JDK for JNI support.
+ privateHeaders.from files( new File( Jvm.current().javaHome, 'include' ) ) { first().eachDir { from it } }
binaries.whenElementFinalized {
project.dependencies {
- def system = standardOperatingSystem( targetPlatform )
+ def system = targetMachine.getOperatingSystemFamily().getName()
// libsodium
archive.dependsOn project.tasks.maybeCreate( "build_libsodium-${system}", Exec ).configure {
- commandLine 'bash', "$rootDir/../lib/bin/build_libsodium-${system}"
- privateHeaders.from "$rootDir/../lib/libsodium/build-${system}~/out/include"
- add( linkLibraries.name, fileTree( "$rootDir/../lib/libsodium/build-${system}~/out/lib" ) )
+ commandLine 'bash', "$rootDir/lib/bin/build_libsodium-${system}"
+ privateHeaders.from "$rootDir/lib/libsodium/build-${system}~/out/include"
+ add( linkLibraries.name, fileTree( "$rootDir/lib/libsodium/build-${system}~/out/lib" ) )
}
clean.dependsOn project.tasks.maybeCreate( "clean_libsodium-${system}", Exec ).configure {
- commandLine 'bash', "$rootDir/../lib/bin/build_libsodium-${system}", 'clean'
+ commandLine 'bash', "$rootDir/lib/bin/build_libsodium-${system}", 'clean'
}
// libjson-c
/*archive.dependsOn project.tasks.maybeCreate( "build_libjson-c-${system}", Exec ).configure {
- commandLine 'bash', "$rootDir/../lib/bin/build_libjson-c-${system}"
- privateHeaders.from "$rootDir/../lib/libjson-c/build-${system}~/out/include"
- add( linkLibraries.name, fileTree( "$rootDir/../lib/libjson-c/build-${system}~/out/lib" ) )
+ commandLine 'bash', "$rootDir/lib/bin/build_libjson-c-${system}"
+ privateHeaders.from "$rootDir/lib/libjson-c/build-${system}~/out/include"
+ add( linkLibraries.name, fileTree( "$rootDir/lib/libjson-c/build-${system}~/out/lib" ) )
}
clean.dependsOn project.tasks.maybeCreate( "clean_libjson-c-${system}", Exec ).configure {
- commandLine 'bash', "$rootDir/../lib/bin/build_libjson-c-${system}", 'clean'
+ commandLine 'bash', "$rootDir/lib/bin/build_libjson-c-${system}", 'clean'
}*/
}
}
}
}
-
-static String standardOperatingSystem(NativePlatform platform) {
- OperatingSystem os = platform.getOperatingSystem()
- if (os.isWindows())
- return OperatingSystemFamily.WINDOWS
-
- else if (os.isMacOsX())
- return OperatingSystemFamily.MAC_OS
-
- else if (os.isLinux())
- return OperatingSystemFamily.LINUX
-
- // Other systems will need to use a Linux compatibility layer.
- return OperatingSystemFamily.LINUX
-}
-
-static String standardArchitecture(NativePlatform platform) {
- Architecture arch = platform.getArchitecture()
- if (arch.isArm())
- return 'arm'
-
- else if (arch.name.toLowerCase( Locale.ROOT ).startsWith( 'arm' ))
- return 'arm64'
-
- else if (arch.isAmd64())
- return 'x86_64'
-
- else if (arch.isI386())
- return 'x86'
-
- // Other systems will need to be compatible with the x86 architecture.
- return 'x86'
-}
diff --git a/platform-independent/java/algorithm/build.gradle b/platform-independent/java/algorithm/build.gradle
index 901f9d30..d72079fc 100644
--- a/platform-independent/java/algorithm/build.gradle
+++ b/platform-independent/java/algorithm/build.gradle
@@ -1,5 +1,6 @@
plugins {
id 'java-library'
+ id 'com.github.spotbugs' version '2.0.0'
}
description = 'Master Password Algorithm Implementation'
@@ -16,10 +17,8 @@ configurations {
dependencies {
implementation group: 'com.lyndir.lhunath.opal', name: 'opal-system', version: '1.7-p2'
- api group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: '2.9.5'
- api group: 'org.jetbrains', name: 'annotations', version: '13.0'
- api group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.2'
- api group: 'com.google.code.findbugs', name: 'findbugs-annotations', version: '3.0.1'
+ api group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: '2.9.8'
+ api group: 'org.jetbrains', name: 'annotations', version: '16.0.2'
lib project( path: ':masterpassword-core', configuration: 'default' )
}
diff --git a/platform-independent/java/algorithm/src/main/java/com/lyndir/masterpassword/impl/Native.java b/platform-independent/java/algorithm/src/main/java/com/lyndir/masterpassword/impl/Native.java
index a05e8334..e4dac85c 100644
--- a/platform-independent/java/algorithm/src/main/java/com/lyndir/masterpassword/impl/Native.java
+++ b/platform-independent/java/algorithm/src/main/java/com/lyndir/masterpassword/impl/Native.java
@@ -199,5 +199,11 @@ public final class Native {
return x86;
}
+
+
+ @Override
+ public String toString() {
+ return name().replace('_', '-' );
+ }
}
}
diff --git a/platform-independent/java/gui/build.gradle b/platform-independent/java/gui/build.gradle
index 0f2f2ff2..fd787c87 100644
--- a/platform-independent/java/gui/build.gradle
+++ b/platform-independent/java/gui/build.gradle
@@ -1,7 +1,8 @@
plugins {
id 'java'
id 'application'
- id 'com.github.johnrengelman.shadow' version '2.0.4'
+ id 'com.github.spotbugs' version '2.0.0'
+ id 'com.github.johnrengelman.shadow' version '5.1.0'
}
description = 'Master Password GUI'
@@ -31,7 +32,7 @@ shadowJar {
storepass: System.getenv( 'STORE_PW' ),
keypass: System.getenv( 'KEY_PW_DESKTOP' ),
preservelastmodified: 'true',
- signedJar: "${rootDir}/../public/site/${project.name}-${project.version}.jar" )
+ signedJar: "${rootDir}/public/site/${project.name}-${project.version}.jar" )
}
}
diff --git a/platform-independent/java/model/build.gradle b/platform-independent/java/model/build.gradle
index 786f25df..c1ea7580 100644
--- a/platform-independent/java/model/build.gradle
+++ b/platform-independent/java/model/build.gradle
@@ -1,22 +1,19 @@
plugins {
id 'java-library'
- id 'net.ltgt.apt' version '0.9'
+ id 'com.github.spotbugs' version '2.0.0'
}
description = 'Master Password Site Model'
dependencies {
implementation group: 'com.lyndir.lhunath.opal', name: 'opal-system', version: '1.7-p2'
- implementation group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.9.5'
+ implementation group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.9.8'
+ implementation 'com.github.spotbugs:spotbugs-annotations:4.0.0-beta4'
api project( ':masterpassword-algorithm' )
- api group: 'joda-time', name: 'joda-time', version: '2.4'
- api group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: '2.9.5'
- api group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.9.5'
- api group: 'com.google.code.findbugs', name: 'findbugs-annotations', version: '3.0.1'
-
- compileOnly group: 'com.google.auto.value', name: 'auto-value', version: '1.2'
- apt group: 'com.google.auto.value', name: 'auto-value', version: '1.2'
+ api group: 'joda-time', name: 'joda-time', version: '2.10'
+ api group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: '2.9.8'
+ api group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.9.8'
testImplementation group: 'org.testng', name: 'testng', version: '6.8.5'
testImplementation group: 'ch.qos.logback', name: 'logback-classic', version: '1.1.2'
diff --git a/platform-independent/java/model/src/main/java/com/lyndir/masterpassword/model/impl/Changeable.java b/platform-independent/java/model/src/main/java/com/lyndir/masterpassword/model/impl/Changeable.java
index 2d3a0246..de01ab41 100644
--- a/platform-independent/java/model/src/main/java/com/lyndir/masterpassword/model/impl/Changeable.java
+++ b/platform-independent/java/model/src/main/java/com/lyndir/masterpassword/model/impl/Changeable.java
@@ -29,7 +29,7 @@ public abstract class Changeable {
}
changeExecutor.submit( () -> {
- synchronized (changeExecutor) {
+ synchronized (mutex) {
if (grouping != Grouping.APPLY)
return;
changed = false;
diff --git a/platform-independent/java/tests/build.gradle b/platform-independent/java/tests/build.gradle
index 7ebd626c..45a35af4 100644
--- a/platform-independent/java/tests/build.gradle
+++ b/platform-independent/java/tests/build.gradle
@@ -1,17 +1,21 @@
plugins {
id 'java'
+ id 'com.github.spotbugs' version '2.0.0'
}
description = 'Master Password Test Suite'
dependencies {
implementation group: 'com.lyndir.lhunath.opal', name: 'opal-system', version: '1.7-p2'
+ implementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1'
implementation project( ':masterpassword-algorithm' )
implementation project( ':masterpassword-model' )
testImplementation group: 'org.testng', name: 'testng', version: '6.8.5'
testImplementation group: 'ch.qos.logback', name: 'logback-classic', version: '1.1.2'
+
+ runtime group: 'org.glassfish.jaxb', name: 'jaxb-runtime', version: '2.3.1'
}
test.useTestNG()
diff --git a/gradle/settings.gradle b/settings.gradle
similarity index 55%
rename from gradle/settings.gradle
rename to settings.gradle
index 74f5bc7f..45b50023 100644
--- a/gradle/settings.gradle
+++ b/settings.gradle
@@ -5,23 +5,23 @@ def localFile = file( 'local.properties' )
localFile.exists() && local.load( localFile.newDataInputStream() )
include 'masterpassword-core'
-project( ':masterpassword-core' ).projectDir = new File( '../platform-independent/c/core' )
+project( ':masterpassword-core' ).projectDir = new File( 'platform-independent/c/core' )
include 'masterpassword-algorithm'
-project( ':masterpassword-algorithm' ).projectDir = new File( '../platform-independent/java/algorithm' )
+project( ':masterpassword-algorithm' ).projectDir = new File( 'platform-independent/java/algorithm' )
include 'masterpassword-model'
-project( ':masterpassword-model' ).projectDir = new File( '../platform-independent/java/model' )
+project( ':masterpassword-model' ).projectDir = new File( 'platform-independent/java/model' )
include 'masterpassword-tests'
-project( ':masterpassword-tests' ).projectDir = new File( '../platform-independent/java/tests' )
+project( ':masterpassword-tests' ).projectDir = new File( 'platform-independent/java/tests' )
include 'masterpassword-gui'
-project( ':masterpassword-gui' ).projectDir = new File( '../platform-independent/java/gui' )
+project( ':masterpassword-gui' ).projectDir = new File( 'platform-independent/java/gui' )
if (local.containsKey( 'sdk.dir' ) && file( local.getProperty( 'sdk.dir' ) ).exists()) {
include 'masterpassword-android'
- project( ':masterpassword-android' ).projectDir = new File( '../platform-android' )
+ project( ':masterpassword-android' ).projectDir = new File( 'platform-android' )
} else {
logger.warn( "Skipping masterpassword-android since sdk.dir is not defined in local.properties." )
}