Publish to Maven Central and add upgrade gradle to v8.1
Gitea/Java-Installer/pipeline/head There was a failure building this commit
Details
Gitea/Java-Installer/pipeline/head There was a failure building this commit
Details
parent
5a198decb4
commit
b683978039
|
@ -68,6 +68,7 @@ local.properties
|
|||
|
||||
# Gradle
|
||||
.gradle
|
||||
/gradle.properties
|
||||
|
||||
# Space for private notes
|
||||
/notes
|
|
@ -8,7 +8,17 @@ pipeline {
|
|||
stages {
|
||||
stage('Build') {
|
||||
steps {
|
||||
sh './gradlew build publishToMavenLocal --warning-mode all'
|
||||
script {
|
||||
withCredentials([
|
||||
file(credentialsId: 'MAVEN_PUBLISH_SONATYPE_GRADLE_PROPERTIES', variable: 'SONATYPE_CREDENTIALS')
|
||||
]) {
|
||||
// Build and publish
|
||||
sh 'cp \${SONATYPE_CREDENTIALS} ./gradle.properties'
|
||||
sh './gradlew --no-build-cache build publishToMavenLocal publishToSonatype closeAndReleaseSonatypeStagingRepository --warning-mode all'
|
||||
sh 'rm ./gradle.properties'
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
14
README.md
14
README.md
|
@ -1,6 +1,6 @@
|
|||
# Purpose
|
||||
|
||||
This project provides a simple installation tool for installing your java application under the operation systems *windows* and *linux*.
|
||||
This project provides a simple installation tool for installing your java application under the operating systems *windows* and *linux*.
|
||||
|
||||
If you want to use a simple installer instead of the installation method the operating systems ships with (like *msi* or *dpkg packages*) feel free to use this installer.
|
||||
This installer can be used for a **single jar file** with a few dependencies.
|
||||
|
@ -16,11 +16,12 @@ Basic auth for downloading the executable is supported
|
|||
* install the program *portable* in a single folder
|
||||
* creating a **desktop** and a **start menu** entry with a custom icon
|
||||
* a **launch script** for opening the application will be provided
|
||||
* put your application into the autostart folder of the operating system *(for GUI applications)*
|
||||
|
||||
### Windows
|
||||
|
||||
* besides the removal via the launch script an **uninstall** entry in the *contol center* will also be created
|
||||
* install the programm only for the current **user** -> no need of administrator rights
|
||||
* install the programm only for the current **user** → no need of administrator rights
|
||||
|
||||
### Linux
|
||||
|
||||
|
@ -28,6 +29,12 @@ Basic auth for downloading the executable is supported
|
|||
|
||||
# Getting started
|
||||
|
||||
## How to get
|
||||
|
||||
You can build the library by yourself or use the provided version in the [Maven Central Repository](https://central.sonatype.com/artifact/de.rpjosh/installer/1.1.0).
|
||||
|
||||
## Usage
|
||||
|
||||
The usage of the library is very simple. See the below code snippet for a short example.
|
||||
|
||||
```
|
||||
|
@ -45,13 +52,14 @@ conf.setDownloadURLForProgramm(URL, BASIC_AUTH_USER, BASIC_AUTH_PASSWORD);
|
|||
Installer installer = new Installer(conf);
|
||||
installer.installProgramm(args);
|
||||
|
||||
// whether the installation was successful (0) or erroneous (<0)
|
||||
// whether the installation was successful (0) or erroneous (>0)
|
||||
System.out.println(installer.getResponseCode());
|
||||
```
|
||||
___
|
||||
|
||||
For a real life example you can take a look at the installer of [RPdb](https://git.rpjosh.de/RPJosh/RPdb/src/branch/master/Program/Java/tk.rpjosh.rpdb.installer).
|
||||
|
||||
|
||||
# License
|
||||
This project is licensed under the GPLv3. Please see the [LICENSE](LICENSE) file for an full license.
|
||||
|
||||
|
|
41
build.gradle
41
build.gradle
|
@ -2,6 +2,8 @@ plugins {
|
|||
// Apply the java-library plugin to add support for Java Library
|
||||
id 'java-library'
|
||||
id 'maven-publish'
|
||||
id 'signing'
|
||||
id("io.github.gradle-nexus.publish-plugin") version "1.1.0"
|
||||
}
|
||||
|
||||
// Set version of programm //
|
||||
|
@ -25,7 +27,7 @@ targetCompatibility = 11
|
|||
// create a single .jar with all dependencies //
|
||||
task fatJar(type: Jar) {
|
||||
|
||||
classifier = ''
|
||||
archiveClassifier = ''
|
||||
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
||||
|
||||
manifest {
|
||||
|
@ -46,7 +48,7 @@ task fatJar(type: Jar) {
|
|||
}
|
||||
|
||||
task sourcesJar(type: Jar, dependsOn: classes) {
|
||||
classifier = 'sources'
|
||||
archiveClassifier = 'sources'
|
||||
from sourceSets.main.allSource
|
||||
}
|
||||
|
||||
|
@ -59,7 +61,7 @@ task javadocJar(type: Jar, dependsOn: javadoc) {
|
|||
'Implementation-Version': version,
|
||||
'Implementation-Group': project.group, )
|
||||
}
|
||||
classifier = 'javadoc'
|
||||
archiveClassifier = 'javadoc'
|
||||
from javadoc.destinationDir
|
||||
}
|
||||
|
||||
|
@ -89,11 +91,25 @@ java {
|
|||
withSourcesJar()
|
||||
}
|
||||
|
||||
nexusPublishing {
|
||||
repositories {
|
||||
sonatype{
|
||||
nexusUrl.set(uri("https://s01.oss.sonatype.org/service/local/"))
|
||||
snapshotRepositoryUrl.set(uri("https://s01.oss.sonatype.org/content/repositories/snapshots/"))
|
||||
|
||||
// Or use System.getenv?
|
||||
username=project.property("maven.sonatype.user")
|
||||
password=project.property("maven.sonatype.password")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
publishing {
|
||||
publications {
|
||||
mavenJava(MavenPublication) {
|
||||
javaPubl(MavenPublication) {
|
||||
artifactId = 'installer'
|
||||
from components.java
|
||||
|
||||
pom {
|
||||
name = 'Java-Installer'
|
||||
description = 'A simple installation routine for your Java application'
|
||||
|
@ -107,15 +123,30 @@ publishing {
|
|||
developers {
|
||||
developer {
|
||||
id = 'RPJosh'
|
||||
name = 'RPJosh'
|
||||
name = 'Jonas Letzbor'
|
||||
email = 'RPjosh@rpjosh.de'
|
||||
}
|
||||
}
|
||||
scm {
|
||||
connection = 'scm:git:https://git.rpjosh.de/RPJosh/Java-Installer.git'
|
||||
developerConnection = 'scm:git:https://git.rpjosh.de/RPJosh/Java-Installer.git'
|
||||
url = 'https://git.rpjosh.de/RPJosh/Java-Installer'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
signing {
|
||||
def signingKey = project.property("maven.sonatype.signing.key")
|
||||
def signingPassword = project.property("maven.sonatype.signing.password")
|
||||
useInMemoryPgpKeys(signingKey, signingPassword)
|
||||
|
||||
// Only sign the publication
|
||||
sign publishing.publications.javaPubl
|
||||
}
|
||||
|
||||
|
||||
|
||||
build.finalizedBy copyJar
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
|
|
Loading…
Reference in New Issue