This Gradle plugin is a wrapper for jDeploy.
It helps publish software written in java, kotlin and other JVM languages through NPM.
This plugin works out of the box using standard java plugins or Shadow.
shadowJar
archive location takes precedence over jar
task.
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "lt.neworld.gradle:gradle-jdeploy-plugin:0.6.0"
}
}
apply plugin: "lt.neworld.jdeploy"
or
plugins {
id "lt.neworld.jdeploy" version "0.6.0"
}
if you are using gradle-node-plugin, you must apply this plugin after it.
jdeploy {
name = "hello-world"
binName = "foo" // optional. You could override executable name if you wish. Otherwise uses name
author = "neworldLT"
description = "Hello world app for testing purposes"
license = "MIT"
repository = "https://github.com/neworld/gradle-jdeploy-plugin"
options {
toolVersion = "1.0.21" // optional
allowGlobalInstall = false // optional; explicit enable global install of jdeploy
}
}
Sometimes you want use custom jar packaging task than provided with java plugin. So, you can set jar custom jar path:
jdeploy {
jar = file("$buildDir/libs/$name-$version-all.jar")
}
Compatibility with gradle-node-plugin
Actually, this plugin depends on gradle-node-plugin.
I do my best to make sure this plugin plays nicely.
If you are using that node plugin, and you are disabled download
(which is default behavior), then jdeploy
needs to be install globally.
However, this could cause undesired outcome.
You should consider use node in the project scope or explicit allow install globally using allowGlobalInstall
flag.
./gradlew jdeployInstall #install locally
./gradlew jdeployPublish #publish to NPM
You could easily run all samples to make sure everything is working:
cd samples
./gradle smokeTest
If you are introducing new functionality, please make sample for it.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.