Status Update
Comments
bo...@hackajob.co <bo...@hackajob.co> #2
aw...@gmail.com <aw...@gmail.com> #3
for the "out" bundle issue, this seems indeed an issue. for the second one reported adding "debugUpdateAPKArtifact" to the path, this WAI as there can more more than one transformer and we need to automatically separate them so they do not use the same output folder. for #3, I will look at it but it might be difficult to change it at this time.
ja...@google.com <ja...@google.com> #4
aw...@gmail.com <aw...@gmail.com> #5
Hello, this is a P1 S1 issue for a while now, and it's blocking us from upgrading to AGP 4.2 and further. What's the current status? And do you have plans to backport it to 4.2.x?
ja...@google.com <ja...@google.com> #6
no we don't have a plan to backport this. why is this blocking you from upgrading ?
aw...@gmail.com <aw...@gmail.com> #7
We sign apk's and bundles via internal service, and i don't know another way to interact with artifacts;
Yesterday i ended up with some ugly workaround:
ja...@google.com <ja...@google.com>
bo...@hackajob.co <bo...@hackajob.co> #8
I commented on the merge request but to summarize :
you can set your signing tasks output folder to wherever you need to be :
artifacts.use(target.tasks.signedApkTaskProvider(this)).configure { signedDirProperty.set(File("/path/to/where/you/want/your/signed/files")) }
if you don't set it, then we will set a directory automatically.
bo...@hackajob.co <bo...@hackajob.co> #9
Thanks, Jerome!
ja...@google.com <ja...@google.com> #10
I checked that we do have correct behavior for FILE based artifacts like bundle :
> Task :app:debugUpdateArtifact
originalArtifact: /usr/local/google/home/jedo/src/studio-main/out/apiTests/Kotlin/bugTest/app/build/intermediates/bundle/debug/signDebugBundle/app-debug.aab
updatedArtifact: /usr/local/google/home/jedo/src/studio-main/out/apiTests/Kotlin/bugTest/app/build/outputs/bundle/debug/app-debug.aab
however, we still seem to not be consistent for the DIRECTORY based artifacts like APK:
> Task :app:debugUpdateAPKArtifact
Input folder: /usr/local/google/home/jedo/src/studio-main/out/apiTests/Kotlin/bugTest/app/build/outputs/apk/debug
Output folder: /usr/local/google/home/jedo/src/studio-main/out/apiTests/Kotlin/bugTest/app/build/intermediates/apk/debug
Input file: /usr/local/google/home/jedo/src/studio-main/out/apiTests/Kotlin/bugTest/app/build/outputs/apk/debug/app-debug.apk
Alex, can you have a look ?
bo...@hackajob.co <bo...@hackajob.co> #11
correction, I was not correct about FILE being correct.
Instead of :
updatedArtifact: /usr/local/google/home/jedo/src/studio-main/out/apiTests/Kotlin/bugTest/app/build/outputs/bundle/debug/app-debug.aab
it should be
updatedArtifact: /usr/local/google/home/jedo/src/studio-main/out/apiTests/Kotlin/bugTest/app/build/outputs/app-debug.aab
``
ja...@google.com <ja...@google.com> #12
Two requests are created as they are API changes
bo...@hackajob.co <bo...@hackajob.co> #13
Fix will be available in Android Studio F/AGP 8.0 Canary 2 Release
[Deleted User] <[Deleted User]> #14
I tried to use it and at first look, it looks like everything works as expected. Thanks!
[Deleted User] <[Deleted User]> #15
The big issue is, that the current AGP 7.4.0 is broken. I tried to use this API and it is still broken in 7.4.0, it is probably really in AGP 8 :-(
da...@googlemail.com <da...@googlemail.com> #16
If it helps at all, I have just added this on stack overflow and was pointed here. Below contains a code-driven example of what I believe is a consistent problem with others users on this page.
Problem:
- When using the service user auth and inserting / updating a calendar event, the reminders are not overridden
- The event is inserted / updated correct APART from the reminders are always at the default (email > 10m, popup > 30m).
Context:
- Node.js using standard libraries below
- Valid service account with downloaded
credentials.json
- Service account (
service-user-account@myapp.iam.gserviceaccount.com
) has write access tomyuser@gmail.com
calendar
Code:
const {google} = require('googleapis')
const {auth} = require('google-auth-library')
const credentials = require('./credentials.json')
const addEvent = async (auth) => {
const calendar = google.calendar({version: 'v3', auth})
const insertRes = await calendar.events.insert({
calendarId: 'myuser@gmail.com',
resource: {
summary: 'Test API',
start: {
dateTime: '2020-06-02T12:55:00.000',
timeZone: 'Europe/London'
},
end: {
dateTime: '2020-06-02T12:56:00.000',
timeZone: 'Europe/London'
},
reminders: {
useDefault: false,
overrides: [
{method: 'popup', 'minutes': 5}
]
}
}
})
console.log('insertRes', insertRes.data)
}
const getAuth = async () => {
let client = auth.fromJSON(credentials)
client.scopes = ['https://www.googleapis.com/auth/calendar', 'https://www.googleapis.com/auth/calendar.events']
return client
}
const init = async () => {
const auth = await getAuth()
await addEvent(auth)
}
init()
Response: from console.log(insertRes)
{ kind: 'calendar#event',
etag: '"3182200547452000"',
id: '6063phndufgppo8rfev1XXXXXX',
status: 'confirmed',
htmlLink:
'https://www.google.com/calendar/event?eid=NjA2M3BobmR1ZmdwcG84cmZldjFjdWh2YzQgZGFuZ2FyZmllbGR1a0Bnb29nbGVtYWlsXXXXXX',
created: '2020-06-02T12:17:53.000Z',
updated: '2020-06-02T12:17:53.768Z',
summary: 'Test API',
creator:
{ email: 'service-user-account@myapp.iam.gserviceaccount.com' },
organizer: { email: 'myuser@googlemail.com', self: true },
start:
{ dateTime: '2020-06-02T12:55:00+01:00',
timeZone: 'Europe/London' },
end:
{ dateTime: '2020-06-02T12:56:00+01:00',
timeZone: 'Europe/London' },
iCalUID: '6063phndufgppo8rfev1XXXXXX@google.com',
sequence: 0,
reminders: { useDefault: false, overrides: [{"method":"popup","minutes":5}] }
}
an...@avada.io <an...@avada.io> #17
re...@arthur.ai <re...@arthur.ai> #18
I'm still getting this issue even without setting attendees, so I believe it's a separate bug. To reproduce:
- Create event for a user from a service account, with
reminders.useDefault = false
- Observe created event in user calendar (e.g. fetched through User OAuth or web) has
reminders.useDefault = true
- Fetch event from service account to observe that
reminders.useDefault = false
It seems that the service account has its own set of reminders, and the user account does not respect that field during event creation. This does work as expected when using User OAuth authentication to create the event, but created events and updated should respect the reminders
field even if they're created by service accounts.
is...@google.com <is...@google.com>
jp...@google.com <jp...@google.com>
t....@gmail.com <t....@gmail.com> #19
n5...@gmail.com <n5...@gmail.com> #20
Even if I write code to add reminder settings to my Python3 program, they are not reflected in Google Calendar notifications.
I will write part of the code.
As mentioned in this issue, I removed all other members from the group except Google CalendarAPI, but the behavior remains the same.
The version of the library to be written is as follows.
- google-api-python-client: 2.115.0
- google-auth-httplib2: 0.1.1
- google-auth-oauthlib: 1.2.0
import os
from datetime import datetime
from dotenv import load_dotenv
from google.auth import load_credentials_from_file
from googleapiclient.discovery import build
from googleapiclient.errors import HttpError
def add_event(variables: dict) -> None:
SCOPES = ["https://www.googleapis.com/auth/calendar"]
credentials = None
credentials = load_credentials_from_file(
"me.json", SCOPES
)[0]
service = build("calendar", "v3", credentials=credentials)
detail_add_event = {
"summary": "test",
"description": "my description",
"start": {
"dateTime": '2024-03-05T06:00:00',
"timeZone": "Asia/Tokyo",
},
"end": {
"dateTime": '2024-03-05T07:00:00',
"timeZone": "Asia/Tokyo",
},
"reminders": {
"useDefault": False,
"overrides": [
{"method": "popup", "minutes": 10},
],
},
}
try:
my_calendar_id = os.environ[
"GOOGLE_CALENDAR_ID_FOR_ ADD_EVENT"
]
event_message = (
service.events()
.insert(
calendarId=my_calendar_id,
body=detail_add_event,
)
.execute()
)
except HttpError as error:
print(f"An error occurred: {error}")
Description
{
"description": "testsetset",
"end": {
"date": null,
"dateTime": "2019-10-03T13:45:00.000-04:00",
"timeZone": "America/New_York"
},
"reminders": {
"overrides": [
{
"method": "email",
"minutes": 10
},
{
"method": "popup",
"minutes": 10
}
],
"useDefault": false
},
"start": {
"dateTime": "2019-10-03T13:30:00.000-04:00",
"timeZone": "America/New_York"
},
"summary": "Reminder"
}
The event shows up but there are no reminders present. I had originally tried this using the .NET SDK but at the advice of Jon Skeet he had me use the API explorer. The issue appears to be with the API and not the SDK.