Skip to content

Commit

Permalink
[bug] close 94. runShadow depends on installShadowApp.
Browse files Browse the repository at this point in the history
  • Loading branch information
johnrengelman committed Sep 9, 2014
1 parent d94975a commit 79d5d35
Show file tree
Hide file tree
Showing 5 changed files with 34 additions and 10 deletions.
5 changes: 5 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
v1.1.2
======

+ fix bug in `runShadow` where dependencies from the `shadow` configuration are not available ([Issue #94](https://github.com/johnrengelman/shadow/issues/94))

v1.1.1
======

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.github.jengelman.gradle.plugins.shadow

import com.github.jengelman.gradle.plugins.shadow.internal.JavaJarExec
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowCreateStartScripts
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import org.gradle.api.GradleException
Expand All @@ -8,7 +9,6 @@ import org.gradle.api.Project
import org.gradle.api.file.CopySpec
import org.gradle.api.plugins.ApplicationPlugin
import org.gradle.api.plugins.ApplicationPluginConvention
import org.gradle.api.tasks.JavaExec
import org.gradle.api.tasks.Sync
import org.gradle.api.tasks.bundling.AbstractArchiveTask
import org.gradle.api.tasks.bundling.Tar
Expand All @@ -18,7 +18,7 @@ class ShadowApplicationPlugin implements Plugin<Project> {

static final String SHADOW_RUN_TASK_NAME = 'runShadow'
static final String SHADOW_SCRIPTS_TASK_NAME = 'startShadowScripts'
static final String SHADOW_INSTAL_TASK_NAME = 'installShadowApp'
static final String SHADOW_INSTALL_TASK_NAME = 'installShadowApp'
static final String SHADOW_ZIP_DIST_TASK_NAME = 'distShadowZip'
static final String SHADOW_TAR_DIST_TASK_NAME = 'distShadowTar'

Expand Down Expand Up @@ -53,15 +53,14 @@ class ShadowApplicationPlugin implements Plugin<Project> {
ApplicationPluginConvention pluginConvention = (
ApplicationPluginConvention) project.convention.plugins.application

def run = project.tasks.create(SHADOW_RUN_TASK_NAME, JavaExec)
def run = project.tasks.create(SHADOW_RUN_TASK_NAME, JavaJarExec)
run.dependsOn SHADOW_INSTALL_TASK_NAME
run.description = 'Runs this project as a JVM application using the shadow jar'
run.group = ApplicationPlugin.APPLICATION_GROUP
run.main = '-jar'
run.conventionMapping.jvmArgs = { pluginConvention.applicationDefaultJvmArgs }
run.doFirst {
args = [jar.archivePath.path] + args
run.conventionMapping.jarFile = {
project.file("${project.buildDir}/installShadow/${pluginConvention.applicationName}/lib/${jar.archivePath.name}")
}
run.inputs.file jar
}

protected void addCreateScriptsTask(Project project) {
Expand All @@ -83,7 +82,7 @@ class ShadowApplicationPlugin implements Plugin<Project> {
(ApplicationPluginConvention) project.convention.plugins.application
ShadowExtension extension = project.extensions.findByType(ShadowExtension)

def installTask = project.tasks.create(SHADOW_INSTAL_TASK_NAME, Sync)
def installTask = project.tasks.create(SHADOW_INSTALL_TASK_NAME, Sync)
installTask.description = "Installs the project as a JVM application along with libs and OS specific scripts."
installTask.group = ApplicationPlugin.APPLICATION_GROUP
installTask.with extension.applicationDistribution
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package com.github.jengelman.gradle.plugins.shadow.internal

import org.gradle.api.tasks.InputFile
import org.gradle.api.tasks.JavaExec
import org.gradle.api.tasks.Optional
import org.gradle.api.tasks.TaskAction

class JavaJarExec extends JavaExec {

@InputFile
File jarFile

@Override
@TaskAction
public void exec() {
setMain('-jar')
List<String> allArgs = [getJarFile().path] + getArgs()
setArgs(allArgs)
super.exec()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ class ApplicationSpec extends PluginSpecification {

when:
runner.arguments << 'runShadow'
runner.arguments << 'installShadow'
ExecutionResult result = runner.run()

then:
Expand Down
2 changes: 1 addition & 1 deletion version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.1.1
1.1.2

0 comments on commit 79d5d35

Please sign in to comment.