Skip to content

Commit 3c0fb93

Browse files
committed
[Build] Migrate from Bintray to Maven Central
1 parent 041e132 commit 3c0fb93

File tree

9 files changed

+98
-136
lines changed

9 files changed

+98
-136
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ logs/
2424
*.zip
2525
*.tar.gz
2626
*.rar
27+
*.gpg
2728

2829
# Gradle
2930
.gradletasknamecache

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@
186186
same "printed page" as the copyright notice for easier
187187
identification within third-party archives.
188188

189-
Copyright [yyyy] [name of copyright owner]
189+
Copyright 2019-2021, Ilya "SpaiR" Prymshyts
190190

191191
Licensed under the Apache License, Version 2.0 (the "License");
192192
you may not use this file except in compliance with the License.

README.md

Lines changed: 15 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
# imgui-java
2-
[![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)
3-
[![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)
4-
[![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)
2+
[![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)
3+
[![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)
4+
[![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)
5+
[![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)
56

67
JNI based binding for [Dear ImGui](https://github.com/ocornut/imgui) with no dependencies.<br>
78
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 {
6970
}
7071
}
7172
```
72-
Read `imgui.app.Application` [javadoc](https://javadoc.io/doc/io.imgui.java/imgui-java-app) to understand how it works under the hood.
73+
Read `imgui.app.Application` [javadoc](https://javadoc.io/doc/io.github.spair/imgui-java-app) to understand how it works under the hood.
7374

7475
#### Dependencies
7576

@@ -78,11 +79,11 @@ Read `imgui.app.Application` [javadoc](https://javadoc.io/doc/io.imgui.java/imgu
7879

7980
```
8081
repositories {
81-
jcenter()
82+
mavenCentral()
8283
}
8384
8485
dependencies {
85-
implementation "io.imgui.java:imgui-java-app:1.80-1.5.0"
86+
implementation "io.github.spair:imgui-java-app:1.80-1.5.0"
8687
}
8788
```
8889
</details>
@@ -91,16 +92,9 @@ dependencies {
9192
<summary><b>Maven</b></summary>
9293

9394
```
94-
<repositories>
95-
<repository>
96-
<id>jcenter</id>
97-
<url>https://jcenter.bintray.com/</url>
98-
</repository>
99-
</repositories>
100-
10195
<dependencies>
10296
<dependency>
103-
<groupId>io.imgui.java</groupId>
97+
<groupId>io.github.spair</groupId>
10498
<artifactId>imgui-java-app</artifactId>
10599
<version>1.80-1.5.0</version>
106100
</dependency>
@@ -129,7 +123,6 @@ Feel free to add other platforms: `imgui-java-natives-windows-x86`, `imgui-java-
129123

130124
```
131125
repositories {
132-
jcenter()
133126
mavenCentral()
134127
}
135128
@@ -146,10 +139,10 @@ dependencies {
146139
implementation "org.lwjgl:lwjgl$it::natives-windows"
147140
}
148141
149-
implementation "io.imgui.java:imgui-java-binding:$imguiVersion"
150-
implementation "io.imgui.java:imgui-java-lwjgl3:$imguiVersion"
142+
implementation "io.github.spair:imgui-java-binding:$imguiVersion"
143+
implementation "io.github.spair:imgui-java-lwjgl3:$imguiVersion"
151144
152-
implementation "io.imgui.java:imgui-java-natives-windows:$imguiVersion"
145+
implementation "io.github.spair:imgui-java-natives-windows:$imguiVersion"
153146
}
154147
```
155148
</details>
@@ -158,13 +151,6 @@ dependencies {
158151
<summary><b>Maven</b></summary>
159152

160153
```
161-
<repositories>
162-
<repository>
163-
<id>jcenter</id>
164-
<url>https://jcenter.bintray.com/</url>
165-
</repository>
166-
</repositories>
167-
168154
<properties>
169155
<lwjgl.version>3.2.3</lwjgl.version>
170156
<imgui.java.version>1.80-1.5.0</imgui.java.version>
@@ -212,17 +198,17 @@ dependencies {
212198
</dependency>
213199
214200
<dependency>
215-
<groupId>io.imgui.java</groupId>
201+
<groupId>io.github.spair</groupId>
216202
<artifactId>imgui-java-binding</artifactId>
217203
<version>${imgui.java.version}</version>
218204
</dependency>
219205
<dependency>
220-
<groupId>io.imgui.java</groupId>
206+
<groupId>io.github.spair</groupId>
221207
<artifactId>imgui-java-lwjgl3</artifactId>
222208
<version>${imgui.java.version}</version>
223209
</dependency>
224210
<dependency>
225-
<groupId>io.imgui.java</groupId>
211+
<groupId>io.github.spair</groupId>
226212
<artifactId>imgui-java-natives-windows</artifactId>
227213
<version>${imgui.java.version}</version>
228214
</dependency>
@@ -258,7 +244,7 @@ One important thing is how natives structs work. All of them have a public field
258244
By changing the pointer it's possible to use the same Java instance to work with different native structs.<br>
259245
Most of the time you can ignore this fact and just work with objects in a common way.
260246

261-
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.
247+
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.
262248

263249
# How to Build Native Libraries
264250
### Windows

build.gradle

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
plugins {
2-
id 'com.jfrog.bintray' apply false
3-
}
4-
51
allprojects {
62
group 'imgui-java'
73
version property('version')

imgui-app/build.gradle

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ plugins {
22
id 'java-library'
33
id 'io.freefair.lombok' version '5.3.0'
44
id 'checkstyle'
5-
id 'com.jfrog.bintray'
65
id 'maven-publish'
6+
id 'signing'
77
}
88

99
sourceCompatibility = 1.8
@@ -48,25 +48,5 @@ task javadocJar(type: Jar, dependsOn: javadoc) {
4848
from javadoc.destinationDir
4949
}
5050

51-
publishing {
52-
publications {
53-
MyPublication(MavenPublication) {
54-
from components.java
55-
groupId 'io.imgui.java'
56-
artifactId 'imgui-java-app'
57-
artifact sourcesJar
58-
artifact javadocJar
59-
version property('version')
60-
}
61-
}
62-
}
63-
64-
bintray {
65-
user = System.getenv('BINTRAY_USER')
66-
key = System.getenv('BINTRAY_API_KEY')
67-
publications = ['MyPublication']
68-
pkg {
69-
repo = 'io.imgui.java'
70-
name = 'imgui-java-app'
71-
}
72-
}
51+
apply from: "$rootDir/publish.gradle"
52+
configurePublishing('imgui-java-app', 'Application wrapper for Dear ImGui')

imgui-binding-natives/build.gradle

Lines changed: 15 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,42 @@
11
plugins {
22
id 'java'
3-
id 'com.jfrog.bintray'
43
id 'maven-publish'
4+
id 'signing'
55
}
66

77
task sourcesJar(type: Jar, dependsOn: classes) {
88
archiveClassifier.set('sources')
99
from sourceSets.main.allSource
1010
}
1111

12-
def packageName = 'natives-linux'
12+
task javadocJar(type: Jar, dependsOn: javadoc) {
13+
archiveClassifier.set('javadoc')
14+
from javadoc.destinationDir
15+
}
16+
17+
def packageName = 'imgui-java-natives-linux'
18+
def packageDesc = 'Native binaries for imgui-java binding for 64bit Linux'
1319
def libName = 'libimgui-java64.so'
1420

1521
if (System.getProperty('deployWin32')) {
1622
packageName = 'imgui-java-natives-windows-x86'
23+
packageDesc = 'Native binaries for imgui-java binding for 32bit Windows'
1724
libName = 'imgui-java.dll'
1825
} else if (System.getProperty('deployWin64')) {
1926
packageName = 'imgui-java-natives-windows'
27+
packageDesc = 'Native binaries for imgui-java binding for 64bit Windows'
2028
libName = 'imgui-java64.dll'
2129
} else if (System.getProperty('deployLinux32')) {
2230
packageName = 'imgui-java-natives-linux-x86'
31+
packageDesc = 'Native binaries for imgui-java binding for 32bit Linux'
2332
libName = 'libimgui-java.so'
2433
} else if (System.getProperty('deployLinux64')) {
2534
packageName = 'imgui-java-natives-linux'
35+
packageDesc = 'Native binaries for imgui-java binding for 64bit Linux'
2636
libName = 'libimgui-java64.so'
2737
} else if (System.getProperty('deployMacOs64')) {
2838
packageName = 'imgui-java-natives-macos'
39+
packageDesc = 'Native binaries for imgui-java binding for 64bit MacOS'
2940
libName = 'libimgui-java64.dylib'
3041
}
3142

@@ -36,24 +47,5 @@ jar {
3647
}
3748
}
3849

39-
publishing {
40-
publications {
41-
MyPublication(MavenPublication) {
42-
from components.java
43-
groupId 'io.imgui.java'
44-
artifactId packageName
45-
artifact sourcesJar
46-
version property('version')
47-
}
48-
}
49-
}
50-
51-
bintray {
52-
user = System.getenv('BINTRAY_USER')
53-
key = System.getenv('BINTRAY_API_KEY')
54-
publications = ['MyPublication']
55-
pkg {
56-
repo = 'io.imgui.java'
57-
name = packageName
58-
}
59-
}
50+
apply from: "$rootDir/publish.gradle"
51+
configurePublishing(packageName, packageDesc)

imgui-binding/build.gradle

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import imgui.generate.GenerateLibs
33
plugins {
44
id 'java'
55
id 'checkstyle'
6-
id 'com.jfrog.bintray'
76
id 'maven-publish'
7+
id 'signing'
88
}
99

1010
sourceCompatibility = 1.8
@@ -31,25 +31,5 @@ task javadocJar(type: Jar, dependsOn: javadoc) {
3131
from javadoc.destinationDir
3232
}
3333

34-
publishing {
35-
publications {
36-
MyPublication(MavenPublication) {
37-
from components.java
38-
groupId 'io.imgui.java'
39-
artifactId 'imgui-java-binding'
40-
artifact sourcesJar
41-
artifact javadocJar
42-
version property('version')
43-
}
44-
}
45-
}
46-
47-
bintray {
48-
user = System.getenv('BINTRAY_USER')
49-
key = System.getenv('BINTRAY_API_KEY')
50-
publications = ['MyPublication']
51-
pkg {
52-
repo = 'io.imgui.java'
53-
name = 'imgui-java-binding'
54-
}
55-
}
34+
apply from: "$rootDir/publish.gradle"
35+
configurePublishing('imgui-java-binding', 'JNI based binding for Dear ImGui')

imgui-lwjgl3/build.gradle

Lines changed: 6 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,13 @@
1-
import org.gradle.internal.os.OperatingSystem
2-
31
plugins {
42
id 'java'
53
id 'checkstyle'
64
id 'com.jfrog.bintray'
75
id 'maven-publish'
6+
id 'signing'
87
}
98

109
sourceCompatibility = 1.8
1110

12-
switch (OperatingSystem.current()) {
13-
case OperatingSystem.LINUX:
14-
project.ext.lwjglNatives = 'natives-linux'
15-
break
16-
case OperatingSystem.WINDOWS:
17-
project.ext.lwjglNatives = 'natives-windows'
18-
break
19-
case OperatingSystem.MAC_OS:
20-
project.ext.lwjglNatives = 'natives-macos'
21-
break
22-
}
23-
2411
dependencies {
2512
implementation platform("org.lwjgl:lwjgl-bom:3.2.3")
2613

@@ -36,24 +23,10 @@ task sourcesJar(type: Jar, dependsOn: classes) {
3623
from sourceSets.main.allSource
3724
}
3825

39-
publishing {
40-
publications {
41-
MyPublication(MavenPublication) {
42-
from components.java
43-
groupId 'io.imgui.java'
44-
artifactId 'imgui-java-lwjgl3'
45-
artifact sourcesJar
46-
version property('version')
47-
}
48-
}
26+
task javadocJar(type: Jar, dependsOn: javadoc) {
27+
archiveClassifier.set('javadoc')
28+
from javadoc.destinationDir
4929
}
5030

51-
bintray {
52-
user = System.getenv('BINTRAY_USER')
53-
key = System.getenv('BINTRAY_API_KEY')
54-
publications = ['MyPublication']
55-
pkg {
56-
repo = 'io.imgui.java'
57-
name = 'imgui-java-lwjgl3'
58-
}
59-
}
31+
apply from: "$rootDir/publish.gradle"
32+
configurePublishing('imgui-java-lwjgl3', 'Backend LWJGL3 implementation for imgui-java')

0 commit comments

Comments
 (0)