crotwell / gradle-macappbundle

A Gradle Plugin to create a Mac OSX .app application and dmg based on the project.
Apache License 2.0
95 stars 33 forks source link

dmg is not created in ${project.macAppBundle.outputDir} #8

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. setup macosx plugin with outputDir = 'distributions/macosx'
2. run gradle target which produces dmg

What is the expected output? What do you see instead?
the .app is located in '${buildDir}/distributions/macosx' folder, 
the .dmg is created in '${buildDir}/distributions' folder

I'd expect both product to be created in the outputDir

What version of the product are you using? On what operating system?
1.0.7

Original issue reported on code.google.com by poldwusm...@gmail.com on 1 Oct 2012 at 11:14

GoogleCodeExporter commented 9 years ago

I agree it is a bit confusing.

I have added a dmgOutputDir and changed the default directory to be the 
project.distsDirName within the build directory. As the .dmg file is a 
distribution, this seems correct. 

The outputDir property probably should have been called "appOutputDir" as it is 
mainly the staging area for the .app directory. I have deprecated "outputDir" 
and replaced it with "appOutputDir". Hopefully this is clearer.

Original comment by crotwell@seis.sc.edu on 2 Oct 2012 at 9:27

GoogleCodeExporter commented 9 years ago
I'd like to re-open this task. I think the extra new variable to pass is not 
very helpful. Too many choices we don't need.

1. Can we go back to outputDir which was clear and simple?
2. Save both the app and the dmg to the output folder (which is what this task 
was first about)
3. use a temporary folder to stage the dmg contents

Original comment by aristede...@gmail.com on 5 Oct 2012 at 6:11

GoogleCodeExporter commented 9 years ago

Gradle has a convention that "distribution" type items go in 
build/distributions. I want to continue to support that. The .app should not go 
in build/distributions, so there need to be two locations. Having 2 values to 
configure instead of one seems a small price to pay to follow the larger 
convention.

If you want to keep them the same, but only have to change one, do something 
like this:
dmgOutputDir = "where/you/want/it"
appOutputDir = "$->project.macAppBundle.dmgOutputDir"

Original comment by crotwell@seis.sc.edu on 5 Oct 2012 at 3:02