These are chat archives for AvaloniaUI/Avalonia

12th
Aug 2016
Andrew
@zezba9000
Aug 12 2016 01:56
Are right-click menus supported?
Jeremy Koritzinsky
@jkoritzinsky
Aug 12 2016 02:15
Yep, via ContextMenus
Darnell Williams
@Seeker1437
Aug 12 2016 02:39
Hey quick question what project is Avalonia?
If I rememeber correctly I think @grokys said WinForms? but I just need help making sure :)
(Like when a project is created I believe it was based on WInforms, I ask because I am going to build and PR another project template
Jeremy Koritzinsky
@jkoritzinsky
Aug 12 2016 02:41
I'm not sure, but WinForms makes the most sense. Basically you need a template that sets the Win32 subsystem to be "Windowed" instead of "Console". WinForms does that for you, so it should work.
Just remember to remove the WinForms references
Darnell Williams
@Seeker1437
Aug 12 2016 02:42
Oh epic! thanks :D
Darnell Williams
@Seeker1437
Aug 12 2016 03:20
@wieslawsoltes XamlBehaviors is a PCL right?
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 03:20
yes
Andrew
@zezba9000
Aug 12 2016 03:48
@jkoritzinsky Of course, man half the time I just need to try what you would do in WPF :)
MitchellBot
@MitchellBot
Aug 12 2016 04:05
@zezba9000 turning on native debugging was how I got that error, without it windows was just throwing the exception itself
I'm just not going to mess with the test projects, I built my own sandbox and that works just fine
Darnell Williams
@Seeker1437
Aug 12 2016 04:14
ahh!

viewlocator is going to make my project unportable unless I can figure this out xD

since PCL does nto have appdomain xD

MitchellBot
@MitchellBot
Aug 12 2016 04:19
Am I supposed to be able to edit the XAML in design-mode?
Darnell Williams
@Seeker1437
Aug 12 2016 04:19
Could you expand on that question?
DO you have the paml file open currently?
also do you have AvaloniaVS installed?
MitchellBot
@MitchellBot
Aug 12 2016 04:20
I have a xaml file open, created it with AvaloniaVS as an Avalonia Window
Window1.xaml
It says it cannot be edited in the Design view
In one pane
the other just has the markup
Darnell Williams
@Seeker1437
Aug 12 2016 04:21
can you give me a screen shot?
It sounds like you might have the app.xaml file open
That error also sound like the WPF XAML Designer xD
MitchellBot
@MitchellBot
Aug 12 2016 04:22
blob
it looks like WPF
Darnell Williams
@Seeker1437
Aug 12 2016 04:22
OOH
MitchellBot
@MitchellBot
Aug 12 2016 04:22
Enough so that it's causing flashbacks :D
Darnell Williams
@Seeker1437
Aug 12 2016 04:22
XD
the project you created this window for, does it have Avalonia.Desktop installed?
MitchellBot
@MitchellBot
Aug 12 2016 04:24
nope
I don't even see that in the main Avalonia solution
Darnell Williams
@Seeker1437
Aug 12 2016 04:25
it's there, you'll need the Nuget package in order for the designer to load the window in the project
MitchellBot
@MitchellBot
Aug 12 2016 04:25
NuGet says I have it though
Darnell Williams
@Seeker1437
Aug 12 2016 04:25
unless your project is a class library, in which case the consuming project needs Avalonia.Desktop and then just needs to reference your class library and it will work
MitchellBot
@MitchellBot
Aug 12 2016 04:26
It's a windows application
Darnell Williams
@Seeker1437
Aug 12 2016 04:26
:O
MitchellBot
@MitchellBot
Aug 12 2016 04:26
Avalonia.Desktop is not listed in the references but NuGet says I have it
blob
Darnell Williams
@Seeker1437
Aug 12 2016 04:28

yes, it's installed in another project most likely (that list wil show nugets installed on all projects under the solution)

You have to run Install-Package Avalonia.Desktop on your sandbox

it will add the package to your packages.config and add the references for you
MitchellBot
@MitchellBot
Aug 12 2016 04:30
k, I'll try that, thanks :D
Darnell Williams
@Seeker1437
Aug 12 2016 04:30
^^ hope it works out
MitchellBot
@MitchellBot
Aug 12 2016 04:32
nope, threw a bunch of errors and warnings
I must be running the command wrong
dammit
PM> Install-Package Avalonia.Desktop -ProjectName AvaloniaSandbox
Package 'Avalonia.Desktop.0.4.0' already exists in project 'AvaloniaSandbox'
Time Elapsed: 00:00:00.3585233
PM>
so these should be paml files?
Darnell Williams
@Seeker1437
Aug 12 2016 04:46
yeah
:O
weird indeed :O
Add the reference in then
MitchellBot
@MitchellBot
Aug 12 2016 04:46
I checked the VS options and I have Avalonia designer enabled
Darnell Williams
@Seeker1437
Aug 12 2016 04:46
that must be what the issue is
MitchellBot
@MitchellBot
Aug 12 2016 04:46
I disabled XAML designer for shits and rebooted VS
What reference?
Darnell Williams
@Seeker1437
Aug 12 2016 04:47
add the referenc eot Avalonia.Desktop to your project
MitchellBot
@MitchellBot
Aug 12 2016 04:47
Can't find it anywhere
packages.config has it
it's not in References
It's not available to add
Darnell Williams
@Seeker1437
Aug 12 2016 04:47
it going to be in a folder named packages next to the solution file
I lied :O
MitchellBot
@MitchellBot
Aug 12 2016 04:48
lol
I see a directory for Avalonia.Desktop that contains .Gtk, .Win32 .Direct2D1 and .Cairo
Tried adding them and it says I already have them
Darnell Williams
@Seeker1437
Aug 12 2016 04:51
can you show me the references for the project again?
MitchellBot
@MitchellBot
Aug 12 2016 04:51
I think I spend more time fighting with VS and Git than actually coding
Darnell Williams
@Seeker1437
Aug 12 2016 04:51
haha
you might have found a bug I'm hoping to rule out other things first hehe
MitchellBot
@MitchellBot
Aug 12 2016 04:51
blob
I probably just messed something u
This message was deleted
oops
weird
So none of the sample projects have any xaml files
Darnell Williams
@Seeker1437
Aug 12 2016 04:54
@MitchellBot pm?
MitchellBot
@MitchellBot
Aug 12 2016 04:55
huh?
Darnell Williams
@Seeker1437
Aug 12 2016 04:55
I sent you a private message
Nikita Tsukanov
@kekekeks
Aug 12 2016 08:10
@MitchellBot use .paml file extension
For some reason VS really wants to open xaml files with WPF designer
Unless they are in PCL
@grokys why did you change project templates to use xaml again?
That doesn't work properly
And won't ever will unless we have some help from MS
Steven Kirk
@grokys
Aug 12 2016 08:12
because i hate having to edit the .csproj file each time i rename a .paml file
danwalmsley
@danwalmsley
Aug 12 2016 08:12
@kekekeks seems to work ok for me?
Steven Kirk
@grokys
Aug 12 2016 08:12
works ok for me too - what problem are you having?
and xamarin.forms uses .xaml files
Nikita Tsukanov
@kekekeks
Aug 12 2016 08:13
Xamarin forms doesn't target "Windows application"
So they have no issues whatsoever
Steven Kirk
@grokys
Aug 12 2016 08:13
what is the issue?
Nikita Tsukanov
@kekekeks
Aug 12 2016 08:13
Try to remove avalonia namespace
and reopen the file
Steven Kirk
@grokys
Aug 12 2016 08:14
i've not tried removing the avalonia namespace - why would you do that?
Nikita Tsukanov
@kekekeks
Aug 12 2016 08:14
in some cases you won't ever be able to use avalonia designer again
danwalmsley
@danwalmsley
Aug 12 2016 08:14
if you remove the namespace then it definitely will open the wpf one
Nikita Tsukanov
@kekekeks
Aug 12 2016 08:14
yep, and it won't allow you to switch back
even if you return the namespace
danwalmsley
@danwalmsley
Aug 12 2016 08:14
ah ok
Steven Kirk
@grokys
Aug 12 2016 08:14
weird - any idea why?
Nikita Tsukanov
@kekekeks
Aug 12 2016 08:15
VS stores somewhere that this file is "WPF xaml"
and that "somewhere" isn't even in the project file
Since I've tried git reset --hard and that doesn't help
Steven Kirk
@grokys
Aug 12 2016 08:16
ok, well we still support .pmal so you can rename to that
Nikita Tsukanov
@kekekeks
Aug 12 2016 08:16
Well, let's to this
We can ship both templates
Since they essentially are the same file
And write a doc about that somewhere
Steven Kirk
@grokys
Aug 12 2016 08:17
ok
danwalmsley
@danwalmsley
Aug 12 2016 08:17
@grokys have you seen #680? its very simple change
Steven Kirk
@grokys
Aug 12 2016 08:17
yeah we definitely need to document that
Nikita Tsukanov
@kekekeks
Aug 12 2016 08:17
"Blablabla don't touch xmlns or you'll be stuck blablabla"
Steven Kirk
@grokys
Aug 12 2016 08:18
i will try tweeting to someone as MS about the problem - lets see if there's anyone there who might listen
Nikita Tsukanov
@kekekeks
Aug 12 2016 08:18
I also suspect that if you open said xaml file without our extension installed
VS will mess things up
Steven Kirk
@grokys
Aug 12 2016 08:18
that sucks
Nikita Tsukanov
@kekekeks
Aug 12 2016 08:19
WPF designer changes build action and adds some other properties to the file in csproj
Let me try that
Steven Kirk
@grokys
Aug 12 2016 08:20
yeah well editing the .csproj is fine - you ahve to do that for renames with .paml files so it'd be less of an invonvience
but if it's storing it elsewhere
danwalmsley
@danwalmsley
Aug 12 2016 08:21
@grokys iv been able to rename to .XAML from paml without editing the csproj
Steven Kirk
@grokys
Aug 12 2016 08:21
what i mean is rename e.g. "foo.paml" to "bar.paml"
danwalmsley
@danwalmsley
Aug 12 2016 08:22
ah ok
completely messes it up does it?
Steven Kirk
@grokys
Aug 12 2016 08:22
yup
danwalmsley
@danwalmsley
Aug 12 2016 08:26
do you think we can merge #680?
Steven Kirk
@grokys
Aug 12 2016 08:28
@danwalmsley i have no idea - i haven't done any of the skia stuff
ask @kekekeks
danwalmsley
@danwalmsley
Aug 12 2016 08:29
Its just the fontcache, part, It says you are the only contributor?
Steven Kirk
@grokys
Aug 12 2016 08:29
that's because of the perspex -> avalonia rename
i've never touched that code other than that
danwalmsley
@danwalmsley
Aug 12 2016 08:30
is there a way to see who committed the original?
ah blame
ok
now I can see
Steven Kirk
@grokys
Aug 12 2016 08:30
it will have been @kekekeks i imagine
danwalmsley
@danwalmsley
Aug 12 2016 08:31
@kekekeks can you have a look at #680 its typefacecache.cs fixes some fontface issues in skia back end, just to check iv not done anything crazy
Nikita Tsukanov
@kekekeks
Aug 12 2016 08:35
@danwalmsley You still need to override GetHashCode and implement IEquitable even if you are using struct as a key: http://stackoverflow.com/a/4974569/2231814
danwalmsley
@danwalmsley
Aug 12 2016 08:45
@kekekeks ok will do, I took that code off another stackoverflow and they commented that it was not necessary, but didn't give the reason as usual
ok i'll add that
danwalmsley
@danwalmsley
Aug 12 2016 08:51
@kekekeks ok iv added that, seems to still work as before
danwalmsley
@danwalmsley
Aug 12 2016 09:31
@kekekeks thanks mate
XPutImage code port seems to be working fine
I'll integrate that to our skia code
Tiago Freitas Leal
@tfreitasleal
Aug 12 2016 10:10
Hi all
I just did build and run the samples on UBUNTU and found two issues:
  • minor issue on the documentation - it instructs you to run ControlCatalog instead of ControlCatalog.Desktop (the former is just a library)
  • running ControlCatalog.Desktop reports
    "Cairo.Path is leaking, programmer is missing a call to Dispose
    Set MONO_CAIRO_DEBUG_DISPOSE to track allocation traces"
Nikita Tsukanov
@kekekeks
Aug 12 2016 10:16
Cairo is being deprecated in favor of Skia
Tiago Freitas Leal
@tfreitasleal
Aug 12 2016 10:16
i'm using UBUNTU 14.04 LTS / Mono 4.4.2.11
Nikita Tsukanov
@kekekeks
Aug 12 2016 10:17
So you can safely ignore any cairo-related issues
Tiago Freitas Leal
@tfreitasleal
Aug 12 2016 10:17
ok for Cairo deprecation. I guess the deprecation is a WIP
concerning the minor issue, it's realy minor but it's annoying
shall I submit a pull request?
Nikita Tsukanov
@kekekeks
Aug 12 2016 10:19
Fell free to do so
Steven Kirk
@grokys
Aug 12 2016 10:24
@tfreitasleal please!
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 10:29
@kekekeks Could you help me with AvaloniaUI/Avalonia#677, I got Skia rendering working, but can not wire up xaml window drawing into skia view.
Nikita Tsukanov
@kekekeks
Aug 12 2016 10:37
Well, I guess we need to merge it before adding x11 support
BTW, that's a lot of #ifdefs in RenderTarget.cs
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 10:39
Yeah it needs refactoring
Nikita Tsukanov
@kekekeks
Aug 12 2016 10:39
Did you manage to get SkiaView working?
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 10:40
I got Avalonia.Skia.Android.TestApp working
Its using SkiaRenderView
Nikita Tsukanov
@kekekeks
Aug 12 2016 10:42
I'll take a look this evening (need to get my hands on android device)
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 10:43
I used xamarin x86 emulator, worked very fast
Nikita Tsukanov
@kekekeks
Aug 12 2016 10:48
Doesn't work for me, unfortunately
Tiago Freitas Leal
@tfreitasleal
Aug 12 2016 11:23
pull request for minor documentation fix submitted
On another matter
I don't know if there are project policies concerning NuGet packages updates, but there are a several packages that can be updated.
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 11:25
In my PR AvaloniaUI/Avalonia#681 I have also updated the NuGet packages to latest version, when trying to fix build issues :)
Tiago Freitas Leal
@tfreitasleal
Aug 12 2016 11:25
There are 2 different versions of Sprache in use:
  • Avalonia.AndroidTestApplication is using 2.0.0.47 while the other 3 projects are using 2.0.0.50
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 11:26
I did consolidate all version of all packages too
@grokys @kekekeks @jkoritzinsky What do you think about the proposed cake build system in AvaloniaUI/Avalonia#681
Tiago Freitas Leal
@tfreitasleal
Aug 12 2016 11:27
A similar situatuation happens with Serilog:
  • Avalonia.AndroidTestApplication is using 1.5.9 while the other projects are using 1.5.14
Steven Kirk
@grokys
Aug 12 2016 11:27
@wieslawsoltes how well does it integrate into VS?
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 11:28
no sure what you mean by integrate
Steven Kirk
@grokys
Aug 12 2016 11:28
i don't really know anything about cake
Tiago Freitas Leal
@tfreitasleal
Aug 12 2016 11:28
I don't know whether there is a pending pull request to update all NuGet package versions. Is it?
Steven Kirk
@grokys
Aug 12 2016 11:28
does it replace .csproj files?
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 11:28
@tfreitasleal Yes there is my
@grokys no
its separate from VS
its simple C# DSL script
Steven Kirk
@grokys
Aug 12 2016 11:29
so when you're in VS it still uses msbuild ?
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 11:29
with two bootstraper scripts build.ps1 and build.sh
yes
MSBUild on windows and xbuild on linux
Steven Kirk
@grokys
Aug 12 2016 11:29
so where does cake come in?
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 11:29
C# Make :)
similar to FAKE
danwalmsley
@danwalmsley
Aug 12 2016 11:30
@wieslawsoltes what do you think of it, is it good / worth learning?
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 11:30
@danwalmsley its great
Steven Kirk
@grokys
Aug 12 2016 11:30
what i mean is, where would it be used? what advantages does it give?
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 11:31
for all of CI builds and locally under Windows/Linux/OSX
I have integrated it to appveyor and travisci
also it simplifies NuGet package creation and pushing
Steven Kirk
@grokys
Aug 12 2016 11:32
ok, and it gets all its build info from the existing csproj files?
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 11:32
yes, this does not change
it simply abstracts this part
Steven Kirk
@grokys
Aug 12 2016 11:32
ok, i'd need to take a look. what exactly does it make easier?
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 11:33
everything :)
In PR I have added short summary
is task for running all of Avalonia unit test under Windows/Linux/OSX
Steven Kirk
@grokys
Aug 12 2016 11:34
ah ok, yeah that is pretty cool!
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 11:34
I have ported your bash script for running linux tests
the biggest advantage is that build.cake script is simply C# DSL
and you can edit in VS Code, which has support for cake scripts
this part is responsinble for creating NuGet packages in C# (without using .nuspec's) https://github.com/wieslawsoltes/Avalonia/blob/CakeBuildSystem/build.cake#L133
Steven Kirk
@grokys
Aug 12 2016 11:36
oh yeah that is all pretty cool actually :)
I have also splited all NuGet packages
Steven Kirk
@grokys
Aug 12 2016 11:38
yep, that needed doing!
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 11:38
@grokys and the biggest advantage is that you can make complete Nuget release by just creating Release tag :)
Steven Kirk
@grokys
Aug 12 2016 11:38
AWESOME!!!
i'm sold ;)
danwalmsley
@danwalmsley
Aug 12 2016 11:38
wow that is good
Steven Kirk
@grokys
Aug 12 2016 11:38
i'm working right now but will take a proper look soon
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 11:39
this publishes all of packages to NuGet automatically :)
@grokys ok
Steven Kirk
@grokys
Aug 12 2016 11:40
only thing i don't understand is on https://github.com/wieslawsoltes/Avalonia/blob/CakeBuildSystem/docs/tutorial/nuget.md what is the list under "Core"?
are the main items the NuGet packages and under them the dlls included in that package?
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 11:40
naming is hard
Core is just all assemblies currently included in Avalonia package
Steven Kirk
@grokys
Aug 12 2016 11:41
ahhhhh ok
that makes more sense
the subitems are thge dependencies of each assembly
this is meta package
I did analyze all dependencies and accordingly created NuGet specs
In result its should be possible to upgrade existing installations without any breaking changes
you have a load of NuSpecDependencys - are they listing assemlies or nupkgs?
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 11:44
NuSpecDependency is Nuget package dependency
NuSpecContent is file inside nupkg
Steven Kirk
@grokys
Aug 12 2016 11:45
but e.g. Avalonia.Animation isn't a nupkg
now it is
Steven Kirk
@grokys
Aug 12 2016 11:46
but shouldn't that just be part of the core nupkg?
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 11:46
it is referenced in Avalonia package
Steven Kirk
@grokys
Aug 12 2016 11:48
but we don't want a .nupkg for e.g. Avalonia.Animation
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 11:48
I took approach that one project, one assembly one .nupkg
Steven Kirk
@grokys
Aug 12 2016 11:48
all of the core libraries should be bundled up into a single .nupkg as they're no use independently
no, i don't think that's the right approach
e.g. in future i'd like to look into using ilmerge to merge all the core assemblies
and it looks like you're duplicating the same assemblies in multiple packages
each assembly should only be present in a single package
and then the packages take dependencies on each other
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 11:50
each assembly is exactly in one package, no duplication
just dependencies
Steven Kirk
@grokys
Aug 12 2016 11:51
ah ok
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 11:51
on other nupkg
Steven Kirk
@grokys
Aug 12 2016 11:51
we definitely don't want individual packages for the core assemblies though
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 11:51
each .dll is only once references in its own package
Steven Kirk
@grokys
Aug 12 2016 11:52
Animation, Base, Controls, Input, Interactivity, Layout, SceneGraph, Styling, Markup should all be in a "core" package
as they would ideally be a single assembly, they're just split up to prevent crossing layers in code
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 11:57
do you also want this packages in core :
Avalonia.DesignerSupport
Avalonia.Diagnostics
Avalonia.HtmlRenderer
Avalonia.Logging.Serilog
Avalonia.ReactiveUI
or this can be standalone ?
Steven Kirk
@grokys
Aug 12 2016 11:58
hmm not sure about those
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 11:58
they are currently part of Avalonia package
Steven Kirk
@grokys
Aug 12 2016 11:58
i mean they're not "core" but all the same if we put them in the package and the user doesn't want them, they can remove the reference
it's just when i go to install a package and there are like 20 different packages, i always get confused!
so part of it is a UX consideration
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 12:01
I can refactor nuget packages, thats not a problem
Steven Kirk
@grokys
Aug 12 2016 12:01
ignoring mobile for the moment, think i'd go for "core", "windows", "gtk", "cairo", "skia"
then a meta-package "desktop"
oh also "htmlrenderer"
core would include diagnostics, designersupport, reactiveui, serilog i think
as i say, the user can remove the references to them if they don't want a certain bit
Steven Kirk
@grokys
Aug 12 2016 12:11
thanks for doing all this btw!
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 12:11
no problem
Nikita Tsukanov
@kekekeks
Aug 12 2016 12:11

MSBUild on windows and xbuild on linux

I thought that they've ported msbuild or something

Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 12:11
I did first for my project and than used it to port to avalonia
not yet stable
msbuild release for xplat
Nikita Tsukanov
@kekekeks
Aug 12 2016 12:12
DesignerSupport is really tiny, it would be worthless to ship it as a separate package
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 12:12
Yeah I will refactor Nuget packages according to @grokys comments
Nikita Tsukanov
@kekekeks
Aug 12 2016 12:13
It's really nice to have something better than our current powershell script
Steven Kirk
@grokys
Aug 12 2016 12:13
pls let me know if you think they should be arranged differenly
Nikita Tsukanov
@kekekeks
Aug 12 2016 12:14
For mobile there should be "ios" and "android" packages
Jeremy Koritzinsky
@jkoritzinsky
Aug 12 2016 12:18
I think serilog and designer support should be their own packages. Serilog because its an optional component (can be replaced by others or just not used) and designer support is a development dependency package (don't need it to run a release, only for the designer)
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 12:18

This are dependencies of Avalonia.HtmlRenderer

* Avalonia.HtmlRenderer
  - Avalonia.Animation
  - Avalonia.Base
  - Avalonia.Controls
  - Avalonia.Input
  - Avalonia.Interactivity
  - Avalonia.Layout
  - Avalonia.SceneGraph
  - Avalonia.Styling
  - System.Reactive.Core
  - System.Reactive.Interfaces

if we intend to have on core package than having separate
Avalonia.HtmlRenderer package is not that useful

Steven Kirk
@grokys
Aug 12 2016 12:19
@jkoritzinsky yeah possibly
but as i say you can just remove the reference to the serilog stuff and 99% of people will use the deafult i imagine
@wieslawsoltes yeah but i don't consider htmlrenderer to be "core"...
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 12:20
So it should reference the core package for simplicity
Steven Kirk
@grokys
Aug 12 2016 12:20
yeah
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 12:20
because otherwise we would have dll duplication
* Avalonia.Logging.Serilog
  - Avalonia.Base
  - Serilog
Avalonia.Logging.Serilog only references Avalonia.Base from core
Steven Kirk
@grokys
Aug 12 2016 12:21
yep
but avalonia.base is completely useless without the other stuff in core
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 12:22
my point is that splitting Avalonia.Logging.Serilog would require that it must reference complete core package, is that ok ?
Steven Kirk
@grokys
Aug 12 2016 12:23
yeah of course. everything needs to reference core
imagine core as a single assembly
well kinda... depends if we include serilog etc in it ;)
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 12:23
Nikita Tsukanov
@kekekeks
Aug 12 2016 12:23
Which at some point we should have as ILMerge result
Oh, that's nice
Steven Kirk
@grokys
Aug 12 2016 12:24
oooh!
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 12:24
should be simple
Nikita Tsukanov
@kekekeks
Aug 12 2016 12:24
BTW, ILRepack does a better job
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 12:24
also available
Steven Kirk
@grokys
Aug 12 2016 12:24
that would be good if we can merge the core assemblies
Nikita Tsukanov
@kekekeks
Aug 12 2016 12:24
The issue with that is fixing up references
Steven Kirk
@grokys
Aug 12 2016 12:25
the core assemblies are Animation, Base, Controls, Input, Interactivity, Layout, SceneGraph, Styling, Markup
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 12:25
thats peace of cake ;)
Nikita Tsukanov
@kekekeks
Aug 12 2016 12:25
So it can automagically replace references from, say, Avalonia.Win32 to all core assemblies?
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 12:26
I did not think about that
Steven Kirk
@grokys
Aug 12 2016 12:26
Markup.Xaml should be in the core package but not ilmerged
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 12:27
Avalonia.Markup.Xaml + Avalonia.Markup or separate
Steven Kirk
@grokys
Aug 12 2016 12:27
Avalonia.Markup i think should be merged
as its likely you'd be using some markup features, like binding
even if you're not using xaml
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 12:33
@grokys What about Avalonia.Themes.Default ?
Steven Kirk
@grokys
Aug 12 2016 12:33
ah yeah... that should probably be in core? but not ilmerged
actually it definitely should as we'll want to use it for the devtools
(it should be included that is, not ilmerged)
Darnell Williams
@Seeker1437
Aug 12 2016 12:39
@grokys but for nuget more often than not all the core assemblies are normal split into different packages. When I have an ILMerge'd library I dont have the control to remove code and referencing I dont need to help with seperation on concerns
Just as I can add or remove portions of the BCL when I dont need the
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 12:40
@grokys What about Avalonia.Diagnostics ?
Steven Kirk
@grokys
Aug 12 2016 12:40
yep, core but not merged
@Seeker1437 yes, we'll only be ilmerging the very core packages
the ones that are of no use separately
Darnell Williams
@Seeker1437
Aug 12 2016 12:42
Ah ao like base, schenegraph, Markup, Reactive, etc those would be ilmerged but, not necessarity GTK or Cario?
danwalmsley
@danwalmsley
Aug 12 2016 12:43
I'm going to merge @tfreitasleal pr, small correction to documentation
Steven Kirk
@grokys
Aug 12 2016 12:43
:+1:
@Seeker1437 yeah exactly - scroll up :)
Darnell Williams
@Seeker1437
Aug 12 2016 12:46
Oh wow you already had that covered
Also could htmlrender be added to controls? That basically what it is?
Steven Kirk
@grokys
Aug 12 2016 12:47
@Seeker1437 thing is htmlrenderer is a direct port from another library
i'd prefer it to be another library tbh rather than part of avalonia itself
as i think "avalonia" should just provide the very basic building blocks
that way a community is more likely to flourish
part of the problem with MS and open source historically is that everything had to be "MS approved"
now they're relying on the community to come up with competing projects etc and everything is much healthier
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 12:59
the HtmlRenderer is not referenced by anything but sample apps ?
same applies to Avalonia.Logging.Serilog
Darnell Williams
@Seeker1437
Aug 12 2016 13:02
Yeah I would say that was a successful port project xD
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 13:03
@grokys Avalonia.Diagnostics (part of core) depends on Avalonia.ReactiveUI
Steven Kirk
@grokys
Aug 12 2016 13:03
@wieslawsoltes Avalonia.Logging.Serilog is used in application template
and yeah diagnostics depends on reactive ui
for now at least...
might have to remove that dependency
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 13:05
I did not find any references in core packages to Avalonia.Logging.Serilog
Steven Kirk
@grokys
Aug 12 2016 13:06
it's something that's configured at the application level
Avalonia.Logging.Serilog is used in application template
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 13:06
but its not directly referenced by any of core projects
Steven Kirk
@grokys
Aug 12 2016 13:06
no
it sits on top of them
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 13:07
so whenever we include Avalonia core the Avalonia.Logging.Serilog shouldd be included also ?
Steven Kirk
@grokys
Aug 12 2016 13:07
i'm not 100% sure, but like i said above: it's optional but i think 90% of people will just use it
if they don't want to use it, they just remove the reference
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 13:08
So can I include it in core, this would make things simpler
Steven Kirk
@grokys
Aug 12 2016 13:08
for simplicity's sake i'd say yes. @jkoritzinsky thought it should be in a separate package
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 13:09
same would be for Avalonia.ReactiveUI
Steven Kirk
@grokys
Aug 12 2016 13:09
yeah
we might want to change them in future
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 13:09
ok so only Avalonia.HtmlRenderer would be separate from portable core
Steven Kirk
@grokys
Aug 12 2016 13:09
especially because i hope we might be able to use the standard rxui 7
that's my feeling yes
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 13:11
should the Avalonia.HtmlRenderer be included in any package desktop or mobile ?
Steven Kirk
@grokys
Aug 12 2016 13:12
i'd say leave it seprate
Nikita Tsukanov
@kekekeks
Aug 12 2016 13:15
BTW, since we are planning to drop cairo support, it would be better to include skia to regular Avalonia.Desktop package
Steven Kirk
@grokys
Aug 12 2016 13:15
true
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 13:16
instead of Cairo ?
updated
Nikita Tsukanov
@kekekeks
Aug 12 2016 13:19
For now just include both
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 13:20
ok
Jeremy Koritzinsky
@jkoritzinsky
Aug 12 2016 14:34
You guys realize we could combine the iOS, Android, and Mobile platforms and just put the assemblies in the right bin folders in the package.
And dependencies can vary depending on the target platform as well.
This is how Xamarin.Forms does it.
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 14:38
    new NuGetPackSettings()
    {
        Id = "Avalonia.Mobile",
        Dependencies = new []
        {
            new NuSpecDependency() { Id = "Avalonia", Version = version },
            new NuSpecDependency() { Id = "SkiaSharp", Version = SkiaSharpVersion }
        },
        Files = new []
        {
            new NuSpecContent { Source = "Avalonia.Android.dll", Target = "lib/MonoAndroid10" },
            new NuSpecContent { Source = "Avalonia.Skia.Android.dll", Target = "lib/MonoAndroid10" },
            new NuSpecContent { Source = "Avalonia.iOS.dll", Target = "lib/Xamarin.iOS10" },
            new NuSpecContent { Source = "Avalonia.Skia.iOS.dll", Target = "lib/Xamarin.iOS10" }
        }
        BasePath = Directory("./artifacts/mobile/"),
        OutputDirectory = nugetRoot.Combine("Avalonia.Mobile")
    }
@jkoritzinsky something like this ?
or we reference using dependencies
Jeremy Koritzinsky
@jkoritzinsky
Aug 12 2016 14:49
Yeah something like that.
I've never used Cake before so I don't know what we can do with their libraries, but I know that we can do something like that for NuGet.
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 14:49
Thats all code it takes to create this package
Jeremy Koritzinsky
@jkoritzinsky
Aug 12 2016 14:49
We can also do it via dependencies.
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 14:50
the package itself will be smaller, just metadata
Jeremy Koritzinsky
@jkoritzinsky
Aug 12 2016 14:50
Like we could just have one Avalonia.PlatformSpecific package that has the above as well as dependencies on the packages in the Desktop section when installed on .net45 or something like that.
Also, we can do that for just Skia if we want. We should try to keep all the Skia stuff in one package instead of 3 separate packages if we can (at least in my opinion)
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 14:52
maybe we can have Avalonia.Skia only
Jeremy Koritzinsky
@jkoritzinsky
Aug 12 2016 14:52
Yeah like that.
Steven Kirk
@grokys
Aug 12 2016 14:53
yes :+1: to not duplicating assemblies. each assembly should be in only 1 package
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 14:53
and that reference it to Avalonia.iOS, Avalonia.Android and Avalonia.Desktop
@grokys Yes this is how it will be done :)
anyway creating nugets in cake is really easy, so changing thinks around is not a big problem
Jeremy Koritzinsky
@jkoritzinsky
Aug 12 2016 14:55
Yeah. Or reference it to an Avalonia.PlatformAssemblies or something like that that has Avalonia.Desktop libraries on desktop (like net45, etc), Avalonia.iOS libraries in Xamarin.iOS10, and Avalonia.Android libraries in MonoAndroid10
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 14:56
actually thinking about that SkiaSharp is referenced anyway in desktop and mobile packages
Jeremy Koritzinsky
@jkoritzinsky
Aug 12 2016 15:02
It doesn't look like Cake supports conditional dependencies...
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 15:03
?
Jeremy Koritzinsky
@jkoritzinsky
Aug 12 2016 15:03
Dependencies depending on the framework.
Like only have a dependency on Assembly A if targeting .net45, but depend on Assembly B if targeting iOS
I could be wrong and just missing it, but it looks like it isn't supported
Doesn't look like it's supported in project.json either...
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 15:07
Yeah does not like its supported
System.Reactive is using this I think
Jeremy Koritzinsky
@jkoritzinsky
Aug 12 2016 15:08
Yeah that's the type of thing I'm talking about.
Can we use .nuspec files with Cake?
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 15:09
yes
but I do not like them
Type: FilePath
The nuspec or project file path.
Jeremy Koritzinsky
@jkoritzinsky
Aug 12 2016 15:11
So we could (in theory) have an nuspec that defines our dependencies and then define everything else in Cake it looks like.
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 15:11
I think thats possible
Jeremy Koritzinsky
@jkoritzinsky
Aug 12 2016 15:13
Cool.
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 15:13
maybe we can file and issue and ask for support
to be added to cake :)
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 15:24
2016-08-12_17-24-16.png
First step done
Steven Kirk
@grokys
Aug 12 2016 16:05
:+1: awesome!
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 16:06
that was the easy part
updating references is hard :(
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 17:03
@grokys I dont think merging after build process will works that easly :(
Steven Kirk
@grokys
Aug 12 2016 17:03
why not?
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 17:03
Can not find any tools for this job
Steven Kirk
@grokys
Aug 12 2016 17:04
ah you mean ilmerge?
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 17:04
no
merging assemblies together was easy
but all the references are nightmare to update
can not find any simple tool to do this
Steven Kirk
@grokys
Aug 12 2016 17:05
ah ok
don't worry about it then, it's not so important
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 17:05
well its possible to do this but it requires some work in projects/solutions
I can create one project Avalonia.csproj and reference all core libraries to it
and as after build step merge all libraries into one
Steven Kirk
@grokys
Aug 12 2016 17:06
to be honest at this stage it's probably not worth it...
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 17:06
than remove all core references and only add reference to Avalonia.csproj
I got it almost warking
Adding Avalonia.DesignerSupport to core was not possible
Steven Kirk
@grokys
Aug 12 2016 17:07
it was just a "it'd be nice to have" - it's not really so important
Wiesław Šoltés
@wieslawsoltes
Aug 12 2016 17:07
it caused circular references
with avalonia.markup.xaml
but this would be permanent solution tightly integrated in solution
I used this approach
danwalmsley
@danwalmsley
Aug 12 2016 17:48
N
Steven Kirk
@grokys
Aug 12 2016 18:27
O
Darnell Williams
@Seeker1437
Aug 12 2016 18:30
Lol?
Jared Hester
@cloudRoutine
Aug 12 2016 23:17
When the children have gone away on holiday and the staff have gone home
I've got the place to myself..
I'd rather enjoy turning up some loud rock music and re-living the old days
Go on a three day binge or something like that
Darnell Williams
@Seeker1437
Aug 12 2016 23:28
Huh?
MitchellBot
@MitchellBot
Aug 12 2016 23:35
@kekekeks even after renaming it to paml it still doesn't work
Darnell Williams
@Seeker1437
Aug 12 2016 23:41
@MitchellBot I feel like its related to the way the project is configured, like your app doesnt have a maon or something