[Build] Migrate from Bintray to Maven Central

This commit is contained in:
SpaiR committed 2021-02-06 20:48:29 +02:00
1 parent 041e1329d5
commit 3c0fb93ea0
9 files changed
+98 -136

No files matched your search

+1
View File
@@ -24,6 +24,7 @@ logs/
*.zip
*.tar.gz
*.rar
*.gpg
# Gradle
.gradletasknamecache
+1 -1
View File
@@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Copyright 2019-2021, Ilya "SpaiR" Prymshyts
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
+15 -29
View File
@@ -1,7 +1,8 @@
# imgui-java
[![CI Build](https://github.com/SpaiR/imgui-java/workflows/CI%20Build/badge.svg)](https://github.com/SpaiR/imgui-java/actions?query=workflow%3A%22CI+Build%22)
[![binding javadoc](https://javadoc.io/badge2/io.imgui.java/imgui-java-binding/binding_javadoc.svg)](https://javadoc.io/doc/io.imgui.java/imgui-java-binding)
[![app javadoc](https://javadoc.io/badge2/io.imgui.java/imgui-java-app/app_javadoc.svg)](https://javadoc.io/doc/io.imgui.java/imgui-java-app)
[![CI Build](https://github.com/SpaiR/imgui-java/workflows/CI%20Build/badge.svg)](https://github.com/SpaiR/imgui-java/actions?query=workflow%3A%22CI+Build%22)
[![Maven Central](https://img.shields.io/maven-central/v/io.github.spair/imgui-java-binding?logo=apache-maven)](https://search.maven.org/artifact/io.github.spair/imgui-java-binding)
[![binding javadoc](https://javadoc.io/badge2/io.github.spair/imgui-java-binding/javadoc_binding.svg)](https://javadoc.io/doc/io.github.spair/imgui-java-binding)
[![app javadoc](https://javadoc.io/badge2/io.github.spair/imgui-java-app/javadoc_app.svg)](https://javadoc.io/doc/io.github.spair/imgui-java-app)
JNI based binding for [Dear ImGui](https://github.com/ocornut/imgui) with no dependencies.<br>
Read official [documentation](https://github.com/ocornut/imgui#usage) and [wiki](https://github.com/ocornut/imgui/wiki) to see how to work with Dear ImGui.
@@ -69,7 +70,7 @@ public class Main extends Application {
}
}
```
Read `imgui.app.Application` [javadoc](https://javadoc.io/doc/io.imgui.java/imgui-java-app) to understand how it works under the hood.
Read `imgui.app.Application` [javadoc](https://javadoc.io/doc/io.github.spair/imgui-java-app) to understand how it works under the hood.
#### Dependencies
@@ -78,11 +79,11 @@ Read `imgui.app.Application` [javadoc](https://javadoc.io/doc/io.imgui.java/imgu
```
repositories {
jcenter()
mavenCentral()
}
dependencies {
implementation "io.imgui.java:imgui-java-app:1.80-1.5.0"
implementation "io.github.spair:imgui-java-app:1.80-1.5.0"
}
```
</details>
@@ -91,16 +92,9 @@ dependencies {
<summary><b>Maven</b></summary>
```
<repositories>
<repository>
<id>jcenter</id>
<url>https://jcenter.bintray.com/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>io.imgui.java</groupId>
<groupId>io.github.spair</groupId>
<artifactId>imgui-java-app</artifactId>
<version>1.80-1.5.0</version>
</dependency>
@@ -129,7 +123,6 @@ Feel free to add other platforms: `imgui-java-natives-windows-x86`, `imgui-java-
```
repositories {
jcenter()
mavenCentral()
}
@@ -146,10 +139,10 @@ dependencies {
implementation "org.lwjgl:lwjgl$it::natives-windows"
}
implementation "io.imgui.java:imgui-java-binding:$imguiVersion"
implementation "io.imgui.java:imgui-java-lwjgl3:$imguiVersion"
implementation "io.github.spair:imgui-java-binding:$imguiVersion"
implementation "io.github.spair:imgui-java-lwjgl3:$imguiVersion"
implementation "io.imgui.java:imgui-java-natives-windows:$imguiVersion"
implementation "io.github.spair:imgui-java-natives-windows:$imguiVersion"
}
```
</details>
@@ -158,13 +151,6 @@ dependencies {
<summary><b>Maven</b></summary>
```
<repositories>
<repository>
<id>jcenter</id>
<url>https://jcenter.bintray.com/</url>
</repository>
</repositories>
<properties>
<lwjgl.version>3.2.3</lwjgl.version>
<imgui.java.version>1.80-1.5.0</imgui.java.version>
@@ -212,17 +198,17 @@ dependencies {
</dependency>
<dependency>
<groupId>io.imgui.java</groupId>
<groupId>io.github.spair</groupId>
<artifactId>imgui-java-binding</artifactId>
<version>${imgui.java.version}</version>
</dependency>
<dependency>
<groupId>io.imgui.java</groupId>
<groupId>io.github.spair</groupId>
<artifactId>imgui-java-lwjgl3</artifactId>
<version>${imgui.java.version}</version>
</dependency>
<dependency>
<groupId>io.imgui.java</groupId>
<groupId>io.github.spair</groupId>
<artifactId>imgui-java-natives-windows</artifactId>
<version>${imgui.java.version}</version>
</dependency>
@@ -258,7 +244,7 @@ One important thing is how natives structs work. All of them have a public field
By changing the pointer it's possible to use the same Java instance to work with different native structs.<br>
Most of the time you can ignore this fact and just work with objects in a common way.
Read [javadoc](https://javadoc.io/doc/io.imgui.java/imgui-java-binding) and source comments to get more info about how to do specific stuff.
Read [javadoc](https://javadoc.io/doc/io.github.spair/imgui-java-binding) and source comments to get more info about how to do specific stuff.
# How to Build Native Libraries
### Windows
-4
View File
@@ -1,7 +1,3 @@
plugins {
id 'com.jfrog.bintray' apply false
}
allprojects {
group 'imgui-java'
version property('version')
+3 -23
View File
@@ -2,8 +2,8 @@ plugins {
id 'java-library'
id 'io.freefair.lombok' version '5.3.0'
id 'checkstyle'
id 'com.jfrog.bintray'
id 'maven-publish'
id 'signing'
}
sourceCompatibility = 1.8
@@ -48,25 +48,5 @@ task javadocJar(type: Jar, dependsOn: javadoc) {
from javadoc.destinationDir
}
publishing {
publications {
MyPublication(MavenPublication) {
from components.java
groupId 'io.imgui.java'
artifactId 'imgui-java-app'
artifact sourcesJar
artifact javadocJar
version property('version')
}
}
}
bintray {
user = System.getenv('BINTRAY_USER')
key = System.getenv('BINTRAY_API_KEY')
publications = ['MyPublication']
pkg {
repo = 'io.imgui.java'
name = 'imgui-java-app'
}
}
apply from: "$rootDir/publish.gradle"
configurePublishing('imgui-java-app', 'Application wrapper for Dear ImGui')
+15 -23
View File
@@ -1,7 +1,7 @@
plugins {
id 'java'
id 'com.jfrog.bintray'
id 'maven-publish'
id 'signing'
}
task sourcesJar(type: Jar, dependsOn: classes) {
@@ -9,23 +9,34 @@ task sourcesJar(type: Jar, dependsOn: classes) {
from sourceSets.main.allSource
}
def packageName = 'natives-linux'
task javadocJar(type: Jar, dependsOn: javadoc) {
archiveClassifier.set('javadoc')
from javadoc.destinationDir
}
def packageName = 'imgui-java-natives-linux'
def packageDesc = 'Native binaries for imgui-java binding for 64bit Linux'
def libName = 'libimgui-java64.so'
if (System.getProperty('deployWin32')) {
packageName = 'imgui-java-natives-windows-x86'
packageDesc = 'Native binaries for imgui-java binding for 32bit Windows'
libName = 'imgui-java.dll'
} else if (System.getProperty('deployWin64')) {
packageName = 'imgui-java-natives-windows'
packageDesc = 'Native binaries for imgui-java binding for 64bit Windows'
libName = 'imgui-java64.dll'
} else if (System.getProperty('deployLinux32')) {
packageName = 'imgui-java-natives-linux-x86'
packageDesc = 'Native binaries for imgui-java binding for 32bit Linux'
libName = 'libimgui-java.so'
} else if (System.getProperty('deployLinux64')) {
packageName = 'imgui-java-natives-linux'
packageDesc = 'Native binaries for imgui-java binding for 64bit Linux'
libName = 'libimgui-java64.so'
} else if (System.getProperty('deployMacOs64')) {
packageName = 'imgui-java-natives-macos'
packageDesc = 'Native binaries for imgui-java binding for 64bit MacOS'
libName = 'libimgui-java64.dylib'
}
@@ -36,24 +47,5 @@ jar {
}
}
publishing {
publications {
MyPublication(MavenPublication) {
from components.java
groupId 'io.imgui.java'
artifactId packageName
artifact sourcesJar
version property('version')
}
}
}
bintray {
user = System.getenv('BINTRAY_USER')
key = System.getenv('BINTRAY_API_KEY')
publications = ['MyPublication']
pkg {
repo = 'io.imgui.java'
name = packageName
}
}
apply from: "$rootDir/publish.gradle"
configurePublishing(packageName, packageDesc)
+3 -23
View File
@@ -3,8 +3,8 @@ import imgui.generate.GenerateLibs
plugins {
id 'java'
id 'checkstyle'
id 'com.jfrog.bintray'
id 'maven-publish'
id 'signing'
}
sourceCompatibility = 1.8
@@ -31,25 +31,5 @@ task javadocJar(type: Jar, dependsOn: javadoc) {
from javadoc.destinationDir
}
publishing {
publications {
MyPublication(MavenPublication) {
from components.java
groupId 'io.imgui.java'
artifactId 'imgui-java-binding'
artifact sourcesJar
artifact javadocJar
version property('version')
}
}
}
bintray {
user = System.getenv('BINTRAY_USER')
key = System.getenv('BINTRAY_API_KEY')
publications = ['MyPublication']
pkg {
repo = 'io.imgui.java'
name = 'imgui-java-binding'
}
}
apply from: "$rootDir/publish.gradle"
configurePublishing('imgui-java-binding', 'JNI based binding for Dear ImGui')
+6 -33
View File
@@ -1,26 +1,13 @@
import org.gradle.internal.os.OperatingSystem
plugins {
id 'java'
id 'checkstyle'
id 'com.jfrog.bintray'
id 'maven-publish'
id 'signing'
}
sourceCompatibility = 1.8
switch (OperatingSystem.current()) {
case OperatingSystem.LINUX:
project.ext.lwjglNatives = 'natives-linux'
break
case OperatingSystem.WINDOWS:
project.ext.lwjglNatives = 'natives-windows'
break
case OperatingSystem.MAC_OS:
project.ext.lwjglNatives = 'natives-macos'
break
}
dependencies {
implementation platform("org.lwjgl:lwjgl-bom:3.2.3")
@@ -36,24 +23,10 @@ task sourcesJar(type: Jar, dependsOn: classes) {
from sourceSets.main.allSource
}
publishing {
publications {
MyPublication(MavenPublication) {
from components.java
groupId 'io.imgui.java'
artifactId 'imgui-java-lwjgl3'
artifact sourcesJar
version property('version')
}
}
task javadocJar(type: Jar, dependsOn: javadoc) {
archiveClassifier.set('javadoc')
from javadoc.destinationDir
}
bintray {
user = System.getenv('BINTRAY_USER')
key = System.getenv('BINTRAY_API_KEY')
publications = ['MyPublication']
pkg {
repo = 'io.imgui.java'
name = 'imgui-java-lwjgl3'
}
}
apply from: "$rootDir/publish.gradle"
configurePublishing('imgui-java-lwjgl3', 'Backend LWJGL3 implementation for imgui-java')
+54
View File
@@ -0,0 +1,54 @@
ext.configurePublishing = { packageName, packageDesc ->
publishing {
repositories {
maven {
name = 'MavenCentral'
def releasesRepoUrl = 'https://oss.sonatype.org/service/local/staging/deploy/maven2'
def snapshotsRepoUrl = 'https://oss.sonatype.org/content/repositories/snapshots'
url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
credentials {
username = findProperty('nexusUpdId') ?: ''
password = findProperty('nexusUpdPass') ?: ''
}
}
}
publications {
mavenJava(MavenPublication) {
groupId = 'io.github.spair'
artifactId = packageName
version = property('version')
from components.java
artifact sourcesJar
artifact javadocJar
pom {
name = packageName
description = packageDesc
url = 'https://github.com/SpaiR/imgui-java'
licenses {
license {
name = 'The Apache License, Version 2.0'
url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
}
developers {
developer {
id = 'SpaiR'
name = 'Ilya Prymshyts'
email = 'klimbetoo@gmail.com'
}
}
scm {
connection = 'scm:git:https://github.com/SpaiR/imgui-java.git'
developerConnection = 'scm:git:https://github.com/SpaiR/imgui-java.git'
url = 'https://github.com/SpaiR/imgui-java.git'
}
}
}
}
}
signing {
sign publishing.publications.mavenJava
}
}