GithubHelp home page GithubHelp logo

havendv / gtk Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 1.0 172 KB

GTK workload and separate `net7.0-gtk` TargetFramework like Tizen.NET to use GTK in single project solutions and differentiate it from `net7.0`

License: MIT License

PowerShell 50.03% Shell 35.46% C# 14.50%
dotnet gtk net6 net8 sdk targetframework tfm workload net7

gtk's Introduction

Gtk

dotnet License: MIT Discord

Gtk is separate TPM for developing Gtk applications within a single project, if there are other TargetFrameworks using the main net7.0 TPM.

Usage

Just install and add net7.0-gtk to TargetFrameworks.

Install

You can install Gtk workload for .NET 6.0/7.0/8.0 by using the installer script.

  • On Linux / macOS:
curl -sSL https://raw.githubusercontent.com/HavenDV/Gtk/main/scripts/workload-install.sh | sudo bash

if you want to install a specific version of Gtk workload or install to a specific directory, use the following command:

curl -sSL https://raw.githubusercontent.com/HavenDV/Gtk/main/scripts/workload-install.sh | bash /dev/stdin -v <version> -d <directory>
  • On Windows:
Invoke-WebRequest 'https://raw.githubusercontent.com/HavenDV/Gtk/main/scripts/workload-install.ps1' -OutFile 'workload-install.ps1';
./workload-install.ps1 [-v <version>] [-d <directory>]

You can see the Gtk workload as follows if it is properly installed.

PS D:\workspace> dotnet workload list

This command lists only workloads that were installed via `dotnet workload install` in this version of the SDK and not those that were installed via Visual Studio.

Installed Workload Ids
----------------------
maui
gtk

Use `dotnet workload search` to find additional workloads to install.

Updates are avaliable for the following workload(s): maui gtk. Run `dotnet workload update` to get the latest  

Development

You can test this project using these commands(tested on macOS) in src/tasks/tasks folder:

dotnet build /t:TestWorkload
dotnet build /t:WorkloadUninstall

other possible targets(it already included in targets above):
DownloadDotnetInstall
DotnetInstall
WorkloadInstall
BuildPackages
CleanArtifactsAndTemporaryFiles

You can override these properties:
/p:UseCurrentDotnet=true - Will install workload to current dotnet instead downloaded.

Disclaimer

Although this is a working solution, I have simplified some things regarding workload and manifest, which could theoretically cause problems (for example, when upgrading to a new sdk version).
I'll be glad to hear about it in issues.

Docs

Official documentation regarding the design of Workloads and Sdks:

Support

Priority place for bugs: https://github.com/HavenDV/Gtk/issues
Priority place for ideas and general questions: https://github.com/HavenDV/Gtk/discussions
Discord: https://discord.gg/g8u2t9dKgE

gtk's People

Contributors

havendv avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

lytico

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.