diff --git a/build.gradle b/build.gradle index 1d0d75424..784e55753 100644 --- a/build.gradle +++ b/build.gradle @@ -10,7 +10,6 @@ println("jadx version: ${jadxVersion}") allprojects { apply plugin: 'java' apply plugin: 'checkstyle' - apply plugin: 'maven-publish' version = jadxVersion @@ -27,14 +26,6 @@ allprojects { } } - publishing { - publications { - mavenJava(MavenPublication) { - from components.java - } - } - } - dependencies { implementation 'org.slf4j:slf4j-api:1.7.32' compileOnly 'org.jetbrains:annotations:23.0.0' diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle new file mode 100644 index 000000000..063791b4c --- /dev/null +++ b/buildSrc/build.gradle @@ -0,0 +1,3 @@ +plugins { + id 'groovy-gradle-plugin' +} diff --git a/buildSrc/src/main/groovy/jadx-library.gradle b/buildSrc/src/main/groovy/jadx-library.gradle new file mode 100644 index 000000000..161f98805 --- /dev/null +++ b/buildSrc/src/main/groovy/jadx-library.gradle @@ -0,0 +1,76 @@ +plugins { + id 'java-library' + id 'maven-publish' + id 'signing' +} + + +group = 'io.github.skylot' +version = jadxVersion + +java { + withJavadocJar() + withSourcesJar() +} + +publishing { + publications { + mavenJava(MavenPublication) { + artifactId = project.name + from components.java + versionMapping { + usage('java-api') { + fromResolutionOf('runtimeClasspath') + } + usage('java-runtime') { + fromResolutionResult() + } + } + pom { + name = project.name + description = 'Dex to Java decompiler' + url = 'https://github.com/skylot/jadx' + licenses { + license { + name = 'The Apache License, Version 2.0' + url = 'http://www.apache.org/licenses/LICENSE-2.0.txt' + } + } + developers { + developer { + id = 'skylot' + name = 'Skylot' + email = 'skylot@gmail.com' + url = 'https://github.com/skylot' + } + } + scm { + connection = 'scm:git:git://github.com/skylot/jadx.git' + developerConnection = 'scm:git:ssh://github.com:skylot/jadx.git' + url = 'https://github.com/skylot/jadx' + } + } + } + } + repositories { + maven { + def releasesRepoUrl = uri('https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/') + def snapshotsRepoUrl = uri('https://s01.oss.sonatype.org/content/repositories/snapshots/') + url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl + credentials { + username = project.properties['ossrhUser'].toString() + password = project.properties['ossrhPassword'].toString() + } + } + } +} + +signing { + sign publishing.publications.mavenJava +} + +javadoc { + if (JavaVersion.current().isJava9Compatible()) { + options.addBooleanOption('html5', true) + } +} diff --git a/jadx-core/build.gradle b/jadx-core/build.gradle index 4f7c48dc2..4b05c2eb7 100644 --- a/jadx-core/build.gradle +++ b/jadx-core/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'java-library' + id 'jadx-library' } dependencies { diff --git a/jadx-core/src/main/java/jadx/core/dex/nodes/parser/SignatureParser.java b/jadx-core/src/main/java/jadx/core/dex/nodes/parser/SignatureParser.java index cf80617e9..6f542bf28 100644 --- a/jadx-core/src/main/java/jadx/core/dex/nodes/parser/SignatureParser.java +++ b/jadx-core/src/main/java/jadx/core/dex/nodes/parser/SignatureParser.java @@ -251,8 +251,8 @@ public class SignatureParser { /** * Map of generic types names to extends classes. - *

- * Example: "" + *

+ * Example: "<T:Ljava/lang/Exception;:Ljava/lang/Object;>" */ @SuppressWarnings("ConditionalBreakInInfiniteLoop") public List consumeGenericTypeParameters() { diff --git a/jadx-core/src/main/java/jadx/core/utils/android/DataInputDelegate.java b/jadx-core/src/main/java/jadx/core/utils/android/DataInputDelegate.java index 3b64f59ec..7a7ad7d5e 100644 --- a/jadx-core/src/main/java/jadx/core/utils/android/DataInputDelegate.java +++ b/jadx-core/src/main/java/jadx/core/utils/android/DataInputDelegate.java @@ -20,7 +20,7 @@ import java.io.DataInput; import java.io.IOException; /** - * @author Ryszard Wiśniewski + * @author Ryszard Wiśniewski "brut.alll@gmail.com" */ public abstract class DataInputDelegate implements DataInput { protected final DataInput mDelegate; diff --git a/jadx-core/src/main/java/jadx/core/utils/android/ExtDataInput.java b/jadx-core/src/main/java/jadx/core/utils/android/ExtDataInput.java index 351fc0c82..a59cc9430 100644 --- a/jadx-core/src/main/java/jadx/core/utils/android/ExtDataInput.java +++ b/jadx-core/src/main/java/jadx/core/utils/android/ExtDataInput.java @@ -22,7 +22,7 @@ import java.io.IOException; import java.io.InputStream; /** - * @author Ryszard Wiśniewski + * @author Ryszard Wiśniewski "brut.alll@gmail.com" */ public class ExtDataInput extends DataInputDelegate { public ExtDataInput(InputStream in) { diff --git a/jadx-core/src/main/java/jadx/core/utils/android/Res9patchStreamDecoder.java b/jadx-core/src/main/java/jadx/core/utils/android/Res9patchStreamDecoder.java index 3c0c5db85..1c674aac8 100644 --- a/jadx-core/src/main/java/jadx/core/utils/android/Res9patchStreamDecoder.java +++ b/jadx-core/src/main/java/jadx/core/utils/android/Res9patchStreamDecoder.java @@ -27,7 +27,7 @@ import javax.imageio.ImageIO; import jadx.core.utils.exceptions.JadxRuntimeException; /** - * @author Ryszard Wiśniewski + * @author Ryszard Wiśniewski "brut.alll@gmail.com" */ public class Res9patchStreamDecoder { diff --git a/jadx-plugins/jadx-dex-input/build.gradle b/jadx-plugins/jadx-dex-input/build.gradle index 8c1349b5e..7fecd4dd4 100644 --- a/jadx-plugins/jadx-dex-input/build.gradle +++ b/jadx-plugins/jadx-dex-input/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'java-library' + id 'jadx-library' } dependencies { diff --git a/jadx-plugins/jadx-java-convert/build.gradle b/jadx-plugins/jadx-java-convert/build.gradle index d9faee563..6e8078b07 100644 --- a/jadx-plugins/jadx-java-convert/build.gradle +++ b/jadx-plugins/jadx-java-convert/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'java-library' + id 'jadx-library' } dependencies { diff --git a/jadx-plugins/jadx-java-input/build.gradle b/jadx-plugins/jadx-java-input/build.gradle index cd943d399..cd5fc4ced 100644 --- a/jadx-plugins/jadx-java-input/build.gradle +++ b/jadx-plugins/jadx-java-input/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'java-library' + id 'jadx-library' } dependencies { diff --git a/jadx-plugins/jadx-plugins-api/build.gradle b/jadx-plugins/jadx-plugins-api/build.gradle index 97734ac60..c4c8599f4 100644 --- a/jadx-plugins/jadx-plugins-api/build.gradle +++ b/jadx-plugins/jadx-plugins-api/build.gradle @@ -1,3 +1,3 @@ plugins { - id 'java-library' + id 'jadx-library' } diff --git a/jadx-plugins/jadx-raung-input/build.gradle b/jadx-plugins/jadx-raung-input/build.gradle index b9a304f2b..9e8682f25 100644 --- a/jadx-plugins/jadx-raung-input/build.gradle +++ b/jadx-plugins/jadx-raung-input/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'java-library' + id 'jadx-library' } dependencies { diff --git a/jadx-plugins/jadx-smali-input/build.gradle b/jadx-plugins/jadx-smali-input/build.gradle index fb3b0589d..81e63f552 100644 --- a/jadx-plugins/jadx-smali-input/build.gradle +++ b/jadx-plugins/jadx-smali-input/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'java-library' + id 'jadx-library' } dependencies {