Attached arrows and lines (glue points)

Hello there, nice work so far!
I was wondering if the ability to "attach" the start and end of arrows to shapes is something that would be useful for this little app, or whether it should be considered out of scope (could potentially open a can of worms). If so, in addition to "free arrows" (arrows that are not tied to any shapes, as you have now), you would also have arrows where one (or both) ends are tied to a shape, and move along with it.

I think that would be valuable. Otherwise you have to move everything in a repetitive manner when you want to make edits.

@vjeux right, and that gets tiring very quickly :) One thing that could add a bit of complexity (though there might be a simple solution) is making sure it works nicely with whatever approach is taken for #148 .

One thing I don’t like with most implementations is that you only have 3 control points (left, middle, right) and if you have more than a few connectors, then they all are clamped together. I’d love to spread them out all over the surface we’re trying to connect to. Should be easy to implement and greatly improve the rendering.
Another pet peeve of mine is that the arrow is directly attached to the element. I usually give some padding.

I don't think we need to wait for having curved arrows to fix this, if something wants to give it a try, would be a welcome addition :)

Let's just make sure it's not overly strict about attachment. For example, I often move the arrow a little bit if it allows to avoid intersecting it with another bubble that just happens to be on the way. But strict attachment snap systems make this a pain. Keynote is particularly annoying in that sense.

@gaearon I can relate to that; it has been a major pet peeve of mine with some of those diagram editors. What would be a good (yet simple) rule to handle attachments while leaving some freedom to the user with placement?
A simple rule with padding could be "draw a straight line between the centre of the two shapes, and place the endpoints of the arrow on the intersections between that straight line and slightly bigger clones of said two shapes. Here's a diagram because it's hard to put in plain English (made on excalidraw, very meta):

The grey shapes are meant to show how padding is added; they wouldn't actually be on the diagram.
Now if you want to leave freedom to the user on the placement of the endpoints, how do you go about this? You could let them drag the endpoint anywhere on the grey outlines, but then what do you do if the shape is moved? Leave the endpoint in the same spot?

Follow up idea: we implement the basic rule I described above, but instead of "straight line between the two shape centres" we generalise to "straight line between shape centre and next control point". If we implement a basic version of curved arrows as @vjeux suggested, which wouldn't actually curve the arrows, just break them up into multiple segments intersecting at angles, then this would likely give enough freedom to the user to work around the annoyances you described @gaearon . A diagram to explain:

(the first segment should be a line; I used an arrow because excalidraw doesn't have lines...)
So basically this would keep endpoint placement fully automatic.

I volunteer to implement a POC of this :)

This is clearly getting further than the first implementation of this issue needs to be, but if we take this approach I can see one potential further improvement. Let's call the points breaking up arrows "waypoints". The simplest arrow would be one with no waypoints; a straight arrow.
As @gaearon pointed out such arrows might intersect with shapes along the way; not pretty! One solution would be to move the endpoints of the arrow (still attached to the same shape) to try to eliminate the intersection, but you would have very little wiggle room. Instead, you could manually add a waypoint to the arrow (e.g. by clicking somewhere along its path, and dragging). Then you could generate a diagram similar to the one in my last message, with a broken arrow avoiding the circle.
Now, call this a "manual waypoint". A potentially useful extension to this approach (which should stay simple to implement¹) would be to add "automatic waypoints. A simple rule would be: if an arrow intersects with a shape, add a waypoint along a perpendicular to the line of intersection, like so:

(excalidraw needs lines)
I think this approach could be extended to work around further intersections. It's quite naive (you could implement a full-blown constraint solver but...) but it might give a decent enough result. As I said that's definitely a v2 or v3 of the issue described at the beginning of this ticket though!
¹famous last words

Your last suggestion is basically implementing a layout algorithm. While this is a fun exercise (I may have written a few myself...), I would recommend first implementing the ability to manually move points. It's likely going to cover most use cases. Then if you feel like having fun, you can implement it!

I am sick at the moment so if someone wants to pick this one up go ahead! :-)

Here’s how Keynote does this: https://github.com/excalidraw/excalidraw/issues/157

Leaving this up for grabs if someone else wants to give it a try.

I know this feature as glue points that appear on nodes of shapes or in the middle of edges, but that can also be placed freely.

I updated the title :)

Not sure how, but it would be nice to support the edge case where two rectangles are connected with two or more parallel lines or arrows:

@sompylasar As @vjeux pointed already that's the desired solution..

One thing I don’t like with most implementations is that you only have 3 control points (left, middle, right) and if you have more than a few connectors, then they all are clamped together. I’d love to spread them out all over the surface we’re trying to connect to. Should be easy to implement and greatly improve the rendering.

Also check how Keynote is doing it in one of the comments above.

@lipis Please forgive me if I'm missing something, but every example I've seen so far does not show 2:2 relationship, they either show one 1:1 or multiple 1:1 cases.
I think my assumption was that the line goes from one center of the figure to another center of the figure, so there can't be two straight lines between two points. They either need to be bent into a curve (and as we know curve editing after creation hasn't been implemented yet), like in Keynote example, or one of them needs to be attached to a third transparent shape with a shifted center.
But now I'm reading these comments once again and there is this you mentioned

I’d love to spread them out all over the surface we’re trying to connect to. Should be easy to implement and greatly improve the rendering.

And this:

Instead, we should be able to attach anywhere on the edge of the shape. This way if you have multiple arrows pointing to a box, they don’t have to all awkwardly be attached to the center but can take the full width.

Which should indeed solve my use case.

I'm hope when this gets implemented that there will be a setting to enable/disable glue points. Because I don't like glue points/automatic layout things. One of the great features of excalidraw is that it is a whiteboard/sketch tool. And it helps the (at least mine) thinking process that I need to erase/rearrange stuff manually (or start all over again sometimes).

Don't know if it can help, leader-line seems to solve your issue (demo: https://anseki.github.io/leader-line/)

@mapbakery I'm also very unhappy about the existing status quo regarding this topic. I believe that there's a way to make this feel good. If not, we likely won't ship it.
The best system I found so far is draw.io which gets a lot of things right. It's worth exploring it if you haven't already. The biggest drawback I see is that it assumes that everything is laid out on a grid, whereas excalidraw tends to be more open ended.

Absolutely this would be optional, or would require some user action to connect. We don't want to enable this layouting by default, ala Figma and others, as it'd drastically alter how Excalidraw feels and behaves.

@vjeux I worked with draw.io but it has issues with glue points when you start moving elements.
@dwelle Great, thanks for the reassurance :-)

I thought about this for a bit, here's a UX proposal (for simplicity I will go with keyboard and pointer but UI and touch alternatives should be feasible):

Select new Arrow or Line shape
Hold (macOS) option key (keep holding until release step)
Hover over any existing shape - the shape will get highlighted similarly to selection mode and the cursor will change
Tap to start the line/arrow
For illustration: another tap outside any shape adds a flex point
Tap over another shape places the end of the arrow/line
Release option and hit Enter

The arrow/line is now bound to the two shapes.
Moving/rotating/scaling the bound shapes does the following:

The "binding" point of the arrow/line stays at the same relative "anchor" position to the moved/rotated/scaled shape
Any "flex" point is adjusted such that it stays in the same relative position between its neighboring points as before. This should look the same as if the two segments where a shape which was rotated and fixed-ratio scaled such that the unmoved point stays in the same position and the "bound" point moves to its new position (this likely has a mathematical name I can't remember). (btw this would be nice to have for lines/arrows instead of/in addition to the current default scaling behavior)

Editing the line/arrow:

"Bound" points can be moved and they will stay bound to their shapes but their "anchor" position changes
When a "bound" point is selected the shape it is bound to is highlighted the same as during creation
An "unbound" point can be bound to a shape by holding the option key while moving it
A "bound" point can be unbound by holding the option key while moving it (anywhere, including over a shape)

Copying/Moving the line/arrow:

Copying/moving a line/arrow with bound points keeps those points bound to their shapes but changes their "anchor" position

This sounds very reasonable. I’m curious, wouldn’t it be better to make the “bound” mode be the default?
I can’t think of many use cases where I would want to draw an arrow next to a shape but not attach it to that shape.

@vjeux playing devil's advocate: I guess some people can share @mapbakery's sentiment: there is some simplicity and straightforward-ness in arrows and (especially) lines behaving like any other shape. And you probably want lines to both not work like that by default AND optionally work like it, and you want lines to work the same as arrows.
But if it felt better...

One problem with the key: Alt/Option is used for duplicating during drag, and when tapping on an element you often tend to move a mouse a tiny fraction which will trigger the duplicating.

Actually that wouldn't be a problem for creation (since you're in insertion mode and this rule doesn't apply), but I checked and it also inserts a new point while editing a line, and so that would not work for the editing mode well. Perhaps a different modifier key (command on mac?) could be used?

So I've started to play with a prototype, and also rereading the conversation I think this is an interesting problem, a trade-off between three axes:

Simplicity - both how simple the initial user interaction is and how simple the implementation is
Control - how precisely can the user define the binding
Robustness - a very robust solution doesn't require the user to adjust things as they move things around, while a not a very robust solution requires the user to constantly make manually updates

Here's some versions (which could be combined, and nothing is set in stone yet), that demonstrate this tradeoff:
Version A (Centroid): Simple, ~Controlled~, Robust
This is the "attach to shape center" version. This doesn't allow @sompylasar was asking for, because two straight arrows between the same two shapes would overlap.

Version B (Glue points): Simple, Controlled, ~Robust~
This allows attaching to any point on the shape or boundary. It gives the user great control, but it might require adjusting when the bound element is moved, which kinda defies the point.

Version C (Focus points): ~Simple~, Controlled, Robust
This version separates the "glue/focus point" from the end of a line. It's basically a combination of the two previous approaches: The user decides where to point (control), but the position of the line end is smartly adjusted like in Version A. There might be several ways to achieve this, and they can tradeoff between simplicity and control, and also they will impact how "nice" the initial interaction feels.

I really like the framing you have with the control point. Here's an idea for a specific algorithm to implement it:

If you have an arrow that points to a shape
Find the two points that the arrow interests with the shape
Control point: Center of those two points
Gap: Distance between the end of the arrow and the first intersection

If you move the shape around

Change the orientation of the arrow to aim at the control point
Find the intersection with the shapes
Make the distance between the end of the arrow and the first intersection to be the gap.

Okay, I spent two hours implementing a prototype for the algorithm above and it looks really good.
https://codesandbox.io/s/quirky-black-3n0q4?file=/src/App.js

Note: I cheated, I was lazy and didn't want to compute the correct position based on the gap, so I added an opaque border the size of the gap around the rectangle. It's not perfect but is an okay approximation. We will want to use a correct implementation for production :)
I'd love for someone to implement it for real :)

Okay, I spent two hours implementing a prototype for the algorithm above and it looks really good.
https://codesandbox.io/s/quirky-black-3n0q4?file=/src/App.js

Note: I cheated, I was lazy and didn't want to compute the correct position based on the gap, so I added an opaque border the size of the gap around the rectangle. It's not perfect but is an okay approximation. We will want to use a correct implementation for production :)
I'd love for someone to implement it for real :)

I don't think it needs to be perfect. What's shown in your example would fulfill what I would use this tool for. In my circumstance the cosmetic piece is not that important, will just need ability to form relationship between two objects.

fixed via https://github.com/excalidraw/excalidraw/pull/1899 (lines purposefully left out for now --- we'll create a new umbrella issue for follow up improvements, later).

Can this be turned off? I am having hard time realigning everything, as the algorithm shifts all the lines if I e.g. make a rectangle bigger.

See https://github.com/excalidraw/excalidraw/issues/157 — we can't work out what's the best way to go forward making this opt-in. Ideas welcome.

Is the binding area the only currently available way or is there a way to switch to glue points?
The binding area is nice if your shapes are all different but if you have a number of similar aligned shapes, it's very hard to also align their arrows.

@AndreKR no, but we will be improving this (not yet settled how). But in case, please open a new issue if you don't find one similar already.


Fix issue with jest-axe aria-parent error

This fixes #2394

What is the aria-parent error exactly?


Fix TypeError [ERR_INVALID_ARG_TYPE]

Summary
Reverted to the fallback to empty string that was there previously.
Related Links
https://github.com/web-infra-dev/rsdoctor/discussions/502
https://github.com/web-infra-dev/rsdoctor/pull/102/files#diff-8896c65f442681aa3a88302753feb1a4e21afdf20c20579113876dbba4cd4083L176

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Attachment Link in Search Results is incorrect

If a search returns an attachment in the results, the link is incorrect. The link takes you to an incorrect article, (my preference would be a link to open the attachment). The Attachment Id is used as an article link, s o if the Attachment Id is 5, the link is to Article 5, not the article the attachment is in.
The solution I used, was to add a new read-only property the KbSearchResultItemViewModel class, to return the URL and modified the Search/Do.CSHtml to use the new property rather than build it with URL.Action. The code below is what I used and links to the actual attachment
public string ArticleUri
       {
           get
           {
               UrlHelper url = new UrlHelper(HttpContext.Current.Request.RequestContext);
               if (IsAttachment==true)
               {
                   return url.Action(ArticleTitle, @"uploads");
               }
               else
               {
                   return url.Action(@"Detail", @"Home", new { id = ArticleSefName });

               }
           }
       }

Fixed with a5f1540c8c15e9dc


Non-synchronized user changes

The changes were not synchronized in the maven dependency, see the image:

With this, we still have problem in the requisition

fixes #12


:sparkles: add detail page for samples and dataset

close #9

Coverage decreased (-7.05%) to 47.953% when pulling 6da6615c0febb8b1053ec6e3714557f39ceeac18 on issue-9 into e559838e784f8c61371eb23d38ea821c62c05c8e on devel.


Set min/max year on date_field

Hi, so I've been searching all over and trying to figure out where the calendar drop down comes from for the date_field input so that way I can set some type of validation on it in the same way that if you try to type in the month '13' or even '02/31/xxxx', it will automatically notify you to select a valid date. However, I can type in '01/01/0001' or '05/31/9999' and those are valid and I would like to prevent that from occurring. If date_field is smart enough to know there are only 27/28 days in February and only 12 months in a year, then it stands to reason that there is the ability to only allow years 1800-2200 or the like.
So is there a way I can dig into this and set it and/or where does it pull that calendar drop down from? Thanks!

Hi, can you post the code that you are using to produce the calendar? I am not sure I understand what you are referring to. Thanks!
If you are using the Rails helpers like date_select, then you can provide :start_year and :end_year options as documented here:
http://api.rubyonrails.org/classes/ActionView/Helpers/DateHelper.html#method-i-date_select

`<%= bootstrap_form_for(@properties, layout: :horizontal, remote: true) do |f| %>
...
<%= f.date_field :installment_date1, label: "First Tax Installment Date", class: 'form-control' %>
<%= f.date_field :installment_date2, label: "Second Tax Installment Date", class: 'form-control' %>
...
<%= f.form_group do %>
<%= f.submit "Update Tax Info", class: "btn btn-primary" %>
<% end %>
<% end %>`
Just using that date_field helper will then produce a '//____'  format within the field and also adds a dropdown arrow on the side of the field that pops out a calendar. Basically I want to be able to limit the ability to enter or select a year before say 1900 and after 2200, something along those lines. I've included a picture if that helps. Thanks!

Ah, I see. Thanks for clarifying.
I don't believe this is related to the bootstrap_form gem at all. The behavior you see is provided by the web browser, not by Rails or Bootstrap. Here is the Rails documentation:
http://api.rubyonrails.org/v<IP_ADDRESS>/classes/ActionView/Helpers/FormHelper.html#method-i-date_field
Based on the doc, it sounds like you can use :start and :end options.
Here is Mozilla's documentation of the browser behavior that I mentioned with more explanation of the supported options:
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date
If you find a case where the options work when date_field is used within form_for but do not work within bootstrap_form_for, then there could be a bug. If so, let me know and I'll re-open this issue.
Good luck!

Oh my fault! I didn't realize. Thank you very much for the quick and insightful response. Love the gem and keep up the great work! Thanks!


Export to OneLake (Fabric)

Currently MS is making a lot of noice regarding Fabric. A complete SAAS solution for all BI related stuff. Fundament of the Fabric solution is the OneLake. I guess technically a DataLake (vNext) storage account.
Having the BC extension able to push data directly in OnleLake would be a great improvement to the extension.
Within our organisation the BI team is investigating Fabric in more detail. I guess they will use custom code now to get BC data into the OneLake. Or use a dedicated DataLake to store the data first.

Thanks @RonKoppelaar for that question. Generally speaking, one can easily make use of the OneLake shortcuts feature to see the BC data in Fabric. Albeit, this would still require to use the current method of maintaining your custom data lake storage account. We are indeed investigating how to best pour the BC data directly into the OneLake of the Fabric, so data administrators only have to maintain the data in one place.
Having said that, I would enquire what other features of the Microsoft Fabric actually appeals to users in the SMB segment that BC plays a role in. I would like to open this forum to everyone on our small community to gives us feedback on this topic.
Best regards,
@DuttaSoumya.

If understand you right:

We export to DataLake as we do today (With bc2adls)
With shortcuts we can link the Datalake storage account to Onelake in Fabric?

Yes @RonKoppelaar- to be precise, the data lake that you are currently exporting your BC data to, can be visualized in Fabric by creating an ADLS shortcut.

This would be a huge feature for us and would create an almost guaranteed sale of Microsoft Fabric for any and all clients that want reporting from BC, especially clients with large datasets.
The big appeal for Fabric in the SMB market is (my personal opinion):

SaaS Pricing. SMBs are much more sensitive to variable pricing in our experience.
Lower Pricing. Dedicated Fabric tiers start at around $250/month with incredible performance. This is great all-inclusive pricing.
One-Stop Shop. Fabric is an all-in-one product, allowing semi-technical resources to do data manipulation in a much more user-friendly environment compared to Synapse.
Data-First Environment. Fabric enables SMBs to have a data-first approach to decision making better than the individual pieces have in the past (especially OneLake).
Affordable Code-First Approach. Our team has a strong background in code and we often want to use Apache Spark to perform common ETL actions. However, the cheapest Apache Spark Pool in Synapse is hundreds if not thousands of dollars a month, far too much for most of our clients. But with Fabric, we can run Spark with the SaaS pricing model.

@DuttaSoumya When creating this shortcut, am I right that you first have to create the shortcut under the "Files" section (not Tables), then Load to Table?
If so, I am encountering errors.  For example:
Invalid column name(s) 'timestamp-0, systemId-2000000000, SystemCreatedAt-2000000001, $Company, Code-1, Description-5, Receive-10, Ship-11, PutAway-12, Pick-13, SystemCreatedBy-2000000002, SystemModifiedAt-2000000003, SystemModifiedBy-2000000004'. Column names must contain UTF-8 encoded Unicode word characters and can be a maximum of 128 characters long. Unicode word characters include letters of any case and their nonspacing marks, punctuation connectors like the underscore(_), and decimal digits.

@DuttaSoumya I would say lakehouse. Because it is unsctructuered based on files.
Then the customer can put it in a datawarehouse for a structured data concept and do it reporting on that.

@DuttaSoumya I agree with @Bertverbeek4PS in that a lakehouse would be a better fit since the data will come in with an unstructured (though highly organized) fashion.

@DuttaSoumya I also agree with @Bertverbeek4PS  and @njackson1582 that Lakehouse is the better fit.

Just out of interest, is this something that is planned and if so is there a rough timescale?

@trimline-gaiustemple take a look at https://www.bertverbeek.nl/blog/2023/07/14/lets-flow-your-business-central-data-into-microsoft-fabric/

Hey @JavierSassen,
Thanks for the link.  I had noticed that article a week or two back, however for large tables OData isn't ideal as we hit API limitations.  Also it means we have to create custom API pages for fields that aren't in the default API pages.  This extension fixes that by allowing us to tick relevant fields, and also uses the last modified time to sync only modified data.  IMO it makes a lot of sense for this extension to either natively support a "shortcut" under the "table" section of a lakehouse so that the advertised performance of Fabric can be realised without additional hassle, or a better solution for getting the data into Fabric.

I have created a branche that enables exports to a lakehouse in MS Fabric.
With a notebook it will push the data into a table.
You can try and play with it:
https://github.com/Bertverbeek4PS/bc2adls/tree/Microsoft-Fabric-Integration
Blog:
https://www.bertverbeek.nl/blog/2023/08/15/bc2adls-ms-fabric-enabled-part-1/


How can I convert 3D world coordinates to 2D image coordinates and viceversa?

Why this is an issue ?
Could you please be more specific ?

Sorry, it was just a question, but thank you for reading and answering. I want to know if there is a function to convert it, but if not, is it possible to add it?


Cannot find module '../src/Monad' / '../src/IxMonad' / '../src/IO' in release 0.4.4

Hi,
I just upgraded from 0.4.3 to 0.4.4, there seems to be a problem in the distributed IxIO.d.ts file, which references ../src/Monad (and IxMonad, IO) instead of referencing ./Monad.
(1,23): error TS2307: Cannot find module '../src/Monad'.
(2,41): error TS2307: Cannot find module '../src/IxMonad'.
(3,20): error TS2307: Cannot find module '../src/IO'.
downgrading to 0.4.3 for now

Wow, that's embarrassing :) I'll release a fix asap, sorry for the inconvenience

@alexandervanhecke v0.4.5 is out

@gcanti yep, already using it ;)


Expand the ringbuf size of tcp_info

What type of PR is this?
/kind enhancement

What this PR does / why we need it:
Extend the ringbuf size of tcp_info to avoid ringbuf blocking during concurrency.
tcp_info reports 96bytes of data at a time. Combined with real usage, I think having 2000 simultaneous accesses to a link on a node is going to cover most usage scenarios.
So choose to set the size of ringbuf to 256KB.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

@hzxuzhonghu PR's description has been updated


End cities much rarer than vanilla

I've looked for at least 8 hours, searching tens of thousands of blocks, all to no avail. I've only found two end cities, and they're like 40 blocks tall with no loot. PLEASE increase the chance of end cities, I'm dying here.

For reference, this is what a vanilla end city distribution looks like:

In Better End cities are generating much more common than in vanilla due to different terrain generator. Their chance is also configurable


chore(transformer): enable class-properties plugin

This plugin is incomplete now, we use this PR to track haven't unsupported parts by manually triggering monitor-oxc.

#7750  👈 (View in Graphite)
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

https://github.com/oxc-project/monitor-oxc/actions/runs/12268946323

https://github.com/oxc-project/monitor-oxc/actions/workflows/ci.yml

https://github.com/oxc-project/monitor-oxc/actions/runs/12271863610

https://github.com/oxc-project/monitor-oxc/actions/runs/12338396809

https://github.com/oxc-project/monitor-oxc/actions/runs/12404732417

https://github.com/oxc-project/monitor-oxc/actions/runs/12432442576

https://github.com/oxc-project/monitor-oxc/actions/runs/12434465731

https://github.com/oxc-project/monitor-oxc/actions/runs/12525387408

https://github.com/oxc-project/monitor-oxc/actions/runs/12558692378/job/35013360746


CICD failed due to Datadog

CICD is failing due to datadog sdk from yesterday
Not able to generate the build
from yesterday I am not able to generate the build.
Error on bitrise:
Caused by: java.lang.NullPointerException: currentDir.parentFile must not be null 	at com.datadog.gradle.plugin.DdAndroidGradlePlugin.findDatadogCiFile(DdAndroidGradlePlugin.kt:272) 	at com.datadog.gradle.plugin.DdAndroidGradlePlugin.configureVariantForUploadTask$dd_sdk_android_gradle_plugin(DdAndroidGradlePlugin.kt:111) 	at com.datadog.gradle.plugin.DdAndroidGradlePlugin.apply$lambda-1$lambda-0(DdAndroidGradlePlugin.kt:46) 	at org.gradle.configuration.internal.DefaultUserCodeApplicationContext$CurrentApplication$1.execute(DefaultUserCodeApplicationContext.java:123)
Additional context

Datadog SDK version: 1.14.0

It is working fine with 1.12.0

Hello @janakencora.
This is the issue not in dd-sdk-android library, but in our Gradle plugin. It is known and was already fixed in the latest version 1.5.1. Please update the version you are using.

Not found 1.5.1 version here in datadog
the last version I can see is 1.14.1

You should update the version of our Datadog Gradle plugin you are using, not the version of the Datadog SDK.

Hello @janakencora! I'm closing this issue due to inactivity. Feel free to re-open it if it still happens to you.


Check if a --unischema string passed to petastorm-generate-metadata is actually a unischema

Codecov Report

Merging #202 into master will decrease coverage by 0.06%.
The diff coverage is 50%.

@@            Coverage Diff             @@
##           master     #202      +/-   ##
==========================================
- Coverage   85.84%   85.77%   -0.07%
==========================================
  Files          68       68
  Lines        3532     3536       +4
  Branches      477      478       +1
==========================================
+ Hits         3032     3033       +1
- Misses        399      400       +1
- Partials      101      103       +2

Impacted Files
Coverage Δ

petastorm/etl/dataset_metadata.py
86.61% <100%> (+0.1%)
:arrow_up:

petastorm/etl/petastorm_generate_metadata.py
83.63% <33.33%> (-2.91%)
:arrow_down:

petastorm/workers_pool/thread_pool.py
88.33% <0%> (-0.84%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1ef567a...eddcb8c. Read the comment docs.


Reduces redundant code in MixedRealityToolkit

Overview
A lot of code is copy and pasted. This reduces the code paths to one

This is a great change :) Thanks for doing this!
Just a couple of minor comments around some of the code that was shuffled around

This is a great change :) Thanks for doing this!
Just a couple of minor comments around some of the code that was shuffled around

@wiwei thanks :)
Right now I really love to do this, really satisfies me

Right now I really love to do this, really satisfies me

We feel the same! Glad you are part of the community!


Deleted Repetitive Information.

This closes #318 (pos. 2 and 3 of the issue were already solved)

Thanks. I disagree that this is repetitive. It links back to the base discussion of DI. The entire DI section is scheduled for refresh anyway. Therefore, I'm closing your PR.

[issue.process]
@wardbell , you disagree? With a fact? - Anyway, i guess you can close issue #318 then.


Configurable a $PICKER_FOLDER env variable from preferences

all is in the title
idea from issue #77

Done


Have a way to get Schema Name of a field

To use the Odata.bind we need to use the schema name of the field. I'm trying to clone a record and create it with some children records and I can't get this to work because of the schema name of some lookups.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 75f70840-ac77-de34-b797-233a4ff56d37
Version Independent ID: e6b3d742-fe79-7442-0cae-d5dcba71f55f
Content: createRecord (Client API reference) in model-driven apps - Power Apps
Content Source: powerapps-docs/developer/model-driven-apps/clientapi/reference/Xrm-WebApi/createRecord.md
Service: powerapps
Sub-service: mda-developer
GitHub Login: @adrianorth
Microsoft Alias: aorth

@DiogoAlex
Thank you for your feedback.
The first thing to address is that you don't want the SchemaName of the field. You want the name of the single-valued navigation property, not the schema name of anything. This isn't stored anywhere in the metadata for the field/property/attribute, this is in the metadata of the relationship that supports the lookup.
Keep in mind that some lookup fields can support multiple entity types. Like customer lookup might point to either account or contact, or a polymorphic lookup can point to any number of other entity types.
For example, if you are working with the incident entity and want to find the name of the single-valued navigation property to  use @odata.bind to set an account record using the customerid lookup, you can retrieve that using this query:
GET /RelationshipDefinitions/Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata?$filter=ReferencingEntity eq 'incident' and ReferencedEntity eq 'account' and ReferencingAttribute eq 'customerid'&$select=ReferencingEntityNavigationPropertyName

It will return this JSON, and the value customerid_account is the value you should use.
{
<EMAIL_ADDRESS>"[Organization URI]/api/data/v9.2/$metadata#RelationshipDefinitions(ReferencingEntityNavigationPropertyName)",
    "value": [
        {
            "ReferencingEntityNavigationPropertyName": "customerid_account",
            "MetadataId": "4b5945b8-a4a6-4613-afc1-ae1d5e6828c7"
        }
    ]
}

This corresponds to the CSDL of the navigation property as described here Single-valued navigation properties
                <NavigationProperty Name="customerid_account" Type="mscrm.account" Nullable="false" Partner="incident_customer_accounts">
                    <ReferentialConstraint Property="_customerid_value" ReferencedProperty="accountid" />
                </NavigationProperty>

But I think the question remains: How to perform the query to RelationshipDefinition AND include the cast to /Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata so that you can get the properties you need.
The Xrm.WebApi.retrieveRecord and Xrm.WebApi.retrieveMultipleRecords seem optimized for business data records and not metadata. But I think you can still compose your own XmlHttpRequest or fetch to retrieve this data. We have Web API Sample code for client-side JavaScript here
@DiogoAlex Does this unblock you in getting the information you need?
@adrianorth It may be valuable to offer some helper methods to retrieve metadata, or provide an example in this topic about how people should get the name of the single-valued navigation property they need.

@DiogoAlex
I haven't heard back from you so I don't know if the information I provided would help others, or if there is a different issue.
This topic is about using the Xrm.WebApi functions and they depend on some knowledge of Web API. Not sure that we need to invest in adding to this page to address questions about Web API that are available elsewhere. Closing this.


pytest doctest can't discover functions with @guvectorize decorator

Example:
from numba import guvectorize, int64, njit

@guvectorize([(int64[:], int64, int64[:])], '(n),()->(n)')
def bar(x, y, res):
    """
    Examples
    --------
    >>> x = 1
    """
    for i in range(x.shape[0]):
            res[i] = x[i] + y

@njit
def foo():
    """
    Examples
    --------
    >>> x = 1
    """
    pass

$ pytest -rs -sv -v --doctest-modules a.py
=============================================== test session starts ===============================================
platform darwin -- Python 3.8.3, pytest-6.1.0, py-1.9.0, pluggy-0.13.1 -- /Users/guilhermeleobas/miniconda3/envs/numba/bin/python
cachedir: .pytest_cache
rootdir: /Users/guilhermeleobas/Documents/GitHub/numba
collected 1 item

a.py::a.foo PASSED

================================================ 1 passed in 1.56s ================================================

One would pytest to execute the docstring from foo and bar but only foo is discovered.

Need to check if it is a problem that numba is not passing __doc__ of bar to the numpy gufunc or that numpy gufunc is somehow preventing pytest to work for other reason.


Add custom attribute for obsoleted aliases

Mono seems to care about obsoleted aliases even though they only exist in generated code and isn't explicitly called. We could work around this by creating a custom attribute for aliases like CakeObsoletedAliasAttribute.

Could also be that we should ignore on the generated classes.
Also on that note, we should probably now remove the obsolete XmlPoke methods.

@devlead We call the obsoleted methods in the generated aliases. I think that is the problem.
Yes, we should remove the XmlPoke methods.
We should also invest in a way of tracking stuff that we obsolete. Like when we obsoleted it (what version).

a warning version and error version options to attribute perhaps.

@devlead Not a bad idea. Let me think some more about this.


Facing During making Android Build

ERROR: C:/_bzl/b2b5753g/external/com_google_mediapipe/mediapipe/graphs/object_detection_3d/calculators/BUILD:30:24: Linking external/com_google_mediapipe/mediapipe/graphs/object_detection_3d/calculators/libannotations_to_model_matrices_calculator_cc_proto.pic.lo failed: (Exit 1): aarch64-linux-android-ar failed: error executing command
cd C:/_bzl/b2b5753g/execroot/mediapipe_api
SET PATH=C:\msys64\usr\bin;C:\msys64\bin;C:\Windows;C:\Windows\System32;C:\Windows\System32\WindowsPowerShell\v1.0;D:\MediaPipePlugin\env\Scripts;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Program Files\dotnet;C:\Program Files\Microsoft SQL Server\130\Tools\Binn;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn;C:\Program Files\Git\cmd;C:\Program Files\TortoiseGit\bin;C:\ProgramData\chocolatey\bin;C:\nuget;C:\Users\Capermint\AppData\Local\Programs\Python\Python310\Scripts;C:\Users\Capermint\AppData\Local\Programs\Python\Python310;C:\opencv\build\bin;C:\msys64\usr\bin;C:\Program Files\Android\Android Studio\jre;C:\Users\Capermint\AppData\Local\Android\Sdk\ndk;C:\Users\Capermint\AppData\Local\Android\Sdk;C:\Users\Capermint\AppData\Local\Programs\Python\Python39\Scripts;C:\Users\Capermint\AppData\Local\Programs\Python\Python39;C:\Users\Capermint\AppData\Local\Microsoft\WindowsApps;C:\Users\Capermint\AppData\Local\Programs\Microsoft VS Code\bin;C:\Program Files\JetBrains\JetBrains Rider 2021.2.1\bin;C:\Users\Capermint\Desktop\bazel-4.2.0-windows-x86_64.exe;;C:\Users\Capermint.dotnet\tools;C:\Users\Capermint\AppData\Local\GitHubDesktop\bin;C:\Users\Capermint\AppData\Local\Android\Sdk\ndk;C:\Users\Capermint\AppData\Local\Android\Sdk;C:\Program Files\Android\Android Studio\jre;
SET PROCESSOR_ARCHITECTURE=AMD64
SET PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 42 Stepping 7, GenuineIntel
SET PROCESSOR_LEVEL=6
SET PROCESSOR_REVISION=2a07
SET PWD=/proc/self/cwd
SET PYTHON_BIN_PATH=C://Users//Capermint//AppData//Local//Programs//Python//Python39//python.exe
SET ProgramData=C:\ProgramData
SET RUNFILES_MANIFEST_ONLY=1
external/androidndk/ndk/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/bin/aarch64-linux-android-ar rcsD bazel-out/android-arm64-v8a-opt/bin/external/com_google_mediapipe/mediapipe/graphs/object_detection_3d/calculators/libannotations_to_model_matrices_calculator_cc_proto.pic.lo bazel-out/android-arm64-v8a-opt/bin/external/com_google_mediapipe/mediapipe/graphs/object_detection_3d/calculators/_objs/annotations_to_model_matrices_calculator_cc_proto/annotations_to_model_matrices_calculator.pb.pic.o
Execution platform: @local_execution_config_platform//:platform
C:_bzl\b2b5753g\execroot\mediapipe_api\external\androidndk\ndk\toolchains\aarch64-linux-android-4.9\prebuilt\windows-x86_64\bin\aarch64-linux-android-ar: bazel-out/android-arm64-v8a-opt/bin/external/com_google_mediapipe/mediapipe/graphs/object_detection_3d/calculators/_objs/annotations_to_model_matrices_calculator_cc_proto/annotations_to_model_matrices_calculator.pb.pic.o: No such file or directory
Target //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android failed to build
INFO: Elapsed time: 360.845s, Critical Path: 316.83s
INFO: 961 processes: 158 internal, 803 local.
FAILED: Build did NOT complete successfully
Traceback (most recent call last):
File "D:\MediaPipePlugin\build.py", line 451, in
Argument().command().run()
File "D:\MediaPipePlugin\build.py", line 160, in run
self._run_command(self._build_android_commands())
File "D:\MediaPipePlugin\build.py", line 53, in _run_command
return subprocess.run(' '.join(command_list), check=True, shell=shell)
File "C:\Users\Capermint\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 528, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command 'bazel --output_user_root C:/_bzl build -c opt --action_env PYTHON_BIN_PATH="C://Users//Capermint//AppData//Local//Programs//Python//Python39//python.exe" --action_env ProgramData --action_env PROCESSOR_ARCHITECTURE --action_env PROCESSOR_IDENTIFIER --action_env PROCESSOR_LEVEL --action_env PROCESSOR_REVISION --verbose_failures --config=android_arm64 //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android' returned non-zero exit status 1.
(env) D:\MediaPipePlugin>

Building AAR on Windows is not supported.
https://github.com/homuler/MediaPipeUnityPlugin/wiki/Installation-Guide#windows-10

:warning: You cannot build libraries for Android with the following steps.
If you use Window 10 Pro, go to Docker Windows Container.

How can I make android supported app using this unity plugin ? can you Guide me I'm using windows 10.

Use Docker Linux container.
https://github.com/homuler/MediaPipeUnityPlugin/wiki/Installation-Guide#docker-linux-container

@homuler Why are you not making tutorial video for all type of environment setup for this unity plugin?

hi @homuler can I use docker windows container to build for android I want to make sure because I am facing some errors

I have same error did you solve it ? @gabbar69

Why are you not making tutorial video for all type of environment setup for this unity plugin?

I don't really have a reason. I've just never had the desire to do it.
Did you upload a video to YouTube yesterday? If not, why?

I have same error did you solve it ? @gabbar69

Nope

Why are you not making tutorial video for all type of environment setup for this unity plugin?

I don't really have a reason. I've just never had the desire to do it. Did you upload a video to YouTube yesterday? If not, why?
No, Because till date I don't solve errors for building Android Hand Tracking app through this unity plugin.

hi @homuler can I use docker windows container to build for android I want to make sure because I am facing some errors

also try with docker and that is my first use of docker so I don't know much about docker when I try to build using docker commands but till getting same errors.

@homuler

D:\MediaPipePlugin>

D:\MediaPipePlugin>pip install virtualenv

Requirement already satisfied: virtualenv in c:\users\capermint\appdata\local\programs\python\python39\lib\site-packages (20.10.0)

Requirement already satisfied: filelock<4,>=3.2 in c:\users\capermint\appdata\local\programs\python\python39\lib\site-packages (from virtualenv) (3.4.0)

Requirement already satisfied: platformdirs<3,>=2 in c:\users\capermint\appdata\local\programs\python\python39\lib\site-packages (from virtualenv) (2.4.0)

Requirement already satisfied: distlib<1,>=0.3.1 in c:\users\capermint\appdata\local\programs\python\python39\lib\site-packages (from virtualenv) (0.3.4)

Requirement already satisfied: backports.entry-points-selectable>=1.0.4 in c:\users\capermint\appdata\local\programs\python\python39\lib\site-packages (from virtualenv) (1.1.1)

Requirement already satisfied: six<2,>=1.9.0 in c:\users\capermint\appdata\local\programs\python\python39\lib\site-packages (from virtualenv) (1.16.0)

D:\MediaPipePlugin>virtualenv env

created virtual environment CPython3.9.8.final.0-64 in 12526ms

creator CPython3Windows(dest=D:\MediaPipePlugin\env, clear=False, no_vcs_ignore=False, global=False)

seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=C:\Users\Capermint\AppData\Local\pypa\virtualenv)

added seed packages: numpy==1.21.5, pip==21.3.1, setuptools==59.4.0, wheel==0.37.0

activators BashActivator,BatchActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator

D:\MediaPipePlugin>

D:\MediaPipePlugin>env\Scripts\activate

(env) D:\MediaPipePlugin>

(env) D:\MediaPipePlugin>pip install numpy

Requirement already satisfied: numpy in d:\mediapipeplugin\env\lib\site-packages (1.21.5)

(env) D:\MediaPipePlugin>

(env) D:\MediaPipePlugin>

(env) D:\MediaPipePlugin>

(env) D:\MediaPipePlugin>

(env) D:\MediaPipePlugin>

(env) D:\MediaPipePlugin>set PYTHON_BIN_PATH=C:\Users\Capermint\AppData\Local\Programs\Python\Python39\python.exe

(env) D:\MediaPipePlugin>python build.py build --android arm64 -vv

INFO (build.py): Building protobuf sources...

DEBUG (build.py): Running bazel --output_user_root C:/_bzl build -c opt --action_env PYTHON_BIN_PATH="C://Users//Capermint//AppData//Local//Programs//Python//Python39//python.exe" --action_env ProgramData --action_env PROCESSOR_ARCHITECTURE --action_env PROCESSOR_IDENTIFIER --action_env PROCESSOR_LEVEL --action_env PROCESSOR_REVISION --verbose_failures //mediapipe_api:mediapipe_proto_srcs

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'com_google_absl' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'com_google_benchmark' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'pybind11_bazel' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'com_google_protobuf' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'com_google_googletest' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'com_github_gflags_gflags' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'rules_python' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'build_bazel_rules_apple' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'build_bazel_rules_swift' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'build_bazel_apple_support' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'xctestrunner' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'pybind11' because it already exists.

INFO: Build options --copt, --cpu, --crosstool_top, and 6 more have changed, discarding analysis cache.

INFO: Analyzed target //mediapipe_api:mediapipe_proto_srcs (1 packages loaded, 720 targets configured).

INFO: Found 1 target...

Target //mediapipe_api:mediapipe_proto_srcs up-to-date:

bazel-bin/mediapipe_api/mediapipe_proto_srcs.zip

INFO: Elapsed time: 94.069s, Critical Path: 90.52s

INFO: 123 processes: 1 internal, 122 local.

INFO: Build completed successfully, 123 total actions

DEBUG (build.py): Unarchiving 'bazel-bin\mediapipe_api\mediapipe_proto_srcs.zip' to 'build\Scripts\Protobuf'...

INFO (build.py): Built protobuf sources

INFO (build.py): Downloading dlls...

DEBUG (build.py): Running nuget install -o .nuget -Source https://api.nuget.org/v3/index.json

Feeds used:

C:\Users\Capermint.nuget\packages\

https://api.nuget.org/v3/index.json

All packages listed in D:\MediaPipePlugin\packages.config are already installed.

DEBUG (build.py): Copying '.nuget\Google.Protobuf.3.19.1\lib\netstandard2.0\Google.Protobuf.dll' to 'build\Plugins\Protobuf\Google.Protobuf.dll'...

DEBUG (build.py): Changing the mode of 'build\Plugins\Protobuf\Google.Protobuf.dll'...

DEBUG (build.py): Copying '.nuget\System.Buffers.4.4.0\lib\netstandard2.0\System.Buffers.dll' to 'build\Plugins\Protobuf\System.Buffers.dll'...

DEBUG (build.py): Changing the mode of 'build\Plugins\Protobuf\System.Buffers.dll'...

DEBUG (build.py): Copying '.nuget\System.Memory.4.5.3\lib\netstandard2.0\System.Memory.dll' to 'build\Plugins\Protobuf\System.Memory.dll'...

DEBUG (build.py): Changing the mode of 'build\Plugins\Protobuf\System.Memory.dll'...

DEBUG (build.py): Copying '.nuget\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll' to 'build\Plugins\Protobuf\System.Runtime.CompilerServices.Unsafe.dll'...

DEBUG (build.py): Changing the mode of 'build\Plugins\Protobuf\System.Runtime.CompilerServices.Unsafe.dll'...

INFO (build.py): Downloaded protobuf dlls

INFO (build.py): Building resource files

DEBUG (build.py): Running bazel --output_user_root C:/_bzl build -c opt --action_env PYTHON_BIN_PATH="C://Users//Capermint//AppData//Local//Programs//Python//Python39//python.exe" --action_env ProgramData --action_env PROCESSOR_ARCHITECTURE --action_env PROCESSOR_IDENTIFIER --action_env PROCESSOR_LEVEL --action_env PROCESSOR_REVISION --verbose_failures //mediapipe_api:mediapipe_assets

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'com_google_absl' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'com_google_benchmark' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'pybind11_bazel' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'com_google_protobuf' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'com_google_googletest' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'com_github_gflags_gflags' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'rules_python' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'build_bazel_rules_apple' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'build_bazel_rules_swift' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'build_bazel_apple_support' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'xctestrunner' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'pybind11' because it already exists.

INFO: Analyzed target //mediapipe_api:mediapipe_assets (0 packages loaded, 29 targets configured).

INFO: Found 1 target...

Target //mediapipe_api:mediapipe_assets up-to-date:

bazel-bin/mediapipe_api/mediapipe_assets.zip

INFO: Elapsed time: 2.675s, Critical Path: 0.01s

INFO: 1 process: 1 internal.

INFO: Build completed successfully, 1 total action

DEBUG (build.py): Unarchiving 'bazel-bin\mediapipe_api\mediapipe_assets.zip' to 'build\Resources'...

DEBUG (build.py): Unarchiving 'bazel-bin\mediapipe_api\mediapipe_assets.zip' to 'Assets\StreamingAssets'...

INFO (build.py): Built resource files

INFO (build.py): Building native libraries for Android...

DEBUG (build.py): Running bazel --output_user_root C:/_bzl build -c opt --action_env PYTHON_BIN_PATH="C://Users//Capermint//AppData//Local//Programs//Python//Python39//python.exe" --action_env ProgramData --action_env PROCESSOR_ARCHITECTURE --action_env PROCESSOR_IDENTIFIER --action_env PROCESSOR_LEVEL --action_env PROCESSOR_REVISION --verbose_failures --config=android_arm64 //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'com_google_absl' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'com_google_benchmark' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'pybind11_bazel' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'com_google_protobuf' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'com_google_googletest' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'com_github_gflags_gflags' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'rules_python' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'build_bazel_rules_apple' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'build_bazel_rules_swift' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'build_bazel_apple_support' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'xctestrunner' because it already exists.

DEBUG: C:/_bzl/b2b5753g/external/org_tensorflow/third_party/repo.bzl:122:14:

Warning: skipping import of repository 'pybind11' because it already exists.

INFO: Build options --copt, --cpu, --crosstool_top, and 5 more have changed, discarding analysis cache.

WARNING: C:/_bzl/b2b5753g/external/com_google_mediapipe/mediapipe/framework/BUILD:54:24: in cc_library rule @com_google_mediapipe//mediapipe/framework:calculator_cc_proto: target '@com_google_mediapipe//mediapipe/framework:calculator_cc_proto' depends on deprecated target '@com_google_protobuf//:cc_wkt_protos': Only for backward compatibility. Do not use.

WARNING: C:/_bzl/b2b5753g/external/com_google_mediapipe/mediapipe/framework/tool/BUILD:182:24: in cc_library rule @com_google_mediapipe//mediapipe/framework/tool:field_data_cc_proto: target '@com_google_mediapipe//mediapipe/framework/tool:field_data_cc_proto' depends on deprecated target '@com_google_protobuf//:cc_wkt_protos': Only for backward compatibility. Do not use.

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/components:AudioDataConsumer.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/components:AudioDataProcessor.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/components:AudioDataProducer.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/components:CameraHelper.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/components:CameraXPreviewHelper.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/components:ExternalTextureConverter.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/components:FrameProcessor.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/components:GlSurfaceViewRenderer.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/components:MicrophoneHelper.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/components:PermissionHelper.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/components:TextureFrameConsumer.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/components:TextureFrameProcessor.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/components:TextureFrameProducer.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/framework:AndroidAssetUtil.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/framework:AndroidPacketCreator.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/framework:AndroidPacketGetter.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/framework:AppTextureFrame.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/framework:AssetCache.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/framework:AssetCacheDbHelper.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/framework:Compat.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/framework:GlSyncToken.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/framework:Graph.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/framework:GraphGlSyncToken.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/framework:GraphProfiler.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/framework:GraphService.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/framework:GraphTextureFrame.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/framework:MediaPipeException.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/framework:MediaPipeRunner.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/framework:Packet.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/framework:PacketCallback.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/framework:PacketCreator.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/framework:PacketGetter.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/framework:PacketListCallback.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/framework:PacketWithHeaderCallback.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/framework:ProtoUtil.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/framework:SurfaceOutput.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/framework:TextureFrame.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/framework:TextureReleaseCallback.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/framework:TypeNameRegistry.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/framework:TypeNameRegistryLite.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/glutil:CommonShaders.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/glutil:EglManager.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/glutil:ExternalTextureRenderer.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/glutil:GlThread.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/glutil:ShaderUtil.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

WARNING: D:/mediapipeplugin/mediapipe_api/java/com/github/homuler/mediapipe/BUILD:10:14: in srcs attribute of android_library rule //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android_android_lib: please do not import '@com_google_mediapipe//mediapipe/java/com/google/mediapipe/glutil:TextureRenderer.java' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'mediapipe_aar', the error might have been caused by the macro implementation

INFO: Analyzed target //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android (0 packages loaded, 18893 targets configured).

INFO: Found 1 target...

ERROR: C:/_bzl/b2b5753g/external/com_google_mediapipe/mediapipe/graphs/object_detection_3d/calculators/BUILD:30:24: Linking external/com_google_mediapipe/mediapipe/graphs/object_detection_3d/calculators/libannotations_to_model_matrices_calculator_cc_proto.pic.lo failed: (Exit 1): aarch64-linux-android-ar failed: error executing command

cd C:/_bzl/b2b5753g/execroot/mediapipe_api

SET PATH=C:\msys64\usr\bin;C:\msys64\bin;C:\Windows;C:\Windows\System32;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Users\Capermint\AppData\Local\Programs\Python\Python310\Scripts;C:\Users\Capermint\AppData\Local\Programs\Python\Python310;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Program Files\dotnet;C:\Program Files\Microsoft SQL Server\130\Tools\Binn;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn;C:\Program Files\Git\cmd;C:\Program Files\TortoiseGit\bin;C:\ProgramData\chocolatey\bin;C:\nuget;C:\opencv\build\bin;C:\msys64\usr\bin;C:\Program Files\Android\Android Studio\jre;C:\Users\Capermint\AppData\Local\Android\Sdk\ndk;C:\Users\Capermint\AppData\Local\Android\Sdk;;C:\Program Files\Docker\Docker\resources\bin;C:\ProgramData\DockerDesktop\version-bin;C:\Users\Capermint\AppData\Local\Programs\Python\Python39\Scripts;C:\Users\Capermint\AppData\Local\Programs\Python\Python39;C:\Users\Capermint\AppData\Local\Microsoft\WindowsApps;C:\Users\Capermint\AppData\Local\Programs\Microsoft VS Code\bin;C:\Program Files\JetBrains\JetBrains Rider 2021.2.1\bin;C:\Users\Capermint\Desktop\bazel-4.2.0-windows-x86_64.exe;;C:\Users\Capermint.dotnet\tools;C:\Users\Capermint\AppData\Local\GitHubDesktop\bin;C:\Users\Capermint\AppData\Local\Android\Sdk\ndk;C:\Users\Capermint\AppData\Local\Android\Sdk;C:\Program Files\Android\Android Studio\jre;

SET PROCESSOR_ARCHITECTURE=AMD64

SET PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 42 Stepping 7, GenuineIntel

SET PROCESSOR_LEVEL=6

SET PROCESSOR_REVISION=2a07

SET PWD=/proc/self/cwd

SET PYTHON_BIN_PATH=C://Users//Capermint//AppData//Local//Programs//Python//Python39//python.exe

SET ProgramData=C:\ProgramData

SET RUNFILES_MANIFEST_ONLY=1

external/androidndk/ndk/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/bin/aarch64-linux-android-ar rcsD bazel-out/android-arm64-v8a-opt/bin/external/com_google_mediapipe/mediapipe/graphs/object_detection_3d/calculators/libannotations_to_model_matrices_calculator_cc_proto.pic.lo bazel-out/android-arm64-v8a-opt/bin/external/com_google_mediapipe/mediapipe/graphs/object_detection_3d/calculators/_objs/annotations_to_model_matrices_calculator_cc_proto/annotations_to_model_matrices_calculator.pb.pic.o

Execution platform: @local_execution_config_platform//:platform

C:_bzl\b2b5753g\execroot\mediapipe_api\external\androidndk\ndk\toolchains\aarch64-linux-android-4.9\prebuilt\windows-x86_64\bin\aarch64-linux-android-ar: bazel-out/android-arm64-v8a-opt/bin/external/com_google_mediapipe/mediapipe/graphs/object_detection_3d/calculators/_objs/annotations_to_model_matrices_calculator_cc_proto/annotations_to_model_matrices_calculator.pb.pic.o: No such file or directory

Target //mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android failed to build

INFO: Elapsed time: 203.329s, Critical Path: 143.58s

INFO: 431 processes: 136 internal, 295 local.

Can you tell me what is the main problem with this?
How can I solve it?


IOError: Couldn't open video file or webcam

Hello
when i run this: python "run_stream.py" with my jetson xavier and logitech c930e.
note that have this in config.yml (camera_input: 1 )
i have this error ;
run_stream.py:59: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
cfg = yaml.load(ymlfile)
Building Graph
Loading label map
Loading...
2019-05-13 08:57:17.050768: W tensorflow/core/platform/profile_utils/cpu_utils.cc:98] Failed to find bogomips in /proc/cpuinfo; cannot determine CPU frequency
2019-05-13 08:57:17.051788: I tensorflow/compiler/xla/service/service.cc:161] XLA service 0x7f181a8850 executing computations on platform Host. Devices:
2019-05-13 08:57:17.051872: I tensorflow/compiler/xla/service/service.cc:168]   StreamExecutor device (0): ,
2019-05-13 08:57:17.129784: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:965] ARM64 does not support NUMA - returning NUMA node zero
2019-05-13 08:57:17.130216: I tensorflow/compiler/xla/service/service.cc:161] XLA service 0x7f1825c7b0 executing computations on platform CUDA. Devices:
2019-05-13 08:57:17.130335: I tensorflow/compiler/xla/service/service.cc:168]   StreamExecutor device (0): Xavier, Compute Capability 7.2
2019-05-13 08:57:17.130784: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1433] Found device 0 with properties:
name: Xavier major: 7 minor: 2 memoryClockRate(GHz): 1.5
pciBusID: 0000:00:00.0
totalMemory: 15.45GiB freeMemory: 7.49GiB
2019-05-13 08:57:17.130880: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1512] Adding visible gpu devices: 0
2019-05-13 08:57:17.861107: I tensorflow/core/common_runtime/gpu/gpu_device.cc:984] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-05-13 08:57:17.861262: I tensorflow/core/common_runtime/gpu/gpu_device.cc:990]      0
2019-05-13 08:57:17.861314: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1003] 0:   N
2019-05-13 08:57:17.861569: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 7027 MB memory)
-> physical GPU (device: 0, name: Xavier, pci bus id: 0000:00:00.0, compute capability: 7.2)
2019-05-13 08:57:17.863335: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1512] Adding visible gpu devices: 0
2019-05-13 08:57:17.863457: I tensorflow/core/common_runtime/gpu/gpu_device.cc:984] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-05-13 08:57:17.863507: I tensorflow/core/common_runtime/gpu/gpu_device.cc:990]      0
2019-05-13 08:57:17.863533: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1003] 0:   N
2019-05-13 08:57:17.863637: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 7027 MB memory) -> physical GPU (device: 0, name: Xavier, pci bus id: 0000:00:00.0, compute capability: 7.2)
(python:15408): GStreamer-CRITICAL **: 08:57:24.898: gst_element_get_state: assertion 'GST_IS_ELEMENT (element)' failed
Traceback (most recent call last):
File "run_stream.py", line 127, in main
detection.start(cfg)
File "/home/nvidia/Downloads/realtime_object_detection-master/lib/detection_nms_v2.py", line 192, in start
video_reader.start(VIDEO_INPUT, WIDTH, HEIGHT, save_to_file=SAVE_TO_FILE)
File "/home/nvidia/Downloads/realtime_object_detection-master/lib/webcam.py", line 74, in start
raise IOError(("Couldn't open video file or webcam."))
IOError: Couldn't open video file or webcam.
Help please !!!!

Hi @abdallah0012,
Sorry for my late response.
Normally, usb webcamera exists in either /dev/video0 or /dev/video1.
ls /dev/video*

If you find /dev/video0, set the config.yaml to camera_input: 0.
If you find /dev/video1, set the config.yaml to camera_input: 1.


SpriteAnimationComponent was removed prematurely

Current bug behaviour

SpriteAnimationComponent was removed in the last frame immediately regardless of the stepTime.
@override
  bool get shouldRemove =>
      super.shouldRemove ||
      (removeOnFinish && (animation?.isLastFrame ?? false));

Expected behaviour

I think SpriteAnimationComponent should be removed when SpriteAnimation is done.
@override
  bool get shouldRemove =>
      super.shouldRemove ||
      (removeOnFinish && (animation?.done() ?? false));

PS: SpriteAnimationComponent can never be automatically removed if SpriteAnimation#loop is true. Perhaps this is a breaking change.
Steps to reproduce

Flutter doctor output

Output of: flutter doctor -v

More environment information

Flame version: 1.0.0-rc8

Log information

Enter log information in this code block

More information

If my idea meets the needs, I'm interested in working on a PR for this.

I think that makes sense, we should only remove the component when the animation is really done, not when it is on the last frame. Sounds like a good fix, if you are willing to work on this, it would be quite appreciated.


Retry Nutanix image builds in case of internal server errors

This PR adds the logic to retry Nutanix image builds in case of internal server errors, since we have observed that these usually pass when retried.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm

/cherry-pick release-0.20

/cherry-pick release-0.19

/approve

This PR doesn't need to be backported to release branches since this is a CI script that runs only on main as we build images only on main for testing


[Cordova] show keyboard on input focus (iOS)

On iOS, show the keyboard when an input as the focus.

There is a bug on webkit about that. As it is not closed since, I think it is the default behavior of iOS: keyboard can be shown only on user actions, not with scripts.


bigquery-usage typos and broken example code.

Page Name: bigquery-usage
Release: 0.17.0
This page hardly works, there are typos at at least three positions:
Upload table data from a file: has two typos, CSV and unmatched parenthesis. The code also doesn't work. Please supply a working template that can be copied and adapted to use. That would be lovely.

Thanks for reporting! This is actually a duplicate of #2073.
Somehow I forgot about this. I'll get to work on it right now.

I looked here and also ran pycodestyle and python -m py_compile on the file those examples are derived from and I couldn't find an issue.
Let me know if I missed the spot you're talking about.

@daspecster This looks good, it seems that either this page has been updated or I was looking an old page. Thanks anyway.


Refactoring spine loader

Refactoring the SpineLoader to replace the native AssetManager in spine-core with the engine's loader system.
Change the output of the loader from spine Entity to static skeletal data.
Issue related : #88 #85

done


docs(readme): fix typos

Short description of what this resolves:
small typos

Thanks @amuramoto!
Thanks,
Dan


$location.url() Is decoding the url.

I have a encoded url such as  var slug =  'test-test/7%2F8-test';
am using $location.url(slug) to redirect but unfortunately it gets decoded while it comes to the browser.
My need is the same encoded url should seen in the browser.
Current behavior in the browser is : www.test.com/test-test/7/8-test
Expected behavior or my requirement is : www.test.com/test-test/7%2F8-test
But when I use path its get encoded again.
Any help please.
I guess $location.ur() is decoding it by default. so any help on how to extend the $location of angularjs https://github.com/angular/angular.js/blob/master/src/ng/location.js#L388

@gladsonqb , could you create a live reproduction (e.g. using CodePen, plnkr etc) ?
How are you trying to use it ?
BTW, if $location.url() expects an encoded URL, have you tried encoding it before passing it to $location.url() ?

I'm going to close this issue because we have no reproduction of the issue. Feel free to reopen this issue if you can provide a reproduction (ideally a runnable demo in a https://plnkr.co or similar).


When generating a script, merge duplicate entry blocks

If the user places multiple of the same entry block, all of the entry blocks should run. To support this, we will group entry blocks by entry statement.

This is actually how I had it a while ago, but you did it a lot cleaner!
Code looks good to me and working in editor as expected. Great stuff!


Update/Add Inno Setup to windows-2022 image

Tool name
Inno Setup
Tool license
Modified BSD
Add or update?

[X] Add
[ ] Update

Desired version
6.2.0
Approximate size
No response
Brief description of tool
No response
URL for tool's homepage
https://jrsoftware.org/isinfo.php
Provide a basic test case to validate the tool's functionality.
iscc.exe <path to the installer script>

Virtual environments affected

[ ] Ubuntu 18.04
[ ] Ubuntu 20.04
[ ] macOS 10.15
[ ] macOS 11
[ ] Windows Server 2016
[ ] Windows Server 2019
[X] Windows Server 2022

Can this tool be installed during the build?
No response
Tool installation time in runtime
No response
Are you willing to submit a PR?
No response

Inno Setup was installed in windows-2019 image and it is not present in windows-2022 image. It "was removed due to its low popularity and maintenance concerns". Can you please better explain this decision? Inno Setup seems quite popular. I currently use the preinstalled version in my workflows, however I think it will also be fine if cinst InnoSetup -y will continue to work

@drakkan given the high demand for Inno Setup we will add it to windows 2022 image back.

@drakkan given the high demand for Inno Setup we will add it to windows 2022 image back.

Great! Thank you

@drakkan InnoSetup has been added. The new image will be deployed next week.

The new Windows Server 2022 image has been deployed with InnoSetup 6.2.0 on board - https://github.com/actions/virtual-environments/blob/main/images/win/Windows2022-Readme.md


chore(napi): only enable Codspeed plugin on CI

#2733  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @overlookmotel and the rest of your teammates on  Graphite


Add docs for fio calc

Also fixed formatting for filter example.

Coverage remained the same at 84.082% when pulling ccb096cfe8e473b56be48c4a9ada15f3dab72c7b on drnextgis:docs into ed1874e5d4ebaaed726146d3b074094e36307b22 on Toblerity:master.


run pipreqs ./  block

when i try  pipreqs ./ to auto make a requirements.txt,it's block and i wait more than 5 minutes.

I am show the project path is right.
I am using python3.8 and my OS is macOS Catalina 10.15.4
pipreqs  version is 0.4.10

Can you try running pipreqs . in your current directory?
If requirements.txt already exists in your current directory, try pipreqs . --force


DO NOT MERGE; MERGE mutations.rs: Repro sig

Closing because there are only santity checks in this file which are not really relevant.


[NO-MRG] Additional stuff on top of #484

Closes nothing. This PR adds some changes I made on top of @jdkent's #484. These changes might be useful, but they ended up causing problems, so I thought I'd open a PR that we could look at.
Changes proposed:

Move masker transformation code in #484 into a separate function (safe_transform).
Replace low_memory argument/attribute with memory_limit.
Reduce memory usage of MKDAChi2.

The current problem seems to come up when a Dataset contains relative paths to images, but those paths contain the same folders/paths across all images. Then, Dataset.update_path() tries to update the absolute path, but leave the relative paths unchanged, while Dataset.images tries to maximize the base path, which would include the shared subfolders... Thus, the base path identified by Dataset.images and the one from update_path never match up and keep calling each other...

@jdkent do you mind if I merge this and close #484? We can revisit before the next release if there are any problems.

that is okay with me!


Rename labels, annotations based on quarks

#169418426

Need to finish https://www.pivotaltracker.com/story/show/169095318


Handle retired apps when deleting expired grants/tokens

Trello: https://trello.com/c/GGWWve9b
We saw the following exception in production over the weekend:

NoMethodError oauth_access_grants:delete_expired
undefined method `name' for nil:NilClass application_names =
records_by_user_id[user.id].map { |record| record.application.name }

The problem is that some of the expired Doorkeeper::AccessTokens belong to retired applications. Commit
9a9cd02d8574529b19f572a8352f031c3f07455e updated the default scope of Doorkeeper::Application so that it excludes retired apps by default.
The fix is to execute the query that finds the batch of expired grants/tokens within Doorkeeper::Application.unscoped so that we include retired apps.
As well as the tests added in this commit, I also used the Rails console in development, and its SQL query output, to give me confidence that this really is doing what we want. Given that we have an application and an API user that has an access token for that application:
> Doorkeeper::AccessToken.includes(:application).group_by(&:resource_owner_id)
# Note that the query for the applications ignores retired apps
  Doorkeeper::AccessToken Load (0.8ms)  SELECT `oauth_access_tokens`.*
    FROM `oauth_access_tokens`
  Doorkeeper::Application Load (0.7ms)  SELECT `oauth_applications`.*
    FROM `oauth_applications` WHERE `oauth_applications`.`retired` = FALSE
    AND `oauth_applications`.`id` = 1 ORDER BY oauth_applications.name

* Doorkeeper::Application.unscoped {
*   Doorkeeper::AccessToken.includes(:application).group_by(&:resource_owner_id)
> }
# Note that the query for the applications is not ignoring retired apps
  Doorkeeper::AccessToken Load (0.6ms)  SELECT `oauth_access_tokens`.*
    FROM `oauth_access_tokens`
  Doorkeeper::Application Load (0.6ms)  SELECT `oauth_applications`.*
    FROM `oauth_applications` WHERE `oauth_applications`.`id` = 1

Thanks @chrislo!