Comments (8)
Here’s an example of how this would look in action, from another gradle plugin we use in our project.
from gradle-play-publisher.
Actually, after talking with that example library's developer a bit, he came up with an easier solution that might work here as well. Instead of getting the APK file upfront in apply()
, he added an ApplicationVariant
field to the upload task instead and sets the variant
on that field instead. Then in the upload task (which runs almost last), it has the variant
object and only then retrieves the APK file, which would have the updated name.
Here's the small commit where he implemented this. It's a fairly similar structure to this project as far as the configuration being in an apply
method and the upload being a separate task.
What do you think?
from gradle-play-publisher.
Looks very interesting. I have already been looking for a way to honor the custom APK names. The lazy approach looks very promising. Shouldn't be too hard to implement.
from gradle-play-publisher.
Cool, please let me know how it goes or if you want me to take a shot at it :)
from gradle-play-publisher.
@bhurling Is the branch lazy_apk_name
ready for review? Should we open a PR for this?
from gradle-play-publisher.
I took a peak and left a comment with a couple suggested ways to avoid the
deprecation issue mentioned in the last commit on that branch, just
mentioning in case that's the only thing it's waiting on :)
On Mon, Dec 15, 2014, 2:24 AM Christian Becker [email protected]
wrote:
@bhurling https://github.com/bhurling Is the branch lazy_apk_name ready
for review? Should we open a PR for this?—
Reply to this email directly or view it on GitHub
#28 (comment)
.
from gradle-play-publisher.
I slightly changed the part where we find the apk file output:
def apkOutput = variant.outputs.find { variantOutput -> variantOutput instanceof ApkVariantOutput }
Just in case someone does not use the .apk extension in his custom filename. Also I dropped the part that checks for the zipAlign task. That part is already checked during the plugin setup.
What do you think?
from gradle-play-publisher.
Didn't even think of that. If it works then I say go for it!
On Mon, Dec 15, 2014, 2:58 AM Björn Hurling [email protected]
wrote:
I slightly changed the part where we find the apk file output:
def apkOutput = variant.outputs.find { variantOutput -> variantOutput instanceof ApkVariantOutput }
Just in case someone does not use the .apk extension in his custom
filename. Also I dropped the part that checks for the zipAlign task. That
part is already checked during the plugin setup.What do you think?
—
Reply to this email directly or view it on GitHub
#28 (comment)
.
from gradle-play-publisher.
Related Issues (20)
- set :play:android-publisher as an API dependency HOT 1
- Conflict with 'com.google.firebase.appdistribution' plugin HOT 1
- Error: insufficient data written HOT 24
- bootstrapReleaseListing: Unable to tunnel through proxy. Proxy returns "HTTP/1.1 403 Forbidden" HOT 2
- Error: PKIX path building failed HOT 1
- Task installRelease not found when publishing is disabled HOT 1
- Release notes languages management HOT 6
- Release notes for 3.8.5 release? Where to find? HOT 2
- Key Signature Mismatch on CI and not Locally HOT 4
- Publish to Wear OS only? HOT 6
- Build fails on the version conflict with ResolutionStrategy.IGNORE HOT 3
- available-version-codes.txt (No such file or directory) when turned on gradle configuration cache HOT 3
- in-app update priority is always 0 HOT 1
- The Project.getConvention() method has been deprecated. This is scheduled to be removed in Gradle 9.0. HOT 1
- Some problems were found with the configuration of task ':app:promoteArtifact' (type 'UpdatableTrackLifecycleTask')
- PublishBundle$Processor fails with SunCertPathBuilderException HOT 1
- Workaround colon track names
- Ok
- ResolutionStrategy.AUTO: appears not to respect track HOT 1
- Add support for sentry crash reporting plugin
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gradle-play-publisher.