Giter VIP home page Giter VIP logo

jreleaser's Introduction

JReleaser

Build Status Download GitHub all releases Docker Pulls jreleaser-slim Docker Pulls jreleaser-alpine

jreleaser jreleaser


Release Java and non-Java projects quickly and easily with JReleaser!

JReleaser is a release automation tool for Java and non-Java projects. Its goal is to simplify creating releases and publishing artifacts to multiple package managers while providing customizable options.

For questions, support and general discussion, please use GitHub Discussions.

Install

There are multiple choices depending on your preference.

CLI

The CLI can be installed in the following ways:

Homebrew (only on OSX for now):

Requires Java 8

brew install jreleaser/tap/jreleaser

Scoop:

Requires Java 8

scoop bucket add jreleaser https://github.com/jreleaser/scoop-jreleaser.git
scoop install jreleaser

Sdkman:

Requires Java 8

sdk install jreleaser

Jbang

Requires Java 8

stable
// Download, cache, and run
jbang jreleaser@jreleaser <command> [<args>]
early-access
// Download, cache, and run
jbang jreleaser-snapshot@jreleaser <command> [<args>]

Curl

Requires Java 11

// Get the jreleaser downloader
curl -sL https://git.io/get-jreleaser > get_jreleaser.java

// Download JReleaser with version = <version>
// Change <version> to a tagged JReleaser release
// or leave it out to pull `latest`.
java get_jreleaser.java <version>

// Execute a JReleaser
java -jar jreleaser-cli.jar <command> [<args>]

Manually:

Download the pre-compiled binary from the releases page, uncompress and copy to the desired location.

Be mindful that jreleaser-0.8.0.zip requires Java 8 to be installed while jreleaser-standalone-0.8.0-[linux|osx|windows].zip can be used without a previous installation of Java as it includes its own Java Runtime.

Docker

You can run JReleaser as a docker image, skipping the need to have a pre-installed Java runtime. You must mount the working directory at the /workspace volume, for example assuming the current directory is the starting point:

$ docker run -it --rm -v `(pwd)`:/workspace \
  jreleaser/<image>:<tag> <command> [<args>]

Where image may be jreleaser-slim, jreleaser-alpine.

Note
The jreleaser command will be automatically executed inside /workspace.

You may also need to map environment variables to the container, such as JRELEASER_PROJECT_VERSION, JRELEASER_GITHUB_TOKEN, or others depending on your setup. Refer to the configuration pages.

You can find the tag listing here.

Maven

Configure the jreleaser-maven-plugin in your POM file

pom.xml
<plugin>
  <groupId>org.jreleaser</groupId>
  <artifactId>jreleaser-maven-plugin</artifactId>
  <version>0.8.0</version>
</plugin>

Gradle

Configure the jreleaser-gradle-plugin in your build.gradle or settings.gradle file

build.gradle
plugins {
    id 'org.jreleaser' version '0.8.0'
}

Ant

Download the jreleaser-ant-tasks ZIP bundle from the releases page and unzip it in your project. Place all JARs inside the lib folder. Create this folder if there is none. Add the following elements to your build.xml file

build.xml
<path id="jreleaser.classpath">
    <fileset dir="lib">
        <include name="jreleaser-ant-tasks-0.8.0/*.jar"/>
    </fileset>
</path>

<import>
  <javaresource name="org/jreleaser/ant/targets.xml"
                classpathref="jreleaser.classpath"/>
</import>

jreleaser's People

Contributors

aalmiray avatar allcontributors[bot] avatar andreabettich avatar anyulled avatar bmarwell avatar dennisrippinger avatar fdelporte avatar github-actions[bot] avatar jlengrand avatar jruaux avatar marcelmfa avatar mfvitale avatar portlek avatar rnayabed avatar scordio avatar seakayone avatar sormuras avatar torrespro avatar yusuke avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.