Comments (15)
Thanks @positive-infinity, can confirm, this is the minimal working example as of version 3.8.4 of this plugin:
play {
track.set("wear:$yourTrackName")
releaseName.set("$yourVersionName")
}
play {
track.set("automotive:$yourTrackName")
releaseName.set("$yourVersionName")
}
from gradle-play-publisher.
I think the problem is that GPP tries to generate and/or read from files which are named by the track name (e.g. File(locale, "$track.txt")). In case of track names with prefix (i.e. wear:production) this name contains the char ":" which is invalid for file names (at least on Windows).
This is why it works if you set the release name explicitely by usage of releaseName.set("XXX") and only use default release notes. In this case, the track name file are not needed (not read at all or a fallback in case of failure exists).
from gradle-play-publisher.
Are there any workarounds other than manually deploying?
from gradle-play-publisher.
Hi, we also require this for our wear app where Google requires all wear apps to be on a seperate track by end of August 2023
https://support.google.com/googleplay/android-developer/answer/13295490?hl=en
from gradle-play-publisher.
We have a wear app and since Google has started enforcing form factor publishing we can't use properly this plugin.
A form factor option would really be great.
from gradle-play-publisher.
Is there any workaround? We are kinda slowly approaching the deadline. I assume we need to enable the form factor track and then publish the wear app manually?
from gradle-play-publisher.
We're running into the same problem now. Is there any update on when it will be supported or any workaround to solve the issue?
from gradle-play-publisher.
I'm not involved with the project anymore, but I still do PR reviews if people want to fix this.
from gradle-play-publisher.
We're facing the same issue.
from gradle-play-publisher.
I looked at this problem again as it has to be solved soon and now it seems to all work for me as expected.
What I did:
- Create the Wear track in Google Play, this was offered to me in a banner in the Release overview in the Google Play Console
- Update my wear gradle config
play {
serviceAccountCredentials.set(project.rootProject.ext.play_credentials)
track.set("wear:" + project.findProperty("play.track"))
defaultToAppBundles.set(true)
if (project.rootProject.ext.play_release_fraction >= 1d) {
releaseStatus.set(com.github.triplet.gradle.androidpublisher.ReleaseStatus.COMPLETED)
} else {
releaseStatus.set(com.github.triplet.gradle.androidpublisher.ReleaseStatus.IN_PROGRESS)
}
updatePriority.set(project.rootProject.ext.play_update_priority)
userFraction.set(project.rootProject.ext.play_release_fraction)
releaseName.set(project.rootProject.ext.version_name)
}
- For reference, my phone gradle config:
play {
serviceAccountCredentials.set(project.rootProject.ext.play_credentials)
track.set(project.findProperty("play.track"))
defaultToAppBundles.set(true)
if (project.rootProject.ext.play_release_fraction >= 1d) {
releaseStatus.set(com.github.triplet.gradle.androidpublisher.ReleaseStatus.COMPLETED)
} else {
releaseStatus.set(com.github.triplet.gradle.androidpublisher.ReleaseStatus.IN_PROGRESS)
}
updatePriority.set(project.rootProject.ext.play_update_priority)
userFraction.set(project.rootProject.ext.play_release_fraction)
releaseName.set(project.rootProject.ext.version_name)
}
- I then uploaded a new build to the closed beta with
./gradlew :app-wear:publishReleaseBundle -Pplay.track=closed-beta -Pplay.fraction=1.0
(Make sure "Closed Beta" is set up for the wear form factor)
from gradle-play-publisher.
Hey @crysxd , thanks for your input. I can't manage to make it work still. This is what we currently have, which seems to replicate your behavior above by adding wear:
to the track:
build.gradle project level
buildscript {
...
dependencies {
...
classpath 'com.github.triplet.gradle:play-publisher:3.8.4'
}
}
build.gradle mobile app level
apply plugin: 'com.github.triplet.play'
...
play {
track = "internal"
serviceAccountCredentials = file(GOOGLE_ACCOUNT_SERVICE_FILE)
// Commit this build separately from the wear build.
commit = true
}
build.gradle wear app level
apply plugin: 'com.github.triplet.play'
...
play {
track = "wear:internal"
serviceAccountCredentials = file(GOOGLE_ACCOUNT_SERVICE_FILE)
// Commit this build separately from the mobile build.
commit = true
}
However, I'm receiving the following error:
What am I missing?
from gradle-play-publisher.
Which version are you using?
from gradle-play-publisher.
3.7.0
from gradle-play-publisher.
Found it, had to remove the commit = true
line. Thank you!
from gradle-play-publisher.
I am also facing this issue and I am still getting the "Cannot convert URL 'wear:production.txt' to a file." error, no matter if I remove commit property entirely or set it to true or false. @damiafuentes: Did you change anything else?, @crysxd: Which OS are you on? Maybe this is a Linux / Windows issue? I am on Windows.
from gradle-play-publisher.
Related Issues (20)
- Update Android Gradle Plugin to 7.30 HOT 3
- Trouble with setting play store service account credentials HOT 7
- An input file was expected to be present but it doesn't exist. HOT 1
- why there is no updates or releases on this amazing library HOT 1
- Add support for google-api-client 2.x.x
- Downgrading priority not being respected.
- Version code was doubled using auto resolution HOT 6
- `3.8.1` and `3.8.0` donβt show up in GitHub Releases HOT 2
- Getting forbidden with error code 403 HOT 1
- Unable to publish to Android Automotive track HOT 2
- Configuration Cache issue with Gradle 8.1 HOT 8
- NPE in task commitEdit due to recent fix for Gradle 8.1 configuration cache HOT 1
- Can't publish wearable version of the same app HOT 1
- Consider shading Google API client dependencies HOT 2
- A gradle task for uploading native debug symbols HOT 1
- Deprecation warning about `Project.getConvention()` when run using gradle 8.2.1 HOT 7
- Wear release note is not retrieve with bootstrapListing HOT 1
- set :play:android-publisher as an API dependency HOT 1
- Conflict with 'com.google.firebase.appdistribution' plugin HOT 1
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.