User experience when sharing using B2B sharing preview

After enabling the preview functionality as per the guide, attempting to share to a domain that is disallowed (using the Allow invitations only to the specified domains (most restrictive) or Deny invitations to the specified domains setting in AzureAD) results in the following error instead of a user friendly 'you can't do that' error.

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

ID: 71747405-a38b-c475-7915-bb10242b689f
Version Independent ID: ccf67a68-63d7-9d04-69c7-728fabb3be24
Content: SharePoint and OneDrive integration with Azure AD B2B (Preview)
Content Source: SharePoint/SharePointOnline/sharepoint-azureb2b-integration-preview.md
Service: sharepoint-online
GitHub Login: @MikePlumleyMSFT
Microsoft Alias: mikeplum

Thanks for submitting the issue! This is a good example of something that is currently expected / known issue but we'll certainly work on improving the experience throughout the preview phase and certainly by the time it exits preview.
You'll get the same sort of non-friendly error message for any other AzureAD settings you have which prevent the user from creating an invitation in SharePoint/OneDrive. For example, if Members Can Invite is turned off.

@davegreen thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.

@officedocsbot close

Hi, this error is still present. Also, it differ if also in SPO is limitation for external sharing to specific domains. These lists should be merged or mentioned that it apply for Teams, SharePoint and OneDrive also and both apply (AAD to External Guest, SPO to External Guests and External Sharing). I opened case because we run into the same. If you need number for reference, just let me know.

This error is a problem, we would like to enable this feature but do not allow guests from any domains. This will confuse a lot of users.


EAGLE-276 eagle support for mr & spark history job monitoring

add history job monitoring for eagle

Please update all module version from 0.3.0-incubating to 0.5.0-incubating-SNAPSHOT

Please pull latest code from develop branch and make sure building against jdk8.

Really a huge patch, could list all authors for this pull request?

For such big feature contribution, please help raise your consideration/requirement/implementation in dev DL for discussion first. It could also help committers to do the review with direction.


added tests for go to def, find refs, hovers, highlights, and renames

Added tests for go to def, find refs, hovers, highlights, and renames. Also increased test parallelism and updated updated NPM packages to remove some vulnerabilities.
This fixes #459.

Codecov Report

Merging #477 into master will increase coverage by 2.40%.
The diff coverage is 99.50%.

@@            Coverage Diff             @@
##           master     #477      +/-   ##
==========================================
+ Coverage   91.12%   93.52%   +2.40%
==========================================
  Files         202      209       +7
  Lines        6825     7150     +325
==========================================
+ Hits         6219     6687     +468
+ Misses        606      463     -143

Flag
Coverage Δ

#dotnet
93.52% <99.50%> (+2.40%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...ngServer/Handlers/BicepDocumentHighlightHandler.cs
100.00% <ø> (+65.00%)
:arrow_up:

...angServer/Handlers/BicepTextDocumentSyncHandler.cs
88.23% <ø> (+8.23%)
:arrow_up:

...icep.LangServer.IntegrationTests/HighlightTests.cs
97.50% <97.50%> (ø)

...rc/Bicep.LangServer.IntegrationTests/HoverTests.cs
98.93% <98.93%> (ø)

...cep.LangServer.IntegrationTests/DefinitionTests.cs
100.00% <100.00%> (ø)

...LangServer.IntegrationTests/DocumentSymbolTests.cs
100.00% <100.00%> (ø)

...ationTests/Extensions/CompilationTestExtensions.cs
100.00% <100.00%> (ø)

....IntegrationTests/Helpers/IntegrationTestHelper.cs
96.96% <100.00%> (+1.31%)
:arrow_up:

...ntegrationTests/Helpers/TextDocumentParamHelper.cs
100.00% <100.00%> (ø)

...cep.LangServer.IntegrationTests/ReferencesTests.cs
100.00% <100.00%> (ø)

... and 25 more


build: enable coercion-types rule and fix leftover cases

Follow-up from #17528 that:

Turns on the coercion-types rule.
Fixes the rule not detecting abstract directives properly.
Fixes the rule incorrectly flagging coercion functions used inside of callbacks which are inside of setters.
Either fixes or works around a final set of failures.

I did it for the stepper example, because it shows how to extend a stepper so anybody doing it will have to do it as well. I reworked the rest since they are either internal or didn't have to coerce in the first place.


Move EventRestController logic

Move logic from EventRestController into services and fix old and add new test for this moving

@vaa25 i dont see any logic there, that should be moved

@vaa25 tell, what should be moved.

@AndriyBaibak time spent: 3h

@AndriyBaibak time spent: 10m

@AndriyBaibak time spent: 10m

@AndriyBaibak time spent: 10m


feat: allow _logging action to work with windows

📝 Description of the feature
Currently one has to ensure that bash is in the PATH of a runner to use this action. Otherwise, the runner simply state that bash is not a known command. Since multiple of our self hosted runners don't have such set up, we could provide a way to use this action without requiring extra steps. This way, future actions dedicated to windows could use the _logging action without breaking changes.
💡 Steps for implementing the feature
No response
🔗 Useful links and references
No response

Agreed - let's make it OS agnostic

Merged in https://github.com/ansys/actions/pull/450. Closing this. Thanks @SMoraisAnsys.


Clarify when to use ParamPunPam.jl vs Groebner.jl

Could you clarify when should one vs the other package be used? That is, what exactly is the distinction between a variable and a parameter? I guess that if some variables are known to be real, it makes sense to consider them as a parameter and use ParamPunPam instead of Groebner?

That's an interesting question !
To quote my scientific advisor, parameters would typically represent some quantities which are assumed to be known. In other words, one would use parametric Groebner bases if one is interested in solving the equations by expressing the variables in terms of parameters.
Formally, the difference between parameters and variables is not large. The choice between ParamPunPam and Groebner will probably depend on the specific task at hand.
To illustrate what I mean, I bring the following example. Say, we want to solve this linear system in $x,y$:
$$
\begin{pmatrix}
a & a + b \
a - b & a^2
\end{pmatrix}
\times
\begin{pmatrix}
x\
y
\end{pmatrix}
=
\begin{pmatrix}
b^2\
a^2
\end{pmatrix}
$$
We can easily cast this problem into a setting of parametric Groebner bases:
using Nemo, ParamPunPam
R_param, (a, b) = QQ["a", "b"]
R, (x,y) = FractionField(R_param)["x","y"]

paramgb([
    a*x  + (a+b)*y  - b^2,
    (a-b)*x + a^2*y - a^2
])

Running this will give you the solutions in $x$ and $y$, e.g., we get $y =  -(-a^3 + a b^2 - b^3)/(a^3 - a^2 + b^2)$.
Now note that the same result can be obtained with Groebner, if we use $\mathbb{Q}[x,y,a,b]$ with $a,b < x,y$, instead of the parametric $\mathbb{Q}(a,b)[x,y]$. Indeed, in this basis
using Nemo, Groebner
R, (x,y,a,b) = QQ["x","y","a","b"]

groebner([
    a*x + (a+b)*y   - b^2,
    (a-b)*x + a^2*y - a^2
])
# returns
3-element Vector{QQMPolyRingElem}:
 y*a^3 - y*a^2 + y*b^2 - a^3 + a*b^2 - b^3
 x*b - y*a^2 + y*a + y*b + a^2 - b^2
 x*a + y*a + y*b - b^2

if we group the terms in the first polynomial, we get $y (a^3 - a^2 + b^2) = -(-a^3 + a b^2 - b^3)$. It is the same result we obtained when using parametric bases, if we divide by $(a^3 - a^2 + b^2)$.
To sum up, parametric Groebner bases and usual Groebner bases are two sides of the same coin; which to use depends on your task and imagination :)


ENH: Use CUDA for ReceptiveField

@rkmaddox says this can be an order of magnitude faster. Need to figure out how to properly transfer data so that GPU memory is not problematic.

I think this will be made much easier by using cupy (#5452) because it should support broadcasting.

This is already listed in #3884, closing


Add GeSec scan into travis

First fly result: https://travis-ci.org/cloudfoundry/bosh-softlayer-cpi-release/builds/460601751#L4208-L4214
Results:
Summary:
   Files: 123
   Lines: 17269
   Nosec: 10


Change rstudio cask to depend on r-app cask.

If there’s a checkbox you can’t complete for any reason, that's okay, just explain in detail why you weren’t able to do so.
After making all changes to the cask:

[ ] brew cask audit --download {{cask_file}} is error-free.
[ ] brew cask style --fix {{cask_file}} reports no offenses.
[ ] The commit message includes the cask’s name and version.

Additionally, if adding a new cask:

[ ] Named the cask according to the token reference.
[ ] brew cask install {{cask_file}} worked successfully.
[ ] brew cask uninstall {{cask_file}} worked successfully.
[ ] Checked there are no open pull requests for the same cask.
[ ] Checked that the cask was not already refused in closed issues.

The r-app formula has a ton of dependencies, so it's much cleaner to depend on the cask version of R for RStudio.

Please fill the template.

https://github.com/caskroom/homebrew-cask/pull/26340


standalone engine vs web dashboard

What is the difference between the engine that I can run locally with cargo run --features game and the debugger web dashboard?
I haven't looked too deep into the code yet, but I noticed, as a user, that the engine has a somewhat buggy polygon renderer, while the game played on the web UI looks good.
Also the web UI version is very slow (at least for me), while the standalone engine runs even faster than the expected normal gameplay (maybe PAUSE_SLICES are not being handled correctly?).
Given the rendering differs, does it mean there are two implementations of the graphical routines?

Hi, Felipe.
I did this project 3 years ago and I barely remember anything related to it, sorry. Probably there are multiple bugs in the code (both the native and web versions) but I'm not spending time on this project because, in addition to its oldness, I did it just as a test to learn rust and wasm. For this reason, although I appreciate your PR, I can't accept it, I don't have time to test it even though is a very simple change.


Show source document in "match" warnings

The warning mentioned in #96 includes this path:
/home/runner/work/splines/splines/_build/html/euclidean/piecewise-monotone.html.rst

It contains the correct HTML file, but Sphinx adds .rst because it expects an input document.
This PR displays the source file instead (hopefully with the correct suffix), which I think is more interesting for authors.

[ ] Tests written and passed
[ ] Documentation and changelog entry written, docs build passed
[ ] All tox checks passed

Oh damn. If Sphinx didn't append the ".rst" I would be slightly against this change, because the matching, particularly of whole code blocks, could fail in HTML only with entirely valid RST source. Then it would be easier to debug the result HTML. But I think referencing the source file is fine now.
I also verified that changing the suffix to RST prevents Sphinx from adding it, so we're ok there. Thanks for submitting!

I also verified that changing the suffix to RST prevents Sphinx from adding it

Source files might also have different suffixes, so it's not necessarily .rst that's added.

Then it would be easier to debug the result HTML.

If you think the path of the HTML file is helpful for users, you could simply add it to the warning text.


Add OpenSUSE 13.2 installation docs

Can you push this commit directly to the PR #3298? It's the alpha17 branch in ps/ps repo. That will avoid conflicts I think. And you also need to update the .spelling file.

Addresses part of #2393


Load URLs from document loader

The document uploader that exists in the application currently allows the user to upload a number of files directly but there is no reason why we should not enable the user to paste in an arbitrary web address or Github public repo link.
This should sent a request to the python document processor that can then run the script to collect and parse this information.

moved to #363


samples: grove_temperature: Update sample to use DEVICE_DT_GET_ONE

Update sample to use DEVICE_DT_GET_ONE in order to remove usage of
device_get_binding.
Signed-off-by: Benjamin Björnsson<EMAIL_ADDRESS>

This sample is being removed by #48184


[bug] Webhook: when upgrade subscription with chargeFullPrice policy in Android => revenue.value is zero (invalid)

var purchaseOptions = QPurchaseOptionsBuilder()
          .setOldProduct(oldProduct)
          .setUpdatePolicy(QPurchaseUpdatePolicy.chargeFullPrice)
          .build();
qonversion.purchaseProduct(product, purchaseOptions: purchaseOptions);

I want to achieve upgrade subscription from monthly(n$) to yearly(m$) with chargeFullPrice policy, and i use code above.
I received email from PlayStore that I was charged m$ and get new yearly plan, but the issue is Webhook sent to my server event(Json below) with event_name: subscription_started with zero revenue.value and zero price.value. Also in my Qonversion Admin Customers>Events>Subscription detail page, I see that Payment is $0.00.
{
    "event_name": "subscription_started",
    ...,
    "revenue": {
        "value": 0,
        "currency": "USD",
        "value_usd": 0,
        "proceeds_rate": 85,
        "is_proceed": 0
    },
    "price": {
        "value": 0,
        "value_usd": 0,
        "currency": "USD"
    },
    ...
}

I think this is bug.

Hi @AErmek would that be possible to reach us via<EMAIL_ADDRESS>for further discussion and troubleshooting?


V2 accommodation

Just a heads up if you want to review.  Many changes made.  @tomvothecoder @chengzhuzhang
I'll merge by Wednesday otherwise.

Regarding the dataset_spec:  With the exception of 1 corrected error, all changes involved sorting of entries in order to better locate duplicates, and to help automate the comparison of branch details when employing the "contracted" dataset_spec format. (Many months ago, I located duplicate variables due to the fact that they were all entered un-sorted, which made it easy to overlook duplicates.)  Also, there are python yaml-writers that will sort dictionary entries, but not list elements, because lists can be formed of "nameless" dictionaries (one would need to canonically serialize each listed dictionary as a string, sort the strings, then convert back to dictionaries.)  I manually sorted the contents of of the case extensions of all 58 E3SM experiments.

FWIW:  I testes the new-vs-old dataset_spec by calling "list_e3sm_dsids.py" on each, and checking that the same dataset_ids are generated.  One new one popped up, after making a correction to a very old piControl entry.

Got it, thank you for clarifying @TonyB9000

OK, thanks Tom!


How to check if a method's returnTypeName is Void?

I may just be using it wrong...I am only interested in methods that return Void my if condition is never entered even though I have numerous methods that return Void in the source. I am I doing something wrong with {% if method.returnTypeName == "Void" %}?
Class: {{ class.name }}, Methods: {{ class.methods.count }}
  {% for method in class.methods %}
  {{ method.shortName }}, returnTypeName: {{ method.returnTypeName }}
    {% if method.returnTypeName == "Void" %}
      {{ method.shortName }}
      {{ method }}
    {% endif %}
  {% endfor %}
{% endfor %}

@mbarclay does {% if method.returnTypeName.isVoid %} also not working for you?

@ilyapuchka ah now that does work...I couldn't see .isVoid as an option in the documentation. Many thanks!


Is the code of "Improving Image Generation using VQAScore" available?

Hi. Nice work!
I wonder if the code of "Improving Image Generation using VQAScore: VQAScore can improve text-to-image generation by selecting the highest-VQAScore images from a few (3 to 9) generated candidates." is available.
Thanks!

Thanks for your interest!
If you are looking for the GenAI-Bench-Rank benchmark (800 prompt with 9 images generated from SD-XL and DALL-E 3), you can refer to https://github.com/linzhiqiu/t2v_metrics/blob/main/genai_image_ranking.py


Updated min version to 9.0

Resolves 31
Proposed Changes:

Updated min version to 9.0 for sdk and sdk tests

DCO1.1 Signed-off-by: Thomas Boop<EMAIL_ADDRESS>

Hi boopt2,
Thanks for submitting this pull request!
I can confirm that the DCO1.1 sign-off has been included. It is okay to process this pull request.
dco-bot


Add MyScale memory support

Background

Changes

Documentation

Test Plan

PR Quality Checklist

[x] My pull request is atomic and focuses on a single change.
[x] I have thoroughly tested my changes with multiple different prompts.
[x] I have considered potential risks and mitigations for my changes.
[x] I have documented my changes clearly and comprehensively.
[x] I have not snuck in any "extra" small tweaks changes

RSVP @chtlp @lqhl @melovy


Attachment Downloader

Attachment Downloader -
An automation script to download attachments from any mail service (Gmail, Yahoo, etc) using imaplib library. It has various constraints that allows us to download specific files on the basis of extensions or file names or sender. -
Instructions

Create a new folder for your script and file/folder name should be appropriate.
Create a README.md in your folder for program Instructions
add requirements.txt if needed
add pytest/unittest if possible

Please add/delete options that are not relevant.

[x] Adding New Code

Programming Language

[x] Python

:star2: Star it :fork_and_knife:Fork it :handshake: Contribute to it!
Discord server  - https://discord.gg/FXyh2S3
Happy Coding,

looks interesting


Run middleware before routing

This is basically #147 plus some additional fixes and a test.

@acorncom I think you need to test this and see if it works for that case.

@knownasilya @davewasmer I discussed it with @sivakumar-kailasam and we decided to skip using what was somewhat ugly middleware.  I'd like to revisit the middleware stuff in the future, but this LGTM ...


Initial support for SFMLConfig.cmake, for review

This PR is for review and feedbacks, not supposed to be merged yet!
TODO list:

[x] Have config file generated on all platforms
[x] Support debug/release config
[ ] Have no absolute path in generated config files on Linux / Windows / macOS / iOS? / Android?
[ ] Export internal dependencies in case of static build (ie. remove the need for SFML_DEPENDENCIES)
[ ] Support for components ?
[ ] Exhaustive testing!

=============
I've started doing the changes to support config file generation. At the moment this is working at least for me on macOS with frameworks. I expect it to work on other platforms too because it reuses the definitions of current SFML targets. This implies a LOT of changes though so I would like your feedback before going on.
Especially I have replaced all the listing of dependencies with calls to target_link_libraries() and target_include_directories() for 3 reasons:

this avoids redoing what CMake already does (target_link_libraries() and target_include_directories() already handle lists)
this makes it easier to group the full setup (include+link) of each dependency
this will allow specifying which dependencies must be public in case of static linking (what SFML_DEPENDENCIES currently does in FindSFML.cmake), same eventually if compile definitions or include dirs must be exported (currently only the root include dir of SFML is exported)

In terms of usage right now (example from sfeMovie) of course without any FindSFML.cmake:
find_package (SFML 2.3 COMPONENTS graphics window system audio REQUIRED)
target_link_libraries(sfeMovie PRIVATE sfml-graphics sfml-window sfml-system sfml-audio)

I didn't expose yet the fact that sfml-graphics depends on sfml-window and sfml-system. Could be done and would allow writing only
target_link_libraries(sfeMovie PRIVATE sfml-graphics sfml-audio)
Dunno yet if we want that though.
If you want to look at what the generated config looks like for now:
http://yalir.org/files/SFML/
It gets installed in /usr/local/lib/cmake/SFML by default.
References
https://cmake.org/cmake/help/latest/manual/cmake-packages.7.html#creating-packages
https://cmake.org/cmake/help/latest/command/find_package.html
https://cmake.org/cmake/help/latest/command/export.html
https://cmake.org/cmake/help/latest/module/CMakePackageConfigHelpers.html
https://github.com/SFML/SFML/compare/master...SrTobi:support-config-file-packages
Related issues
https://github.com/SFML/SFML/issues/758
https://github.com/SFML/SFML/issues/937

Amazing work, thanks :+1:
I know very little about modern CMake usage, but what I see looks ok. We should now test it under various scenarios (static/dynamic link, on all OSes).

this will allow specifying which dependencies must be public in case of static linking

What exactly does that mean? Will CMake now automatically export the private dependencies in case of static linking, or does it require additional work? In any case, we no longer need SFML_DEPENDENCIES, right?

I didn't expose yet the fact that sfml-graphics depends on sfml-window and sfml-system. Could be done

Should be done, since the dependency does exist.

Didn't dig too deep into the changes, but with the branch as-is, sfml-main won't build, since its include directories aren't set (and therefore won't find SFML/Config.hpp).
You're basically missing this:
# set the include directory
target_include_directories(sfml-main PUBLIC
                               $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
                               $<INSTALL_INTERFACE:include>)

from sfml-main's CMakeLists.txt.
Also are you sure about the location of the SFMLConfig.cmake and the other files? I thought they'd have to be placed directly in lib or am I confusing it with PkgConfig?

I know very little about modern CMake usage, but what I see looks ok. We should now test it under various scenarios (static/dynamic link, on all OSes).

The most important part is correctly defining which target properties have PRIVATE, PUBLIC or INTERFACE visibility. Are you familiar with it?
Basically PRIVATE properties are used only when building the target.
PUBLIC properties are used when building the target and by targets that depend on your target.
INTERFACE properties are used only by targets that depend on your target.
And in these properties you can define include directories, libraries to link or preprocessor definitions.

What exactly does that mean? Will CMake now automatically export the private dependencies in case of static linking, or does it require additional work? In any case, we no longer need SFML_DEPENDENCIES, right?

It will, at least that's what I want. But it's not done yet with current changes. And yes SFML_DEPENDENCIES won't be needed anymore if I get it to work. Will update the PR when it's ready.

Should be done, since the dependency does exist.

Right, will update when it's done

Didn't dig too deep into the changes, but with the branch as-is, sfml-main won't build, since its include directories aren't set (and therefore won't find SFML/Config.hpp).

Indeed. Didn't do it yet as it's not needed on macOS, because I wanted feedbacks before going further. Will fix it.

Also are you sure about the location of the SFMLConfig.cmake and the other files? I thought they'd have to be placed directly in lib or am I confusing it with PkgConfig?

There are several possible paths, see https://cmake.org/cmake/help/latest/command/find_package.html
"Each entry is meant for installation trees following Windows (W), UNIX (U), or Apple (A) conventions:"
<prefix>/                                                       (W)
<prefix>/(cmake|CMake)/                                         (W)
<prefix>/<name>*/                                               (W)
<prefix>/<name>*/(cmake|CMake)/                                 (W)
<prefix>/(lib/<arch>|lib|share)/cmake/<name>*/                  (U)
<prefix>/(lib/<arch>|lib|share)/<name>*/                        (U)
<prefix>/(lib/<arch>|lib|share)/<name>*/(cmake|CMake)/          (U)
<prefix>/<name>*/(lib/<arch>|lib|share)/cmake/<name>*/          (W/U)
<prefix>/<name>*/(lib/<arch>|lib|share)/<name>*/                (W/U)
<prefix>/<name>*/(lib/<arch>|lib|share)/<name>*/(cmake|CMake)/  (W/U)
<prefix>/<name>.framework/Resources/                    (A)
<prefix>/<name>.framework/Resources/CMake/              (A)
<prefix>/<name>.framework/Versions/*/Resources/         (A)
<prefix>/<name>.framework/Versions/*/Resources/CMake/   (A)
<prefix>/<name>.app/Contents/Resources/                 (A)
<prefix>/<name>.app/Contents/Resources/CMake/           (A)

Still need to figure out where it'll be located in the end. It's probably not portable on this part right now.

I initiated the CI builds, checkout the build logs (Config.hpp can't be found).

Which is exactly what I've stated above. ;)

Build is fixed for sfml-main, everything builds fine locally on Windows (VS2017 32bits).
The dependencies between SFML modules are now public so examples like VOIP only need to depend on sfml-network and sfml-audio, no need to specify sfml-system. The same applies to external projects that will use find_package(SFML) and depend on a SFML module.
I ran the install step with the Debug/Release configuration and did a find_package(SFML) without any FindSFML.cmake and it did work on Windows, with the correct lib depending on selected configuration (Debug/Release).
There doesn't look to be any absolute path in the generated config file on Windows, which is nice for making releases. On the contrary for now the config file generated on macOS has absolute paths (/Library/Frameworks). To be fixed.
Still need to support static builds, most likely the hardest part because of the need to expose internal dependencies.
One important note
I changed a bit how the sfml-main library is created. Instead of custom add_library() and properties, it's created like any other SFML library : with suffix for debug / static, and with pdb next to the generated .lib file. The only customization I kept is that it always remains a static lib, whatever the value of BUILD_SHARED_LIBS.

Nice. I'd say absolute paths aren't that bad for now. Wouldn't they be the same on any machine anyway? No experience with Frameworks, but from my understand they're supposed to sit in that specific directory?

SFMLBuildMaster: Build this please.

New revision is building fine for me on Windows. Do we even have to keep (and therefore maintain) FindSFML.cmake? Or should it be deprecated/removed altogether? From my understanding we wouldn't need both. Or is there some minimum version requirement higher than using a Find….cmake file?

SFMLBuildMaster: Build this please.

Nice. I'd say absolute paths aren't that bad for now. Wouldn't they be the same on any machine anyway? No experience with Frameworks, but from my understand they're supposed to sit in that specific directory?

It depends on what you want to do. Currently FindSFML.cmake allows finding SFML in standard paths or in custom paths if you set SFML_ROOT. I don't see any reason to restrict the benefits of CMake config files to standard installations only.
Consider for example where you want to make sure that the package you're creating for your program is self-contained. In that case you don't want to have SFML installed in standard paths. You can also want to keep standard paths clean, or don't have admin rights, etc.

New revision is building fine for me on Windows. Do we even have to keep (and therefore maintain) FindSFML.cmake ? Or should it be deprecated/removed altogether? From my understanding we wouldn't need both. Or is there some minimum version requirement higher than using a Find….cmake file?

I'm always for keeping a simple and unique way to do things. But I don't think I'm the one to choose this for SFML :)
As for the minimum requirement.. is SFML's CI using CMake 2.8? If it does then it's ok, because I didn't add any conditional check for some CMake version.
Also I realize that currently existing FindSFML.cmake won't find the new sfml-main lib because of changed suffix. Is it acceptable to introduce such break in SFML 2.5?

Also I realize that currently existing FindSFML.cmake won't find the new sfml-main lib because of changed suffix. Is it acceptable to introduce such break in SFML 2.5?

Do you mean the -s affix? Why not just overwrite it after defining the target? Or won't that work?

Do you mean the -s affix? Why not just overwrite it after defining the target? Or won't that work?

Yes the -s suffix, and yes overwriting does work. Committing, thanks.

@MarioLiebisch Do you know where sfml-graphics links against OpenGL ES libraries on Android? I can't find it on SFML/master and I broke link step of this module on Android: https://ci.sfml-dev.org/builders/android-armeabi-v7a-api13/builds/267/steps/compile/logs/stdio
I saw that you worked on Android support so asking you :)

It used to be here:
https://github.com/SFML/SFML/blob/master/src/SFML/Graphics/CMakeLists.txt#L126
but obviously got lost in the rewrite.

It's still there: https://github.com/Ceylo/SFML/blob/feature/CMakeTargetExport/src/SFML/Graphics/CMakeLists.txt#L124
And I don't think you pointed out the correct line, because in Config.cmake I see that Android uses OpenGL ES.

It seems like it was simply not set. But it previously worked because another signature of target_link_libraries() was used: https://cmake.org/cmake/help/latest/command/target_link_libraries.html?highlight=target_link_libraries#libraries-for-both-a-target-and-its-dependents
Which imported linkage for OpenGL ES from sfml-window target definition : https://github.com/SFML/SFML/blob/master/src/SFML/Window/CMakeLists.txt#L270
And it's no more the case with the explicit PRIVATE linkage (it was implicitly PUBLIC). Hopefully easy to fix :)

But that's outside the SFML_OPENGL_ES branching starting in line 113.

SFMLBuildMaster: Build this please.

Remaining discussed points are done!

When building macOS frameworks, CMAKE_INSTALL_PREFIX should be set by user to /Library/Frameworks for SFML to be directly usable. I've added SFML_DEPENDENCIES_INSTALL_PREFIX and SFML_MISC_INSTALL_PREFIX to support what was discussed. SFML_DEPENDENCIES_INSTALL_PREFIX defaults to /Library/Frameworks on macOS and to CMAKE_INSTALL_PREFIX on other platforms. SFML_MISC_INSTALL_PREFIX defaults to CMAKE_INSTALL_PREFIX except on macOS where it defaults to /usr/local. This allows changing CMAKE_INSTALL_PREFIX to install frameworks in /Library/Frameworks without modifying where "misc" contents goes.  So basically by default nothing changes except the install prefix for macOS frameworks.
When creating the SFML package for distribution, you should run the "install" target at least 4 times with the same install prefix. Twice for debug/release x twice for static/dynamic. This will generate the following files:

SFMLConfig.cmake
SFMLConfigDependencies.cmake
SFMLConfigVersion.cmake
SFML${type}Targets.cmake
SFML${type}Targets-${config}.cmake

Where ${type} is "Static" or "Shared", and ${config} is one of CMake build configurations (Release, Debug, MinSizeRel, RelWithDebInfo).
The files that are installed by more that one installation configuration are identical between the different configurations that can write it.
For frameworks it's similar except that only release dynamic config needs to be installed to get a complete SFMLConfig.
Either SFMLStaticTargets.cmake or SFMLSharedTargets.cmake is included by SFMLConfig.cmake depending on whether the user has set SFML_STATIC_LIBRARIES. SFML${config}Targets.cmake includes its debug/release child files depending on which ones exist. Note that if a user does a find_package(SFML) with an installation that only contain debug libs for example, these debug libs are used even when he builds his project in release. Can be an issue on Windows but that's how CMake generates these files.

I did test with CMake 3.0.2 and it did work. I checked the installed files, there are slight differences but nothing that prevents using this version. Requirement can't be lower as there are many uses of interface libraries. Will commit the corresponding changes soon.

For dependencies I created interface libraries. This is done by sfml_find_package(). For example sfml_find_package(FLAC INCLUDE "FLAC_INCLUDE_DIR" LINK "FLAC_LIBRARY") creates a target named "FLAC", and when linking against that target, the target that needs it automatically gets the correct compile and link flags. And it looks just like if we'd just built the FLAC library in the same project. The important point is that the created target name in current example is "FLAC". That means that if a user also creates a FLAC target and uses SFMLConfig, there'll be a conflict. I tried to add a namespace to have something like sf::FLAC as target name but namespaces are not allowed for interface libraries. I also considered sfFLAC but it looks weird, requires some changes and in the end I think there's very low probability to have a conflict. So I just left "FLAC".

The variables previously defined by FindSFML.cmake are not defined by SFMLConfig.cmake except SFML_FOUND and SFML_DOC_DIR.

So I guess now is the time for final review & testing! Would be nice to test as a user, by deleting the FindSFML.cmake you may have in your project and generate the SFMLConfig and use it. Especially to check that no use case is missing.

SFMLBuildMaster: Build this please.
Awesome! Thanks for the detailed summary.
I won't be able able to test this for the next 10 days or so, but maybe someone else with a mac can give some feedback. :)
Another thing, in order to include this with the next SFML RELEASE, we also need to update the tutorials. Could you have a look at them? (But maybe it would be wise just to wait for some additional approval of this PR?)
Cmake wise, we also have #1344. Would you like to have a look? You seems more proficient than I to solve it. No pressure though :)

Thanks :)
As for the tutorials indeed I'd prefer feedbacks on usage first. Will check the current tutorials though to get an idea of what needs to be changed.
And for the other PR I'll check, but I prefer to finish this one first and focus. Also a lot of CMake code has changed so the changes for #1344 would most likely conflict.
Concerning last failed build, I've fixed the error on Windows. On macOS though it requires changes to the cmake command line used for CI, because of the introduced install prefixes for dependencies and misc files. I don't know how that can be done because I suppose that the CI config does not depend on the branch, right? I also don't know where the CI steps are defined in order to help on that matter. Basically CMAKE_INSTALL_FRAMEWORK_PREFIX is not used anymore, and both SFML_DEPENDENCIES_INSTALL_PREFIX and SFML_MISC_INSTALL_PREFIX should be set to what you want.

@mantognini For the tutorials you were thinking of FindSFML.cmake or something else? I didn't find any mention about it except in forums and changelogs.

@LaurentGomila @MarioLiebisch @eXpl0it3r @mantognini So what do we do? This PR has been ready for testing for 2 weeks now.
I made a topic on SFML's forum one week ago: https://en.sfml-dev.org/forums/index.php?topic=23676.0
Since that time some of you answered on the forum and fixes were done, but I'm not aware of anyone actually trying to use this for his project. So no feedback on real uses at the moment.
The more other PRs are merged in the meantime, the harder it is to make sure I fix all conflicts correctly, because codebases diverge. On that part, @MarioLiebisch could you check my latest merge commit? There were many conflicts related to your changes for Android. I think it's ok but… just in case.

Sorry, I wanted to give it a shot this week but, you know, life... I'll try to get around to test it in the middle of next week.
SFMLBuildMaster: Build this please.

That being said, anyone else is welcome to try this PR! :)

Looks like CMake doesn't have the permission to install the FreeType framework on the CI. Does this need to be adjusted on the CI or in the setup?
I hope to have a look at this soon. Went to a C++ user group meeting this week and learned some stuff on modern CMake. 🙂

For the install issue this is what was discussed in https://github.com/SFML/SFML/pull/1335#issuecomment-362847863
There a small changes needed on CI side.
Thanks for checking the PR soon !

Can you open an issue on https://github.com/SFML/SFML-Buildbot with details so @binary1248 can fix it?

@eXpl0it3r No need to open an issue if I am just able to fix it like that. 😉

@binary1248 You should keep CMAKE_FRAMEWORK_INSTALL_PREFIX in cmake configure step as long as this PR is not merged, otherwise you break macOS build on other branches at the moment. For current branch it’ll be an unused cmake arg but it’s temporarily ok.

@Ceylo I like it better like this... more pressure to merge this faster. 😛

So… still blocked with testing for one more week. What do we do?
I can give it a try again on all platforms but that will only make sure it works in my use cases.
What do you think?

SFMLBuildMaster: Build this please.

Our CI install frameworks incorrectly ATM

[...]
-- Installing: /Users/SFML/Desktop/buildbot/osx-clang-el-capitan/install/./SFML.framework
[...]
-- Installing: /Users/SFML/Desktop/buildbot/osx-clang-el-capitan/install/./sfml-system.framework
[...]

They should go into [...]/install/Library/Frameworks.
@binary1248, could you append /Library/Frameworks to -DCMAKE_INSTALL_PREFIX current value? (According to https://github.com/SFML/SFML/pull/1335#issuecomment-362751934.)

@mantognini That doesn't sound right... CMAKE_INSTALL_PREFIX is used as a base directory for everything, not only frameworks. There are already a bunch of things installed into /Library/Frameworks which is specified via SFML_DEPENDENCIES_INSTALL_PREFIX, but I guess some things that should go in there as well aren't sent there by the install script.

It might looks a bit weird, but it's only for when building/installing frameworks. See above comments by @Ceylo. Other misc files are installed according to another variable.

@mantognini Should be fixed in https://ci.sfml-dev.org/#/builders/11/builds/31/steps/20/logs/stdio

Besides the Xcode template script issue, everything seems good on macOS. 👍

Thanks @binary1248, this looks good.

No, a bit more than that. The new script handles ressources being installed
elsewhere (according to the dependencies install prefix). Your change is
consistent with the rest so it's good. I've simply changes a few other
lines.
On Sun, 4 Mar 2018, 17:49 Ceylo<EMAIL_ADDRESS>wrote:

@Ceylo commented on this pull request.
In tools/xcode/templates/SFML/SFML App.xctemplate/TemplateInfo.plist.in
https://github.com/SFML/SFML/pull/1335#discussion_r172055425:

@@ -146,7 +146,7 @@ subject to the following restrictions:

If you're using static libraries (which is not recommended) you should remove this script from your project.
SETTINGS
-CMAKE_INSTALL_FRAMEWORK_PREFIX="@CMAKE_INSTALL_FRAMEWORK_PREFIX@"
+CMAKE_INSTALL_FRAMEWORK_PREFIX="@CMAKE_INSTALL_PREFIX@"
I suppose you mean rename the variable CMAKE_INSTALL_FRAMEWORK_PREFIX to
something else?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/SFML/SFML/pull/1335#discussion_r172055425, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAqU6y-JJ_n5Ox05iprPUXqoF9216hgUks5tbBszgaJpZM4RPltw
.

Ah right, I had not seen the link to your gist. Committing your changes.

Had a look at SFML tutorials for building SFML with CMake and here are the changes I suggest in the table containing CMake variable description (bold is new contents):

[update] CMAKE_INSTALL_PREFIX: This is the install path. By default, it is set to the installation path that is most typical on the operating system ("/usr/local" for Linux and macOS, "C:\Program Files" for Windows, etc.). When building frameworks on macOS, you may want to change the value to "/Library/Frameworks".
[remove] CMAKE_INSTALL_FRAMEWORK_PREFIX
[add] SFML_DEPENDENCIES_INSTALL_PREFIX: This is the path where SFML's dependencies like Freetype and OpenAL are installed. By default it is the same as CMAKE_INSTALL_PREFIX, except on macOS where it defaults to "/Library/Frameworks", because dependencies on macOS are provided as frameworks. As stated above for CMAKE_INSTALL_PREFIX, it is not mandatory to install SFML after building it, but it is definitely cleaner to do so.
[add] SFML_MISC_INSTALL_PREFIX: This is the path where SFML examples, documentation, license and readme files are installed. On Windows it defaults to CMAKE_INSTALL_PREFIX, and to CMAKE_INSTALL_PREFIX/share/SFML on FreeBSD, Linux and macOS.

Also in https://www.sfml-dev.org/tutorials/2.4/compile-with-cmake.php I found many usages of the name "Mac OS X" which should be replaced with "macOS". "Mac OS X" isn't used for naming the desktop OS from Apple since 2016.

Tried it on Linux (Xubuntu 17.10).
CMake 3.10.2
Works fine for both static and dynamic linking, but I had to do this in my CMakeLists.txt:
cmake_policy(SET CMP0057 NEW)
Otherwise, the script failed:
  if given arguments:

    "window" "IN_LIST" "SFML_FIND_COMPONENTS"

  Unknown arguments specified

Anyways, that's a very handy way of using SFML with CMake, so I'm looking forward to seeing it in SFML's master! It's very useful and makes everything neater.

Thanks a lot for testing and making me notice that it doesn't work with CMake < 3.3 (IN_LIST syntax). Will fix the installed config so that it works with 3.0.2 as the rest of SFML's CMake files.

SFMLBuildMaster: Build this please.

Had a look at SFML tutorials for building SFML with CMake and here are the changes I suggest in the table containing CMake variables descriptions

Thanks for your suggestions, I'll work on a quick PR for the tutorial in order to make this PR mergeable for the next release. :)

PS: my review accounts only for Mac. @eliasdaler can you confirm it works nicely now on Linux too? I leave it to others to double check the behaviour for the other platforms.

It works perfectly well on Linux now. :)

I finally got around to test this on a project of mine. I tried it out on MacOS for dynamic linking and it worked like a charm 👍

I've started SFML/SFML-Website#107 with the changes mentioned above.
Note that now there are some conflicts here... :/

Built with VS 2017 on Windows 10. Built (shared and static libs) without issues, and ran examples without issues!

@dabbertorres Just to make sure, you tested with your own project built against SFML with the find_package(SFML) stuff, right?
@mantognini Can you relaunch build? I fixed conflicts.

@MarioLiebisch @JonnyPtn @mantognini Is it ok for you in terms of code review? How many reviewers to we need to approve the changes?

I haven't been involved in this enough to make a fully informed decision, but I would say merge merge merge!

Is it ok for Android and iOS? Has it been tested with both makefile-based build systems and multi-configuration IDEs?

Haven't had a chance to test Windows yet, but Android projects (so far) shouldn't use CMake anyway. SFML is installed in the NDK's default directory for third party libraries, so you only have to reference them, no lookup required.

on iOS it doesn't find the openAL headers, but I'm struggling to establish why. OPENAL_INCLUDE_DIR seems correct and is set to the right folder...

SFMLBuildMaster: Build this please.

Is it ok for you in terms of code review?

I think it is for me. I went through the thing a few times as you added more commits. I can't pretend to understand everything without having to spend more time on it, but it seems to work (with the exception of iOS) and nothing in the code really made me jump. If you guys could find out why it fails for iOS that'd be great; otherwise, as far I'm concerned, it's ready to be merged.

How many reviewers do we need to approve the changes?

The more the better, as always, but I think we can move forward with this and adapt it if/when we get feedback (probably after official release).

Is it ok for Android and iOS?

Did FindSFML.cmake support Android and iOS? I supposed that it didn't according to
# detect the OS
if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
    set(FIND_SFML_OS_WINDOWS 1)
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
    set(FIND_SFML_OS_LINUX 1)
elseif(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
    set(FIND_SFML_OS_FREEBSD 1)
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
    set(FIND_SFML_OS_MACOSX 1)
endif()

in the original FinSFML.cmake, so I didn't do anything specific on these platforms. And @MarioLiebisch's answer confirms this at least for Android.

Has it been tested with both makefile-based build systems and multi-configuration IDEs?

Yup. At least it does work nicely on macOS with Xcode generator and Unix Makefiles generator for the client project. I expect it to work the same on Windows because the CMake code isn't specific to any platform on this matter.

on iOS it doesn't find the openAL headers, but I'm struggling to establish why. OPENAL_INCLUDE_DIR seems correct and is set to the right folder...

Ok will check.

@JonnyPtn It's fixed. OpenAL was correctly found but OPENAL_INCLUDE_DIR wasn't used on iOS, because I previously relied on the "-framework OpenAL" flag.
@mantognini Can you relaunch the build?

I have tested it using CMake inside QtCreator.

Having some issues on iOS when trying to find SFML from an app, mainly with the dependencies.
I attempted a fix here which you might want to test. It compiles successfully even though It doesn't search for openGL (or openGLES). The app does then crash immediately, but again I'm not sure if that's a problem with the config or with the way I'm using it, or just a completely different bug.
I've also tested macOS static and debug libs which both worked excellently.

SFMLBuildMaster: Build this please.

@JonnyPtn Fix me if I’m wrong but original FindSFML.cmake didn’t support iOS too, so adding it now is out of scope I think.

Sure, I don’t want to hold this up for other platforms, I can do a PR for these later

@LaurentGomila @mantognini @eXpl0it3r Is there anything left to do apart from squashing commits and merge?

For me, it's ready! Feel free to squash commits in a way you find pertinent.

Let's merge it and release it in SFML 2.5. And then let's fix it in 2.5.1 😁

@mantognini @eXpl0it3r @LaurentGomila Up to you now!

Perfect!
SFMLBuildMaster: Build this please.

Just for notice: it looks ready to be merged.

Testing this on Windows with Visual Studio 2017 x64 project file generator, CMake 3.11.0-rc4 and Doxygen 1.8.10.
SFML_DEPENDENCIES_INSTALL_PREFIX isn't being aligned with the CMAKE_INSTALL_PREFIX.
It's nice that there's the option to install it to different places, but having to always adjust both prefixes is a bit cumbersome and unintuitive. My expectation would be that when I change CMAKE_INSTALL_PREFIX it will also change SFML_DEPENDENCIES_INSTALL_PREFIX but not the other way around.

The documentation build fails, even though everything went fine - it even installs the documentation, but for some reason it's reports it as failed.
1>CUSTOMBUILD : error : failed to run html help compiler on index.hhp
[...]
1>Running html help compiler...
1>lookup cache used 3614/65536 hits=22719 misses=3879
1>finished...
1>Done.
1>Building Custom Rule D:/Dev/SFML/doc/CMakeLists.txt
1>CMake does not need to re-run because D:/Dev/SFML/build/doc/CMakeFiles/generate.stamp is up-to-date.
1>Done building project "doc.vcxproj" -- FAILED.

*.pdb files (debug symbol files) are not being installed next to the libraries, but are installed to <install prefix>\lib\Debug. Additionally an empty Release directory is created (maybe because of the same reason). PDB files should really just be placed next to the libraries.
Right now I'm not sure exactly how the PDB files work. This implementation generates PDB files with the none-debug prefix (no -d) in debug mode and no PDB files in release mode. What I'm not sure is:

Do we need PDB files for every release?
Do we need PDB files only for release binaries since the debug libs contain the debug symbols?
Are the release PDB binaries generated in debug mode?

What's up with the lib\cmake\SFML directory that gets installed? Is this the correct location?

You should rebuild and install for all the configurations that you want to use (debug/release, dynamic/static/frameworks) to the same target installation directory. Then remove FindSFML.cmake from your project to make sure it's not used, and clear your CMake cache.

So how does CMake find SFML at my custom location? Previously, I'd set SFML_ROOT and CMAKE_MODULE_PATH and it would find it, how do I tell CMake now to find SFML? Do I need to place the SFMLConfig files somewhere?
CMakeLists.txt
cmake_minimum_required(VERSION 3.1)

project(SFMLTest)

set(CMAKE_CXX_STANDARD 11)
set(SFML_STATIC_LIBRARIES TRUE)

find_package(SFML 2.4 COMPONENTS graphics window system)

add_executable(SFMLTest main.cpp)
target_link_libraries(SFMLTest ${SFML_LIBRARIES})

So how does CMake find SFML at my custom location

Define a SFML_DIR variable that points to the location of the SFMLConfig.cmake file. This is exactly what CMake says in the error message that results from find_package, by the way 😛

I see. Yeah, it showed that message for years and it never applied to SFML, so I didn't think to try it. But this brings me back to the question from above whether <install-prefix>\lib\cmake\SFML is the correct location for the SFMLConfig.cmake file.

Using SFMLConfig.cmake it can find SFML just fine, unfortunately it doesn't set the include directory. Is this intended? Do I still have to use include_directories() if the headers aren't installed in some compiler toolchain known header location?

But this brings me back to the question from above whether \lib\cmake\SFML is the correct location for the SFMLConfig.cmake file.

Looks ok to me, at least that's what I've seen in other libs (Qt).

Using SFMLConfig.cmake it can find SFML just fine, unfortunately it doesn't set the include directory

The output of find_package(SFML ...) are "sfml-xxx" imported targets, so that's what you should pass to the target_link_libraries call. I don't think ${SFML_LIBRARIES} exists anymore now.

Right, I actually wanted to change it and then forgot.
A bit cumbersome that you have to specify the "library" twice, but otherwise it seems to work now.

@eXpl0it3r What do you mean by specifying the library twice? Here's an example I was using to test this: https://github.com/JonnyPtn/SFML-DOOM/blob/master/CMakeLists.txt#L51

First you specify which module you want to find and then you link each module. So you repeat it twice. Sure it might have a different meaning and all, but it's also a bit annoying, plus a source for people getting it wrong and the many questions that follow it.
find_package(SFML 2.4 COMPONENTS graphics window system)
[...]
target_link_libraries(SFMLTest sfml-graphics sfml-window sfml-system)

So the problem is specifying which components to link as opposed to just linking ${SFML_LIBRARIES}? Personally I prefer explicitly stating the components, and it simplifies having multiple projects in a CMakeLists which require different SFML components

First you specify which module you want to find and then you link each module

Listing the modules in find_package is optional (or it should).  Plus, you can only specify sfml-graphics since the others are dependencies and will be automatically linked.

Okay, you can just ask for the graphics module and it will pull in the dependencies, but you seem to have to specify the components, otherwise CMake errors with:
find_package(SFML) called with no component

So here's a minimal CMakeLists.txt that works for me with a custom SFML installation.
cmake_minimum_required(VERSION 3.1)

project(SFMLTest)

set(SFML_DIR "<sfml root prefix>/lib/cmake/SFML")
find_package(SFML 2.4 COMPONENTS graphics)
add_executable(SFMLTest main.cpp)
target_link_libraries(SFMLTest sfml-graphics)

My expectation would be that when I change CMAKE_INSTALL_PREFIX it will also change SFML_DEPENDENCIES_INSTALL_PREFIX but not the other way around.

CMake cache system actually prevents from doing that. Once a cache entry is set, setting it in CMake code won't change it, unless you force updating the cache (but then you discard user choice).

The documentation build fails, even though everything went fine - it even installs the documentation, but for some reason it's reports it as failed.

My guess is that it is related to the "error :" that appears in logs. VS considers this a target failure even if the commands actually exit with status 0. I don't think I touched that part though. Is the error also happening on master branch?

*.pdb files (debug symbol files) are not being installed next to the libraries, but are installed to \lib\Debug. Additionally an empty Release directory is created (maybe because of the same reason). PDB files should really just be placed next to the libraries.

Booh… will check.

Right now I'm not sure exactly how the PDB files work. This implementation generates PDB files with the none-debug prefix (no -d) in debug mode and no PDB files in release mode.

Although it is interesting to get the answer, for this PR I will stick with the current behavior on master branch. The purpose of this PR isn't to change how/when PDB are generated.

What's up with the lib\cmake\SFML directory that gets installed? Is this the correct location?

This is one of the standard locations given by find_package()'s documentation. So I'd expect it to be correct :)

So how does CMake find SFML at my custom location (e.g. D:\Dev\SFML\install)? Previously, I'd set SFML_ROOT and CMAKE_MODULE_PATH and it would find it, how do I tell CMake now to find SFML? Do I need to place the SFMLConfig files somewhere?

As @LaurentGomila answered you need to set SFML_DIR instead, and you don't need to set CMAKE_MODULE_PATH because there isn't any FindSFML.cmake to find.

Listing the modules in find_package is optional (or it should). Plus, you can only specify sfml-graphics since the others are dependencies and will be automatically linked.

Did FindSFML.cmake previously work without any component given?
I followed what is done at https://github.com/SFML/SFML/pull/1335/files#diff-e40774a4a91e51bf8e2a254a86083435L126 which means, unless I missed something, that if no component is given, nothing is searched for by the FindSFML.cmake script.

@eXpl0it3r
I can't reproduce the issue about Doxygen. Here it generates the doc without any error log, and thus target succeeds. I'm using CMake 3.10.0, VS 2017 x64 generator and Doxygen 1.8.14. Didn't test with Doxygen 1.8.10 but if latest version works fine I guess it's ok. Does any of the CI builders generate the documentation? Can you test on your side with Doxygen 1.8.14?
As for where the PDB files go (ie. not next to libraries, and always in PREFIX/lib/Debug even for release builds), I checked and this is the same behavior as current master branch. Thus not going to change that for current PR.
The only difference I noticed about PDB files is that with my PR you now also get a PDB for sfml-main library.
All in all, if @LaurentGomila confirms expected behavior with find_package() and components, I guess current PR is still ok for merge. I'll just do a rebase against master to take into account latest commits.

CMake cache system actually prevents from doing that. Once a cache entry is set, setting it in CMake code won't change it, unless you force updating the cache (but then you discard user choice).

Yes, we musn't (can't) make one entry depend on the other. But what about using some default path if SFML_DEPENDENCIES_INSTALL_PREFIX is not set? Something relative to CMAKE_INSTALL_PREFIX.

set(SFML_DIR "<sfml root prefix>/lib/cmake/SFML")

In case someone takes your minimal example as a reference: the SFML_DIR variable should always be defined as a user variable, not directly in the CMakeLists.txt file 😃

Did FindSFML.cmake previously work without any component given?

Not sure about the current behaviour. But that was just an idea anyway. Do you think it's worth investigating?

CMake cache system actually prevents from doing that. Once a cache entry is set, setting it in CMake code won't change it, unless you force updating the cache (but then you discard user choice).

I thought so. For me it's just a different approach I'll have to take and define the prefix manually before clicking the configuration button. Unfortunately this will be an issue many people will fail to understand and we'll have to keep answering the same question. IMHO on Windows it never makes sense to install the dependencies somewhere else, as such this is really inconvenient for Windows users.

Yes, we musn't (can't) make one entry depend on the other. But what about using some default path if SFML_DEPENDENCIES_INSTALL_PREFIX is not set? Something relative to CMAKE_INSTALL_PREFIX.

By default it will use CMAKE_INSTALL_PREFIX. The issue is, that CMAKE_INSTALL_PREFIX has to be defined before you hit the configuration button in the CMake UI, similar to how you'd specify it in the command line the first time you call it.
Would it be an option to not set the SFML_DEPENDENCIES_INSTALL_PREFIX as long as SFML_DEPENDENCIES_INSTALL_PREFIX wasn't set by the user and instead always use CMAKE_INSTALL_PREFIX? That way CMAKE_INSTALL_PREFIX will always be used, unless the user explicitly specifies SFML_DEPENDENCIES_INSTALL_PREFIX. And since it's needed on macOS you could set it there directly. Maybe that's too many if-elses?

I can't reproduce the issue about Doxygen.

Checked again on master branch, it exists as well with my Doxygen version. The reason I stuck with the version is because newer versions don't generate the nice HTML output we want, but that's not important for this PR. Works fine with the latest Doxygen, so let's forget about this.

As for where the PDB files go (ie. not next to libraries, and always in PREFIX/lib/Debug even for release builds), I checked and this is the same behavior as current master branch. Thus not going to change that for current PR.

Odd, I could swear the behavior was different in the past, but yet, I see the same thing on master branch, so let's align this with another PR.

Did FindSFML.cmake previously work without any component given?
Not sure about the current behaviour. But that was just an idea anyway. Do you think it's worth investigating?

I think it's okay the way it is right now. I just suspect again that people will get it wrong and we'll have to keep answering the same question.

My suggestion would be, something that I kind of wanted for a while, to have a dedicated tutorial not on how to build SFML, but on how to use SFML with CMake. That way we can hopefully answer a lot of questions and have a reference for people.
Also we need to make sure to update the existing CMake tutorial for these changes.

But what about using some default path if SFML_DEPENDENCIES_INSTALL_PREFIX is not set? Something relative to CMAKE_INSTALL_PREFIX.

This is a good point indeed. Dunno why I didn't do that just like for SFML_MISC_INSTALL_PREFIX. It's committed.

Would it be an option to not set the SFML_DEPENDENCIES_INSTALL_PREFIX as long as SFML_DEPENDENCIES_INSTALL_PREFIX wasn't set by the user and instead always use CMAKE_INSTALL_PREFIX?

So with the relative path it's just fixed, not need for all these ifs :)

In case someone takes your minimal example as a reference: the SFML_DIR variable should always be defined as a user variable, not directly in the CMakeLists.txt file 😃

I don't think this is always true. For example if you take a project that depends on SFML and wants to embed all their dependencies in their repo (let's say with Git LFS). Setting this variable in the main project allows having a repo ready to use just with a single clone. So it depends on whether the developer wants to embed its dependencies or let its users provide them.

Not sure about the current behaviour. But that was just an idea anyway. Do you think it's worth investigating?

Just to make sure I tried using current FindSFML.cmake with no component. The result is actually worse than what I thought... with no component, it always consider SFML to be found even when it's not :/
Found SFML .. in SFML_INCLUDE_DIR-NOTFOUND
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
SFML_INCLUDE_DIR
   used as include directory in directory C:/Users/Ceylo/Documents/sfeMovie
   used as include directory in directory C:/Users/Ceylo/Documents/sfeMovie
   used as include directory in directory C:/Users/Ceylo/Documents/sfeMovie
   used as include directory in directory C:/Users/Ceylo/Documents/sfeMovie/examples
   used as include directory in directory C:/Users/Ceylo/Documents/sfeMovie/examples
   used as include directory in directory C:/Users/Ceylo/Documents/sfeMovie/examples/Demo
   used as include directory in directory C:/Users/Ceylo/Documents/sfeMovie/examples/Demo
   used as include directory in directory C:/Users/Ceylo/Documents/sfeMovie/examples/Demo
   used as include directory in directory C:/Users/Ceylo/Documents/sfeMovie/examples/MinimalistDemo
   used as include directory in directory C:/Users/Ceylo/Documents/sfeMovie/examples/MinimalistDemo
   used as include directory in directory C:/Users/Ceylo/Documents/sfeMovie/examples/MinimalistDemo

So no regression on that matter. As for investigating about support "no component given" case, I think this should be discussed and eventually changed later. I don't really have an opinion at the moment about whether this is a good idea.

My suggestion would be, something that I kind of wanted for a while, to have a dedicated tutorial not on how to build SFML, but on how to use SFML with CMake. That way we can hopefully answer a lot of questions and have a reference for people.

Currently I'd say that the best tutorial for this is the documentation in SFMLConfig.cmake file. But you have to find first, which is not quite obvious 😄 .

Also we need to make sure to update the existing CMake tutorial for these changes.

Do you mean more than https://github.com/SFML/SFML/pull/1335#issuecomment-370251236 ?

Currently I'd say that the best tutorial for this is the documentation in SFMLConfig.cmake file. But you have to find that file first, which is not quite obvious

Could be more or less a 1:1 copy, I don't like spreading documentation across multiple places, especially since it's not an obvious place to look.

Do you mean more than #1335 (comment) ?

If that covers all, then that's good. 😊
SFMLBuildMaster: Build this please.

Could be more or less a 1:1 copy, I don't like spreading documentation across multiple places, especially since it's not an obvious place to look.

A 1:1 copy would look weird to me. What about giving a link to SFMLConfig.cmake from SFML tutorials page? This way you can also make sure that the tutorial is consistent with what is shipped.
Ideally there would be some sort of Doxygen that generates formatted doc from the comments in CMake files, but I’m not aware of such tool.
By the way builds have finished now.

Merged in fc655f52b91d3e70ee43426dc872723418f2bbee
Thanks for the exhaustive work and the pushing forward, really appreciated! 🎉

Hooorrraaaaaay!!!!!!!
At last… :D
I would like to discuss with you about the PR process. Mainly about the testing part: it took almost 2 months between the day the PR was ready for testing and the day it got merged. This is way too long, even in the opensource world, and honestly if it always take this long I'm not gonna do other PRs. So I'd like to talk and find solutions with you.
Where can we do that? The PR comments don't feel like it's the right place, and on the forum (except maybe in section "SFML development" where I can't open topics) it's also too wide: this is mainly toward SFML development team & contributors.

Yeah, this is a big step forward! I'm really happy for this top-quality contribution of yours! Thanks again.
I understand the feeling, and share your point of view. But the fact is that the team alone cannot handle everything, at least not quickly enough to keep the flow. The only solution I see is asking the community to test things out. Now, in the last few months, several people have joined the effort, and I thank them. Hopefully, this will attract more testers as well. In the meantime, if you have ideas on how to improve the overall process (doc, how-to's, issue handling,...) I feel it would best fit on the forum. I'm pretty sure a moderator will agree to move your thread in the right category. :)

I think that people will be less likely to test if developers either provide detailed instructions on how to perform testing or make a test program if it's possible.
The easier it is for people to test, the more likely they're to do it.

I've opened https://en.sfml-dev.org/forums/index.php?topic=23841.0


Link to GitHub for Issues

For Issues to GitHub Link in Navbar
Or we name it Feedback

But we already have contact


Update packer to version 1.3.3

HI @heitorlessa
Hashcorp Packer is now on version 1.3.5
Will this pull request be merged?
Thanks for sharing and updating this project.  It looks very helpful. 👍

I’ll merge it today!! Thanks for the heads up as I missed the PR
notification
On Tue, 19 Mar 2019 at 12:49, Adrian<EMAIL_ADDRESS>wrote:

HI @heitorlessa https://github.com/heitorlessa
Hashcorp Packer https://www.packer.io/downloads.html is now on version
1.3.5
Will this pull request be merged?
Thanks for sharing and updating this project. It looks very helpful. 👍
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/awslabs/ami-builder-packer/pull/10#issuecomment-474348107,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADL4BIxVfso1W39pAi2L6Wvry-aFYHptks5vYNzogaJpZM4ZglHY
.


Set KubernetesServiceInstance.secure based on sane defaults

Fixes: #272

Only adding "In progress" since I want to rebase the PR onto master once #291 is on


formatting with alignment fails

hey, I'm learning rust and re-writing a very basic cal in order to learn. ran into a strange formatting bug:
extern crate time;

fn main() {
    // not aligned (bug in TmFmt Display impl?)
    println!("{:>11}", time::now_utc().strftime("%B").ok().unwrap());
    // aligned properly when forced into a string
    println!("{:>11}", time::now_utc().strftime("%B").ok().unwrap().to_string());
}

know what's going on here? i don't think i should have to call .to_string() in order to get the alignment...?

To be exact, it is a common behavior that formatting implementations discard the width and alignment information:
fn main() {
    println!("{:>11?}", "a\nb\nc"); // not aligned
    println!("{:>11}", format!("{:?}", "a\nb\nc")); // aligned
}

I would argue that this behavior is, while frustrating, justifiable because alignment requires the length of printed string beforehand and this might not be acceptable for many types. But it is frustrating, and I agree that this has to be discussed and at least documented.

If a type does not support alignment, then println! should fail at compile time IMHO.
Alas, this would not be backwards compatible. So we can only make it give a warning.

Yes @lifthrasiir is right in that most types do not support the width/alignment of the underlying formatting system, and the best solution to this (as you've found) is to call .to_string() and then pad that accordingly. This is currently as-intended, however, and the documentation should probably happen in std::fmt instead of just in this library, so I'm going to close this issue.

This is currently as-intended, however

Poop. Ok, that was really frustrating. Maybe a warning? A warning would have saved a lot of angst.

the documentation should probably happen in std::fmt instead of just in this library, so I'm going to close this issue.

Where can I submit a PR for that?

Maybe a warning? A warning would have saved a lot of angst

Unfortunately there's no way for the formatting infrastructure to know whether a type actually looks at the formatting flags or not (as it's all trait-based).

Where can I submit a PR for that?

A PR editing this file should do the trick!


Support "module": "node16"/"nodenext"

Currently, tsconfig-to-swcconfig always outputs "module": { "type": "commonjs" } when the input tsconfig uses "module": "node16" or "module": "nodenext". Instead, if the nearest package.json has "type": "module", it should output "module": { "type": "es6" }.

Thank you for bringing up this issue. It has been fixed and released in version v2.8.0.

Well, now "module": "node16" and "module": "nodenext" are always considered ES6. The fix should be more like:
	const es6Modules = [
		'es2015',
		'es2020',
		'es2022',
		'esnext',
		'none',
	] as const
	if (es6Modules.includes(module as any)) {
		return 'es6'
	}

        const nodeModules = ['node16', 'nodenext'] as const
	if (nodeModules.includes(module as any) && getPackageJson(cwd)?.type === 'module') {
		return 'es6'
	}

Thank you!
Would you like to send a Pull Request to address this issue?

Sure, thanks for the encouragement: https://github.com/songkeys/tsconfig-to-swcconfig/pull/24


feat(marketplace): pre-delete resource check and post-delete complete uninstall

Adds a pre-delete helm hook to check if any SpinApp or SpinAppExecutor custom resources exist in the cluster; if so, fail the hook and thus the deletion attempt

Note: the top-level helm delete command will time out and the error will only be seen if the user procures the logs from the 'pre-delete' job pod(s).  In the context of the Marketplace, this might not make its way to an 'extension failed to uninstall' error; unsure here.

Adds a post-delete helm hook to remove all SpinKube CRDs (at time of writing, these include the Cert-Manager dependency CRDs as well as the SpinApp(Executor) CRDs).

Note: The hook also deletes the release namespace as a final step, since helm does not do this.

Updates the helm smoke test GH workflow with assertions for the above logic

Ref https://github.com/spinkube/azure/issues/26

Oops, CI happened to hit a cpa verify error.  I created https://github.com/spinkube/azure/pull/31 to fix.  We can merge 31 first and I can rebase this afterwards.

Just merged #31


Update actions to use node 16

Actions running on node 12 will not work anymore in summer 2023 and are
now raising warnings:
https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/
So:

we update when possible actions version to ones using node 16 instead of 12.
we stop using deprecated pre-commit/action and replace it by simple call to pre-commit in a shell (mimicking pre-commit/action@v3)
we replace softprops/action-gh-release by ncipollo/release-action@v1 which is using node 16

@g-poveda : Now that the workflow is working again, can you relaunch it for this PR?  So nevermind relaunching it.

i was not able to find the relaunch button pfff. but everything is green,


Installing Pods Failure

While trying to install pods I get the error: undefined method `headers_build_phase' for #<Xcodeproj::Project::Object::PBXAggregateTarget:0x00007fe399bd7368>

Hi @saulurias,
This is a known issue in cocoapods, we are looking into it. Until then, please use cocoapods version 1.8.4.

Thanks 😃

It still happens on the latest code with cocoapods version 1.8.4

While trying to install pods I get the error: undefined method `headers_build_phase' for #<Xcodeproj::Project::Object::PBXAggregateTarget:0x00007fe399bd7368>

How to solve it?

Any solution?
cocoapods 1.5.3 didn't work for me.

@EgHubs We are in process of adding support of xcode 12 in this PR, with it we have also updated cocopods version to latest.

Any solution? cocoapods 1.5.3 didn't work for me. I am using ruby 2.7.2

How you solved this issue?

@ArnoldBrown the projects now supports the latest cocoapods, you can run pod install and it should run without any error.


Git-ignoring the vendor/ directory

I am not all too familiar with the inner-workings of dependency resolution for Go, so I wanted to know the reason behind the need to (git) include vendor/ in a Go project. If go restore would perform the vendoring before installing the packages in $GOPATH I think there would be no need to commit dependency sources into the project.
On npm, for instance, you would commit the package.json which has references (among other things) to all the dependencies that the package needs, but you don't commit node_pacakges which is what contains the source. npm install on the project would do the job of fetching all the dependencies. I was hoping for something similar on godep, which would make projects much lighter.

When a repo is git pushed to remote that has no source, how will that remote build the source w/o hitting the network?

If you are looking for that feature, please see govendor. PS: If you migrate to govendor, please don't use it's migrate command. I suggest instead doing:
$ godep restore
$ rm -rf Godeps vendor
$ govendor init
$ govendor add +ex

Your point is fair, but I think that git-ignoring vendor/ should be an option. godep restore should try to fetch remote dependencies if vendor/ is absent before showing failure due to network, if there is one. If vendor/ is already present, then simply skip that step. I think giving users the option is better than excluding it entirely.

@cleung2010 godep restore doesn't use the contents of vendor/ it's sole job is to fetch what is described in Godeps.json into $GOPATH.

I see. I was thinking maybe godep restore (or some alternate command) could do the fetching to vendor/. Anyhow, I think I've found a glide, which has what I am looking for.

@cleung2010 Great! FWIW: My recommendation would be govendor.


Validation issue prioritization PR #3

Checklist

[x] Appropriate branch selected (all PRs must first be merged to dev before they can be merged to master)
[x] Any modified or new methods or classes have helpful JSDoc and code is thoroughly commented
[x] The description lists all applicable issues this PR seeks to resolve
[x] The description lists any configuration setting(s) that differ from the default settings
[x] All tests and CI builds passing

Description
Builds on top of #529 by fixing some flow/lint errors and adding sort logic for MTC blocking issues.

Codecov Report

Merging #531 into validation-issue-prioritization-ltr will decrease coverage by <.01%.
The diff coverage is 14.28%.

@@                           Coverage Diff                           @@
##           validation-issue-prioritization-ltr     #531      +/-   ##
=======================================================================
- Coverage                                16.01%   16.01%   -0.01%
=======================================================================
  Files                                      314      314
  Lines                                    15960    15969       +9
  Branches                                  4854     4857       +3
=======================================================================
+ Hits                                      2556     2557       +1
- Misses                                   11433    11438       +5
- Partials                                  1971     1974       +3

Flag
Coverage Δ

#unit_tests
16.01% <14.28%> (-0.01%)
:arrow_down:

Impacted Files
Coverage Δ

lib/types/index.js
0% <ø> (ø)
:arrow_up:

...ager/components/validation/GtfsValidationViewer.js
0% <0%> (ø)
:arrow_up:

lib/common/util/config.js
70.9% <100%> (ø)
:arrow_up:

lib/manager/util/version.js
30.88% <9.09%> (-3.61%)
: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 969e6fa...1ebc64e. Read the comment docs.

:tada: This PR is included in version 4.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


ASDK - SQL RP - Connecting to off Stack SQL instance

Does the ASDK specifically allow for off stack SQL instance connectivity? I have followed the reference article without finding a resolution.  I know off stack SQL is supported by Azure Stack. However, is this also supported by a development ASDK node?
The on stack SQL resource provider host is working as designed with zero issues.
I continue to surface the error “No such host is known” with various deployment tests, attempting to connect to an off stack SQL instance.
Here is what I have attempted to deploy without success.
•	Connecting to the IP of the SQL17 Listener (and with port)
•	Connecting to a FQDN of the SQL17 Listener (and with port)
•	Both (IP and FQDN) can be pinged successfully both from the ASDK host and even the SQL OnStack host
•	I can connect to the SQL17 listener via SSMS from the OnStack SQL host
Reference:
https://docs.microsoft.com/en-us/azure/azure-stack/azure-stack-sql-resource-provider-hosting-servers
Azure documentation issue guidance
Thanks for opening an issue in the Azure technical documentation repository.
We use GitHub issues as the primary channel for customer and community feedback about the Azure documentation.
Creating an issue
We prefer that you create documentation feedback issues using the Feedback link on the published article - the feedback control on the doc page creates an issue that contains all the article details so you can focus on the feedback part.
You can also create a feedback issue here in the repo. If you do this, please make sure your issue lists:

[ ] The relevant Azure service or technology.
[ ] A link to the published documentation article that you have feedback about.
[ ] Clear, specific feedback that the author can act on.

Pull requests and article contributions
If you know the change that is needed in an article, we encourage you to submit the changes directly using a pull request. If the change is large, or if you want to contribute an entire article, follow these guidelines:

[ ] Don't surprise us with a big pull request or a pull request with a new article! Submit an issue that describes the details of the proposed large change or new article.
[ ] Include the service or technology area.

We'll route the issue to the appropriate content team for review and discussion.
Tech support and product feedback
If you would like to contact Microsoft about other things, such as product feedback or tech support, please review these guidelines:

If you need technical support using Azure, the paid and free support options are described here: https://azure.microsoft.com/support/options/.

Each article in the Azure technical documentation contains a product feedback button - it's best to submit product feedback directly from a relevant article. Otherwise, you can submit product feedback for most Azure products in the following product feedback forum: https://feedback.azure.com/forums/34192--general-feedback.

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

ID: fe000108-7b72-9770-0c09-412a8e7bd083
Version Independent ID: 2b8a921a-330a-4dd7-384b-2f5c213791b6
Content: SQL Hosting Servers on Azure Stack
Content Source: articles/azure-stack/azure-stack-sql-resource-provider-hosting-servers.md
Service: azure-stack
Product: unspecified
GitHub Login: @jeffgilb
Microsoft Alias: jeffgilb

@rfsonders Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

This issue can be closed.

@rfsonders We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Can it use in objective-c project?

The app is written in Swift, but Xcode allows you to import mix languages as you see fit.


Added the ability to override ASSVCACCOUNT in the Configuration File

Description
Added the ability to override ASSVCACCOUNT in the Configuration File
Issues Resolved
If server is a domain controller, then you are unable to install Analysis Services
Fixes #133
Check List

[ ] All tests pass. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/TESTING.MD
[ ] New functionality includes testing.
[X] New functionality has been documented in the README if applicable
[X] All commits have been signed for the Developer Certificate of Origin. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD

@MrGiga @jcurcio Thanks for this! We'll see about banging the set in AppVeyor.

Ah I didn't mean for that chef license commit to show up here


training on custome dataset

hello,
you used  OpenPose  to create  pose *.txt files
how i can create thous files for another data set ?
i follow the link for OpenPose but  i i can't see where the pose *.txt files are made , i can see only the pose images results
thank you

Same here. I'd like to try it on a totally unrelated set of images (photos and sketches).
Any guidance on how to go about would be appreciated.

import cv2
import numpy as np
import os
from src.body import Body
class PoseKeyPoint():
'''
计算图片人物关键点
'''
def init(self):
#change the two path
self.path = '../dataset/anime500/img'
self.out = '../dataset/anime500/pose'
def pose(self):
    body_estimation = Body('../models/body_pose_model.pth')
    filelist = os.listdir(self.path)
    for item in filelist:
        oriImg = cv2.imread(os.path.join(self.path,item))  # B,G,R order
        candidate, subset = body_estimation(oriImg)
        file_candidate = os.path.join(self.out,os.path.splitext(item)[0]+'_candidate.txt')
        file_subset = os.path.join(self.out,os.path.splitext(item)[0]+'_subset.txt')
        np.savetxt(file_candidate,candidate)
        np.savetxt(file_subset,subset)
        print(item)

if name == 'main':
pose = PoseKeyPoint()
pose.pose()
this is my solution
body_pose_model.pth you can download from OpenPose and put it under the models folder


Add a valid default constructor to etcpal::TimePoint

https://jira.etcconnect.com/browse/ETCPAL-53

@nwagner  we could, but it would not be portable to all embedded platforms. Do you have thoughts about how 32- and 64-bit version of these timers could coexist?

@samkearney I think we would have a new name (e.g. LongTimer or Timer64).  But you're right about embedded platforms, so maybe this wouldn't be useful until it could be supported everywhere -- in which case the 32-bit class could just migrate.


Fix attribute name bug in EloCompetitor

This bug has the consequence that EloCompetitors' ratings will increase when they win, but can never go down.

Coverage remained the same at 35.74% when pulling a36e4f4c38766ad1161e96f1f03d5fb9ed623ece on colinmorris:patch-1 into 2530eab48c9401b3b50892af6b1cc09292369674 on wdm0006:master.

Coverage remained the same at 35.74% when pulling a36e4f4c38766ad1161e96f1f03d5fb9ed623ece on colinmorris:patch-1 into 2530eab48c9401b3b50892af6b1cc09292369674 on wdm0006:master.


3.x npm publishes not runnable

Not sure if you were aware, but all of the 3.x releases on npm were published without a dist folder so they don't run (error finding dist/index.js).

@contra - this is very strange - we are using these in multiple internal apps without issue, the dist folder seems to be there just as it should. Also dist is still mentioned in the files section in package.json.
Wonder if it is possible to check the contents of a published module on npmjs.com?
Could it be an npm cache clean issue?

Yeah, seems like it was a cache issue from having beta 16 installed which didn't have a dist folder. Weird behavior on npms part. Sorry about the ticket, my bad.


Display memory pool #628

This is work in progress rather then full change.
I don't know what exactly need to be changed in /pinpoint-thrift/src/main/java/com/navercorp/pinpoint/thrift/dto/TJvmGc.java so guys please help.
And definitely I don't know how to provide frontend part so I really hope that someone else can join my effort.

@Xylus thank you for your comments. Can you guide me what else I need to do?

@dawidmalina
Looks good so far, next up would be to create a metric set to actually feed the gauges you've added. Right now, the gauges would not actually be collecting anything.
The general class you should look at are :

Collection : Some class that implements MetricSet (such as MemoryGaugeSet) that collects the metrics you've added.
Wiring up : AgentStatMonitor, AgentStatCollectorFactory, MetricMonitorRegistry

Finally I decided to gather not only usage metrics but rather dedicated values (max and use). What I would like to propose is to get rid of heap non heap and instead use this new (or at least add this new):

New Generation values (jvmPoolNewGenUsed, jvmPoolNewGenMax) combined with GC values (jvmGcNewCount, jvmGcNewTime) on one graph.
Old Generation values (jvmPoolOldGenUsed, jvmPoolOldGenMax) combined with GC values (jvmGcOldCount, jvmGcOldTime) on one graph.
Survivor Space values (jvmPoolSurvivorSpaceUsed, jvmPoolSurvivorSpaceMax) on one graph.
Perm Generation values (jvmPoolPermGenUsed, jvmPoolPermGenMax) on one graph (if java < 1.8).
Metaspace values (jvmPoolMetaspaceUsed, jvmPoolMetaspaceMax) on one graph (if java >= 1.8).
CodeCache values (jvmPoolCodeCacheUsed, jvmPoolCodeCacheMax) on one graph.

Thx. I've will also migrated com.codahale.metrics to io.dropwizard.metrics version 3.1.2

Looks like metrics are collected without extra effort:
GarbageCollectorFactoryTest.test()

2015-12-03 11:28:28 [INFO ](c.n.p.p.m.c.AgentStatCollectorFactory:86 ) found : HotSpot's Garbage-First(G1) collector
2015-12-03 11:28:28 [INFO ](c.n.p.p.m.c.c.CpuLoadMetricSetSelector:65 ) Optional package not found.
2015-12-03 11:28:28 [INFO ](c.n.p.p.m.c.AgentStatCollectorFactory:94 ) loaded : Default CpuLoadMetricSet for Java 1.6
2015-12-03 11:28:28 [INFO ](c.n.p.p.m.c.AgentStatCollectorFactory:102) loaded : Default TransactionMetricSet
2015-12-03 11:28:28 [DEBUG](c.n.p.p.m.c.g.GarbageCollectorFactoryTest:36 ) collector.getType():HotSpot's Garbage-First(G1) collector
2015-12-03 11:28:28 [DEBUG](c.n.p.p.m.c.g.GarbageCollectorFactoryTest:38 ) collector.collect():TJvmGc(type:G1, jvmMemoryHeapUsed:22020096, jvmMemoryHeapMax:4294967296, jvmMemoryNonHeapUsed:11540848, jvmMemoryNonHeapMax:-1, jvmGcOldCount:0, jvmGcOldTime:0, jvmGcNewCount:0, jvmGcNewTime:0, jvmPoolCodeCacheMax:251658240, jvmPoolCodeCacheUsed:2365696, jvmPoolEdenSpaceMax:-1, jvmPoolEdenSpaceUsed:22020096, jvmPoolOldGenMax:4294967296, jvmPoolOldGenUsed:0, jvmPoolSurvivorSpaceMax:-1, jvmPoolSurvivorSpaceUsed:0, jvmPoolMetaspaceMax:-1, jvmPoolMetaspaceUsed:8186472)
2015-12-03 11:28:28 [DEBUG](c.n.p.p.m.c.g.GarbageCollectorFactoryTest:40 ) collector.collect():TJvmGc(type:G1, jvmMemoryHeapUsed:22020096, jvmMemoryHeapMax:4294967296, jvmMemoryNonHeapUsed:11544776, jvmMemoryNonHeapMax:-1, jvmGcOldCount:0, jvmGcOldTime:0, jvmGcNewCount:0, jvmGcNewTime:0, jvmPoolCodeCacheMax:251658240, jvmPoolCodeCacheUsed:2367360, jvmPoolEdenSpaceMax:-1, jvmPoolEdenSpaceUsed:22020096, jvmPoolOldGenMax:4294967296, jvmPoolOldGenUsed:0, jvmPoolSurvivorSpaceMax:-1, jvmPoolSurvivorSpaceUsed:0, jvmPoolMetaspaceMax:-1, jvmPoolMetaspaceUsed:8188064)

What I would like to have is view like this: https://kweo.com/wp-content/uploads/2013/11/netty-process.jpg
Logging to file is not a option especially with distributed environments. Can you tell me more how this approach will break collector?

A separate view for the collector would be a whole other project in itself. It would be a good idea to limit the scope of this pull request to just the agent metrics.

Ok, so what scope do you propose?

To collecting metrics from the agent (and sending these to the collector and viewing them on the web).

So what I have now is ok or not?  Should I change sth? Or only add web part?

Changes look good, checked out (pun intended) your code and it builds/runs well.
There was a request to allow these collection to be configurable, are you up for this?
It'd involve adding an option to pinpoint.config with something like profiler.jvm.collect.detailed=true/false. Then you could read this value in and use it when setting the detailed gauges, or when reading from the detailed gauges.
Thanks!

No problem I will do this:)

Thanks! :+1:

Ok I've decided to move back to pool usage instead of real data. Now it can be configured through configuration file and depending on configuration dedicated collector will be created by AgentStatCollectorFactory.

2015-12-17 14:33:22 [INFO ](c.n.p.p.m.c.AgentStatCollectorFactory:103) found : HotSpot's Garbage-First(G1) collector with detailed metrics
2015-12-17 14:33:22 [INFO ](c.n.p.p.m.c.c.CpuLoadMetricSetSelector:65 ) Optional package not found.
2015-12-17 14:33:22 [INFO ](c.n.p.p.m.c.AgentStatCollectorFactory:111) loaded : Default CpuLoadMetricSet for Java 1.6
2015-12-17 14:33:22 [INFO ](c.n.p.p.m.c.AgentStatCollectorFactory:119) loaded : Default TransactionMetricSet
2015-12-17 14:33:22 [DEBUG](c.n.p.p.m.c.g.GarbageCollectorFactoryTest:53 ) collector.getType():HotSpot's Garbage-First(G1) collector with detailed metrics
2015-12-17 14:33:22 [DEBUG](c.n.p.p.m.c.g.GarbageCollectorFactoryTest:55 ) collector.collect():TJvmGc(type:G1, jvmMemoryHeapUsed:22020096, jvmMemoryHeapMax:134217728, jvmMemoryNonHeapUsed:11829280, jvmMemoryNonHeapMax:1392508928, jvmGcOldCount:0, jvmGcOldTime:0, jvmGcNewCount:0, jvmGcNewTime:0, jvmPoolCodeCacheUsed:0.009566752115885417, jvmPoolNewGenUsed:0.8076923076923077, jvmPoolOldGenUsed:0.0, jvmPoolSurvivorSpaceUsed:NaN, jvmPoolMetaspaceUsed:0.1252650022506714)
2015-12-17 14:33:22 [DEBUG](c.n.p.p.m.c.g.GarbageCollectorFactoryTest:58 ) collector.collect():TJvmGc(type:G1, jvmMemoryHeapUsed:22020096, jvmMemoryHeapMax:134217728, jvmMemoryNonHeapUsed:11855720, jvmMemoryNonHeapMax:1392508928, jvmGcOldCount:0, jvmGcOldTime:0, jvmGcNewCount:0, jvmGcNewTime:0, jvmPoolCodeCacheUsed:0.009586334228515625, jvmPoolNewGenUsed:0.8076923076923077, jvmPoolOldGenUsed:0.0, jvmPoolSurvivorSpaceUsed:NaN, jvmPoolMetaspaceUsed:0.12556087970733643)
2015-12-17 14:33:22 [INFO ](c.n.p.p.m.c.AgentStatCollectorFactory:103) found : HotSpot's Garbage-First(G1) collector
2015-12-17 14:33:22 [INFO ](c.n.p.p.m.c.c.CpuLoadMetricSetSelector:65 ) Optional package not found.
2015-12-17 14:33:22 [INFO ](c.n.p.p.m.c.AgentStatCollectorFactory:111) loaded : Default CpuLoadMetricSet for Java 1.6
2015-12-17 14:33:22 [INFO ](c.n.p.p.m.c.AgentStatCollectorFactory:119) loaded : Default TransactionMetricSet
2015-12-17 14:33:22 [DEBUG](c.n.p.p.m.c.g.GarbageCollectorFactoryTest:39 ) collector.getType():HotSpot's Garbage-First(G1) collector
2015-12-17 14:33:22 [DEBUG](c.n.p.p.m.c.g.GarbageCollectorFactoryTest:41 ) collector.collect():TJvmGc(type:G1, jvmMemoryHeapUsed:22020096, jvmMemoryHeapMax:134217728, jvmMemoryNonHeapUsed:11877008, jvmMemoryNonHeapMax:1392508928, jvmGcOldCount:0, jvmGcOldTime:0)
2015-12-17 14:33:22 [DEBUG](c.n.p.p.m.c.g.GarbageCollectorFactoryTest:44 ) collector.collect():TJvmGc(type:G1, jvmMemoryHeapUsed:22020096, jvmMemoryHeapMax:134217728, jvmMemoryNonHeapUsed:11877008, jvmMemoryNonHeapMax:1392508928, jvmGcOldCount:0, jvmGcOldTime:0)

Could you also remove the auto-generated Thrift files under that didn't have their IDL modified? I think Thrift generated files under  thrift/src/main/java/com/navercorp/pinpoint/thrift/dto/command/ were included by mistake.
The rest of the code looks good, I look forward to testing these out once you've made the changes above.
Thanks again for all the time you've put into this. :+1:

@Xylus I've done what you requested. I hope someone will provide web part for my change.

Code looks good so far, gonna run some tests on Java 6/7/8 and see how the collector handles the added data.

@dawidmalina Please check the comments above for all 4 *DetailedMetricsCollector classes. The rest of the code looks good.
Thanks!

@dawidmalina We accidentally merged this PR but quickly reverted it back. Unfortunately, this might or might not cause problems on your end. You probably won't lose any code, but you'll have to dig the changes out from the commit history so making a back up before rebasing/merging to HEAD.
Please make a new PR and we'll continue with the discussion from there. Sorry about the inconvenience.

Don't worry :) I will provide necessary changes and I will create new PR.


Use of timedelta and datetime

In RxPY, there are three formats of time (technically four, but AbsoluteOrRelativeTime is redundant when you have Variant): timedelta, datetime and double. In NativeGodotRx, I already included these types. Regarding the current refactor in the indev-4.1 branch, I have decided that this would likely be an improvement to type safety of schedulers, time-related observables etc. when specifying units of time in certain scenarios.

Okay, I think I have to chuck a Uey on this! I just tested how GodotRx would behave with custom Godot-Types describing timedelta and datetime and the result is just a lot of unnecessary overhead and ugly syntax. Therefore, my decision is to make all duetime values consistently [float]. We aren't in Python after all!


Feat: SentrySoftware entity creation

Relevant information

Checklist

[x] I've read the guidelines and understand the acceptance criteria.
[x] The value of the attribute marked as identifier will be unique and valid.
[x] I've confirmed that my entity type wasn't already defined. If it is I'm providing an explanation above.

I'm not sure why my fork included all of those old commits, but the only changes should be from the most recent commit, 2 new files.

@jcountsNR Could you start a new PR and apply only the relevant commits?

Don't worry for the commits we will squash them when we will merge the pr.


A single top level task isn't marked as build tasks anymore

VSCode Version: 1.9.x
OS Version: Windows

Steps to Reproduce:

tasks.json

{
	"version": "0.1.0",

	// we want to run npm
	"command": "npm",

	// the command is a shell script
	"isShellCommand": true,

	// show the output window only if unrecognized errors occur.
	"showOutput": "silent",

	// we run the custom script "watch" as defined in package.json
	"args": ["run", "watch"],

	// The tsc compiler is started in watching mode
	"isWatching": true,

	// use the standard tsc in watch mode problem matcher to find compile problems in the output.
	"problemMatcher": "$tsc-watch"
}

Press control shift B

Observe: VS Code complains that there is no build task defined.
This is a regression and is caused by the rewrite of the way haw we parse tasks.json files to support multiple commands.

Closing. This was a user error. Opened the wrong top level folder.


Revert dict tab focus fix and sandbox dict tab iframes

One possible solution to prevent dictionary iframes from stealing focus is to
enable the CSP sandbox on each iframe. If a bare sandbox attribute is used,
then autofocus from iframes should be blocked. Unfortunately this has the side
effect of blocking some online dictionary that require additional feature
policies such as allow-same-origin and allow-scripts.
In particular the following dictionaries mentioned in issue https://github.com/LuteOrg/lute-v3/issues/469 require these policies
to load correctly:

https://korean.dict.naver.com/koendict/#/search?query=###
https://en.dict.naver.com/#/search?query=###

Hi @cblanken - I wonder if this should be split out further, with one PR just to revert the existing change, and another to add the sandbox etc attributes in that new line.  I wouldn't want to "fix" one problem just to cause another.  Then we could look at the extra policy stuff more carefully.  Thoughts?

Chatted briefly w/ @cblanken on discord, this is a draft idea to investigate sandboxing only.  I'll revert the old PR, will keep this as an idea only for sandboxing investigations.  Thanks!!


Make a row of cards the same height

Making a set of .column class the same height within a .columns class is straightforward, but I can't seem to do the same with a set of .card classes...

I think what @alanmarchman is trying to say is that Card component have a variable height based on the content. I had the same problem on a recent project but setting a desired height is the best option.
And having a variable Card height can be valuable sometimes. So, no need to change anything to your lib @picturepan2


on sending --kill-others process ng serve close with exit code 1

Hello! I have the next problem and this is my steps for reproduce:

I have main package.json where

"scripts": {
    "ng": "ng",
    "start": "ng serve",
    "stop": "taskkill -f -im node* && exit 0",
    "start4tests": "node ./src/scripts/runNgServeForTests.ts",
    "build": "ng build",
    "**test:integration**": "concurrently --kill-others --kill-signal SIGKILL --success all \"npm run start4tests\" \"wait-on http://localhost:4200/ && cd ./tests/wdio && npm install && npm run test:integration\"",

On my another package.json on test project  I have this:

"test:integration": "cross-env TT_ENV=LOCAL wdio run ./config/wdio.integration.conf.ts",

In file ./src/scripts/runNgServeForTests.ts I have next code:

const { spawn } = require('child_process');

const ngServe = spawn('ng', ['serve', '--configuration=test'], { shell: true });

process.on('SIGINT', () => {
  console.log('SIGINT signal received. Shutting down gracefully...');
  ngServe.kill('SIGINT');
  process.exit(0);
});

ngServe.on('close', () => {
  process.exit(0);
});

And After running command
/npm run test:integration
I got next result in my terminal

By the way I have tested without --kill-signal SIGKILL and result was the same
Could you help me understand how I can close ng serve process with exited code 0 ?

Try setting the --success flag, it allows you to set which process(es) you want to infer the exit code 0 from.

--success

Sorry, this flag present in my command with value all. So maybe you will advice to me something else. I will be very grateful


Reconstruct the neuronal connectivity in zebrafish brain

Dear all,
I am looking for highly motivated students with strong quantitative background to analyze axon and dendritic morphology and to estimate potential connectivity between different cell types in larval zebrafish brain. This exciting project is in collaboration with Professor Jiulin Du at Institute of Neuroscience in Shanghai. We are working on an unprecedented dataset (~5000 reconstructed neurons using confocal microscopy and more to come). Please let me know if you are interested!

请问Problem Set 2第一大题的第二问所给提示中是否存在问题？

其中指数上的分子nT这项前面要加一个负号
这是我的证明

@wenquan
胡博洲 JL22020008